From 3dbdd40067d54a382a66ee1de166dcca193b5ad0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Fri, 30 Jan 2026 21:35:37 +0100 Subject: [PATCH 01/13] Add support for AoE IV (#376) --- .github/ISSUE_TEMPLATE/bug_report.md | 3 +- .gitignore | 3 +- README.md | 54 +- Taskfile.debug.yml | 2 + battle-server-manager/go.mod | 4 +- battle-server-manager/go.sum | 4 +- .../internal/cmdUtils/executor.go | 7 +- .../internal/cmdUtils/ssl.go | 2 +- .../resources/config.game.toml | 5 +- .../resources/unix/start_age4.sh | 12 + .../resources/windows/start_age4.bat | 10 + common/domain.go | 23 +- common/game.go | 5 +- common/game/appx/appx_windows.go | 9 +- common/game/steam/steam.go | 2 + common/go.mod | 6 +- common/go.sum | 37 +- launcher-agent/internal/gameLogs/age1.go | 4 +- launcher-agent/internal/gameLogs/age4.go | 41 ++ launcher-agent/internal/gameLogs/gameLogs.go | 15 +- launcher-agent/main.go | 2 +- launcher-common/userData/backup_windows.go | 16 +- launcher-common/userData/metadata.go | 2 + launcher-common/userData/profiles.go | 2 +- launcher-common/userData/userData.go | 10 +- launcher-config/README.md | 3 +- launcher-config/internal/cmd/revert.go | 4 +- launcher-config/internal/cmd/root.go | 2 +- launcher-config/internal/cmd/setUp.go | 4 +- launcher/README.md | 2 +- launcher/go.mod | 16 +- launcher/go.sum | 66 +- launcher/internal/cmd/root.go | 18 +- launcher/resources/config.game.toml | 2 +- launcher/resources/config.toml | 4 +- launcher/resources/unix/start_age4.sh | 12 + launcher/resources/windows/start_age4.bat | 10 + server/BattleServers.md | 47 +- server/README.md | 27 +- server/go.mod | 14 +- server/go.sum | 57 +- server/internal/Map.go | 11 + server/internal/boolInt.go | 55 ++ server/internal/cmd/root.go | 4 +- server/internal/config.go | 5 + server/internal/models/advertisement.go | 113 ++-- server/internal/models/age1/game.go | 10 +- server/internal/models/age2/game.go | 9 +- server/internal/models/age3/game.go | 11 +- server/internal/models/age4/game.go | 32 + server/internal/models/athens/game.go | 29 +- server/internal/models/athens/user/user.go | 4 +- server/internal/models/avatarStats.go | 1 + server/internal/models/battleServer.go | 25 +- server/internal/models/battleServerLoader.go | 4 +- server/internal/models/chatChannel.go | 2 +- server/internal/models/game.go | 141 ++++ .../models/initializer/initializer.go | 3 + server/internal/models/item.go | 621 ++++++++++++++++++ server/internal/models/itemLoadout.go | 98 +++ server/internal/models/mainGame.go | 99 --- server/internal/models/peer.go | 9 +- server/internal/models/playfab/game.go | 17 + server/internal/models/playfab/session.go | 38 +- server/internal/models/presence.go | 58 ++ server/internal/models/profileMetadata.go | 5 +- server/internal/models/profileProperty.go | 15 + server/internal/models/resources.go | 42 +- server/internal/models/user.go | 144 +++- .../routes/game/account/addProfileProperty.go | 33 + .../game/account/clearProfileProperty.go | 28 + .../routes/game/account/findProfiles.go | 2 +- .../game/account/findProfilesByPlatformID.go | 2 +- .../routes/game/account/getProfileName.go | 2 +- .../routes/game/account/getProfileProperty.go | 36 +- .../routes/game/account/setAvatarMetadata.go | 2 +- .../game/advertisement/findAdvertisements.go | 2 +- .../routes/game/advertisement/host.go | 35 +- .../routes/game/advertisement/join.go | 19 +- .../shared/advertisementRequest.go | 1 + .../routes/game/advertisement/update.go | 6 +- .../advertisement/updatePlatformLobbyID.go | 6 +- .../routes/game/advertisement/updateTags.go | 2 +- .../internal/routes/game/chat/joinChannel.go | 2 +- .../internal/routes/game/chat/leaveChannel.go | 2 +- .../internal/routes/game/chat/sendWhisper.go | 9 +- .../internal/routes/game/cloud/getFileURL.go | 16 +- .../routes/game/cloud/getTempCredentials.go | 1 + .../getAvailableCommunityEvents.go | 5 +- .../game/invitation/cancelInvitation.go | 8 +- .../game/invitation/extendInvitation.go | 8 +- .../game/invitation/replyToInvitation.go | 8 +- .../routes/game/item/createItemLoadout.go | 60 ++ .../internal/routes/game/item/detachItems.go | 53 +- .../routes/game/item/equipItemLoadout.go | 43 ++ .../game/item/getInventoryByProfileIDs.go | 30 +- .../routes/game/item/getItemLoadouts.go | 19 +- .../routes/game/item/getItemPrices.go | 11 + .../game/item/getLevelRewardsTableJson.go | 11 + .../game/item/getPersonalizedSaleItems.go | 11 + .../game/item/getScheduledSaleAndItems.go | 11 + server/internal/routes/game/item/moveItem.go | 70 ++ .../routes/game/item/updateItemAttributes.go | 64 ++ .../routes/game/item/updateItemLoadout.go | 44 ++ .../getRecentMatchSinglePlayerHistory.go | 11 + .../leaderboard/getStatGroupsByProfileIDs.go | 2 +- .../game/leaderboard/setAvatarStatValues.go | 2 + .../game/leaderboard/shared/leaderboard.go | 4 +- server/internal/routes/game/login/logout.go | 6 +- .../routes/game/login/platformlogin.go | 11 +- server/internal/routes/game/party/peerAdd.go | 4 +- .../internal/routes/game/party/peerUpdate.go | 2 +- .../internal/routes/game/party/updateHost.go | 23 +- .../routes/game/relationship/addfriend.go | 2 +- .../game/relationship/clearRelationship.go | 2 +- .../game/relationship/getRelationships.go | 10 +- .../routes/game/relationship/ignore.go | 2 +- .../routes/game/relationship/setPresence.go | 19 +- .../game/relationship/setPresenceProperty.go | 19 +- .../routes/playfab/Client/GetUserData.go | 18 + .../playfab/Client/LoginWithCustomID.go | 39 ++ .../routes/playfab/Client/LoginWithSteam.go | 81 +-- .../internal/routes/router/apiAgeOfEmpires.go | 2 +- server/internal/routes/router/game.go | 76 ++- server/internal/routes/router/playfabapi.go | 46 +- .../routes/router/playfabapiMiddleware.go | 23 +- server/resources/config/age4/login.json | 57 ++ server/resources/config/config.toml | 5 +- .../responses/age2/itemLocations.json | 4 + .../responses/age3/itemLocations.json | 7 + .../responses/age4/achievements.json | 1 + .../responses/age4/automatchMaps.json | 1 + .../resources/responses/age4/challenges.json | 1 + .../responses/age4/itemBundleItems.json | 1 + .../responses/age4/itemDefinitions.json | 1 + .../responses/age4/itemLocations.json | 9 + .../responses/age4/leaderboards.json | 1 + .../responses/age4/levelRewardsTable.json | 1 + .../responses/age4/presenceData.json | 1 + .../responses/athens/itemLocations.json | 7 + server/resources/unix/start_age4.sh | 6 + server/resources/windows/start_age4.bat | 4 + tools/scripts/go.mod | 12 +- tools/scripts/go.sum | 224 ------- tools/server-replay/go.sum | 11 - 145 files changed, 2645 insertions(+), 948 deletions(-) create mode 100644 battle-server-manager/resources/unix/start_age4.sh create mode 100644 battle-server-manager/resources/windows/start_age4.bat create mode 100644 launcher-agent/internal/gameLogs/age4.go create mode 100644 launcher/resources/unix/start_age4.sh create mode 100644 launcher/resources/windows/start_age4.bat create mode 100644 server/internal/boolInt.go create mode 100644 server/internal/models/age4/game.go create mode 100644 server/internal/models/item.go create mode 100644 server/internal/models/itemLoadout.go delete mode 100644 server/internal/models/mainGame.go create mode 100644 server/internal/models/playfab/game.go create mode 100644 server/internal/models/presence.go create mode 100644 server/internal/models/profileProperty.go create mode 100644 server/internal/routes/game/account/addProfileProperty.go create mode 100644 server/internal/routes/game/account/clearProfileProperty.go create mode 100644 server/internal/routes/game/item/createItemLoadout.go create mode 100644 server/internal/routes/game/item/equipItemLoadout.go create mode 100644 server/internal/routes/game/item/getItemPrices.go create mode 100644 server/internal/routes/game/item/getLevelRewardsTableJson.go create mode 100644 server/internal/routes/game/item/getPersonalizedSaleItems.go create mode 100644 server/internal/routes/game/item/getScheduledSaleAndItems.go create mode 100644 server/internal/routes/game/item/moveItem.go create mode 100644 server/internal/routes/game/item/updateItemAttributes.go create mode 100644 server/internal/routes/game/item/updateItemLoadout.go create mode 100644 server/internal/routes/game/leaderboard/getRecentMatchSinglePlayerHistory.go create mode 100644 server/internal/routes/playfab/Client/GetUserData.go create mode 100644 server/internal/routes/playfab/Client/LoginWithCustomID.go create mode 100644 server/resources/config/age4/login.json create mode 100644 server/resources/responses/age2/itemLocations.json create mode 100644 server/resources/responses/age3/itemLocations.json create mode 100644 server/resources/responses/age4/achievements.json create mode 100644 server/resources/responses/age4/automatchMaps.json create mode 100644 server/resources/responses/age4/challenges.json create mode 100644 server/resources/responses/age4/itemBundleItems.json create mode 100644 server/resources/responses/age4/itemDefinitions.json create mode 100644 server/resources/responses/age4/itemLocations.json create mode 100644 server/resources/responses/age4/leaderboards.json create mode 100644 server/resources/responses/age4/levelRewardsTable.json create mode 100644 server/resources/responses/age4/presenceData.json create mode 100644 server/resources/responses/athens/itemLocations.json create mode 100644 server/resources/unix/start_age4.sh create mode 100644 server/resources/windows/start_age4.bat delete mode 100644 tools/scripts/go.sum delete mode 100644 tools/server-replay/go.sum diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 0eac1c20..70f8bc09 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -42,11 +42,12 @@ Check all that apply: - [ ] Age of Empires: Definitive Edition - [ ] Age of Empires II: Definitive Edition - [ ] Age of Empires III: Definitive Edition +- [ ] Age of Empires IV: Anniversary Edition - [ ] Age of Mythology: Retold **Server** -- OS and Architecture: [e.g. Ubuntu] +- OS: [e.g. Ubuntu] - OS Version and architecture [e.g. 24.04 x64]: - Server version [e.g. 1.0.0]: - Server log (**mandatory**): diff --git a/.gitignore b/.gitignore index bc024d3f..b4047e59 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ build/**/* !build/launcher/.gitkeep !build/battle-server-manager/ !build/battle-server-manager/.gitkeep -.goreleaser.yaml \ No newline at end of file +.goreleaser.yaml +tools/**/go.sum \ No newline at end of file diff --git a/README.md b/README.md index 706214b8..9f206dd3 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ is in maintenance or is eventually shutdown. * **Age of Empires: Definitive Edition**. * **Age of Empires II: Definitive Edition**. * **Age of Empires III: Definitive Edition**. +* **Age of Empires IV: Anniversary Edition**. * **Age of Mythology: Retold** ([currently](https://github.com/luskaner/ageLANServer/issues/245) only the *Steam* version). @@ -36,7 +37,7 @@ is in maintenance or is eventually shutdown. > See more details > in [Questions and Answers (QA)](https://github.com/luskaner/ageLANServer/wiki/Questions-and-Answers-(QA)). -### Age of Empires II: Definitive Edition, Age of Empires III: Definitive Edition and Age of Mythology: Retold +### AoE II: DE, AoE III: DE, AoE IV: AE and AoM: RT
List of features @@ -48,7 +49,7 @@ is in maintenance or is eventually shutdown.
-### Age of Empires II: Definitive Edition, Age of Empires III: Definitive Edition +### AoE II: DE and AoE III: DE
List of features @@ -58,7 +59,7 @@ is in maintenance or is eventually shutdown.
-### Age of Empires III: Definitive Edition +### AoE II: DE
List of features @@ -68,7 +69,16 @@ is in maintenance or is eventually shutdown.
-### Age of Mythology: Retold +### AoE III: DE, AoE IV: AE + +
+List of features + +- 👥 Groups + +
+ +### AoM: RT
List of features @@ -89,7 +99,7 @@ is in maintenance or is eventually shutdown.
-#### Age of Empires III: Definitive Edition +#### AoE III: DE, AoE IV: AE
List of limitations @@ -98,7 +108,14 @@ is in maintenance or is eventually shutdown.
-#### Age of Mythology: Retold +#### AoE IV: AE + +* **⚠️ Modifying the profile causes a game crash.** +* ⚠️ Error dialog shown that some online services are unavailable on start. +* ⚠️ Error dialog shown that mods cannot be loaded on start when using a custom launcher. +* ⚠️ Error dialog shown that match results cannot be loaded after game end. + +#### AoM: RT
List of limitations @@ -109,7 +126,7 @@ is in maintenance or is eventually shutdown. the official server. * Favor stash is infinite. * Story mode has all missions unlocked by default. - * Challenge mode lifes are infinite, you have access to all legends and you are max level (99) by default. + * Challenge mode lifes are infinite, you have access to all legends, and you are max level (99) by default.
@@ -140,7 +157,7 @@ is in maintenance or is eventually shutdown. #### Stable -- **Windows**: 7 (or equivalent). +- **Windows**: 7 (or equivalent, 10 or higher recommended). - **Linux**: kernel 3.2 (see [here](https://go.dev/wiki/Linux) for more details). - **macOS**: Monterey (v12). @@ -185,6 +202,10 @@ it will require admin rights elevation.** on [Steam](https://store.steampowered.com/app/933110/Age_of_Empires_III_Definitive_Edition) or [Xbox](https://www.xbox.com/games/store/age-of-empires-iii-definitive-edition/9n1hf804qxn4) (*only on a compatible Windows version*). Recommended a late 2023 version or later. +- Age of Empires IV: Anniversary Edition + on [Steam](https://store.steampowered.com/app/1466860/Age_of_Empires_IV_Anniversary_Edition) + or [Xbox](https://www.xbox.com/games/store/age-of-empires-iv-anniversary-edition/9n94ncgm1q2n). Recommended a 2025 + version or later. - Age of Mythology: Retold on [Steam](https://store.steampowered.com/app/1934680/Age_of_Mythology_Retold). Recommended a 2025 version or later. @@ -303,14 +324,14 @@ play. - Redirect the game's API requests to the LAN server. - Proxy certain requests: - CDN so it does not detect the official game status. - - Chat and user names show properly. + - Chat and usernames show properly. - (Optional) Install a self-signed certificate to allow the game to connect to the LAN server. -- (except AoE I) Add a certificate to the game's store to allow the game to connect to the LAN server. -- (Optional) Run custom configuration commands to setup/revert the configuration. +- (except AoE I and AoE IV) Add a certificate to the game's store to allow the game to connect to the LAN server. +- (Optional) Run custom configuration commands to set up/revert the configuration. - (Windows Optional) Re-broadcast the battle server through other network interfaces apart from the most priority one. - Automatically find and start the game. -Afterwards, it reverses any changes to allow the official launcher to connect to the official servers. +Afterward, it reverses any changes to allow the official launcher to connect to the official servers. *Note: See the [launcher README](launcher/README.md) for more details.* @@ -329,8 +350,8 @@ Afterwards, it reverses any changes to allow the official launcher to connect to `Client.Path` to point to the game's directory. **You will need to use a custom launcher (plus what my other [repo](https://github.com/luskaner/ageLANServerLauncherCompanion) provides) for 100% offline play**. -6. If you are using AoM and don't have AoE II: DE installed on Steam edit the - `battle-server-manager/resources/config.athens.toml` file and point `Executable.Path` to the AoE II: DE +6. If you are using AoE IV/AoM and don't have AoE II: DE installed edit the + `battle-server-manager/resources/config..toml` file and point `Executable.Path` to the AoE II: DE BattleServer.exe executable (it's portable), for example, 'S: \SteamLibrary\steamapps\common\AoE2DE\BattleServer\BattleServer.exe'. 7. **Execute `launcher/start_` script**: you will be asked for admin elevation and @@ -338,11 +359,12 @@ Afterwards, it reverses any changes to allow the official launcher to connect to Firewall or any other. 8. **Repeat the above steps for every PC** (except the point 6) you want to play in LAN with by running the *launcher*, the first PC to - launch it will host the "server" and the rest will auto-discover and be prompted to connnect to it. + launch it will host the "server" and the rest will auto-discover and be prompted to connect to it. 9. In the game, just host a new lobby via the Multiplayer section. Setting it to public visibility is recommended. 10. If the lobby is Public, they can join directly in the browser or you can **Invite friends** by searching them by name - and sending an invite as needed. If the game allows, you can share the link to join the lobby automatically (only + and sending an invitation as needed. If the game allows, you can share the link to join the lobby automatically ( + only works if already in-game). diff --git a/Taskfile.debug.yml b/Taskfile.debug.yml index 7a2e741e..a309b0a5 100644 --- a/Taskfile.debug.yml +++ b/Taskfile.debug.yml @@ -31,8 +31,10 @@ tasks: deps: - build-config-all - prepare-server + - prepare-battle-server-manager - build-server - build-launcher-agent + - build-battle-server-manager - os:prepare-launcher sources: - common/**/* diff --git a/battle-server-manager/go.mod b/battle-server-manager/go.mod index 7d6f68e4..70782c1d 100644 --- a/battle-server-manager/go.mod +++ b/battle-server-manager/go.mod @@ -12,7 +12,7 @@ require ( require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect @@ -24,6 +24,6 @@ require ( github.com/subosito/gotenv v1.6.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/sys v0.40.0 // indirect - golang.org/x/text v0.32.0 // indirect + golang.org/x/text v0.33.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/battle-server-manager/go.sum b/battle-server-manager/go.sum index b1a13b24..ef4d1016 100644 --- a/battle-server-manager/go.sum +++ b/battle-server-manager/go.sum @@ -2,7 +2,7 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -20,6 +20,6 @@ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/battle-server-manager/internal/cmdUtils/executor.go b/battle-server-manager/internal/cmdUtils/executor.go index ad9e05f4..8a588709 100644 --- a/battle-server-manager/internal/cmdUtils/executor.go +++ b/battle-server-manager/internal/cmdUtils/executor.go @@ -23,8 +23,9 @@ func ResolvePath(gameId string, executablePath string) (resolvedPath string, err if executablePath == "auto" { commonLogger.Println("Auto resolving executable path...") // TODO: Review if AoE: DE and AoE III: DE can also use AoE II: DE - // The Battle Server for AoM is buggy and the only one working is the AoE II one - if gameId == common.GameAoM { + // The Battle Server for AoM is buggy and the only one working is the AoE II one. + // AoE IV does not have one. + if gameId == common.GameAoE4 || gameId == common.GameAoM { gameId = common.GameAoE2 } battleServerPath := "BattleServer.exe" @@ -76,7 +77,7 @@ func ExecuteBattleServer(gameId string, path string, region string, name string, simulationPeriod = 25 case common.GameAoE3, common.GameAoM: simulationPeriod = 50 - case common.GameAoE2: + case common.GameAoE2, common.GameAoE4: simulationPeriod = 125 } args := []string{ diff --git a/battle-server-manager/internal/cmdUtils/ssl.go b/battle-server-manager/internal/cmdUtils/ssl.go index d0c4908c..94c069cc 100644 --- a/battle-server-manager/internal/cmdUtils/ssl.go +++ b/battle-server-manager/internal/cmdUtils/ssl.go @@ -22,7 +22,7 @@ func ResolveSSLFilesPath(gameId string, ssl internal.SSL) (resolvedCertFile stri if !ok { err = fmt.Errorf("no SSL certificate and keys found") } - if gameId == common.GameAoM { + if gameId == common.GameAoE4 || gameId == common.GameAoM { resolvedCertFile = cert resolvedKeyFile = key } else { diff --git a/battle-server-manager/resources/config.game.toml b/battle-server-manager/resources/config.game.toml index 8a7fd743..f796c5c0 100644 --- a/battle-server-manager/resources/config.game.toml +++ b/battle-server-manager/resources/config.game.toml @@ -18,6 +18,7 @@ Host = 'auto' # Path to 'BattleServer.exe' executable including it. # If 'auto' it will try to find it using Steam and then Xbox (Windows-only). # AoM: RT: will search for AoE II: DE executable instead, as the one included does not work. +# AoE IV: AE: will search for AoE II: DE executable instead, as it is missing it. # Note: You may use environment variables. Path = 'auto' # Extra arguments to pass to the corresponding 'BattleServer.exe' executable. @@ -58,14 +59,14 @@ OutOfBand = 0 Auto = true # Path to the SSL certificate file to use. # If 'Auto' is true, this is ignored, otherwise: -# AoM: Path to cert.pem +# AoE IV/AoM: Path to cert.pem # Other games: Path to selfsigned_cert.pem # Argument: -sslCert # Note: You may use environment variables. CertFile = '' # Path to the SSL key file to use. # If 'Auto' is true, this is ignored, otherwise: -# AoM: Path to key.pem +# AoE IV/AoM: Path to key.pem # Other games: Path to selfsigned_key.pem # Argument: -sslKey # Note: You may use environment variables. diff --git a/battle-server-manager/resources/unix/start_age4.sh b/battle-server-manager/resources/unix/start_age4.sh new file mode 100644 index 00000000..2041124f --- /dev/null +++ b/battle-server-manager/resources/unix/start_age4.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +cd "$(dirname "$0")" +./battle-server-manager start -e age4 +if [ $? -eq 0 ]; then + echo "Program finished successfully, closing in 10 seconds..." + sleep 10 +else + echo "Program finished with errors..." + echo "Press any key to exit..." + read dummy +fi diff --git a/battle-server-manager/resources/windows/start_age4.bat b/battle-server-manager/resources/windows/start_age4.bat new file mode 100644 index 00000000..7135c683 --- /dev/null +++ b/battle-server-manager/resources/windows/start_age4.bat @@ -0,0 +1,10 @@ +@echo off +cd /d "%~dp0" +battle-server-manager start -e age4 +if %ERRORLEVEL%==0 ( + echo Program finished successfully, closing in 10 seconds... + timeout /t 10 +) else ( + echo Program finished with errors... + pause +) diff --git a/common/domain.go b/common/domain.go index e9a7ef5c..408ba8d8 100644 --- a/common/domain.go +++ b/common/domain.go @@ -22,7 +22,7 @@ const ApiAgeOfEmpires = ApiAgeOfEmpiresSubdomain + "." + AgeOfEmpires + dotTld const CdnAgeOfEmpires = CdnAgeOfEmpiresSubdomain + "." + AgeOfEmpires + dotTld const playFabSuffix = "." + PlayFabDomain + dotTld const SubDomainAge2Prefix = "pb" -const SubDomainReleasePart = "-live-release" +const stdSubDomainReleasePart = "-live-release" var SelfSignedCertDomains = []string{relicDomain, "*" + worldsEdge + dotTld, "*." + AgeOfEmpires + dotTld} @@ -35,7 +35,7 @@ func CertDomains() []string { } func SelfSignedCertGame(game string) bool { - return game != GameAoM + return game != GameAoE4 && game != GameAoM } func AllHosts(gameId string) (domains []string) { @@ -43,15 +43,15 @@ func AllHosts(gameId string) (domains []string) { return cache } switch gameId { - case GameAoE1, GameAoE2, GameAoE3: + case GameAoE1, GameAoE2, GameAoE3, GameAoE4: domains = []string{relicDomain, SubDomain + worldsEdge + dotTld} case GameAoM: - domains = []string{"athens-live" + apiWorldsEdge, "C15F9" + playFabSuffix, ApiAgeOfEmpires} + domains = []string{"athens-live" + apiWorldsEdge, "C15F9" + playFabSuffix} } - domains = append(domains, CdnAgeOfEmpires) - if gameId == GameAoE3 { - domains = append(domains, ApiAgeOfEmpires) + if gameId == GameAoE4 { + domains = append(domains, "ED603"+playFabSuffix) } + domains = append(domains, ApiAgeOfEmpires, CdnAgeOfEmpires) domains = append(domains, generateDomains(gameId)...) hostsCache[gameId] = domains return @@ -60,18 +60,25 @@ func AllHosts(gameId string) (domains []string) { func generateDomains(gameId string) (domains []string) { var prefix string var releaseMin int + var subDomainReleasePart string switch gameId { case GameAoE2: prefix = SubDomainAge2Prefix releaseMin = 2 + subDomainReleasePart = stdSubDomainReleasePart + case GameAoE4: + prefix = "dr" + releaseMin = 2 + subDomainReleasePart = "-activerelease" case GameAoM: prefix = "andromeda" releaseMin = 13 + subDomainReleasePart = stdSubDomainReleasePart default: return } generateDomainName := func(release int) string { - return fmt.Sprintf("%s%s%d%s", prefix, SubDomainReleasePart, release, apiWorldsEdge) + return fmt.Sprintf("%s%s%d%s", prefix, subDomainReleasePart, release, apiWorldsEdge) } for release := 1; release <= releaseMin; release++ { domains = append(domains, generateDomainName(release)) diff --git a/common/game.go b/common/game.go index 2ba4223f..9b402edd 100644 --- a/common/game.go +++ b/common/game.go @@ -6,10 +6,9 @@ const ( GameAoE1 = "age1" GameAoE2 = "age2" GameAoE3 = "age3" - // GameAoE4 Unsupported GameAoE4 = "age4" GameAoM = "athens" ) -var SupportedGames = mapset.NewThreadUnsafeSet[string](GameAoE1, GameAoE2, GameAoE3, GameAoM) -var AllGames = SupportedGames.Union(mapset.NewThreadUnsafeSet[string](GameAoE4)) +var SupportedGames = mapset.NewThreadUnsafeSet[string](GameAoE1, GameAoE2, GameAoE3, GameAoE4, GameAoM) +var AllGames = SupportedGames diff --git a/common/game/appx/appx_windows.go b/common/game/appx/appx_windows.go index d6b2f263..482fafba 100644 --- a/common/game/appx/appx_windows.go +++ b/common/game/appx/appx_windows.go @@ -38,6 +38,8 @@ func appNameSuffix(gameTitle string) string { return "MSPhoenix" case common.GameAoE3: return "MSGPBoston" + case common.GameAoE4: + return "Cardinal" // FIXME: Add common.GameAoM default: return "" @@ -127,13 +129,12 @@ func GameInstallLocation(gameTitle string) (ok bool, gameLocation string) { return } var installLocation string - if ok, installLocation = InstallLocation(fullName); !ok { - return - } else { + if ok, installLocation = InstallLocation(fullName); ok { gameLocation = filepath.Join(installLocation, "Game") if f, err := os.Stat(gameLocation); err != nil || !f.IsDir() { return false, "" } - return true, gameLocation + ok = true } + return } diff --git a/common/game/steam/steam.go b/common/game/steam/steam.go index c6d79528..1ee51f16 100644 --- a/common/game/steam/steam.go +++ b/common/game/steam/steam.go @@ -25,6 +25,8 @@ func AppId(id string) string { return "813780" case common.GameAoE3: return "933110" + case common.GameAoE4: + return "1466860" case common.GameAoM: return "1934680" default: diff --git a/common/go.mod b/common/go.mod index 0624f03b..5d8e8d6f 100644 --- a/common/go.mod +++ b/common/go.mod @@ -18,8 +18,8 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/stretchr/testify v1.11.1 // indirect - golang.org/x/mod v0.31.0 // indirect - golang.org/x/net v0.48.0 // indirect + golang.org/x/mod v0.32.0 // indirect + golang.org/x/net v0.49.0 // indirect golang.org/x/sync v0.19.0 // indirect - golang.org/x/tools v0.40.0 // indirect + golang.org/x/tools v0.41.0 // indirect ) diff --git a/common/go.sum b/common/go.sum index cd2eabb1..1f6c56cb 100644 --- a/common/go.sum +++ b/common/go.sum @@ -1,53 +1,22 @@ github.com/andygrunwald/vdf v1.1.0 h1:gmstp0R7DOepIZvWoSJY97ix7QOrsxpGPU6KusKXqvw= -github.com/andygrunwald/vdf v1.1.0/go.mod h1:f31AAs7HOKvs5B167iwLHwKuqKc4bE46Vdt7xQogA0o= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= -github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= -github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/hairyhenderson/go-which v0.2.2 h1:yMyAHo4InxHiTAboIeOji8nZ5EXwIp116a2uo/MFkFI= -github.com/hairyhenderson/go-which v0.2.2/go.mod h1:vBfncX6hXWQhY1Qte8qQNWuJNnsGPqFLjgmwEETyOAo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/miekg/dns v1.1.72 h1:vhmr+TF2A3tuoGNkLDFK9zi36F2LS+hKTRW0Uf8kbzI= -github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= -github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= mvdan.cc/sh/v3 v3.12.0 h1:ejKUR7ONP5bb+UGHGEG/k9V5+pRVIyD+LsZz7o8KHrI= -mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= diff --git a/launcher-agent/internal/gameLogs/age1.go b/launcher-agent/internal/gameLogs/age1.go index 0b94a32e..33656ff8 100644 --- a/launcher-agent/internal/gameLogs/age1.go +++ b/launcher-agent/internal/gameLogs/age1.go @@ -17,9 +17,7 @@ func (g GameAoE1) Paths(path string) (paths []string) { if f, err := os.Stat(startupLogFile); err == nil && !f.IsDir() { paths = append(paths, startupLogFile) } - if matches, err := filepath.Glob(filepath.Join(logsPath, fmt.Sprintf("%s_base_log.txt", dateTimeGlob))); err != nil { - return - } else { + if matches, err := filepath.Glob(filepath.Join(logsPath, fmt.Sprintf("%s_base_log.txt", dateTimeGlob))); err == nil { addNewestPath( logsPath, matches, diff --git a/launcher-agent/internal/gameLogs/age4.go b/launcher-agent/internal/gameLogs/age4.go new file mode 100644 index 00000000..a967fd91 --- /dev/null +++ b/launcher-agent/internal/gameLogs/age4.go @@ -0,0 +1,41 @@ +package gameLogs + +import ( + "os" + "path/filepath" +) + +const elementSepDashGlob = "-" +const dateDashGlob = minElementGlob + minElementGlob + elementSepDashGlob + minElementGlob + elementSepDashGlob + minElementGlob +const timeDashGlob = minElementGlob + elementSepDashGlob + minElementGlob + elementSepDashGlob + minElementGlob +const dateTimeDashGlob = dateDashGlob + elementSepDotGlob + timeDashGlob + +type GameAoE4 struct{} + +func (g GameAoE4) Paths(path string) (paths []string) { + possiblePaths := []string{ + "session_data.txt", + "warnings.log", + } + for _, p := range possiblePaths { + finalPath := filepath.Join(path, p) + if f, err := os.Stat(finalPath); err == nil && !f.IsDir() { + paths = append(paths, finalPath) + } + } + logsPath := filepath.Join(path, "LogFiles") + if f, err := os.Stat(logsPath); err != nil || !f.IsDir() { + return + } + if matches, err := filepath.Glob(filepath.Join(logsPath, "unhandled."+dateTimeDashGlob+".txt")); err == nil { + addNewestPath( + logsPath, + matches, + func(info os.FileInfo) bool { + return !info.IsDir() + }, + &paths, + ) + } + return +} diff --git a/launcher-agent/internal/gameLogs/gameLogs.go b/launcher-agent/internal/gameLogs/gameLogs.go index 55985da7..05aa78bb 100644 --- a/launcher-agent/internal/gameLogs/gameLogs.go +++ b/launcher-agent/internal/gameLogs/gameLogs.go @@ -12,12 +12,12 @@ import ( "github.com/luskaner/ageLANServer/launcher-common/userData" ) -const elementSepGlob = "." +const elementSepDotGlob = "." const minElementGlob = "??" -const minElementSepGlob = minElementGlob + elementSepGlob -const dateGlob = minElementGlob + minElementSepGlob + minElementSepGlob + minElementGlob -const dateTimePrefixGlob = dateGlob + "-" + minElementGlob -const dateTimeGlob = dateTimePrefixGlob + elementSepGlob + minElementSepGlob + minElementGlob +const minElementSepGlob = minElementGlob + elementSepDotGlob +const dateDotGlob = minElementGlob + minElementSepGlob + minElementSepGlob + minElementGlob +const dateTimePrefixGlob = dateDotGlob + "-" + minElementGlob +const dateTimeGlob = dateTimePrefixGlob + elementSepDotGlob + minElementSepGlob + minElementGlob const dateTimeNoDotGlob = dateTimePrefixGlob + minElementSepGlob + minElementGlob type Game interface { @@ -28,6 +28,7 @@ var gameIdToGame = map[string]Game{ common.GameAoE1: GameAoE1{}, common.GameAoE2: GameAoE2{}, common.GameAoE3: GameAoE3{}, + common.GameAoE4: GameAoE4{}, common.GameAoM: GameAoM{}, } @@ -126,9 +127,7 @@ func sortByModTime(filesInfo *[]os.FileInfo) { func CopyGameLogs(gameId string, logRoot string) { commonLogger.Println("Copying game logs...") - if game, ok := gameIdToGame[gameId]; !ok { - return - } else { + if game, ok := gameIdToGame[gameId]; ok { paths := game.Paths(userData.Path(gameId)) for _, path := range paths { str := fmt.Sprintf("\tCopying %s... ", path) diff --git a/launcher-agent/main.go b/launcher-agent/main.go index c6d26c63..66279899 100644 --- a/launcher-agent/main.go +++ b/launcher-agent/main.go @@ -45,7 +45,7 @@ func main() { serverExe := os.Args[3] commonLogger.Printf("Server executable: %s\n", serverExe) var broadcastBattleServer bool - if runtime.GOOS == "windows" && gameId != common.GameAoM { + if runtime.GOOS == "windows" && (gameId != common.GameAoM && gameId != common.GameAoE4) { broadcastBattleServer, _ = strconv.ParseBool(os.Args[4]) } commonLogger.Printf("Broadcast LAN Battle-Server: %v\n", broadcastBattleServer) diff --git a/launcher-common/userData/backup_windows.go b/launcher-common/userData/backup_windows.go index d64be378..ebd465d6 100644 --- a/launcher-common/userData/backup_windows.go +++ b/launcher-common/userData/backup_windows.go @@ -1,7 +1,19 @@ package userData -import "os" +import ( + "os" + "path/filepath" -func basePath(_ string) string { + "github.com/luskaner/ageLANServer/common" + "golang.org/x/sys/windows" +) + +func basePath(gameId string) string { + if gameId == common.GameAoE4 { + if path, err := windows.KnownFolderPath(windows.FOLDERID_Documents, 0); err == nil { + return filepath.Join(path, "My Games") + } + return "" + } return os.Getenv("USERPROFILE") } diff --git a/launcher-common/userData/metadata.go b/launcher-common/userData/metadata.go index 633f897f..45be97ba 100644 --- a/launcher-common/userData/metadata.go +++ b/launcher-common/userData/metadata.go @@ -18,6 +18,8 @@ func metadataFolder(gameId string) string { p = "metadata" case common.GameAoE3: p = filepath.Join("Common", "RLink") + case common.GameAoE4: + p = "network" case common.GameAoM: p = filepath.Join("temp", "RLink") } diff --git a/launcher-common/userData/profiles.go b/launcher-common/userData/profiles.go index fa1a0c16..1f212ebe 100644 --- a/launcher-common/userData/profiles.go +++ b/launcher-common/userData/profiles.go @@ -12,7 +12,7 @@ import ( func profileFolder(gameId string) string { var p string switch gameId { - case common.GameAoE1: + case common.GameAoE1, common.GameAoE4: p = "Users" } return p diff --git a/launcher-common/userData/userData.go b/launcher-common/userData/userData.go index dded5536..d0b0b084 100644 --- a/launcher-common/userData/userData.go +++ b/launcher-common/userData/userData.go @@ -29,6 +29,7 @@ type Data struct { func Path(gameId string) string { var s string + addPrefix := true switch gameId { case common.GameAoE1: s = `Age of Empires DE` @@ -36,10 +37,17 @@ func Path(gameId string) string { s = `Age of Empires 2 DE` case common.GameAoE3: s = `Age of Empires 3 DE` + case common.GameAoE4: + addPrefix = false + s = `Age of Empires IV` case common.GameAoM: s = `Age of Mythology Retold` } - return filepath.Join(basePath(gameId), prefix, s) + path := basePath(gameId) + if addPrefix { + path = filepath.Join(path, prefix) + } + return filepath.Join(path, s) } func typ(path string) (typ int, ext string) { diff --git a/launcher-config/README.md b/launcher-config/README.md index 5cb7b780..e57c3aba 100644 --- a/launcher-config/README.md +++ b/launcher-config/README.md @@ -16,7 +16,8 @@ Resides in `bin` subdirectory. CLI is available. You can see the available options with `config -h`. -You may run `revert -a -e ` (where game is either `age1`, `age2` or `age3`) to revert all changes (forced). +You may run `revert -a -e ` (where game is either `age1`, `age2`, `age3`, `age4` or `athens`) to revert all +changes (forced). ## Exit Codes diff --git a/launcher-config/internal/cmd/revert.go b/launcher-config/internal/cmd/revert.go index 461c19f8..0a6337ae 100644 --- a/launcher-config/internal/cmd/revert.go +++ b/launcher-config/internal/cmd/revert.go @@ -117,6 +117,8 @@ var revertCmd = &cobra.Command{ if cmd.GameId == common.GameAoE1 { doRestoreMetadata = false doRestoreCaStoreCert = false + } else if cmd.GameId == common.GameAoE4 { + doRestoreCaStoreCert = false } if (restoredMetadata || restoredProfiles) && !common.SupportedGames.ContainsOne(cmd.GameId) { commonLogger.Println("Invalid game type") @@ -331,7 +333,7 @@ func InitRevert() { "caStoreCert", "s", false, - "Restore the game's trusted root store. For all except AoE I: DE.", + "Restore the game's trusted root store. For all except AoE I: DE and AoE IV: AE.", ) revertCmd.Flags().BoolVarP( &stopAgent, diff --git a/launcher-config/internal/cmd/root.go b/launcher-config/internal/cmd/root.go index 07b2ab5e..eac0a36b 100644 --- a/launcher-config/internal/cmd/root.go +++ b/launcher-config/internal/cmd/root.go @@ -31,6 +31,6 @@ func addGamePathFlag(cmd *cobra.Command) { &gamePath, "gamePath", "", - "Path to the game folder. Required when using 'caStoreCert' and all except AoE: DE.", + "Path to the game folder. Required when using 'caStoreCert' and all except AoE: DE and AoE IV: AE.", ) } diff --git a/launcher-config/internal/cmd/setUp.go b/launcher-config/internal/cmd/setUp.go index e7313e04..e2e6cd1b 100644 --- a/launcher-config/internal/cmd/setUp.go +++ b/launcher-config/internal/cmd/setUp.go @@ -126,6 +126,8 @@ var setUpCmd = &cobra.Command{ if cmd.GameId == common.GameAoE1 { doBackupMetadata = false doRestoreCaStoreCert = false + } else if cmd.GameId == common.GameAoE4 { + doRestoreCaStoreCert = false } if (doBackupMetadata || doBackupProfiles) && !common.SupportedGames.ContainsOne(cmd.GameId) { commonLogger.Println("Invalid game type") @@ -369,7 +371,7 @@ func InitSetUp() { "caStoreCert", "s", nil, - "Add the certificate to the game's trusted root store. For all except AoE I: DE.", + "Add the certificate to the game's trusted root store. For all except AoE I: DE and AoE IV: AE.", ) setUpCmd.Flags().BoolVarP( &agentStart, diff --git a/launcher/README.md b/launcher/README.md index ea431e29..6f6680ec 100644 --- a/launcher/README.md +++ b/launcher/README.md @@ -35,7 +35,7 @@ require admin rights elevation.** - Isolated profiles directory. - Smart modify the hosts file. - Smart install of a self-signed certificate. -- Add certificate to the game's trusted store (except AoE I). +- Add certificate to the game's trusted store (except AoE I and AoE IV). All possible client modifications are reverted upon the launcher's exit. diff --git a/launcher/go.mod b/launcher/go.mod index c5924331..d39ba8ac 100644 --- a/launcher/go.mod +++ b/launcher/go.mod @@ -6,8 +6,6 @@ require ( github.com/deckarep/golang-set/v2 v2.8.0 github.com/google/uuid v1.6.0 github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 - github.com/luskaner/ageLANServer/common v0.0.0-20260114191610-127068dd5a46 - github.com/luskaner/ageLANServer/launcher-common v0.0.0-20260114191610-127068dd5a46 github.com/spf13/cobra v1.10.2 github.com/spf13/viper v1.21.0 golang.org/x/net v0.49.0 @@ -15,24 +13,20 @@ require ( ) require ( - github.com/andygrunwald/vdf v1.1.0 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/go-viper/mapstructure/v2 v2.4.0 // indirect - github.com/hairyhenderson/go-which v0.2.2 // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect + github.com/google/go-cmp v0.7.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/miekg/dns v1.1.70 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/subosito/gotenv v1.6.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/mod v0.31.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/term v0.39.0 // indirect golang.org/x/text v0.33.0 // indirect - golang.org/x/tools v0.40.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect - mvdan.cc/sh/v3 v3.12.0 // indirect ) diff --git a/launcher/go.sum b/launcher/go.sum index ca035f39..a06f92f8 100644 --- a/launcher/go.sum +++ b/launcher/go.sum @@ -1,93 +1,29 @@ -github.com/andygrunwald/vdf v1.1.0 h1:gmstp0R7DOepIZvWoSJY97ix7QOrsxpGPU6KusKXqvw= -github.com/andygrunwald/vdf v1.1.0/go.mod h1:f31AAs7HOKvs5B167iwLHwKuqKc4bE46Vdt7xQogA0o= -github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= -github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= -github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= -github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= -github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/hairyhenderson/go-which v0.2.2 h1:yMyAHo4InxHiTAboIeOji8nZ5EXwIp116a2uo/MFkFI= -github.com/hairyhenderson/go-which v0.2.2/go.mod h1:vBfncX6hXWQhY1Qte8qQNWuJNnsGPqFLjgmwEETyOAo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 h1:EB9EKyv7koSQSIR3+DvnwOjpGzCUD2HjtqPuFOFOj/k= github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0/go.mod h1:USeNRD3Mdc+K6EMtZaexx+ngXZz7kTCCMbuz8dt/vDo= -github.com/luskaner/ageLANServer/common v0.0.0-20260114191610-127068dd5a46 h1:WM9/lpo8L9+WFQy0h0Dxzf5k0KHcO6Q57NI5U4OeLXk= -github.com/luskaner/ageLANServer/common v0.0.0-20260114191610-127068dd5a46/go.mod h1:0TJpRpFFrpTb1HueovdM0uI5ABxIGK84KaFT2J02CXY= -github.com/luskaner/ageLANServer/launcher-common v0.0.0-20260114191610-127068dd5a46 h1:cEvtp8cXlPeSkG/RbbtWoTqDPQeHeYHz5g0LTvqDhns= -github.com/luskaner/ageLANServer/launcher-common v0.0.0-20260114191610-127068dd5a46/go.mod h1:a4IX9zwI1julpOdTrTb8ZWPF05BggCoICwZ28XicWLs= -github.com/miekg/dns v1.1.70 h1:DZ4u2AV35VJxdD9Fo9fIWm119BsQL5cZU1cQ9s0LkqA= -github.com/miekg/dns v1.1.70/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.12.0 h1:/NQhBAkUb4+fH1jivKHWusDYFjMOOKU88eegjfxfHb4= -github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= -github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= -github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= -github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= -github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= -github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= -github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= -golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -mvdan.cc/sh/v3 v3.12.0 h1:ejKUR7ONP5bb+UGHGEG/k9V5+pRVIyD+LsZz7o8KHrI= -mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= diff --git a/launcher/internal/cmd/root.go b/launcher/internal/cmd/root.go index d4b7ac67..24197117 100644 --- a/launcher/internal/cmd/root.go +++ b/launcher/internal/cmd/root.go @@ -60,7 +60,7 @@ var ( requiredTrueFalseValues = mapset.NewThreadUnsafeSet[string](trueValue, falseValue, "required") rootCmd = &cobra.Command{ Use: filepath.Base(os.Args[0]), - Short: "launcher discovers and configures AoE: DE, AoE 2: DE and AoE 3: DE, and AoM: RT to connect to the local LAN 'server'", + Short: "launcher discovers and configures AoE: DE, AoE 2: DE and AoE 3: DE, AoE 4: DE and AoM: RT to connect to the local LAN 'server'", Long: "launcher discovers or starts a local LAN 'server', configures and executes the game launcher to connect to it", Run: func(_ *cobra.Command, _ []string) { lock := &fileLock.PidLock{} @@ -104,7 +104,7 @@ var ( return } canBroadcastBattleServer := "false" - if runtime.GOOS == "windows" && gameId != common.GameAoM { + if runtime.GOOS == "windows" && (gameId != common.GameAoM && gameId != common.GameAoE4) { canBroadcastBattleServer = cfg.Config.CanBroadcastBattleServer if !canBroadcastBattleServerValues.Contains(canBroadcastBattleServer) { logger.Printf("Invalid value for canBroadcastBattleServer (auto/false): %s\n", canBroadcastBattleServer) @@ -249,7 +249,7 @@ var ( logger.Printf("Game %s.\n", gameId) if clientExecutable == "msstore" && gameId == common.GameAoM { - logger.Println("The Microsoft Store (Xbox) version of AoM: RT is not supported.") + logger.Println("The Microsoft Store (Xbox) version is not supported on this game.") errorCode.Store(int32(internal.ErrGameUnsupportedLauncherCombo)) return } @@ -261,12 +261,12 @@ var ( switch executer.(type) { case gameExecutor.SteamExec: logger.Println("Game found on Steam.") - if gameId != common.GameAoE1 { + if gameId != common.GameAoE1 && gameId != common.GameAoE4 { gamePath = executer.(gameExecutor.SteamExec).GamePath() } case gameExecutor.XboxExec: logger.Println("Game found on Xbox.") - if gameId != common.GameAoE1 { + if gameId != common.GameAoE1 && gameId != common.GameAoE4 { gamePath = executer.(gameExecutor.XboxExec).GamePath() } case gameExecutor.CustomExec: @@ -282,7 +282,7 @@ var ( isolateProfiles = false } } - if gameId != common.GameAoE1 { + if gameId != common.GameAoE1 && gameId != common.GameAoE4 { if clientFile, clientPath, err := common.ParsePath(common.EnhancedViperStringToStringSlice(cfg.Client.Path), nil); err != nil || !clientFile.IsDir() { logger.Println("Invalid client path") errorCode.Store(int32(internal.ErrInvalidClientPath)) @@ -472,10 +472,10 @@ var ( serverArgs = append(serverArgs, "--deterministic") } } - if gameId == common.GameAoM && battleServerManagerRun == "false" { - logger.Println("AoM: RT needs a Battle Server to be started but you don't allow to start one, make sure you have one running and the server configured.") + if (gameId == common.GameAoM || gameId == common.GameAoE4) && battleServerManagerRun == "false" { + logger.Println("This game needs a Battle Server to be started but you don't allow to start one, make sure you have one running and the server configured.") } - runBattleServerManager := battleServerManagerRun == "true" || (battleServerManagerRun == "required" && gameId == common.GameAoM) + runBattleServerManager := battleServerManagerRun == "true" || (battleServerManagerRun == "required" && (gameId == common.GameAoM || gameId == common.GameAoE4)) if cfg.Server.Start == "auto" { str := "No 'server's were found, proceeding to" if runBattleServerManager { diff --git a/launcher/resources/config.game.toml b/launcher/resources/config.game.toml index 919e9208..c08e01a7 100644 --- a/launcher/resources/config.game.toml +++ b/launcher/resources/config.game.toml @@ -40,6 +40,6 @@ ExecutableArgs = [] # The path to the game installation path, if 'auto' and 'Executable' resolves to 'steam' or 'msstore' it will be detected automatically. # If 'Executable' is a custom launcher, this is required to be set. Otherwise, this will be ignored. # Used to find the game certificate certificate store, file "cacert.pem". -# Required that the game path can be found in all games except AoE I: DE. +# Required that the game path can be found in all games except AoE I: DE and AoE IV: AE. # Note: You may use environment variables. Path = 'auto' \ No newline at end of file diff --git a/launcher/resources/config.toml b/launcher/resources/config.toml index 006c5cfb..a9434394 100644 --- a/launcher/resources/config.toml +++ b/launcher/resources/config.toml @@ -11,7 +11,7 @@ CanAddHost = true # If using '{CertFilePath}' in 'Client.ExecutableArgs', this will be ignored. CanTrustCertificate = 'local' # Whether to broadcast the game BattleServer to all interfaces in LAN (not just the most priority one). -# Either 'auto' or 'false'. This is only necessary in Windows when not running AoM, on the rest of systems it is always 'false'. +# Either 'auto' or 'false'. This is only necessary in Windows when not running AoM nor AoE IV, on the rest of systems it is always 'false'. CanBroadcastBattleServer = 'auto' # Whether to log all the info the terminal plus more info to a file. Enable it for errors. Log = false @@ -53,7 +53,7 @@ AnnounceMulticastGroups = ['239.31.97.8'] # This section only applies if starting the server. [Server.BattleServerManager] # When to use the manager to start a new Battle Server running the manager; accepted values: -# 'required': Only for games that require it to work (AoM: RT). +# 'required': Only for games that require it to work (AoM: RT and AoE IV: AE). # 'true'. # 'false'. # Note: by default the manager will only start a new instance if one is not already running for the given game. diff --git a/launcher/resources/unix/start_age4.sh b/launcher/resources/unix/start_age4.sh new file mode 100644 index 00000000..86373b49 --- /dev/null +++ b/launcher/resources/unix/start_age4.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +cd "$(dirname "$0")" +./launcher -e age4 +if [ $? -eq 0 ]; then + echo "Program finished successfully, closing in 10 seconds..." + sleep 10 +else + echo "Program finished with errors..." + echo "Press any key to exit..." + read dummy +fi \ No newline at end of file diff --git a/launcher/resources/windows/start_age4.bat b/launcher/resources/windows/start_age4.bat new file mode 100644 index 00000000..127fd217 --- /dev/null +++ b/launcher/resources/windows/start_age4.bat @@ -0,0 +1,10 @@ +@echo off +cd /d "%~dp0" +launcher -e age4 +if %ERRORLEVEL%==0 ( + echo Program finished successfully, closing in 10 seconds... + timeout /t 10 +) else ( + echo Program finished with errors... + pause +) diff --git a/server/BattleServers.md b/server/BattleServers.md index 9c4a51c6..24cdf6b9 100644 --- a/server/BattleServers.md +++ b/server/BattleServers.md @@ -8,7 +8,8 @@ Depending on the game and version, the path can be one of these two: * `Drive:\Path\To\Game\BattleServer\BattleServer.exe` There is an exception: AoM: RT includes a buggy implementation and requires a more modern version. The best is to use -the newer version found in AoE II: DE. +the newer version found in AoE II: DE. The same applies for AoE IV: AE as it does not include the Battle Server +executable. ### Executable @@ -59,14 +60,18 @@ generated and that you are located in the battle server directory using the `Pow `& ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30006 webSocketPort 30007 -outOfBandPort 30008 -sslKey C:\AgeLANServer\resources\certificates\key.pem -sslCert C:\AgeLANServer\resources\certificates\cert.pem` +#### AoE IV: AE + +`& ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30009 webSocketPort 30010 -outOfBandPort 30011 -sslKey C:\AgeLANServer\resources\certificates\key.pem -sslCert C:\AgeLANServer\resources\certificates\cert.pem` + #### AoM: RT -`& ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30007 webSocketPort 30008 -outOfBandPort 30009 -sslKey C:\AgeLANServer\resources\certificates\key.pem -sslCert C:\AgeLANServer\resources\certificates\cert.pem` +`& ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30012 webSocketPort 30013 -outOfBandPort 30014 -sslKey C:\AgeLANServer\resources\certificates\key.pem -sslCert C:\AgeLANServer\resources\certificates\cert.pem` ## Configuring the Server For each battle server instance you run you will need to edit `/resources/config.toml` and inside `[Games]` -section, add `[[Games..BattleServers]]` where game is one of `age1`, `age3`, or `age3`. +section, add `[[Games..BattleServers]]` where game is one of `age1`, `age2`, `age3`, `age4` or `athens`. inside that subsection the following properties are required (with the arguments matching): | Battle Server argument | Server configuration key | @@ -119,10 +124,10 @@ WebSocketPort = 30007 OutOfBandPort = 30008 ``` -#### AoM: RT +#### AoE IV: AE ```toml -[[Games.athens.BattleServers]] +[[Games.age4.BattleServers]] Region = 'local' IPv4 = '192.168.1.2' BsPort = 30009 @@ -130,6 +135,17 @@ WebSocketPort = 30010 OutOfBandPort = 30011 ``` +#### AoM: RT + +```toml +[[Games.athens.BattleServers]] +Region = 'local' +IPv4 = '192.168.1.2' +BsPort = 30012 +WebSocketPort = 30013 +OutOfBandPort = 30014 +``` + ## Simplest way to use an online-like Battle Server ### Assumptions @@ -160,10 +176,14 @@ Replace the placeholders with the actual paths. ``` & ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30006 webSocketPort 30007 -outOfBandPort 30008 -sslKey "/resources/certificates/key.pem" -sslCert "/resources/certificates/cert.pem" ``` - * AoM: RT: + * AoE IV: AE: ``` & ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30009 webSocketPort 30010 -outOfBandPort 30011 -sslKey "/resources/certificates/key.pem" -sslCert "/resources/certificates/cert.pem" ``` + * AoM: RT: + ``` + & ".\BattleServer.exe" -simulationPeriod 50 -relayBroadcastPort 0 -region local -bsPort 30012 webSocketPort 30013 -outOfBandPort 30014 -sslKey "/resources/certificates/key.pem" -sslCert "/resources/certificates/cert.pem" + ``` 6. Open `/resources/config.toml` and add the corresponding configuration inside `[Games]` for the game you are running the Battle Server for. Replace `` with the actual server IP address (e.g., `192.168.1.2`): @@ -185,7 +205,7 @@ Replace the placeholders with the actual paths. WebSocketPort = 30004 OutOfBandPort = 30005 ``` - * AoE II: DE: + * AoE III: DE: ```toml [[Games.age3.BattleServers]] Region = 'local' @@ -194,15 +214,24 @@ Replace the placeholders with the actual paths. WebSocketPort = 30007 OutOfBandPort = 30008 ``` - * AoM: RT: + * AoE IV: AE: ```toml - [[Games.athens.BattleServers]] + [[Games.age4.BattleServers]] Region = 'local' IPv4 = '' BsPort = 30009 WebSocketPort = 30010 OutOfBandPort = 30011 ``` + * AoM: RT: + ```toml + [[Games.athens.BattleServers]] + Region = 'local' + IPv4 = '' + BsPort = 30012 + WebSocketPort = 30013 + OutOfBandPort = 30014 + ``` 7. Start the game as you normally would and then: * AoE DE: Click on "Multiplayer" then on "Create Game", you may select the "Region", "local", or leave as default. Players can diff --git a/server/README.md b/server/README.md index 05e1fd5e..7d03175e 100644 --- a/server/README.md +++ b/server/README.md @@ -7,7 +7,7 @@ API requests. The server reimplements the minimum required API surface to allow #### Stable -- **Windows**: 7 (or equivalent). +- **Windows**: 7 (or equivalent, 10 or higher recommended). - **Linux**: kernel 3.2 (see [here](https://go.dev/wiki/Linux) for more details). - **macOS**: Monterey (v12). @@ -29,7 +29,7 @@ Note: For the full list see [minimum requirements for Go](https://go.dev/wiki/Mi ### Main -* `aoe-api.reliclink.com`: legacy domain for AoE I: DE, AoE II: DE and AoE III: DE. +* `aoe-api.reliclink.com`: legacy domain for AoE I: DE, AoE II: DE, AoE III: DE and AoE IV: AE. * `*.worldsedgelink.com`: current domain for all games. ### Playfab @@ -55,11 +55,12 @@ the ```launcher``` if you are hosting and running the launcher on same PC. #### Self-signed certificate The self signed certificate pair (``selfsigned_cert.pem`` and ``selfsigned_key.pem``) is generated specifically for -non-AoM games. +non-AoM and non-AoE IV games. #### Default -The default certificate pair (``cert.pem`` and ``key.pem``) serves as the default and for AoM. It is signed by +The default certificate pair (``cert.pem`` and ``key.pem``) serves as the default and for AoM and AoE IV. It is signed +by `cacert.pem` certificate authority. You can use your own certificate by (re)placing the `cert.pem` and `key.pem` files in the `resources/certificates` @@ -114,6 +115,7 @@ the [`responses`](resources/responses) base directory. challenges and other items. - [`Item Bundle Items`](resources/responses/age2/itemBundleItems.json): Grouping of items into bundles. +- [`Item Locations`](resources/responses/age4/itemLocations.json): Locations of items. #### Age of Empires III: Definitive Edition @@ -122,6 +124,23 @@ the [`responses`](resources/responses) base directory. - [`Item Definitions`](resources/responses/age3/itemDefinitions.json): Definitions of items. Includes rewards, challenges and other items. +- [`Item Locations`](resources/responses/age4/itemLocations.json): Locations of items. + +#### Age of Empires IV: Anniversary Edition + +- [`Achievements`](resources/responses/age4/achievements.json): List of achievements. +- [`Leaderboards`](resources/responses/age4/leaderboards.json): List of leaderboards. +- [`Automatch maps`](resources/responses/age4/automatchMaps.json): List of maps for automatch. +- [`Challenges`](resources/responses/age4/challenges.json): List of challenges. +- [`Presence Data`](resources/responses/age4/presenceData.json): Presence data. Basically if a player is online, offline + or + away. +- [`Item Definitions`](resources/responses/age4/itemDefinitions.json): Definitions of items. Includes rewards, + challenges and + other items. +- [`Item Locations`](resources/responses/age4/itemLocations.json): Locations of items. +- [`Item Bundle Items`](resources/responses/age4/itemBundleItems.json): Grouping of items into bundles. +- [`Level Rewards Table`](resources/responses/age4/levelRewardsTable.json): Level rewards table. #### Age of Mythology: Retold diff --git a/server/go.mod b/server/go.mod index 642c0397..64b24865 100644 --- a/server/go.mod +++ b/server/go.mod @@ -8,31 +8,29 @@ require ( github.com/gorilla/handlers v1.5.2 github.com/gorilla/schema v1.4.1 github.com/gorilla/websocket v1.5.3 - github.com/luskaner/ageLANServer/common v0.0.0-20260114191610-127068dd5a46 github.com/spf13/cobra v1.10.2 github.com/spf13/viper v1.21.0 + golang.org/x/exp v0.0.0-20260112195511-716be5621a96 golang.org/x/net v0.49.0 ) require ( + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect + github.com/google/go-cmp v0.7.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/miekg/dns v1.1.70 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/rogpeppe/go-internal v1.14.1 // indirect github.com/sagikazarmark/locafero v0.12.0 // indirect github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/subosito/gotenv v1.6.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/mod v0.31.0 // indirect - golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.40.0 // indirect - golang.org/x/term v0.39.0 // indirect golang.org/x/text v0.33.0 // indirect - golang.org/x/tools v0.40.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect - mvdan.cc/sh/v3 v3.12.0 // indirect ) diff --git a/server/go.sum b/server/go.sum index df4b79d4..ebf49a94 100644 --- a/server/go.sum +++ b/server/go.sum @@ -1,85 +1,32 @@ -github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= -github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= -github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= -github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= -github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= -github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= github.com/gorilla/schema v1.4.1 h1:jUg5hUjCSDZpNGLuXQOgIWGdlgrIdYvgQ0wZtdK1M3E= -github.com/gorilla/schema v1.4.1/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= -github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/luskaner/ageLANServer/common v0.0.0-20260114191610-127068dd5a46 h1:WM9/lpo8L9+WFQy0h0Dxzf5k0KHcO6Q57NI5U4OeLXk= -github.com/luskaner/ageLANServer/common v0.0.0-20260114191610-127068dd5a46/go.mod h1:0TJpRpFFrpTb1HueovdM0uI5ABxIGK84KaFT2J02CXY= -github.com/miekg/dns v1.1.70 h1:DZ4u2AV35VJxdD9Fo9fIWm119BsQL5cZU1cQ9s0LkqA= -github.com/miekg/dns v1.1.70/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.12.0 h1:/NQhBAkUb4+fH1jivKHWusDYFjMOOKU88eegjfxfHb4= -github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= -github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= -github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= -github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= -github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= -github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= -github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= +golang.org/x/exp v0.0.0-20260112195511-716be5621a96 h1:Z/6YuSHTLOHfNFdb8zVZomZr7cqNgTJvA8+Qz75D8gU= golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= -golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= -golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -mvdan.cc/sh/v3 v3.12.0 h1:ejKUR7ONP5bb+UGHGEG/k9V5+pRVIyD+LsZz7o8KHrI= -mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= diff --git a/server/internal/Map.go b/server/internal/Map.go index 084ec736..f1db94ad 100644 --- a/server/internal/Map.go +++ b/server/internal/Map.go @@ -342,3 +342,14 @@ func (m *SafeOrderedMap[K, V]) Iter() (int, iter.Seq2[K, V]) { ro := m.ro.Load().(*baseSafeOrderedMapData[K, V]) return ro.iter() } + +func (m *SafeOrderedMap[K, V]) First() (key K, value V, ok bool) { + ro := m.ro.Load().(*baseSafeOrderedMapData[K, V]) + if len(ro.keys) == 0 { + return + } + key = ro.keys[0] + value = ro.internal[key] + ok = true + return +} diff --git a/server/internal/boolInt.go b/server/internal/boolInt.go new file mode 100644 index 00000000..2ad0dd3e --- /dev/null +++ b/server/internal/boolInt.go @@ -0,0 +1,55 @@ +package internal + +import ( + "encoding/json" + + "golang.org/x/exp/constraints" +) + +const falseValue = 0 + +type number interface { + constraints.Integer | + constraints.Float | + constraints.Complex +} + +func NumberToBool[T number](value T) bool { + return value != falseValue +} + +type BoolMappedNumber[T number] struct { + Value T +} + +func (b *BoolMappedNumber[T]) Bool() bool { + return NumberToBool(b.Value) +} + +func (b *BoolMappedNumber[T]) MarshalJSON() ([]byte, error) { + return json.Marshal(b.Value) +} + +func (b *BoolMappedNumber[T]) UnmarshalJSON(data []byte) error { + var val T + if err := json.Unmarshal(data, &val); err == nil { + b.Value = val + return nil + } else { + return err + } +} + +func NewBoolMappedNumber[T number](value T) *BoolMappedNumber[T] { + return &BoolMappedNumber[T]{Value: value} +} + +func NewBoolMappedNumberFromBool(value bool) *BoolMappedNumber[uint8] { + var intValue uint8 + if !value { + intValue = falseValue + } else { + intValue = 1 + } + return &BoolMappedNumber[uint8]{intValue} +} diff --git a/server/internal/cmd/root.go b/server/internal/cmd/root.go index 0092823d..52c4a81e 100644 --- a/server/internal/cmd/root.go +++ b/server/internal/cmd/root.go @@ -48,7 +48,7 @@ var ( Version string rootCmd = &cobra.Command{ Use: filepath.Base(os.Args[0]), - Short: "server is a service for multiplayer features in AoE: DE, AoE 2: DE, AoE 3: DE and AoM: RT.", + Short: "server is a service for multiplayer features in AoE: DE, AoE 2: DE, AoE 3: DE, AoE 4: AE and AoM: RT.", Run: func(_ *cobra.Command, _ []string) { lock := &fileLock.PidLock{} exitCode := common.ErrSuccess @@ -313,7 +313,7 @@ func Execute() error { v.SetDefault(fmt.Sprintf("Games.%s.Hosts", game), []string{netip.IPv4Unspecified().String()}) } // Bindings - if err := viper.BindPFlag("Log", rootCmd.Flags().Lookup("log")); err != nil { + if err := v.BindPFlag("Log", rootCmd.Flags().Lookup("log")); err != nil { return err } if err := v.BindPFlag("Announcement.Enabled", rootCmd.Flags().Lookup("announce")); err != nil { diff --git a/server/internal/config.go b/server/internal/config.go index 6ad93da8..55cf0247 100644 --- a/server/internal/config.go +++ b/server/internal/config.go @@ -23,6 +23,7 @@ type Games struct { Age1 Game Age2 Game Age3 Game + Age4 Game Athens Game } @@ -41,6 +42,8 @@ func (cfg *Configuration) GetGameHosts(gameId string) []string { return cfg.Games.Age2.Hosts case "age3": return cfg.Games.Age3.Hosts + case "age4": + return cfg.Games.Age4.Hosts case "athens": return cfg.Games.Athens.Hosts default: @@ -56,6 +59,8 @@ func (cfg *Configuration) GetGameBattleServers(gameId string) []BattleServer { return cfg.Games.Age2.BattleServers case "age3": return cfg.Games.Age3.BattleServers + case "age4": + return cfg.Games.Age4.BattleServers case "athens": return cfg.Games.Athens.BattleServers default: diff --git a/server/internal/models/advertisement.go b/server/internal/models/advertisement.go index 5242e723..bed9a5be 100644 --- a/server/internal/models/advertisement.go +++ b/server/internal/models/advertisement.go @@ -33,7 +33,7 @@ type Tags struct { } type Advertisement interface { - GetMetadata() string + GetXboxSessionId() string UnsafeGetModDllChecksum() int32 UnsafeGetModDllFile() string UnsafeGetPasswordValue() string @@ -41,6 +41,7 @@ type Advertisement interface { UnsafeGetState() int8 UnsafeGetDescription() string GetRelayRegion() string + GetParty() int32 UnsafeGetVisible() bool UnsafeGetJoinable() bool UnsafeGetAppBinaryChecksum() int32 @@ -52,6 +53,7 @@ type Advertisement interface { UnsafeGetPlatformSessionId() uint64 UnsafeGetObserversDelay() uint32 UnsafeGetObserversEnabled() bool + UnsafeSetHostId(hostId int32) UnsafeUpdateState(state int8) UnsafeUpdatePlatformSessionId(sessionId uint64) UnsafeUpdateTags(integer map[string]int32, text map[string]string) @@ -60,7 +62,7 @@ type Advertisement interface { UnsafeUpdate(advFrom *shared.AdvertisementUpdateRequest) GetId() int32 GetIp() string - GetHostId() int32 + UnsafeGetHostId() int32 GetPeers() *i.SafeOrderedMap[int32, Peer] MakeMessage(broadcast bool, content string, typeId uint8, sender User, receivers []User) Message StartObserving(userId int32) @@ -96,9 +98,10 @@ type MainAdvertisement struct { slotInfo string platformSessionId uint64 state int8 + lan bool startTime int64 peers *i.SafeOrderedMap[int32, Peer] - metadata string + xboxSessionId string tags Tags } @@ -113,11 +116,11 @@ func containsFilter[M ~map[K]V, K, V comparable](filter M, tags M) bool { type Advertisements interface { Initialize(users Users, battleServers BattleServers) - Store(advFrom *shared.AdvertisementHostRequest, generateMetadata bool, alternateScid bool) Advertisement + Store(advFrom *shared.AdvertisementHostRequest, generateMetadata bool, gameId string) Advertisement WithReadLock(id int32, action func()) WithWriteLock(id int32, action func()) GetAdvertisement(id int32) (Advertisement, bool) - UnsafeNewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, race int32, team int32) Peer + UnsafeNewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, party int32, race int32, team int32) Peer UnsafeRemovePeer(advertisementId int32, userId int32) bool UnsafeDelete(adv Advertisement) UnsafeFirstAdvertisement(matches func(adv Advertisement) bool) Advertisement @@ -139,8 +142,8 @@ func (advs *MainAdvertisements) Initialize(users Users, battleServers BattleServ advs.battleServers = battleServers } -func (adv *MainAdvertisement) GetMetadata() string { - return adv.metadata +func (adv *MainAdvertisement) GetXboxSessionId() string { + return adv.xboxSessionId } // UnsafeGetModDllChecksum requires advertisement read lock @@ -191,10 +194,15 @@ func (adv *MainAdvertisement) UnsafeGetVisible() bool { return adv.visible } -func (adv *MainAdvertisement) GetHostId() int32 { +// UnsafeGetHostId requires advertisement read lock +func (adv *MainAdvertisement) UnsafeGetHostId() int32 { return adv.hostId } +func (adv *MainAdvertisement) GetParty() int32 { + return adv.party +} + // UnsafeGetAppBinaryChecksum requires advertisement read lock func (adv *MainAdvertisement) UnsafeGetAppBinaryChecksum() int32 { return adv.appBinaryChecksum @@ -248,32 +256,37 @@ func (adv *MainAdvertisement) GetPeers() *i.SafeOrderedMap[int32, Peer] { return adv.peers } -func (advs *MainAdvertisements) Store(advFrom *shared.AdvertisementHostRequest, generateMetadata bool, alternateScid bool) Advertisement { +func (advs *MainAdvertisements) Store(advFrom *shared.AdvertisementHostRequest, generateXboxSessionId bool, gameId string) Advertisement { adv := &MainAdvertisement{} i.WithRng(func(rand *i.RandReader) { adv.ip = fmt.Sprintf("/10.0.11.%d", rand.IntN(254)+1) }) adv.relayRegion = advFrom.RelayRegion - if generateMetadata { + if generateXboxSessionId { + // FIXME: This might be just slowing things down as the session is not valid var scidEnd string - if alternateScid { + switch gameId { + case common.GameAoM: scidEnd = "00006fe8b971" - } else { + case common.GameAoE4: + scidEnd = "00007d18f66e" + default: scidEnd = "000068a451d4" } - adv.metadata = fmt.Sprintf( + adv.xboxSessionId = fmt.Sprintf( `{"templateName":"GameSession","name":"%s","scid":"00000000-0000-0000-0000-%s"}`, uuid.New().String(), scidEnd, ) } else { - adv.metadata = "0" + adv.xboxSessionId = "0" } adv.hostId = advFrom.HostId adv.party = advFrom.Party adv.race = advFrom.Race adv.team = advFrom.Team adv.statGroup = advFrom.StatGroup + adv.lan = i.NumberToBool(advFrom.ServiceType) adv.tags.text = make(map[string]string) adv.tags.integer = make(map[string]int32) adv.peers = i.NewSafeOrderedMap[int32, Peer]() @@ -369,12 +382,12 @@ func (advs *MainAdvertisements) GetAdvertisement(id int32) (Advertisement, bool) } // UnsafeNewPeer requires advertisement write lock -func (advs *MainAdvertisements) UnsafeNewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, race int32, team int32) Peer { +func (advs *MainAdvertisements) UnsafeNewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, party int32, race int32, team int32) Peer { adv, exists := advs.GetAdvertisement(advertisementId) if !exists { return nil } - peer := NewPeer(advertisementId, advertisementIp, userId, userStatId, race, team) + peer := NewPeer(advertisementId, advertisementIp, userId, userStatId, party, race, team) _, storedPeer := adv.GetPeers().Store(peer.GetUserId(), peer, func(_ Peer) bool { return false }) @@ -390,7 +403,7 @@ func (advs *MainAdvertisements) UnsafeRemovePeer(advertisementId int32, userId i if !adv.GetPeers().Delete(userId) { return false } - if adv.GetHostId() == userId { + if adv.GetPeers().Len() == 0 { advs.UnsafeDelete(adv) } return true @@ -413,6 +426,11 @@ func (adv *MainAdvertisement) UnsafeUpdateState(state int8) { } } +// UnsafeSetHostId requires advertisement write lock +func (adv *MainAdvertisement) UnsafeSetHostId(hostId int32) { + adv.hostId = hostId +} + // UnsafeUpdatePlatformSessionId requires advertisement write lock func (adv *MainAdvertisement) UnsafeUpdatePlatformSessionId(sessionId uint64) { adv.platformSessionId = sessionId @@ -450,81 +468,64 @@ func (adv *MainAdvertisement) UnsafeMatchesTags(integer map[string]int32, text m // UnsafeEncode requires advertisement read lock func (adv *MainAdvertisement) UnsafeEncode(gameId string, battleServers BattleServers) i.A { - var visible uint8 - if adv.visible { - visible = 1 - } else { - visible = 0 - } - var passworded uint8 - if adv.password.enabled { - passworded = 1 - } else { - passworded = 0 - } var startTime *int64 - if adv.startTime != 0 { + if i.NumberToBool(adv.startTime) { startTime = &adv.startTime } else { startTime = nil } - var started uint8 - if startTime != nil { - started = 1 - } else { - started = 0 - } response := i.A{ adv.id, adv.platformSessionId, } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoM || gameId == common.GameAoE4 { + // goodolggameslobbyid (GoG lobby ID), always 0 + if gameId == common.GameAoE4 { + response = append(response, 0) + } else { + response = append(response, "0") + } response = append( response, - "0", "", "", ) } response = append( response, - adv.GetMetadata(), + adv.GetXboxSessionId(), adv.hostId, - started, + adv.state, adv.description, ) - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoM || gameId == common.GameAoE4 { response = append(response, adv.description) } - lan := 1 - var battleServer BattleServer - var battleServerExists bool - if battleServer, battleServerExists = battleServers.Get(adv.relayRegion); battleServerExists { - lan = 0 - } response = append( response, - visible, + i.NewBoolMappedNumberFromBool(adv.visible), adv.mapName, adv.options, - passworded, + i.NewBoolMappedNumberFromBool(adv.password.enabled), adv.maxPlayers, adv.slotInfo, adv.matchType, adv.EncodePeers(), adv.observers.userIds.Len(), - 0, - 0, + 0, // observermax, can it be 0 so it means without limit? + i.NewBoolMappedNumberFromBool(adv.observers.enabled), adv.observers.delay, - 1, - lan, + // TODO: Ensure if the order of password and the next is correct + i.NewBoolMappedNumberFromBool(adv.observers.password != ""), + i.NewBoolMappedNumberFromBool(adv.lan), startTime, adv.relayRegion, ) - if battleServerExists { - battleServer.AppendName(&response) - } else { + if adv.lan { response = append(response, nil) + } else { + battleServer, _ := battleServers.Get(adv.relayRegion) + battleServer.AppendName(&response) } return response } diff --git a/server/internal/models/age1/game.go b/server/internal/models/age1/game.go index 7aa50f28..7cc213b7 100644 --- a/server/internal/models/age1/game.go +++ b/server/internal/models/age1/game.go @@ -1,11 +1,17 @@ package age1 import ( - mapset "github.com/deckarep/golang-set/v2" "github.com/luskaner/ageLANServer/common" "github.com/luskaner/ageLANServer/server/internal/models" ) func CreateGame() models.Game { - return models.CreateGame(common.GameAoE1, mapset.NewThreadUnsafeSet[string]("itemDefinitions.json"), false, "omit") + return models.CreateMainGame( + common.GameAoE1, + &models.CreateMainGameOpts{ + BattleServer: &models.BattleServerOpts{ + Name: "omit", + }, + }, + ) } diff --git a/server/internal/models/age2/game.go b/server/internal/models/age2/game.go index 4b2c645d..7dbb7e20 100644 --- a/server/internal/models/age2/game.go +++ b/server/internal/models/age2/game.go @@ -7,5 +7,12 @@ import ( ) func CreateGame() models.Game { - return models.CreateGame(common.GameAoE2, mapset.NewThreadUnsafeSet[string]("itemBundleItems.json", "itemDefinitions.json"), true, "true") + return models.CreateMainGame( + common.GameAoE2, + &models.CreateMainGameOpts{ + Resources: &models.ResourcesOpts{ + KeyedFilenames: mapset.NewThreadUnsafeSet[string]("itemBundleItems.json", "itemDefinitions.json"), + }, + }, + ) } diff --git a/server/internal/models/age3/game.go b/server/internal/models/age3/game.go index 148532be..6cee0d97 100644 --- a/server/internal/models/age3/game.go +++ b/server/internal/models/age3/game.go @@ -1,11 +1,18 @@ package age3 import ( - mapset "github.com/deckarep/golang-set/v2" "github.com/luskaner/ageLANServer/common" "github.com/luskaner/ageLANServer/server/internal/models" ) func CreateGame() models.Game { - return models.CreateGame(common.GameAoE3, mapset.NewThreadUnsafeSet[string]("itemDefinitions.json"), true, "null") + return models.CreateMainGame( + common.GameAoE3, + &models.CreateMainGameOpts{ + BattleServer: &models.BattleServerOpts{ + Name: "null", + OobPort: true, + }, + }, + ) } diff --git a/server/internal/models/age4/game.go b/server/internal/models/age4/game.go new file mode 100644 index 00000000..58e6526a --- /dev/null +++ b/server/internal/models/age4/game.go @@ -0,0 +1,32 @@ +package age4 + +import ( + mapset "github.com/deckarep/golang-set/v2" + "github.com/luskaner/ageLANServer/common" + "github.com/luskaner/ageLANServer/server/internal/models" + commonPlayfab "github.com/luskaner/ageLANServer/server/internal/models/playfab" +) + +func CreateGame() models.Game { + mainGame := models.CreateMainGame( + common.GameAoE4, + &models.CreateMainGameOpts{ + Resources: &models.ResourcesOpts{ + KeyedFilenames: mapset.NewThreadUnsafeSet[string]( + "itemBundleItems.json", + "itemDefinitions.json", + "levelRewardsTable.json", + ), + }, + BattleServer: &models.BattleServerOpts{ + OobPort: true, + Name: "null", + }, + }, + ) + g := &commonPlayfab.BaseGame{ + Game: mainGame, + } + g.PlayfabSessions().Initialize() + return g +} diff --git a/server/internal/models/athens/game.go b/server/internal/models/athens/game.go index 6890628b..b8b90907 100644 --- a/server/internal/models/athens/game.go +++ b/server/internal/models/athens/game.go @@ -13,33 +13,32 @@ import ( ) type Game struct { - models.Game + commonPlayfab.BaseGame AllowedBlessings map[int][]string GauntletPoolIndexByDifficulty map[string][]int Gauntlet playfab.Gauntlet GauntletMissionPools playfab.GauntletMissionPools CatalogItems map[string]commonPlayfab.CatalogItem // All users have the same fixed items - InventoryItems []commonPlayfab.InventoryItem - PlayfabSessions commonPlayfab.MainSessions + InventoryItems []commonPlayfab.InventoryItem } func CreateGame() models.Game { mainGame := models.CreateMainGame( common.GameAoM, - nil, - nil, - nil, - &user.Users{}, - nil, - nil, - nil, - mapset.NewThreadUnsafeSet[string]("itemBundleItems.json", "itemDefinitions.json"), - true, - "true", + &models.CreateMainGameOpts{ + Instances: &models.InstanceOpts{ + Users: &user.Users{}, + }, + Resources: &models.ResourcesOpts{ + KeyedFilenames: mapset.NewThreadUnsafeSet[string]("itemBundleItems.json", "itemDefinitions.json"), + }, + }, ) g := &Game{ - Game: mainGame, + BaseGame: commonPlayfab.BaseGame{ + Game: mainGame, + }, } blessings := playfab.ReadBlessings() g.CatalogItems, g.InventoryItems = playfab.Items(blessings) @@ -48,7 +47,7 @@ func CreateGame() models.Game { g.AllowedBlessings = precomputed.AllowedGauntletBlessings(g.Gauntlet, blessings) gauntletPoolNamesToIndex := precomputed.PoolNamesToIndex(g.GauntletMissionPools) g.GauntletPoolIndexByDifficulty = precomputed.PoolsIndexByDifficulty(g.Gauntlet, gauntletPoolNamesToIndex) - g.PlayfabSessions.Initialize() + g.PlayfabSessions().Initialize() communityEvent.Initialize() return g } diff --git a/server/internal/models/athens/user/user.go b/server/internal/models/athens/user/user.go index 32ed2785..143e753b 100644 --- a/server/internal/models/athens/user/user.go +++ b/server/internal/models/athens/user/user.go @@ -54,7 +54,7 @@ func (users *Users) Initialize() { users.MainUsers.Initialize() } -func (users *Users) Generate(_ string, persistentData *models.PersistentStringJsonMap, avatarStatsDefinitions models.AvatarStatDefinitions, identifier string, isXbox bool, platformUserId uint64, alias string) models.User { +func (users *Users) Generate(_ string, persistentData *models.PersistentStringJsonMap, itemDefinitions models.Items, avatarStatsDefinitions models.AvatarStatDefinitions, identifier string, isXbox bool, platformUserId uint64, alias string) models.User { d, err := models.NewPersistentJsonData[*Data]( persistentData, "playfab", @@ -63,7 +63,7 @@ func (users *Users) Generate(_ string, persistentData *models.PersistentStringJs if err != nil { return nil } - mainUser := users.MainUsers.Generate(common.GameAoM, persistentData, avatarStatsDefinitions, identifier, isXbox, platformUserId, alias) + mainUser := users.MainUsers.Generate(common.GameAoM, persistentData, itemDefinitions, avatarStatsDefinitions, identifier, isXbox, platformUserId, alias) return &User{ MainUser: mainUser.(*models.MainUser), PlayfabData: d, diff --git a/server/internal/models/avatarStats.go b/server/internal/models/avatarStats.go index 20f7de39..2d717700 100644 --- a/server/internal/models/avatarStats.go +++ b/server/internal/models/avatarStats.go @@ -142,6 +142,7 @@ func (a *AvatarStatsUpgradableDefaultData) Default() *AvatarStats { "STAT_POP_PEAK_200_MP": 0, "STAT_TOTAL_GAMES": 0, } + // TODO: What benefits Aoe4 here ? case common.GameAoE3: // FIXME: Is this even needed? values = map[string]int64{ diff --git a/server/internal/models/battleServer.go b/server/internal/models/battleServer.go index 47f6fb04..a9de70b9 100644 --- a/server/internal/models/battleServer.go +++ b/server/internal/models/battleServer.go @@ -153,7 +153,7 @@ func (battleServer *MainBattleServer) String() string { } type BattleServers interface { - Initialize(battleServers []BattleServer, haveOobPort bool, battleServerName string) + Initialize(battleServers []BattleServer, opts *BattleServerOpts) Iter() iter.Seq2[string, BattleServer] Encode(r *http.Request) internal.A Get(region string) (BattleServer, bool) @@ -161,23 +161,36 @@ type BattleServers interface { NewBattleServer(region string) BattleServer } +type BattleServerOpts struct { + OobPort bool + Name string +} + type MainBattleServers struct { store *internal.ReadOnlyOrderedMap[string, BattleServer] haveOobPort bool battleServerName string } -func (battleSrvs *MainBattleServers) Initialize(battleServers []BattleServer, haveOobPort bool, battleServerName string) { +func (battleSrvs *MainBattleServers) Initialize(battleServers []BattleServer, opts *BattleServerOpts) { + if opts == nil { + opts = &BattleServerOpts{ + OobPort: true, + } + } + if opts.Name == "" { + opts.Name = "true" + } keyOrder := make([]string, len(battleServers)) mapping := make(map[string]BattleServer, len(battleServers)) for i, bs := range battleServers { - battleServers[i].SetHasOobPort(haveOobPort) - battleServers[i].SetBattleServerName(battleServerName) + battleServers[i].SetHasOobPort(opts.OobPort) + battleServers[i].SetBattleServerName(opts.Name) keyOrder[i] = bs.Region() mapping[keyOrder[i]] = battleServers[i] } - battleSrvs.battleServerName = battleServerName - battleSrvs.haveOobPort = haveOobPort + battleSrvs.battleServerName = opts.Name + battleSrvs.haveOobPort = opts.OobPort battleSrvs.store = internal.NewReadOnlyOrderedMap[string, BattleServer](keyOrder, mapping) } diff --git a/server/internal/models/battleServerLoader.go b/server/internal/models/battleServerLoader.go index 620aa68f..3f3b4b21 100644 --- a/server/internal/models/battleServerLoader.go +++ b/server/internal/models/battleServerLoader.go @@ -26,8 +26,8 @@ func InitializeBattleServers(gameId string, configBattleServers []i.BattleServer BaseConfig: bs.BaseConfig, }) } - if gameId == common.GameAoM && len(battleServers) == 0 { - return fmt.Errorf("no battle server for AoM") + if (gameId == common.GameAoE4 || gameId == common.GameAoM) && len(battleServers) == 0 { + return fmt.Errorf("no battle server") } BattleServersStore[gameId] = battleServers return nil diff --git a/server/internal/models/chatChannel.go b/server/internal/models/chatChannel.go index 755cb32d..885ede18 100644 --- a/server/internal/models/chatChannel.go +++ b/server/internal/models/chatChannel.go @@ -64,7 +64,7 @@ func (channel *MainChatChannel) AddUser(user User, clientLibVersion uint16) (exi i := 0 encodedUsers = make(internal.A, length) for _, el := range users { - encodedUsers[i] = internal.A{0, el.GetProfileInfo(false, clientLibVersion)} + encodedUsers[i] = internal.A{0, el.EncodeProfileInfo(clientLibVersion)} i++ } }) diff --git a/server/internal/models/game.go b/server/internal/models/game.go index 8ea7c960..b951b6e4 100644 --- a/server/internal/models/game.go +++ b/server/internal/models/game.go @@ -5,7 +5,9 @@ import "net/http" type Game interface { Title() string Resources() Resources + Items() Items LeaderboardDefinitions() LeaderboardDefinitions + PresenceDefinitions() PresenceDefinitions BattleServers() BattleServers Users() Users Advertisements() Advertisements @@ -20,3 +22,142 @@ func G(r *http.Request) Game { func Gg[T Game](r *http.Request) T { return r.Context().Value("game").(T) } + +type MainGame struct { + battleServers BattleServers + resources Resources + users Users + advertisements Advertisements + chatChannels ChatChannels + sessions Sessions + leaderboardDefinitions LeaderboardDefinitions + items Items + presenceDefinitions PresenceDefinitions + title string +} + +type CreateMainGameOpts struct { + Resources *ResourcesOpts + BattleServer *BattleServerOpts + Instances *InstanceOpts +} + +type InstanceOpts struct { + Resources Resources + BattleServers BattleServers + Users Users + Advertisements Advertisements + ChatChannels ChatChannels + Sessions Sessions + LeaderboardDefinitions LeaderboardDefinitions + PresenceDefinitions PresenceDefinitions + Items Items +} + +func CreateMainGame(gameId string, opts *CreateMainGameOpts) Game { + if opts == nil { + opts = &CreateMainGameOpts{} + } + if opts.Resources == nil { + opts.Resources = &ResourcesOpts{} + } + if opts.Instances == nil { + opts.Instances = &InstanceOpts{} + } + if opts.Instances.BattleServers == nil { + opts.Instances.BattleServers = &MainBattleServers{} + } + if opts.Instances.Resources == nil { + opts.Instances.Resources = &MainResources{} + } + if opts.Instances.Users == nil { + opts.Instances.Users = &MainUsers{} + } + if opts.Instances.Advertisements == nil { + opts.Instances.Advertisements = &MainAdvertisements{} + } + if opts.Instances.ChatChannels == nil { + opts.Instances.ChatChannels = &MainChatChannels{} + } + if opts.Instances.Sessions == nil { + opts.Instances.Sessions = &MainSessions{} + } + game := &MainGame{ + battleServers: opts.Instances.BattleServers, + resources: opts.Instances.Resources, + users: opts.Instances.Users, + advertisements: opts.Instances.Advertisements, + chatChannels: opts.Instances.ChatChannels, + sessions: opts.Instances.Sessions, + title: gameId, + } + game.battleServers.Initialize(BattleServersStore[gameId], opts.BattleServer) + game.resources.Initialize(gameId, opts.Resources) + game.users.Initialize() + game.advertisements.Initialize(game.users, game.battleServers) + game.chatChannels.Initialize(game.resources.ChatChannels()) + game.sessions.Initialize() + if itemLocations, ok := game.resources.ArrayFiles()["itemLocations.json"]; ok { + if opts.Instances.Items == nil { + opts.Instances.Items = &MainItems{} + } + game.items = opts.Instances.Items + itemDefinitions, _ := game.resources.SignedAssets()["itemDefinitions.json"] + game.items.Initialize(itemDefinitions, itemLocations) + } + if leaderboards, ok := game.resources.ArrayFiles()["leaderboards.json"]; ok { + if opts.Instances.LeaderboardDefinitions == nil { + opts.Instances.LeaderboardDefinitions = &MainLeaderboardDefinitions{} + } + game.leaderboardDefinitions = opts.Instances.LeaderboardDefinitions + game.leaderboardDefinitions.Initialize(leaderboards) + } + if presenceDefinitions, ok := game.resources.ArrayFiles()["presenceData.json"]; ok { + if opts.Instances.PresenceDefinitions == nil { + opts.Instances.PresenceDefinitions = &MainPresenceDefinitions{} + } + game.presenceDefinitions = opts.Instances.PresenceDefinitions + game.presenceDefinitions.Initialize(presenceDefinitions) + } + return game +} + +func (g *MainGame) Resources() Resources { + return g.resources +} + +func (g *MainGame) Users() Users { + return g.users +} + +func (g *MainGame) Advertisements() Advertisements { + return g.advertisements +} + +func (g *MainGame) ChatChannels() ChatChannels { + return g.chatChannels +} + +func (g *MainGame) Title() string { + return g.title +} + +func (g *MainGame) BattleServers() BattleServers { + return g.battleServers +} + +func (g *MainGame) Sessions() Sessions { + return g.sessions +} + +func (g *MainGame) LeaderboardDefinitions() LeaderboardDefinitions { + return g.leaderboardDefinitions +} + +func (g *MainGame) Items() Items { + return g.items +} + +func (g *MainGame) PresenceDefinitions() PresenceDefinitions { + return g.presenceDefinitions +} diff --git a/server/internal/models/initializer/initializer.go b/server/internal/models/initializer/initializer.go index ceec5346..d11e914e 100644 --- a/server/internal/models/initializer/initializer.go +++ b/server/internal/models/initializer/initializer.go @@ -7,6 +7,7 @@ import ( "github.com/luskaner/ageLANServer/server/internal/models/age1" "github.com/luskaner/ageLANServer/server/internal/models/age2" "github.com/luskaner/ageLANServer/server/internal/models/age3" + "github.com/luskaner/ageLANServer/server/internal/models/age4" "github.com/luskaner/ageLANServer/server/internal/models/athens" ) @@ -24,6 +25,8 @@ func InitializeGame(gameId string, configBattleServers []i.BattleServer) error { game = age2.CreateGame() case common.GameAoE3: game = age3.CreateGame() + case common.GameAoE4: + game = age4.CreateGame() case common.GameAoM: game = athens.CreateGame() } diff --git a/server/internal/models/item.go b/server/internal/models/item.go new file mode 100644 index 00000000..a58d54c0 --- /dev/null +++ b/server/internal/models/item.go @@ -0,0 +1,621 @@ +package models + +import ( + "encoding/json" + "iter" + "maps" + "slices" + "time" + + mapset "github.com/deckarep/golang-set/v2" + i "github.com/luskaner/ageLANServer/server/internal" +) + +type ItemCategoryRaw struct { + Id int32 `json:"categoryID"` + Name string `json:"name"` + Group string `json:"categoryGroup"` + Metadata *ReadOnlyItemMetadata `json:"metadata"` + LocalizedName string `json:"localizedName,omitempty"` +} + +type ItemDefinitionRaw struct { + Id int32 `json:"id"` + Name string `json:"name"` + ImageData string `json:"imageData"` + MetaData *ReadOnlyItemMetadata `json:"metaData"` + Available int32 `json:"available"` + Version int32 `json:"version"` + Level int32 `json:"level"` + CategoryIDs []int32 `json:"categoryIDs"` + LocalizedName string `json:"localizedName,omitempty"` + LocalizedDescription string `json:"localizedDescription,omitempty"` +} + +type ItemsRaw struct { + Categories []ItemCategoryRaw `json:"itemCategories"` + Definitions []ItemDefinitionRaw `json:"itemDefinitions"` +} + +type ItemCategory interface { + GetId() int32 + GetName() string + GetGroup() string + GetMetadata() *ReadOnlyItemMetadata + GetLocalizedName() string +} + +type MainItemCategory struct { + id int32 + name string + group string + metadata *ReadOnlyItemMetadata + localizedName string +} + +func (c *MainItemCategory) GetId() int32 { + return c.id +} + +func (c *MainItemCategory) GetName() string { + return c.name +} + +func (c *MainItemCategory) GetGroup() string { + return c.group +} + +func (c *MainItemCategory) GetMetadata() *ReadOnlyItemMetadata { + return c.metadata +} + +func (c *MainItemCategory) GetLocalizedName() string { + return c.localizedName +} + +type Attribute struct { + Value string `json:"val"` + Source int `json:"source,omitempty,omitzero"` + Mtype int `json:"mtype,omitempty,omitzero"` +} + +type ReadOnlyItemMetadata struct { + attributes map[string]Attribute + other map[string]json.RawMessage +} + +func (r *ReadOnlyItemMetadata) GetAttribute(key string) (Attribute, bool) { + if r.attributes == nil { + return Attribute{}, false + } + attr, ok := r.attributes[key] + return attr, ok +} + +func (r *ReadOnlyItemMetadata) UnmarshalJSON(data []byte) error { + var all map[string]json.RawMessage + var allStr string + var allData []byte + if err := json.Unmarshal(data, &allStr); err != nil { + return err + } else if allStr == "" { + return nil + } else { + allData = []byte(allStr) + } + if err := json.Unmarshal(allData, &all); err != nil { + return nil + } + if attributes, ok := all["att"]; ok { + if err := json.Unmarshal(attributes, &r.attributes); err != nil { + return err + } + delete(all, "att") + } + if len(all) > 0 { + r.other = maps.Clone(all) + } + return nil +} + +type ItemMetadata struct { + attributes map[string]string + other map[string]any +} + +func (i *ItemMetadata) MarshalJSON() ([]byte, error) { + all := make(map[string]any) + if len(i.attributes) > 0 { + all["attributes"] = i.attributes + } + if len(i.other) > 0 { + all["other"] = maps.Clone(i.other) + } + return json.Marshal(all) +} + +func (i *ItemMetadata) UnmarshalJSON(data []byte) error { + var all map[string]json.RawMessage + if err := json.Unmarshal(data, &all); err != nil { + return err + } + if attributes, ok := all["attributes"]; ok { + if err := json.Unmarshal(attributes, &i.attributes); err != nil { + return err + } + } + if other, ok := all["other"]; ok { + if err := json.Unmarshal(other, &i.other); err != nil { + return err + } + } + return nil +} + +func (i *ItemMetadata) Encode() (result string) { + all := make(map[string]any) + if len(i.attributes) > 0 { + all["att"] = i.attributes + } + for k, v := range i.other { + all[k] = v + } + if res, err := json.Marshal(all); err == nil { + result = string(res) + } + return +} + +func (i *ItemMetadata) GetAttribute(key string) (string, bool) { + attr, ok := i.attributes[key] + return attr, ok +} + +func (i *ItemMetadata) UpdateAttribute(key string, value string) { + i.attributes[key] = value +} + +func (i *ItemMetadata) UpdateOther(key string, value any) { + i.other[key] = value +} + +type ItemDefinition interface { + GetId() int32 + GetName() string + GetMetadata() *ReadOnlyItemMetadata + GetAvailable() int32 + GetVersion() int32 + GetLevel() int32 + GetCategories() mapset.Set[ItemCategory] + GetLocalizedName() string + GetLocalizedDescription() string +} + +type MainItemDefinition struct { + id int32 + name string + metadata *ReadOnlyItemMetadata + available int32 + version int32 + level int32 + categoryIDs mapset.Set[ItemCategory] + localizedName string + localizedDescription string +} + +func (d *MainItemDefinition) GetId() int32 { + return d.id +} + +func (d *MainItemDefinition) GetName() string { + return d.name +} + +func (d *MainItemDefinition) GetMetadata() *ReadOnlyItemMetadata { + return d.metadata +} + +func (d *MainItemDefinition) GetAvailable() int32 { + return d.available +} + +func (d *MainItemDefinition) GetVersion() int32 { + return d.version +} + +func (d *MainItemDefinition) GetLevel() int32 { + return d.level +} + +func (d *MainItemDefinition) GetCategories() mapset.Set[ItemCategory] { + return d.categoryIDs +} + +func (d *MainItemDefinition) GetLocalizedName() string { + return d.localizedName +} + +func (d *MainItemDefinition) GetLocalizedDescription() string { + return d.localizedDescription +} + +type Item interface { + Encode(userId int32) i.A + GetId() int32 + SetLocationId(locationId int32) + GetMetadata() *ItemMetadata + IncrementVersion() + SetDurabilityCount(charges int32) +} + +type itemStorage struct { + Id int32 + Metadata ItemMetadata `json:",omitempty,omitempty"` + DefinitionId int32 + DurabilityId int32 `json:",omitempty,omitempty"` + DurabilityCount int32 `json:",omitempty,omitempty"` + CreationDate time.Time `json:",omitempty,omitempty"` + LocationId int32 `json:",omitempty,omitempty"` + TradeId int32 `json:",omitempty,omitempty"` + PermissionFlags uint32 `json:",omitempty,omitempty"` + MaxCharges int32 `json:",omitempty,omitempty"` +} + +type MainItem struct { + id int32 + metadata ItemMetadata + entityVersion int32 + definitionId int32 + durabilityId int32 + durabilityCount int32 + creationDate time.Time + locationId int32 + tradeId int32 + permissionFlags uint32 + maxCharges int32 +} + +func newMainItemFromStorage(storage *itemStorage) *MainItem { + return &MainItem{ + id: storage.Id, + metadata: storage.Metadata, + definitionId: storage.DefinitionId, + durabilityId: storage.DurabilityId, + durabilityCount: storage.DurabilityCount, + creationDate: storage.CreationDate, + locationId: storage.LocationId, + tradeId: storage.TradeId, + permissionFlags: storage.PermissionFlags, + maxCharges: storage.MaxCharges, + } +} + +func (item *MainItem) MarshalJSON() ([]byte, error) { + storage := &itemStorage{ + Id: item.id, + Metadata: item.metadata, + DefinitionId: item.definitionId, + DurabilityId: item.durabilityId, + DurabilityCount: item.durabilityCount, + CreationDate: item.creationDate, + LocationId: item.locationId, + TradeId: item.tradeId, + PermissionFlags: item.permissionFlags, + MaxCharges: item.maxCharges, + } + return json.Marshal(storage) +} + +func (item *MainItem) UnmarshalJSON(data []byte) error { + var storage itemStorage + if err := json.Unmarshal(data, &storage); err != nil { + return err + } + *item = *newMainItemFromStorage(&storage) + return nil +} + +func (item *MainItem) GetId() int32 { + return item.id +} + +func (item *MainItem) SetLocationId(locationId int32) { + item.locationId = locationId +} + +func (item *MainItem) Encode(userId int32) i.A { + return i.A{ + item.id, + item.entityVersion, + item.definitionId, + userId, + item.durabilityCount, + item.durabilityId, + item.metadata.Encode(), + item.creationDate.Unix(), + item.locationId, + item.tradeId, + item.permissionFlags, + item.maxCharges, + } +} + +func (item *MainItem) GetMetadata() *ItemMetadata { + return &item.metadata +} + +func (item *MainItem) SetDurabilityCount(durabilityCount int32) { + item.durabilityCount = durabilityCount +} + +func (item *MainItem) IncrementVersion() { + item.entityVersion++ +} + +type Items interface { + GetLocation(id int32) (ItemLocation, bool) + EncodeLocations() i.A + GetCategory(id int32) (ItemCategory, bool) + IterCategories() iter.Seq[ItemCategory] + GetDefinition(id int32) (ItemDefinition, bool) + IterDefinitions() iter.Seq[ItemDefinition] + Initialize(itemDefinitions []byte, itemLocations i.A) +} + +type ItemLocation interface { + GetUnknown1IdxAutoNumeric() int32 + GetId() int32 + GetCategory() ItemCategory + // GetMax is unverified + GetMax() int32 + GetUnknown1() bool + GetUnknown2() bool + GetUnknown3() bool + GetUnknown4() bool + Encode() i.A +} + +type MainItemLocation struct { + unknown1IdxAutoNumeric int32 + id int32 + category ItemCategory + max int32 + unknown1 *i.BoolMappedNumber[int32] + unknown2 *i.BoolMappedNumber[int32] + unknown3 *i.BoolMappedNumber[int32] + unknown4 *i.BoolMappedNumber[int32] +} + +func (loc *MainItemLocation) GetId() int32 { + return loc.id +} + +func (loc *MainItemLocation) GetCategory() ItemCategory { + return loc.category +} + +func (loc *MainItemLocation) GetMax() int32 { + return loc.max +} + +func (loc *MainItemLocation) GetUnknown1IdxAutoNumeric() int32 { + return loc.unknown1IdxAutoNumeric +} + +func (loc *MainItemLocation) GetUnknown1() bool { + return loc.unknown1.Bool() +} + +func (loc *MainItemLocation) GetUnknown2() bool { + return loc.unknown2.Bool() +} + +func (loc *MainItemLocation) GetUnknown3() bool { + return loc.unknown3.Bool() +} + +func (loc *MainItemLocation) GetUnknown4() bool { + return loc.unknown4.Bool() +} + +func (loc *MainItemLocation) Encode() i.A { + return i.A{ + loc.unknown1IdxAutoNumeric, + 0, + loc.id, + loc.category.GetId(), + loc.max, + loc.unknown1, + loc.unknown2, + loc.unknown3, + loc.unknown4, + } +} + +type MainItems struct { + categories map[int32]ItemCategory + definitions map[int32]ItemDefinition + locations map[int32]ItemLocation +} + +func (m *MainItems) IterDefinitions() iter.Seq[ItemDefinition] { + return maps.Values(m.definitions) +} + +func (m *MainItems) IterCategories() iter.Seq[ItemCategory] { + return maps.Values(m.categories) +} + +func (m *MainItems) EncodeLocations() i.A { + result := make(i.A, len(m.locations)) + for j, location := range m.locations { + result[j] = location.Encode() + } + return result +} + +func (m *MainItems) GetCategory(id int32) (ItemCategory, bool) { + val, ok := m.categories[id] + return val, ok +} + +func (m *MainItems) GetDefinition(id int32) (ItemDefinition, bool) { + val, ok := m.definitions[id] + return val, ok +} + +func (m *MainItems) GetLocation(id int32) (ItemLocation, bool) { + val, ok := m.locations[id] + return val, ok +} + +func (m *MainItems) Initialize(itemDefinitions []byte, itemLocations i.A) { + var definitions ItemsRaw + if err := json.Unmarshal(itemDefinitions, &definitions); err != nil { + return + } + m.categories = make(map[int32]ItemCategory) + for _, categoryRaw := range definitions.Categories { + metadata := categoryRaw.Metadata + if metadata != nil && len(metadata.attributes) == 0 && len(metadata.other) == 0 { + metadata = nil + } + category := &MainItemCategory{ + id: categoryRaw.Id, + name: categoryRaw.Name, + group: categoryRaw.Group, + metadata: metadata, + localizedName: categoryRaw.LocalizedName, + } + m.categories[category.id] = category + } + m.definitions = make(map[int32]ItemDefinition) + for _, definitionRaw := range definitions.Definitions { + categoryIDs := mapset.NewSet[ItemCategory]() + for _, categoryID := range definitionRaw.CategoryIDs { + if category, ok := m.categories[categoryID]; ok { + categoryIDs.Add(category) + } + } + metadata := definitionRaw.MetaData + if metadata != nil && len(metadata.attributes) == 0 && len(metadata.other) == 0 { + metadata = nil + } + definition := &MainItemDefinition{ + id: definitionRaw.Id, + name: definitionRaw.Name, + metadata: metadata, + available: definitionRaw.Available, + version: definitionRaw.Version, + level: definitionRaw.Level, + categoryIDs: categoryIDs, + localizedName: definitionRaw.LocalizedName, + localizedDescription: definitionRaw.LocalizedDescription, + } + m.definitions[definition.id] = definition + } + m.locations = make(map[int32]ItemLocation) + for _, locationRawAny := range itemLocations { + locationRawArr := locationRawAny.(i.A) + location := &MainItemLocation{ + unknown1IdxAutoNumeric: int32(locationRawArr[0].(float64)), + id: int32(locationRawArr[2].(float64)), + max: int32(locationRawArr[4].(float64)), + unknown1: i.NewBoolMappedNumber(int32(locationRawArr[5].(float64))), + unknown2: i.NewBoolMappedNumber(int32(locationRawArr[6].(float64))), + unknown3: i.NewBoolMappedNumber(int32(locationRawArr[7].(float64))), + unknown4: i.NewBoolMappedNumber(int32(locationRawArr[8].(float64))), + } + if category, ok := m.categories[int32(locationRawArr[3].(float64))]; ok { + location.category = category + } + m.locations[location.id] = location + } +} + +type ReadOnlyCategories struct { + fromId map[int]ItemCategory +} + +func (c *ReadOnlyCategories) GetById(id int) (ItemCategory, bool) { + itemCategory, ok := c.fromId[id] + return itemCategory, ok +} + +type ReadOnlyItemDefinitions struct { + fromId map[int]ItemDefinition + fromName map[string]ItemDefinition +} + +func (d *ReadOnlyItemDefinitions) GetById(id int) (ItemDefinition, bool) { + itemDefinition, ok := d.fromId[id] + return itemDefinition, ok +} + +func (d *ReadOnlyItemDefinitions) GetByName(name string) (ItemDefinition, bool) { + itemDefinition, ok := d.fromName[name] + return itemDefinition, ok +} + +type ItemsUpgradableDefaultData struct { + InitialUpgradableDefaultData[*map[int32]Item] + gameId string + definitions Items +} + +func NewItemsUpgradableDefaultData(gameId string, definitions Items) *ItemsUpgradableDefaultData { + return &ItemsUpgradableDefaultData{ + InitialUpgradableDefaultData: InitialUpgradableDefaultData[*map[int32]Item]{}, + gameId: gameId, + definitions: definitions, + } +} + +func (is *ItemsUpgradableDefaultData) Default() *map[int32]Item { + var items []Item + var itemPackCategory ItemCategory + for category := range is.definitions.IterCategories() { + if category.GetName() == "ItemPack" { + itemPackCategory = category + break + } + } + for itemDefinition := range is.definitions.IterDefinitions() { + if itemPackCategory != nil && itemDefinition.GetCategories().ContainsOne(itemPackCategory) { + continue + } + var itemId int32 + i.WithRng(func(rand *i.RandReader) { + for itemId = rand.Int32(); itemId < 100 || slices.ContainsFunc(items, func(item Item) bool { + return item.GetId() == itemId + }); { + } + }) + metadata := ItemMetadata{} + if md := itemDefinition.GetMetadata(); md != nil { + if attrs := md.attributes; len(attrs) > 0 { + metadata.attributes = make(map[string]string, len(attrs)) + for k, v := range attrs { + metadata.attributes[k] = v.Value + } + } + } + items = append(items, &MainItem{ + id: itemId, + metadata: metadata, + definitionId: itemDefinition.GetId(), + durabilityCount: 1, + creationDate: time.Now().UTC(), + // Either another item id or location id as defined in statically per game + tradeId: -1, + // Max value seen given it's a binary flag + permissionFlags: 63, + maxCharges: -1, + }) + } + itemsMap := make(map[int32]Item) + for _, item := range items { + itemsMap[item.GetId()] = item + } + return &itemsMap +} diff --git a/server/internal/models/itemLoadout.go b/server/internal/models/itemLoadout.go new file mode 100644 index 00000000..af4e8faf --- /dev/null +++ b/server/internal/models/itemLoadout.go @@ -0,0 +1,98 @@ +package models + +import ( + "iter" + "maps" + + mapset "github.com/deckarep/golang-set/v2" + i "github.com/luskaner/ageLANServer/server/internal" +) + +type ItemLoadout interface { + Encode(userId int32) i.A + Update(name string, typ int32, itemOrLocIds mapset.Set[int32]) +} + +type ItemLoadouts interface { + Get(id int32) ItemLoadout + NewItemLoadout(name string, typ int32, itemOrLocIds mapset.Set[int32], userId int32) i.A + Iter() iter.Seq[ItemLoadout] +} + +type MainItemLoadout struct { + Id int32 + Name string + ItemOrLocIds mapset.Set[int32] + Type int32 + // TODO: Implement fields + // AtributeKeys []any + // RecurseLevels []int32 +} + +func (l *MainItemLoadout) Encode(userId int32) i.A { + return i.A{ + l.Id, + userId, + l.Name, + l.Type, + // FIXME: Change to appropriate data + "[]", + } +} + +func (l *MainItemLoadout) Update(name string, typ int32, itemOrLocIds mapset.Set[int32]) { + l.Name = name + l.Type = typ + l.ItemOrLocIds = itemOrLocIds +} + +type MainItemLoadouts struct { + ItemLoadouts map[int32]ItemLoadout `json:"itemLoadouts"` +} + +func (l *MainItemLoadouts) Get(id int32) ItemLoadout { + itemLoadout, ok := l.ItemLoadouts[id] + if !ok { + return nil + } + return itemLoadout +} + +func (l *MainItemLoadouts) NewItemLoadout(name string, typ int32, itemOrLocIds mapset.Set[int32], userId int32) i.A { + var itemloadoutId int32 + i.WithRng(func(rand *i.RandReader) { + for itemloadoutId = rand.Int32(); ; { + if _, exists := l.ItemLoadouts[itemloadoutId]; !exists { + break + } + } + }) + itemLoadout := &MainItemLoadout{ + Id: itemloadoutId, + Name: name, + ItemOrLocIds: itemOrLocIds, + Type: typ, + } + l.ItemLoadouts[itemloadoutId] = itemLoadout + return itemLoadout.Encode(userId) +} + +func (l *MainItemLoadouts) Iter() iter.Seq[ItemLoadout] { + return maps.Values(l.ItemLoadouts) +} + +type ItemLoadoutsUpgradableDefaultData struct { + InitialUpgradableDefaultData[ItemLoadouts] +} + +func NewItemLoadoutsUpgradableDefaultData() *ItemLoadoutsUpgradableDefaultData { + return &ItemLoadoutsUpgradableDefaultData{ + InitialUpgradableDefaultData: InitialUpgradableDefaultData[ItemLoadouts]{}, + } +} + +func (i *ItemLoadoutsUpgradableDefaultData) Default() ItemLoadouts { + return &MainItemLoadouts{ + ItemLoadouts: make(map[int32]ItemLoadout), + } +} diff --git a/server/internal/models/mainGame.go b/server/internal/models/mainGame.go deleted file mode 100644 index 4021dbc3..00000000 --- a/server/internal/models/mainGame.go +++ /dev/null @@ -1,99 +0,0 @@ -package models - -import ( - mapset "github.com/deckarep/golang-set/v2" -) - -type MainGame struct { - battleServers BattleServers - resources Resources - users Users - advertisements Advertisements - chatChannels ChatChannels - sessions Sessions - leaderboardDefinitions LeaderboardDefinitions - title string -} - -func CreateMainGame(gameId string, battleServers BattleServers, resources Resources, leaderboardDefinitions LeaderboardDefinitions, users Users, - advertisements Advertisements, chatChannels ChatChannels, sessions Sessions, rssKeyedFilenames mapset.Set[string], - battleServerHaveOobPort bool, battleServerName string) Game { - if battleServers == nil { - battleServers = &MainBattleServers{} - } - if resources == nil { - resources = &MainResources{} - } - if users == nil { - users = &MainUsers{} - } - if advertisements == nil { - advertisements = &MainAdvertisements{} - } - if chatChannels == nil { - chatChannels = &MainChatChannels{} - } - if sessions == nil { - sessions = &MainSessions{} - } - game := &MainGame{ - battleServers: battleServers, - resources: resources, - users: users, - advertisements: advertisements, - chatChannels: chatChannels, - sessions: sessions, - title: gameId, - } - game.battleServers.Initialize(BattleServersStore[gameId], battleServerHaveOobPort, battleServerName) - game.resources.Initialize(gameId, rssKeyedFilenames) - game.users.Initialize() - game.advertisements.Initialize(game.users, game.battleServers) - game.chatChannels.Initialize(game.resources.ChatChannels()) - game.sessions.Initialize() - if leaderboards, ok := game.resources.ArrayFiles()["leaderboards.json"]; ok { - if leaderboardDefinitions == nil { - leaderboardDefinitions = &MainLeaderboardDefinitions{} - } - game.leaderboardDefinitions = leaderboardDefinitions - game.leaderboardDefinitions.Initialize(leaderboards) - } - return game -} - -func CreateGame(gameId string, rssKeyedFilenames mapset.Set[string], battleServerHaveOobPort bool, battleServerName string) Game { - return CreateMainGame(gameId, nil, nil, nil, nil, nil, nil, - nil, rssKeyedFilenames, battleServerHaveOobPort, battleServerName) -} - -func (g *MainGame) Resources() Resources { - return g.resources -} - -func (g *MainGame) Users() Users { - return g.users -} - -func (g *MainGame) Advertisements() Advertisements { - return g.advertisements -} - -func (g *MainGame) ChatChannels() ChatChannels { - return g.chatChannels -} - -func (g *MainGame) Title() string { - return g.title -} - -func (g *MainGame) BattleServers() BattleServers { - return g.battleServers -} - -func (g *MainGame) Sessions() Sessions { - return g.sessions -} - -func (g *MainGame) LeaderboardDefinitions() LeaderboardDefinitions { - return g.leaderboardDefinitions -} diff --git a/server/internal/models/peer.go b/server/internal/models/peer.go index 749c4614..60153c2e 100644 --- a/server/internal/models/peer.go +++ b/server/internal/models/peer.go @@ -13,6 +13,7 @@ type MainPeerMutable struct { type Peer interface { GetUserId() int32 + GetParty() int32 Encode() i.A Invite(user User) bool Uninvite(user User) bool @@ -22,6 +23,7 @@ type Peer interface { type MainPeer struct { advertisementId int32 + party int32 advertisementIp string userId int32 userStatId int32 @@ -29,9 +31,10 @@ type MainPeer struct { invites *i.SafeSet[User] } -func NewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, race int32, team int32) Peer { +func NewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, party int32, race int32, team int32) Peer { peer := &MainPeer{ advertisementId: advertisementId, + party: party, advertisementIp: advertisementIp, userId: userId, userStatId: userStatId, @@ -46,6 +49,10 @@ func (peer *MainPeer) GetUserId() int32 { return peer.userId } +func (peer *MainPeer) GetParty() int32 { + return peer.party +} + func (peer *MainPeer) GetMutable() *MainPeerMutable { return peer.mutable.Load().(*MainPeerMutable) } diff --git a/server/internal/models/playfab/game.go b/server/internal/models/playfab/game.go new file mode 100644 index 00000000..78426454 --- /dev/null +++ b/server/internal/models/playfab/game.go @@ -0,0 +1,17 @@ +package playfab + +import "github.com/luskaner/ageLANServer/server/internal/models" + +type Game interface { + models.Game + PlayfabSessions() *MainSessions +} + +type BaseGame struct { + models.Game + playfabSessions MainSessions +} + +func (g *BaseGame) PlayfabSessions() *MainSessions { + return &g.playfabSessions +} diff --git a/server/internal/models/playfab/session.go b/server/internal/models/playfab/session.go index 97528f30..ae683bfa 100644 --- a/server/internal/models/playfab/session.go +++ b/server/internal/models/playfab/session.go @@ -16,17 +16,17 @@ const sessionDuration = 24 * time.Hour type SessionKey = string type SessionData struct { - playfabId string - entityToken string - user models.User + playfabId string + token string + user models.User } func (s *SessionData) PlayfabId() string { return s.playfabId } -func (s *SessionData) EntityToken() string { - return s.entityToken +func (s *SessionData) Token() string { + return s.token } func (s *SessionData) User() models.User { @@ -41,17 +41,29 @@ func (s *MainSessions) Initialize() { s.baseSessions = models.NewBaseSessions[SessionKey, SessionData](sessionDuration) } -func (s *MainSessions) Create(users models.Users, steamUserId uint64) SessionKey { +func (s *MainSessions) create(user models.User) SessionKey { + sess := &SessionData{ + token: uuid.NewString(), + user: user, + } + stored := s.baseSessions.CreateSession(generateId, sess) + sess.playfabId = stored.Id() + return sess.playfabId +} + +func (s *MainSessions) CreateWithSteamUserId(users models.Users, steamUserId uint64) SessionKey { if user, found := users.GetUserByPlatformUserId(false, steamUserId); !found { return "" } else { - sess := &SessionData{ - entityToken: uuid.NewString(), - user: user, - } - stored := s.baseSessions.CreateSession(generateId, sess) - sess.playfabId = stored.Id() - return sess.playfabId + return s.create(user) + } +} + +func (s *MainSessions) CreateWithUserId(users models.Users, userId int32) SessionKey { + if user, found := users.GetUserById(userId); !found { + return "" + } else { + return s.create(user) } } diff --git a/server/internal/models/presence.go b/server/internal/models/presence.go new file mode 100644 index 00000000..56de5492 --- /dev/null +++ b/server/internal/models/presence.go @@ -0,0 +1,58 @@ +package models + +import ( + i "github.com/luskaner/ageLANServer/server/internal" +) + +type PresenceDefinitions interface { + Initialize(presence i.A) + Get(id int32) *PresenceDefinition +} + +type PresenceDefinition interface { + GetId() int32 + GetLabel() *string +} + +type MainPresenceDefinitions struct { + data map[int32]PresenceDefinition +} + +func (pd *MainPresenceDefinitions) Initialize(presence i.A) { + rawData := presence[1].(i.A) + pd.data = make(map[int32]PresenceDefinition, len(rawData)) + for _, rawPresence := range rawData { + rawPresenceArr := rawPresence.(i.A) + id := int32(rawPresenceArr[0].(float64)) + var label *string + if rawPresenceArr[2] != nil { + tmpLabel := rawPresenceArr[2].(string) + label = &tmpLabel + } + pd.data[id] = &MainPresenceDefinition{ + id: id, + label: label, + } + } +} + +func (pd *MainPresenceDefinitions) Get(id int32) *PresenceDefinition { + presenceDefinition, ok := pd.data[id] + if !ok { + return nil + } + return &presenceDefinition +} + +type MainPresenceDefinition struct { + id int32 + label *string +} + +func (pd *MainPresenceDefinition) GetId() int32 { + return pd.id +} + +func (pd *MainPresenceDefinition) GetLabel() *string { + return pd.label +} diff --git a/server/internal/models/profileMetadata.go b/server/internal/models/profileMetadata.go index a720d22b..c321f31b 100644 --- a/server/internal/models/profileMetadata.go +++ b/server/internal/models/profileMetadata.go @@ -18,8 +18,11 @@ func NewAvatarMetadataUpgradableDefaultData(gameId string) *AvatarMetadataUpgrad func (p *AvatarMetadataUpgradableDefaultData) Default() *string { var metadata string - if p.gameId == common.GameAoE3 || p.gameId == common.GameAoM { + switch p.gameId { + case common.GameAoE3, common.GameAoM: metadata = `{"v":1,"twr":0,"wlr":0,"ai":1,"ac":0}` + case common.GameAoE4: + metadata = `{"sharedHistory":1,"hardwareType":0,"inputDeviceType":0}` } return &metadata } diff --git a/server/internal/models/profileProperty.go b/server/internal/models/profileProperty.go new file mode 100644 index 00000000..e6e93fc9 --- /dev/null +++ b/server/internal/models/profileProperty.go @@ -0,0 +1,15 @@ +package models + +type ProfilePropertiesUpgradableDefaultData struct { + InitialUpgradableDefaultData[*map[string]string] +} + +func NewProfilePropertiesUpgradableDefaultData() *ProfilePropertiesUpgradableDefaultData { + return &ProfilePropertiesUpgradableDefaultData{ + InitialUpgradableDefaultData: InitialUpgradableDefaultData[*map[string]string]{}, + } +} + +func (p *ProfilePropertiesUpgradableDefaultData) Default() *map[string]string { + return &map[string]string{} +} diff --git a/server/internal/models/resources.go b/server/internal/models/resources.go index d6aa0fce..389ecc48 100644 --- a/server/internal/models/resources.go +++ b/server/internal/models/resources.go @@ -18,12 +18,21 @@ var ResponsesFolder = filepath.Join(paths.ResourcesDir, "responses") var userDataFolder = filepath.Join(paths.ResourcesDir, "userData") var CloudFolder = filepath.Join(ResponsesFolder, "cloud") +type ResourcesOpts struct { + KeyedFilenames mapset.Set[string] +} + +type signature struct { + Value string `json:"dataSignature"` +} + type Resources interface { - Initialize(gameId string, keyedFilenames mapset.Set[string]) + Initialize(gameId string, opts *ResourcesOpts) ReturnSignedAsset(name string, w *http.ResponseWriter, req *http.Request, keyedResponse bool) LoginData() []i.A ChatChannels() map[string]*MainChatChannel ArrayFiles() map[string]i.A + SignedAssets() map[string][]byte CloudFiles() CloudFiles } @@ -37,11 +46,17 @@ type MainResources struct { cloudFiles CloudFiles } -func (r *MainResources) Initialize(gameId string, keyedFilenames mapset.Set[string]) { +func (r *MainResources) Initialize(gameId string, opts *ResourcesOpts) { + if opts == nil { + opts = &ResourcesOpts{} + } + if opts.KeyedFilenames == nil { + opts.KeyedFilenames = mapset.NewSet[string]("itemDefinitions.json") + } r.arrayFiles = make(map[string]i.A) r.keyedFiles = make(map[string][]byte) r.nameToSignature = make(map[string]string) - r.keyedFilenames = keyedFilenames + r.keyedFilenames = opts.KeyedFilenames r.initializeUserData(gameId) r.initializeLogin(gameId) r.initializeChatChannels(gameId) @@ -61,6 +76,10 @@ func (r *MainResources) ArrayFiles() map[string]i.A { return r.arrayFiles } +func (r *MainResources) SignedAssets() map[string][]byte { + return r.keyedFiles +} + func (r *MainResources) CloudFiles() CloudFiles { return r.cloudFiles } @@ -81,10 +100,12 @@ func (r *MainResources) initializeLogin(gameId string) { if err != nil { panic(err) } - re := regexp.MustCompile(`"([^"]*)"`) + re := regexp.MustCompile(`"([^"]+)"\s*:\s*"([^"]*)"`) matches := re.FindAllStringSubmatch(string(data), -1) - for j := 0; j < len(matches)-1; j += 2 { - r.loginData = append(r.loginData, i.A{matches[j][1], matches[j+1][1]}) + for _, m := range matches { + if len(m) == 3 { + r.loginData = append(r.loginData, i.A{m[1], m[2]}) + } } } @@ -100,12 +121,11 @@ func (r *MainResources) initializeResponses(gameId string) { continue } if r.keyedFilenames.ContainsOne(name) { - re := regexp.MustCompile(`"dataSignature"\s*:\s*"(.*?)"`) - matches := re.FindStringSubmatch(string(data)) - if len(matches) == 1 { - serverSignature := matches[1] + var sig signature + err = json.Unmarshal(data, &sig) + if err == nil && sig.Value != "" { r.keyedFiles[name] = data - r.nameToSignature[name] = serverSignature + r.nameToSignature[name] = sig.Value } } else { var result i.A diff --git a/server/internal/models/user.go b/server/internal/models/user.go index 41e15333..66cbc3d3 100644 --- a/server/internal/models/user.go +++ b/server/internal/models/user.go @@ -10,6 +10,7 @@ import ( "sync/atomic" "time" + "github.com/luskaner/ageLANServer/common" i "github.com/luskaner/ageLANServer/server/internal" ) @@ -23,17 +24,22 @@ type User interface { GetPlatformPath() string GetPlatformId() int GetPlatformUserID() uint64 - GetExtraProfileInfo(clientLibVersion uint16) i.A - GetProfileInfo(includePresence bool, clientLibVersion uint16) i.A + EncodeExtraProfileInfo(clientLibVersion uint16) i.A + EncodeProfileInfo(clientLibVersion uint16) i.A GetPresence() int32 SetPresence(presence int32) + SetPresenceProperty(id int32, value string) GetAvatarMetadata() *PersistentJsonData[*string] + GetProfileProperties() *PersistentJsonData[*map[string]string] GetProfileExperience() uint32 GetProfileLevel() uint16 GetPlatformRelated() uint8 GetAvatarStats() *PersistentJsonData[*AvatarStats] GetPersistentData() *PersistentStringJsonMap + GetItems() *PersistentJsonData[*map[int32]Item] + GetItemLoadouts() *PersistentJsonData[ItemLoadouts] EncodeAvatarStats() i.A + EncodePresence(definitions PresenceDefinitions) i.A } type MainUser struct { @@ -47,9 +53,13 @@ type MainUser struct { isXbox bool persistentData *PersistentStringJsonMap // Dynamic from here - avatarMetadata *PersistentJsonData[*string] - presence atomic.Int32 - avatarStats *PersistentJsonData[*AvatarStats] + profileProperties *PersistentJsonData[*map[string]string] + avatarMetadata *PersistentJsonData[*string] + presence atomic.Int32 + presenceProperties *i.SafeMap[int32, string] + avatarStats *PersistentJsonData[*AvatarStats] + items *PersistentJsonData[*map[int32]Item] + itemLoadouts *PersistentJsonData[ItemLoadouts] } func (u *MainUser) EncodeAvatarStats() i.A { @@ -63,11 +73,11 @@ func (u *MainUser) EncodeAvatarStats() i.A { type Users interface { Initialize() - GetOrCreateUser(gameId string, avatarStatsDefinitions AvatarStatDefinitions, remoteAddr string, remoteMacAddress string, isXbox bool, platformUserId uint64, alias string) User + GetOrCreateUser(gameId string, itemDefinitions Items, avatarStatsDefinitions AvatarStatDefinitions, remoteAddr string, remoteMacAddress string, isXbox bool, platformUserId uint64, alias string) User GetUserByStatId(id int32) (User, bool) GetUserById(id int32) (User, bool) GetUserIds() func(func(int32) bool) - GetProfileInfo(includePresence bool, matches func(user User) bool, clientLibVersion uint16) []i.A + EncodeProfileInfo(definitions PresenceDefinitions, matches func(user User) bool, clientLibVersion uint16) []i.A GetUserByPlatformUserId(xbox bool, id uint64) (User, bool) } @@ -76,6 +86,7 @@ type MainUsers struct { GenerateFn func( gameId string, persistentData *PersistentStringJsonMap, + itemDefinitions Items, avatarStatsDefinitions AvatarStatDefinitions, identifier string, isXbox bool, @@ -91,7 +102,7 @@ func (users *MainUsers) Initialize() { } } -func (users *MainUsers) Generate(gameId string, persistentData *PersistentStringJsonMap, avatarStatsDefinitions AvatarStatDefinitions, identifier string, isXbox bool, platformUserId uint64, alias string) User { +func (users *MainUsers) Generate(gameId string, persistentData *PersistentStringJsonMap, itemDefinitions Items, avatarStatsDefinitions AvatarStatDefinitions, identifier string, isXbox bool, platformUserId uint64, alias string) User { hasher := fnv.New64a() _, _ = hasher.Write([]byte(identifier)) hsh := hasher.Sum(nil) @@ -105,22 +116,54 @@ func (users *MainUsers) Generate(gameId string, persistentData *PersistentString NewAvatarStatsUpgradableDefaultData(gameId, avatarStatsDefinitions), ) } + var profileProperties *PersistentJsonData[*map[string]string] + if gameId == common.GameAoE3 || gameId == common.GameAoE4 || gameId == common.GameAoM { + profileProperties, _ = NewPersistentJsonData[*map[string]string]( + persistentData, + "profileProperties", + NewProfilePropertiesUpgradableDefaultData(), + ) + } + var items *PersistentJsonData[*map[int32]Item] + if itemDefinitions != nil { + items, _ = NewPersistentJsonData[*map[int32]Item]( + persistentData, + "items", + NewItemsUpgradableDefaultData(gameId, itemDefinitions), + ) + } + var itemLoadouts *PersistentJsonData[ItemLoadouts] + if gameId != common.GameAoE1 { + itemLoadouts, _ = NewPersistentJsonData[ItemLoadouts]( + persistentData, + "itemLoadouts", + NewItemLoadoutsUpgradableDefaultData(), + ) + } avatarMetadata, _ := NewPersistentJsonData[*string]( persistentData, "avatarMetadata", NewAvatarMetadataUpgradableDefaultData(gameId), ) + var presenceProperties *i.SafeMap[int32, string] + if gameId != common.GameAoE1 { + presenceProperties = i.NewSafeMap[int32, string]() + } return &MainUser{ - id: rng.Int32(), - statId: rng.Int32(), - profileId: rng.Int32(), - avatarMetadata: avatarMetadata, - reliclink: rng.Int32(), - alias: alias, - platformUserId: platformUserId, - isXbox: isXbox, - avatarStats: avatarStats, - persistentData: persistentData, + id: rng.Int32(), + statId: rng.Int32(), + profileId: rng.Int32(), + avatarMetadata: avatarMetadata, + items: items, + itemLoadouts: itemLoadouts, + profileProperties: profileProperties, + reliclink: rng.Int32(), + alias: alias, + platformUserId: platformUserId, + isXbox: isXbox, + avatarStats: avatarStats, + persistentData: persistentData, + presenceProperties: presenceProperties, } } @@ -145,7 +188,7 @@ func generatePlatformUserIdXbox(rng *rand.Rand) uint64 { return uint64(rng.Int64N(9e15) + 1e15) } -func (users *MainUsers) GetOrCreateUser(gameId string, avatarStatsDefinitions AvatarStatDefinitions, remoteAddr string, remoteMacAddress string, isXbox bool, platformUserId uint64, alias string) User { +func (users *MainUsers) GetOrCreateUser(gameId string, itemDefinitions Items, avatarStatsDefinitions AvatarStatDefinitions, remoteAddr string, remoteMacAddress string, isXbox bool, platformUserId uint64, alias string) User { if i.GeneratePlatformUserId { entropy := make([]byte, 16) macAddress, err := net.ParseMAC(remoteMacAddress) @@ -184,6 +227,7 @@ func (users *MainUsers) GetOrCreateUser(gameId string, avatarStatsDefinitions Av return users.GenerateFn( gameId, persistentData, + itemDefinitions, avatarStatsDefinitions, identifier, isXbox, @@ -226,14 +270,18 @@ func (users *MainUsers) GetUserIds() func(func(int32) bool) { } } -func (users *MainUsers) GetProfileInfo(includePresence bool, matches func(user User) bool, clientLibVersion uint16) []i.A { - var presenceData = make([]i.A, 0) +func (users *MainUsers) EncodeProfileInfo(presenceDefinitions PresenceDefinitions, matches func(user User) bool, clientLibVersion uint16) []i.A { + var profileInfo = make([]i.A, 0) for u := range users.store.Values() { if matches(u) { - presenceData = append(presenceData, u.GetProfileInfo(includePresence, clientLibVersion)) + currentProfileInfo := u.EncodeProfileInfo(clientLibVersion) + if presenceDefinitions != nil { + currentProfileInfo = append(currentProfileInfo, u.EncodePresence(presenceDefinitions)...) + } + profileInfo = append(profileInfo, currentProfileInfo) } } - return presenceData + return profileInfo } func (u *MainUser) GetPersistentData() *PersistentStringJsonMap { @@ -260,6 +308,10 @@ func (u *MainUser) GetProfileId() int32 { return u.profileId } +func (u *MainUser) GetProfileProperties() *PersistentJsonData[*map[string]string] { + return u.profileProperties +} + func (u *MainUser) GetReliclink() int32 { return u.reliclink } @@ -299,7 +351,7 @@ func (u *MainUser) GetPlatformUserID() uint64 { return u.platformUserId } -func (u *MainUser) GetExtraProfileInfo(clientLibVersion uint16) i.A { +func (u *MainUser) EncodeExtraProfileInfo(clientLibVersion uint16) i.A { info := i.A{ u.statId, 0, @@ -326,7 +378,7 @@ func (u *MainUser) GetExtraProfileInfo(clientLibVersion uint16) i.A { return info } -func (u *MainUser) GetProfileInfo(includePresence bool, clientLibVersion uint16) i.A { +func (u *MainUser) EncodeProfileInfo(clientLibVersion uint16) i.A { profileInfo := i.A{ time.Date(2024, 5, 2, 3, 34, 0, 0, time.UTC).Unix(), u.GetId(), @@ -349,12 +401,30 @@ func (u *MainUser) GetProfileInfo(includePresence bool, clientLibVersion uint16) u.GetPlatformId(), i.A{}, ) - if includePresence { - profileInfo = append(profileInfo, u.GetPresence(), nil, i.A{}) - } return profileInfo } +func (u *MainUser) EncodePresence(definitions PresenceDefinitions) i.A { + if definitions == nil { + return i.A{} + } + presenceId := u.GetPresence() + presenceDefinition := definitions.Get(presenceId) + if presenceDefinition == nil { + return i.A{} + } + var presenceProperties i.A + for id, value := range u.presenceProperties.Iter() { + presenceProperties = append(presenceProperties, i.A{id, value}) + } + + return i.A{ + presenceId, + (*presenceDefinition).GetLabel(), + presenceProperties, + } +} + func (u *MainUser) GetPresence() int32 { return u.presence.Load() } @@ -363,6 +433,16 @@ func (u *MainUser) SetPresence(presence int32) { u.presence.Store(presence) } +func (u *MainUser) SetPresenceProperty(id int32, value string) { + if value == "" { + u.presenceProperties.Delete(id) + } else { + u.presenceProperties.Store(id, value, func(_ string) bool { + return true + }) + } +} + func (u *MainUser) GetAvatarMetadata() *PersistentJsonData[*string] { return u.avatarMetadata } @@ -382,3 +462,11 @@ func (u *MainUser) GetProfileLevel() uint16 { func (u *MainUser) GetProfileExperience() uint32 { return 0 } + +func (u *MainUser) GetItems() *PersistentJsonData[*map[int32]Item] { + return u.items +} + +func (u *MainUser) GetItemLoadouts() *PersistentJsonData[ItemLoadouts] { + return u.itemLoadouts +} diff --git a/server/internal/routes/game/account/addProfileProperty.go b/server/internal/routes/game/account/addProfileProperty.go new file mode 100644 index 00000000..21797b55 --- /dev/null +++ b/server/internal/routes/game/account/addProfileProperty.go @@ -0,0 +1,33 @@ +package account + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +type addProfilePropertyRequest struct { + profilePropertiesRequest + PropertyValue string `schema:"property_value"` +} + +func AddProfileProperty(w http.ResponseWriter, r *http.Request) { + response := i.A{0} + var req addProfilePropertyRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, response) + return + } + sess := models.SessionOrPanic(r) + u, _ := models.G(r).Users().GetUserById(sess.GetUserId()) + profileProperties := u.GetProfileProperties() + if profileProperties != nil { + _ = profileProperties.WithReadWrite(func(data *map[string]string) error { + (*data)[req.PropertyId] = req.PropertyValue + return nil + }) + } + i.JSON(&w, response) +} diff --git a/server/internal/routes/game/account/clearProfileProperty.go b/server/internal/routes/game/account/clearProfileProperty.go new file mode 100644 index 00000000..c923dd99 --- /dev/null +++ b/server/internal/routes/game/account/clearProfileProperty.go @@ -0,0 +1,28 @@ +package account + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +func ClearProfileProperty(w http.ResponseWriter, r *http.Request) { + response := i.A{0} + var req profilePropertiesRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, response) + return + } + sess := models.SessionOrPanic(r) + u, _ := models.G(r).Users().GetUserById(sess.GetUserId()) + profileProperties := u.GetProfileProperties() + if profileProperties != nil { + _ = profileProperties.WithReadWrite(func(data *map[string]string) error { + delete(*data, req.PropertyId) + return nil + }) + } + i.JSON(&w, response) +} diff --git a/server/internal/routes/game/account/findProfiles.go b/server/internal/routes/game/account/findProfiles.go index cb5d1d7d..e1962587 100644 --- a/server/internal/routes/game/account/findProfiles.go +++ b/server/internal/routes/game/account/findProfiles.go @@ -16,7 +16,7 @@ func FindProfiles(w http.ResponseWriter, r *http.Request) { } game := models.G(r) sess := models.SessionOrPanic(r) - profileInfo := game.Users().GetProfileInfo(true, func(currentUser models.User) bool { + profileInfo := game.Users().EncodeProfileInfo(game.PresenceDefinitions(), func(currentUser models.User) bool { return strings.Contains(strings.ToLower(currentUser.GetAlias()), name) }, sess.GetClientLibVersion()) i.JSON(&w, i.A{0, profileInfo}) diff --git a/server/internal/routes/game/account/findProfilesByPlatformID.go b/server/internal/routes/game/account/findProfilesByPlatformID.go index efb21f05..a88dc246 100644 --- a/server/internal/routes/game/account/findProfilesByPlatformID.go +++ b/server/internal/routes/game/account/findProfilesByPlatformID.go @@ -24,7 +24,7 @@ func FindProfilesByPlatformID(w http.ResponseWriter, r *http.Request) { } game := models.G(r) sess := models.SessionOrPanic(r) - profileInfo := game.Users().GetProfileInfo(true, func(currentUser models.User) bool { + profileInfo := game.Users().EncodeProfileInfo(game.PresenceDefinitions(), func(currentUser models.User) bool { _, ok := platformIdsMap[currentUser.GetPlatformUserID()] return ok }, sess.GetClientLibVersion()) diff --git a/server/internal/routes/game/account/getProfileName.go b/server/internal/routes/game/account/getProfileName.go index 43dea8f6..8e8b7763 100644 --- a/server/internal/routes/game/account/getProfileName.go +++ b/server/internal/routes/game/account/getProfileName.go @@ -24,7 +24,7 @@ func GetProfileName(w http.ResponseWriter, r *http.Request) { } game := models.G(r) sess := models.SessionOrPanic(r) - profileInfo := game.Users().GetProfileInfo(false, func(currentUser models.User) bool { + profileInfo := game.Users().EncodeProfileInfo(nil, func(currentUser models.User) bool { _, ok := profileIdsMap[currentUser.GetId()] return ok }, sess.GetClientLibVersion()) diff --git a/server/internal/routes/game/account/getProfileProperty.go b/server/internal/routes/game/account/getProfileProperty.go index 4ff34dba..8b2faced 100644 --- a/server/internal/routes/game/account/getProfileProperty.go +++ b/server/internal/routes/game/account/getProfileProperty.go @@ -4,8 +4,40 @@ import ( "net/http" i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" ) -func GetProfileProperty(w http.ResponseWriter, _ *http.Request) { - i.JSON(&w, i.A{0, i.A{}}) +type profilePropertiesRequest struct { + PropertyId string `schema:"property_id"` +} + +type getProfilePropertyRequest struct { + profilePropertiesRequest + ProfileID int32 `schema:"profile_id"` +} + +func GetProfileProperty(w http.ResponseWriter, r *http.Request) { + response := i.A{0, i.A{}} + var req getProfilePropertyRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, response) + return + } + game := models.G(r) + if u, found := game.Users().GetUserById(req.ProfileID); !found { + i.JSON(&w, response) + return + } else { + profileProperties := u.GetProfileProperties() + if profileProperties != nil { + _ = profileProperties.WithReadOnly(func(data *map[string]string) error { + if propValue, foundProp := (*data)[req.PropertyId]; foundProp { + response[1] = append(response[1].(i.A), propValue) + } + return nil + }) + } + } + i.JSON(&w, response) } diff --git a/server/internal/routes/game/account/setAvatarMetadata.go b/server/internal/routes/game/account/setAvatarMetadata.go index 66643a57..177e91ab 100644 --- a/server/internal/routes/game/account/setAvatarMetadata.go +++ b/server/internal/routes/game/account/setAvatarMetadata.go @@ -24,5 +24,5 @@ func SetAvatarMetadata(w http.ResponseWriter, r *http.Request) { *data = req.Metadata return nil }) - i.JSON(&w, i.A{0, u.GetProfileInfo(false, sess.GetClientLibVersion())}) + i.JSON(&w, i.A{0, u.EncodeProfileInfo(sess.GetClientLibVersion())}) } diff --git a/server/internal/routes/game/advertisement/findAdvertisements.go b/server/internal/routes/game/advertisement/findAdvertisements.go index 56415c85..4cb04acc 100644 --- a/server/internal/routes/game/advertisement/findAdvertisements.go +++ b/server/internal/routes/game/advertisement/findAdvertisements.go @@ -46,7 +46,7 @@ func findAdvertisements(w http.ResponseWriter, r *http.Request, length int, offs battleServers = game.BattleServers() } var tagsCheck func(models.Advertisement) bool - if battleServers != nil && (title == common.GameAoE2 || title == common.GameAoM) { + if battleServers != nil && (title == common.GameAoE2 || title == common.GameAoM || title == common.GameAoE4) { ok, numericTags, stringTags := parseTags(r) if ok { tagsCheck = func(adv models.Advertisement) bool { diff --git a/server/internal/routes/game/advertisement/host.go b/server/internal/routes/game/advertisement/host.go index 269ac6e1..242acfb5 100644 --- a/server/internal/routes/game/advertisement/host.go +++ b/server/internal/routes/game/advertisement/host.go @@ -41,7 +41,7 @@ func encodeHostResponse(gameTitle string, errorCode int, advId int32, battleServ switch gameTitle { case common.GameAoE1: response = append(response, metadata) - case common.GameAoE2, common.GameAoM: + case common.GameAoE2, common.GameAoE4, common.GameAoM: response = append( response, 0, @@ -72,8 +72,9 @@ func Host(w http.ResponseWriter, r *http.Request) { var adv shared.AdvertisementHostRequest if err := i.Bind(r, &adv); err == nil { - // Disallow Matchmaking as it is not implemented - if adv.Description == "SESSION_MATCH_KEY" { + // In AoE4 we cannot differentiate between Matchmaking and custom matches so just allow it + if gameTitle != common.GameAoE4 && adv.Description == "SESSION_MATCH_KEY" { + // Disallow Matchmaking as it is not implemented returnError(battleServers, gameTitle, r, &w) return } @@ -81,7 +82,7 @@ func Host(w http.ResponseWriter, r *http.Request) { returnError(battleServers, gameTitle, r, &w) return } - if gameTitle != common.GameAoE2 { + if gameTitle == common.GameAoE1 || gameTitle == common.GameAoE3 || gameTitle == common.GameAoM { adv.Joinable = true } u, ok := game.Users().GetUserById(adv.HostId) @@ -91,20 +92,30 @@ func Host(w http.ResponseWriter, r *http.Request) { } advertisements := game.Advertisements() // Leave the previous match if the user is already in one - // Necessary for AoE3 but might as well do it for all - if existingAdv := advertisements.GetUserAdvertisement(u.GetId()); existingAdv != nil { - advertisements.WithWriteLock(existingAdv.GetId(), func() { - advertisements.UnsafeRemovePeer(existingAdv.GetId(), u.GetId()) - }) + // Necessary for AoE3 but might as well do it for all (except AoE4 which needs multiple for groups) + if gameTitle != common.GameAoE4 { + // FIXME: Exit in aoe4 if the currrent match is not a party + if existingAdv := advertisements.GetUserAdvertisement(u.GetId()); existingAdv != nil { + advertisements.WithWriteLock(existingAdv.GetId(), func() { + advertisements.UnsafeRemovePeer(existingAdv.GetId(), u.GetId()) + }) + } + } + if adv.Party != -1 { + if partyAdv, ok := advertisements.GetAdvertisement(adv.Party); !ok { + returnError(battleServers, gameTitle, r, &w) + } else if partyAdv.GetParty() != -1 { + returnError(battleServers, gameTitle, r, &w) + } } storedAdv := advertisements.Store( &adv, !battleServer.LAN(), - gameTitle == common.GameAoM, + gameTitle, ) var response i.A advertisements.WithWriteLock(storedAdv.GetId(), func() { - if advertisements.UnsafeNewPeer(storedAdv.GetId(), storedAdv.GetIp(), u.GetId(), u.GetStatId(), adv.Race, adv.Team) == nil { + if advertisements.UnsafeNewPeer(storedAdv.GetId(), storedAdv.GetIp(), u.GetId(), u.GetStatId(), adv.Party, adv.Race, adv.Team) == nil { ok = false return } @@ -116,7 +127,7 @@ func Host(w http.ResponseWriter, r *http.Request) { r, storedAdv.GetRelayRegion(), storedAdv.EncodePeers(), - storedAdv.GetMetadata(), + storedAdv.GetXboxSessionId(), storedAdv.UnsafeGetDescription(), ) }) diff --git a/server/internal/routes/game/advertisement/join.go b/server/internal/routes/game/advertisement/join.go index c4d91d66..f84180f4 100644 --- a/server/internal/routes/game/advertisement/join.go +++ b/server/internal/routes/game/advertisement/join.go @@ -3,6 +3,7 @@ package advertisement import ( "net/http" + "github.com/luskaner/ageLANServer/common" i "github.com/luskaner/ageLANServer/server/internal" "github.com/luskaner/ageLANServer/server/internal/models" "github.com/luskaner/ageLANServer/server/internal/routes/game/advertisement/shared" @@ -47,17 +48,24 @@ func Join(w http.ResponseWriter, r *http.Request) { } advertisements := game.Advertisements() // Leave the previous match if the user is already in one - // Necessary for AoE1 but might as well do it for all - if existingAdv := advertisements.GetUserAdvertisement(u.GetId()); existingAdv != nil { - advertisements.WithWriteLock(existingAdv.GetId(), func() { - advertisements.UnsafeRemovePeer(existingAdv.GetId(), u.GetId()) - }) + // Necessary for AoE1 but might as well do it for all (except AoE4 which needs multiple for groups) + if game.Title() != common.GameAoE4 { + // FIXME: Exit in aoe4 if the currrent match is not a party + if existingAdv := advertisements.GetUserAdvertisement(u.GetId()); existingAdv != nil { + advertisements.WithWriteLock(existingAdv.GetId(), func() { + advertisements.UnsafeRemovePeer(existingAdv.GetId(), u.GetId()) + }) + } } matchingAdv, foundAdv := advertisements.GetAdvertisement(q.Id) if !foundAdv { joinReturnError(battleServers, r, w) return } + if q.Party != -1 && q.Party != matchingAdv.GetParty() { + joinReturnError(battleServers, r, w) + return + } advertisements.WithReadLock(matchingAdv.GetId(), func() { if !matchingAdv.UnsafeGetJoinable() || matchingAdv.UnsafeGetAppBinaryChecksum() != q.AppBinaryChecksum || @@ -79,6 +87,7 @@ func Join(w http.ResponseWriter, r *http.Request) { matchingAdv.GetIp(), u.GetId(), u.GetStatId(), + q.Party, q.Race, q.Team, ) diff --git a/server/internal/routes/game/advertisement/shared/advertisementRequest.go b/server/internal/routes/game/advertisement/shared/advertisementRequest.go index ebbf0848..6dc082dc 100644 --- a/server/internal/routes/game/advertisement/shared/advertisementRequest.go +++ b/server/internal/routes/game/advertisement/shared/advertisementRequest.go @@ -69,4 +69,5 @@ type AdvertisementHostRequest struct { SlotInfo string `schema:"slotinfo"` PsnSessionId uint64 `schema:"psnSessionID"` State int8 `schema:"state"` + ServiceType uint8 `schema:"serviceType"` } diff --git a/server/internal/routes/game/advertisement/update.go b/server/internal/routes/game/advertisement/update.go index cde324d1..024f1f37 100644 --- a/server/internal/routes/game/advertisement/update.go +++ b/server/internal/routes/game/advertisement/update.go @@ -37,15 +37,15 @@ func Update(w http.ResponseWriter, r *http.Request) { return } - if gameTitle != common.GameAoE2 && gameTitle != common.GameAoM { + if gameTitle == common.GameAoE1 || gameTitle == common.GameAoE3 { q.Joinable = true } adv.UnsafeUpdate(&q) - if gameTitle != common.GameAoE2 && gameTitle != common.GameAoM { + if gameTitle == common.GameAoE1 || gameTitle == common.GameAoE3 { adv.UnsafeUpdatePlatformSessionId(q.PsnSessionId) } - if gameTitle == common.GameAoE2 || gameTitle == common.GameAoM { + if gameTitle == common.GameAoE1 || gameTitle == common.GameAoE3 || gameTitle == common.GameAoE4 { response = adv.UnsafeEncode(gameTitle, battleServers) } ok = true diff --git a/server/internal/routes/game/advertisement/updatePlatformLobbyID.go b/server/internal/routes/game/advertisement/updatePlatformLobbyID.go index 659ec6e3..b7aa6bcf 100644 --- a/server/internal/routes/game/advertisement/updatePlatformLobbyID.go +++ b/server/internal/routes/game/advertisement/updatePlatformLobbyID.go @@ -5,6 +5,7 @@ import ( "net/http" "strconv" + "github.com/luskaner/ageLANServer/common" i "github.com/luskaner/ageLANServer/server/internal" "github.com/luskaner/ageLANServer/server/internal/models" "github.com/luskaner/ageLANServer/server/internal/routes/wss" @@ -48,7 +49,7 @@ func updatePlatformID(w *http.ResponseWriter, r *http.Request, idKey string) { } adv.UnsafeUpdatePlatformSessionId(idValueUint) - metadata = adv.GetMetadata() + metadata = adv.GetXboxSessionId() _, peersId = peers.Keys() ok = true }) @@ -58,6 +59,9 @@ func updatePlatformID(w *http.ResponseWriter, r *http.Request, idKey string) { } sessions := game.Sessions() message := i.A{req.MatchID, metadata, idValueUint} + if gameTitle := game.Title(); gameTitle == common.GameAoE2 || gameTitle == common.GameAoE4 || gameTitle == common.GameAoM { + message = append(message, 0, "", "") + } for peerId := range peersId { if currentSess, ok := sessions.GetByUserId(peerId); ok { wss.SendOrStoreMessage( diff --git a/server/internal/routes/game/advertisement/updateTags.go b/server/internal/routes/game/advertisement/updateTags.go index 6e42bc60..93a8f364 100644 --- a/server/internal/routes/game/advertisement/updateTags.go +++ b/server/internal/routes/game/advertisement/updateTags.go @@ -59,7 +59,7 @@ func UpdateTags(w http.ResponseWriter, r *http.Request) { } sess := models.SessionOrPanic(r) advertisements.WithWriteLock(matchingAdv.GetId(), func() { - if matchingAdv.GetHostId() != sess.GetUserId() { + if matchingAdv.UnsafeGetHostId() != sess.GetUserId() { updateTagsReturnError(&w) ok = false return diff --git a/server/internal/routes/game/chat/joinChannel.go b/server/internal/routes/game/chat/joinChannel.go index eb93541d..eb6d72f0 100644 --- a/server/internal/routes/game/chat/joinChannel.go +++ b/server/internal/routes/game/chat/joinChannel.go @@ -41,7 +41,7 @@ func JoinChannel(w http.ResponseWriter, r *http.Request) { chatChannelIdStr := strconv.Itoa(int(req.ChatroomID)) i.JSON(&w, i.A{0, chatChannelIdStr, 0, encodedUsers}) sessions := game.Sessions() - staticResponse := i.A{chatChannelIdStr, i.A{0, user.GetProfileInfo(false, sess.GetClientLibVersion())}} + staticResponse := i.A{chatChannelIdStr, i.A{0, user.EncodeProfileInfo(sess.GetClientLibVersion())}} for userId := range users.GetUserIds() { var existingUserSession models.Session existingUserSession, ok = sessions.GetByUserId(userId) diff --git a/server/internal/routes/game/chat/leaveChannel.go b/server/internal/routes/game/chat/leaveChannel.go index 031ba15e..16a9efe2 100644 --- a/server/internal/routes/game/chat/leaveChannel.go +++ b/server/internal/routes/game/chat/leaveChannel.go @@ -10,7 +10,7 @@ import ( ) func NotifyLeaveChannel(sessions models.Sessions, users models.Users, user models.User, chatChannelId int32, clientLibVersion uint16) { - staticResponse := i.A{strconv.Itoa(int(chatChannelId)), user.GetProfileInfo(false, clientLibVersion)} + staticResponse := i.A{strconv.Itoa(int(chatChannelId)), user.EncodeProfileInfo(clientLibVersion)} for userId := range users.GetUserIds() { if userId == user.GetId() { continue diff --git a/server/internal/routes/game/chat/sendWhisper.go b/server/internal/routes/game/chat/sendWhisper.go index 1434d241..81fabdc4 100644 --- a/server/internal/routes/game/chat/sendWhisper.go +++ b/server/internal/routes/game/chat/sendWhisper.go @@ -19,7 +19,8 @@ type recipientID struct { func whisperResult(w *http.ResponseWriter, gameId string, code int) { response := i.A{code} - if gameId == common.GameAoM { + if gameId == common.GameAoE4 || gameId == common.GameAoM { + // FIXME: Is it the 0 repeated for each recipient? response = append(response, i.A{0}) } i.JSON(w, response) @@ -36,7 +37,7 @@ func SendWhisper(w http.ResponseWriter, r *http.Request) { } var targetUserIds recipientIDs - if gameTitle == common.GameAoM { + if gameTitle == common.GameAoE4 || gameTitle == common.GameAoM { if err := i.Bind(r, &targetUserIds); err != nil { whisperResult(&w, gameTitle, 2) return @@ -68,7 +69,7 @@ func SendWhisper(w http.ResponseWriter, r *http.Request) { } message := i.A{""} - if gameTitle == common.GameAoM { + if gameTitle == common.GameAoE4 || gameTitle == common.GameAoM { message = append( message, i.A{ @@ -86,7 +87,7 @@ func SendWhisper(w http.ResponseWriter, r *http.Request) { continue } finalMessage := i.A{ - currentUser.GetProfileInfo(false, receiverSession.GetClientLibVersion()), + currentUser.EncodeProfileInfo(receiverSession.GetClientLibVersion()), } finalMessage = append(finalMessage, message...) wss.SendOrStoreMessage( diff --git a/server/internal/routes/game/cloud/getFileURL.go b/server/internal/routes/game/cloud/getFileURL.go index ffcab071..9f37c9e7 100644 --- a/server/internal/routes/game/cloud/getFileURL.go +++ b/server/internal/routes/game/cloud/getFileURL.go @@ -3,6 +3,7 @@ package cloud import ( "fmt" "net/http" + "slices" "github.com/luskaner/ageLANServer/common" i "github.com/luskaner/ageLANServer/server/internal" @@ -21,13 +22,20 @@ func GetFileURL(w http.ResponseWriter, r *http.Request) { return } game := models.G(r) + cloudFiles := game.Resources().CloudFiles() + if cloudFiles.Value == nil { + i.JSON(&w, i.A{2, slices.Repeat(i.A{nil}, len(req.Names.Data))}) + return + } descriptions := make(i.A, len(req.Names.Data)) gameTitle := game.Title() + var errorCode int for j, name := range req.Names.Data { - fileData, ok := game.Resources().CloudFiles().Value[name] + fileData, ok := cloudFiles.Value[name] if !ok { - i.JSON(&w, i.A{2, i.A{nil}}) - return + descriptions[j] = i.A{nil} + errorCode = 2 + continue } finalPart := fileData.Key description := i.A{ @@ -44,5 +52,5 @@ func GetFileURL(w http.ResponseWriter, r *http.Request) { } descriptions[j] = description } - i.JSON(&w, i.A{0, descriptions}) + i.JSON(&w, i.A{errorCode, descriptions}) } diff --git a/server/internal/routes/game/cloud/getTempCredentials.go b/server/internal/routes/game/cloud/getTempCredentials.go index 8f1fc772..e1fc2430 100644 --- a/server/internal/routes/game/cloud/getTempCredentials.go +++ b/server/internal/routes/game/cloud/getTempCredentials.go @@ -12,6 +12,7 @@ import ( ) func GetTempCredentials(w http.ResponseWriter, r *http.Request) { + // TODO: What about age4 that can download replays? fullKey := r.URL.Query().Get("key") key := strings.TrimPrefix(fullKey, "/cloudfiles/") game := models.G(r) diff --git a/server/internal/routes/game/communityEvent/getAvailableCommunityEvents.go b/server/internal/routes/game/communityEvent/getAvailableCommunityEvents.go index 4c29f4be..8133623d 100644 --- a/server/internal/routes/game/communityEvent/getAvailableCommunityEvents.go +++ b/server/internal/routes/game/communityEvent/getAvailableCommunityEvents.go @@ -12,11 +12,12 @@ import ( func GetAvailableCommunityEvents(w http.ResponseWriter, r *http.Request) { var response i.A game := models.G(r) - if game.Title() == common.GameAoM { + title := game.Title() + if title == common.GameAoM { response = game.(*athens.Game).CommunityEventsEncoded() } else { response = i.A{0, i.A{}, i.A{}} - if game.Title() == common.GameAoE2 { + if title == common.GameAoE2 || title == common.GameAoE4 { response = append( response, i.A{}, i.A{}, i.A{}, i.A{}, diff --git a/server/internal/routes/game/invitation/cancelInvitation.go b/server/internal/routes/game/invitation/cancelInvitation.go index f1e66ea6..323f2b30 100644 --- a/server/internal/routes/game/invitation/cancelInvitation.go +++ b/server/internal/routes/game/invitation/cancelInvitation.go @@ -29,11 +29,7 @@ func CancelInvitation(w http.ResponseWriter, r *http.Request) { peers := adv.GetPeers() var peer models.Peer sess := models.SessionOrPanic(r) - u, ok := game.Users().GetUserById(sess.GetUserId()) - if !ok { - i.JSON(&w, i.A{2}) - return - } + u, _ := game.Users().GetUserById(sess.GetUserId()) peer, ok = peers.Load(u.GetId()) if !ok { i.JSON(&w, i.A{2}) @@ -56,7 +52,7 @@ func CancelInvitation(w http.ResponseWriter, r *http.Request) { inviteeSession, "CancelInvitationMessage", i.A{ - u.GetProfileInfo(false, inviteeSession.GetClientLibVersion()), + u.EncodeProfileInfo(inviteeSession.GetClientLibVersion()), q.AdvertisementId, }, ) diff --git a/server/internal/routes/game/invitation/extendInvitation.go b/server/internal/routes/game/invitation/extendInvitation.go index 6102eb03..4fabcc9c 100644 --- a/server/internal/routes/game/invitation/extendInvitation.go +++ b/server/internal/routes/game/invitation/extendInvitation.go @@ -36,11 +36,7 @@ func ExtendInvitation(w http.ResponseWriter, r *http.Request) { peers := adv.GetPeers() var peer models.Peer sess := models.SessionOrPanic(r) - u, ok := game.Users().GetUserById(sess.GetUserId()) - if !ok { - i.JSON(&w, i.A{2}) - return - } + u, _ := game.Users().GetUserById(sess.GetUserId()) peer, ok = peers.Load(u.GetId()) if !ok { i.JSON(&w, i.A{2}) @@ -63,7 +59,7 @@ func ExtendInvitation(w http.ResponseWriter, r *http.Request) { inviteeSession, "ExtendInvitationMessage", i.A{ - u.GetProfileInfo(false, inviteeSession.GetClientLibVersion()), + u.EncodeProfileInfo(inviteeSession.GetClientLibVersion()), q.AdvertisementId, q.AdvertisementPassword, }, diff --git a/server/internal/routes/game/invitation/replyToInvitation.go b/server/internal/routes/game/invitation/replyToInvitation.go index f540118f..c4d04bb0 100644 --- a/server/internal/routes/game/invitation/replyToInvitation.go +++ b/server/internal/routes/game/invitation/replyToInvitation.go @@ -36,11 +36,7 @@ func ReplyToInvitation(w http.ResponseWriter, r *http.Request) { peers := adv.GetPeers() var peer models.Peer sess := models.SessionOrPanic(r) - u, ok := game.Users().GetUserById(sess.GetUserId()) - if !ok { - i.JSON(&w, i.A{2}) - return - } + u, _ := game.Users().GetUserById(sess.GetUserId()) peer, ok = peers.Load(inviter.GetId()) if !ok { i.JSON(&w, i.A{2}) @@ -63,7 +59,7 @@ func ReplyToInvitation(w http.ResponseWriter, r *http.Request) { inviterSession, "ReplyInvitationMessage", i.A{ - u.GetProfileInfo(false, inviterSession.GetClientLibVersion()), + u.EncodeProfileInfo(inviterSession.GetClientLibVersion()), q.AdvertisementId, acceptStr, }, diff --git a/server/internal/routes/game/item/createItemLoadout.go b/server/internal/routes/game/item/createItemLoadout.go new file mode 100644 index 00000000..63b14d8f --- /dev/null +++ b/server/internal/routes/game/item/createItemLoadout.go @@ -0,0 +1,60 @@ +package item + +import ( + "net/http" + + mapset "github.com/deckarep/golang-set/v2" + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +type createItemLoadoutRequest struct { + ItemOrLocIds []int32 `schema:"itemOrLocIDs"` + Name string `schema:"name"` + Type int32 `schema:"type"` + // TODO: Implement fields + // AttributeKeys []any `schema:"attributeKeys"` + // RecurseLevels []int32 `schema:"recurseLevels"` +} + +func CreateItemLoadout(w http.ResponseWriter, r *http.Request) { + var req createItemLoadoutRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, i.A{2, i.A{}}) + return + } + game := models.G(r) + sess := models.SessionOrPanic(r) + userId := sess.GetUserId() + u, ok := game.Users().GetUserById(userId) + if !ok { + i.JSON(&w, i.A{2, i.A{}}) + return + } + items := game.Items() + itemIds := mapset.NewThreadUnsafeSet[int32]() + for _, id := range req.ItemOrLocIds { + if _, ok = items.GetLocation(id); !ok { + itemIds.Add(id) + } + } + if itemIds.Cardinality() > 0 { + _ = u.GetItems().WithReadOnly(func(data *map[int32]models.Item) error { + ok = itemIds.IsSubset(mapset.NewThreadUnsafeSetFromMapKeys(*data)) + return nil + }) + } else { + ok = true + } + if !ok { + i.JSON(&w, i.A{2, i.A{}}) + return + } + var itemLoadoutEncoded i.A + _ = u.GetItemLoadouts().WithReadWrite(func(data models.ItemLoadouts) error { + itemLoadoutEncoded = data.NewItemLoadout(req.Name, req.Type, mapset.NewThreadUnsafeSet(req.ItemOrLocIds...), userId) + return nil + }) + i.JSON(&w, i.A{0, itemLoadoutEncoded}) +} diff --git a/server/internal/routes/game/item/detachItems.go b/server/internal/routes/game/item/detachItems.go index 0a1d2f53..f5fc155e 100644 --- a/server/internal/routes/game/item/detachItems.go +++ b/server/internal/routes/game/item/detachItems.go @@ -4,8 +4,57 @@ import ( "net/http" i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" ) -func DetachItems(w http.ResponseWriter, _ *http.Request) { - i.JSON(&w, i.A{2, i.A{0}, i.A{}}) +type detachItemsRequest struct { + itemRequest + LocationIds i.Json[[]int32] `schema:"itemLocations"` + DurabilityCounts i.Json[[]int32] `schema:"itemCharges"` +} + +func DetachItems(w http.ResponseWriter, r *http.Request) { + var req detachItemsRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + minLength := min(len(req.ItemIds.Data), len(req.LocationIds.Data), len(req.DurabilityCounts.Data)) + maxLength := max(len(req.ItemIds.Data), len(req.LocationIds.Data), len(req.DurabilityCounts.Data)) + if minLength == 0 || maxLength == 0 || minLength != maxLength { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + game := models.G(r) + sess := models.SessionOrPanic(r) + u, ok := game.Users().GetUserById(sess.GetUserId()) + if !ok { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + errorCodes := make([]int, minLength) + itemsEncoded := make([]i.A, minLength) + _ = u.GetItems().WithReadWrite(func(data *map[int32]models.Item) error { + for j, itemId := range req.ItemIds.Data { + itemLocationId := req.LocationIds.Data[j] + durabilityCount := req.DurabilityCounts.Data[j] + if item, exists := (*data)[itemId]; !exists { + errorCodes[j] = 2 + itemsEncoded[j] = i.A{} + } else { + errorCodes[j] = 0 + if itemLocationId != -1 { + item.SetLocationId(itemLocationId) + } + if durabilityCount != -1 { + item.SetDurabilityCount(durabilityCount) + } + item.IncrementVersion() + itemsEncoded[j] = item.Encode(sess.GetUserId()) + } + } + return nil + }) + i.JSON(&w, i.A{0, errorCodes, itemsEncoded}) } diff --git a/server/internal/routes/game/item/equipItemLoadout.go b/server/internal/routes/game/item/equipItemLoadout.go new file mode 100644 index 00000000..570882e4 --- /dev/null +++ b/server/internal/routes/game/item/equipItemLoadout.go @@ -0,0 +1,43 @@ +package item + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +type itemIdLoadoutRequest struct { + Id int32 `schema:"id"` +} + +func EquipItemLoadout(w http.ResponseWriter, r *http.Request) { + // FIXME: What's the change after equip? + var req itemIdLoadoutRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + game := models.G(r) + sess := models.SessionOrPanic(r) + userId := sess.GetUserId() + u, ok := game.Users().GetUserById(userId) + if !ok { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + var itemLoadoutEncoded i.A + _ = u.GetItemLoadouts().WithReadOnly(func(data models.ItemLoadouts) error { + itemLoadout := data.Get(req.Id) + if itemLoadout != nil { + itemLoadoutEncoded = itemLoadout.Encode(userId) + } + return nil + }) + if itemLoadoutEncoded == nil { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + } else { + i.JSON(&w, i.A{0, itemLoadoutEncoded, i.A{}}) + } +} diff --git a/server/internal/routes/game/item/getInventoryByProfileIDs.go b/server/internal/routes/game/item/getInventoryByProfileIDs.go index 8aed0218..4b3752d4 100644 --- a/server/internal/routes/game/item/getInventoryByProfileIDs.go +++ b/server/internal/routes/game/item/getInventoryByProfileIDs.go @@ -5,6 +5,7 @@ import ( "strconv" i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" ) type getInventoryByProfileIDsRequest struct { @@ -20,21 +21,34 @@ func GetInventoryByProfileIDs(w http.ResponseWriter, r *http.Request) { } initialData := make(i.A, len(req.ProfileIDs.Data)) finalData := make(i.A, len(req.ProfileIDs.Data)) - finalDataArr := i.A{ - // What this mean? - i.A{1, 0, 0, 0, 10000, 0, 0, 0, 1}, - i.A{2, 0, 1, 0, 10000, 0, 1, 1, 0}, - } + game := models.G(r) + locations := game.Items().EncodeLocations() + users := game.Users() + sess := models.SessionOrPanic(r) + userId := sess.GetUserId() for j, profileId := range req.ProfileIDs.Data { + var itemsEncoded i.A + // Only return items for the user's own profile to avoid crash (AoE4) when looking another's player profile + // Make it for all games as a precaution + if userId == profileId { + if u, ok := users.GetUserById(profileId); ok { + _ = u.GetItems().WithReadOnly(func(data *map[int32]models.Item) error { + for _, item := range *data { + // FIXME: Not all items should be shared with all users + itemsEncoded = append(itemsEncoded, item.Encode(profileId)) + } + return nil + }) + } + } profileIdStr := strconv.Itoa(int(profileId)) initialData[j] = i.A{ profileIdStr, - // And this? - i.A{}, + itemsEncoded, } finalData[j] = i.A{ profileIdStr, - finalDataArr, + locations, } } i.JSON(&w, i.A{0, initialData, finalData}) diff --git a/server/internal/routes/game/item/getItemLoadouts.go b/server/internal/routes/game/item/getItemLoadouts.go index 8e1431a1..0bfe7a45 100644 --- a/server/internal/routes/game/item/getItemLoadouts.go +++ b/server/internal/routes/game/item/getItemLoadouts.go @@ -4,9 +4,22 @@ import ( "net/http" i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" ) -func GetItemLoadouts(w http.ResponseWriter, _ *http.Request) { - // What is this? maybe mods? - i.JSON(&w, i.A{0, i.A{}}) +func GetItemLoadouts(w http.ResponseWriter, r *http.Request) { + var itemsEncoded i.A + sess := models.SessionOrPanic(r) + game := models.G(r) + userId := sess.GetUserId() + u, _ := game.Users().GetUserById(userId) + if itemLoadouts := u.GetItemLoadouts(); itemLoadouts != nil { + _ = itemLoadouts.WithReadOnly(func(data models.ItemLoadouts) error { + for loadout := range data.Iter() { + itemsEncoded = append(itemsEncoded, loadout.Encode(userId)) + } + return nil + }) + } + i.JSON(&w, i.A{0, itemsEncoded}) } diff --git a/server/internal/routes/game/item/getItemPrices.go b/server/internal/routes/game/item/getItemPrices.go new file mode 100644 index 00000000..9f64ab93 --- /dev/null +++ b/server/internal/routes/game/item/getItemPrices.go @@ -0,0 +1,11 @@ +package item + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" +) + +func GetItemPrices(w http.ResponseWriter, _ *http.Request) { + i.JSON(&w, i.A{0, i.A{}, 0, i.A{}}) +} diff --git a/server/internal/routes/game/item/getLevelRewardsTableJson.go b/server/internal/routes/game/item/getLevelRewardsTableJson.go new file mode 100644 index 00000000..18ea9cce --- /dev/null +++ b/server/internal/routes/game/item/getLevelRewardsTableJson.go @@ -0,0 +1,11 @@ +package item + +import ( + "net/http" + + "github.com/luskaner/ageLANServer/server/internal/models" +) + +func GetLevelRewardsTableJson(w http.ResponseWriter, r *http.Request) { + models.G(r).Resources().ReturnSignedAsset("levelRewardsTable.json", &w, r, true) +} diff --git a/server/internal/routes/game/item/getPersonalizedSaleItems.go b/server/internal/routes/game/item/getPersonalizedSaleItems.go new file mode 100644 index 00000000..d08547ec --- /dev/null +++ b/server/internal/routes/game/item/getPersonalizedSaleItems.go @@ -0,0 +1,11 @@ +package item + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" +) + +func GetPersonalizedSaleItems(w http.ResponseWriter, _ *http.Request) { + i.JSON(&w, i.A{0, i.A{}, i.A{}}) +} diff --git a/server/internal/routes/game/item/getScheduledSaleAndItems.go b/server/internal/routes/game/item/getScheduledSaleAndItems.go new file mode 100644 index 00000000..251638ba --- /dev/null +++ b/server/internal/routes/game/item/getScheduledSaleAndItems.go @@ -0,0 +1,11 @@ +package item + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" +) + +func GetScheduledSaleAndItems(w http.ResponseWriter, _ *http.Request) { + i.JSON(&w, i.A{0, i.A{}, i.A{}, 0}) +} diff --git a/server/internal/routes/game/item/moveItem.go b/server/internal/routes/game/item/moveItem.go new file mode 100644 index 00000000..c3b8cdf3 --- /dev/null +++ b/server/internal/routes/game/item/moveItem.go @@ -0,0 +1,70 @@ +package item + +import ( + "net/http" + "strconv" + + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +type itemRequest struct { + ItemIds i.Json[[]int32] `schema:"itemIDs"` +} + +type moveItemRequest struct { + itemRequest + LocationIds i.Json[[]int32] `schema:"itemLocationIDs"` + PositionIds i.Json[[]int32] `schema:"posIDs"` + SlotIds i.Json[[]int32] `schema:"slotIDs"` +} + +func MoveItem(w http.ResponseWriter, r *http.Request) { + var req moveItemRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + minLength := min(len(req.ItemIds.Data), len(req.LocationIds.Data), len(req.PositionIds.Data), len(req.SlotIds.Data)) + maxLength := max(len(req.ItemIds.Data), len(req.LocationIds.Data), len(req.PositionIds.Data), len(req.SlotIds.Data)) + if minLength == 0 || maxLength == 0 || minLength != maxLength { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + game := models.G(r) + sess := models.SessionOrPanic(r) + u, ok := game.Users().GetUserById(sess.GetUserId()) + if !ok { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + errorCodes := make([]int, minLength) + itemsEncoded := make([]i.A, minLength) + _ = u.GetItems().WithReadWrite(func(data *map[int32]models.Item) error { + for j, itemId := range req.ItemIds.Data { + itemLocationId := req.LocationIds.Data[j] + positionId := req.PositionIds.Data[j] + slotId := req.SlotIds.Data[j] + if item, exists := (*data)[itemId]; !exists { + errorCodes[j] = 2 + itemsEncoded[j] = i.A{} + } else { + errorCodes[j] = 0 + if itemLocationId != -1 { + item.SetLocationId(itemLocationId) + } + if positionId != -1 { + // TODO: Handle position if any game sends it + } + if slotId != -1 { + item.GetMetadata().UpdateOther("eslot", strconv.FormatInt(int64(slotId), 10)) + } + item.IncrementVersion() + itemsEncoded[j] = item.Encode(sess.GetUserId()) + } + } + return nil + }) + i.JSON(&w, i.A{0, errorCodes, itemsEncoded}) +} diff --git a/server/internal/routes/game/item/updateItemAttributes.go b/server/internal/routes/game/item/updateItemAttributes.go new file mode 100644 index 00000000..de30ed29 --- /dev/null +++ b/server/internal/routes/game/item/updateItemAttributes.go @@ -0,0 +1,64 @@ +package item + +import ( + "net/http" + "slices" + + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +type updateItemAttributesRequest struct { + Keys i.Json[i.Json[[]string]] `json:"attributeKeys"` + Values i.Json[i.Json[[]string]] `json:"attributeValues"` + ItemIds i.Json[[]int32] `json:"itemInstance_ids"` + XpGains i.Json[[]int32] `json:"xpGains"` +} + +func UpdateItemAttributes(w http.ResponseWriter, r *http.Request) { + var req updateItemAttributesRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + minLength := min(len(req.Keys.Data.Data), len(req.Values.Data.Data), len(req.ItemIds.Data), len(req.XpGains.Data)) + maxLength := max(len(req.Keys.Data.Data), len(req.Values.Data.Data), len(req.ItemIds.Data), len(req.XpGains.Data)) + if minLength == 0 || maxLength == 0 || minLength != maxLength { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + game := models.G(r) + sess := models.SessionOrPanic(r) + u, ok := game.Users().GetUserById(sess.GetUserId()) + if !ok { + i.JSON(&w, i.A{2, i.A{}, i.A{}}) + return + } + errorCodes := make([]i.A, minLength) + itemsEncoded := make([]i.A, minLength) + _ = u.GetItems().WithReadWrite(func(data *map[int32]models.Item) error { + for j, itemId := range req.ItemIds.Data { + var itemIdErrorCodes i.A + attributeKeys := req.Keys.Data.Data + if item, exists := (*data)[itemId]; !exists { + itemIdErrorCodes = i.A{2, slices.Repeat(i.A{2}, len(attributeKeys))} + itemsEncoded[j] = i.A{} + } else { + metadata := item.GetMetadata() + attributeValues := req.Values.Data.Data + for k := 0; k < len(attributeKeys); k++ { + attr := attributeKeys[k] + value := attributeValues[k] + metadata.UpdateAttribute(attr, value) + } + item.IncrementVersion() + itemIdErrorCodes = i.A{0, slices.Repeat(i.A{0}, len(attributeKeys))} + itemsEncoded[j] = item.Encode(sess.GetUserId()) + } + errorCodes[j] = itemIdErrorCodes + } + return nil + }) + i.JSON(&w, i.A{0, errorCodes, itemsEncoded}) +} diff --git a/server/internal/routes/game/item/updateItemLoadout.go b/server/internal/routes/game/item/updateItemLoadout.go new file mode 100644 index 00000000..2b6d4d0a --- /dev/null +++ b/server/internal/routes/game/item/updateItemLoadout.go @@ -0,0 +1,44 @@ +package item + +import ( + "net/http" + + mapset "github.com/deckarep/golang-set/v2" + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" +) + +type updateItemLoadoutRequest struct { + itemIdLoadoutRequest + createItemLoadoutRequest +} + +func UpdateItemLoadout(w http.ResponseWriter, r *http.Request) { + var req updateItemLoadoutRequest + err := i.Bind(r, &req) + if err != nil { + i.JSON(&w, i.A{2, i.A{}}) + return + } + game := models.G(r) + sess := models.SessionOrPanic(r) + userId := sess.GetUserId() + u, ok := game.Users().GetUserById(userId) + if !ok { + i.JSON(&w, i.A{2, i.A{}}) + return + } + var itemLoadoutEncoded i.A + _ = u.GetItemLoadouts().WithReadWrite(func(data models.ItemLoadouts) error { + if item := data.Get(req.Id); item != nil { + item.Update(req.Name, req.Type, mapset.NewThreadUnsafeSet(req.ItemOrLocIds...)) + itemLoadoutEncoded = item.Encode(userId) + } + return nil + }) + if itemLoadoutEncoded == nil { + i.JSON(&w, i.A{2, i.A{}}) + } else { + i.JSON(&w, i.A{0, itemLoadoutEncoded}) + } +} diff --git a/server/internal/routes/game/leaderboard/getRecentMatchSinglePlayerHistory.go b/server/internal/routes/game/leaderboard/getRecentMatchSinglePlayerHistory.go new file mode 100644 index 00000000..fb491193 --- /dev/null +++ b/server/internal/routes/game/leaderboard/getRecentMatchSinglePlayerHistory.go @@ -0,0 +1,11 @@ +package leaderboard + +import ( + "net/http" + + i "github.com/luskaner/ageLANServer/server/internal" +) + +func GetRecentMatchSinglePlayerHistory(w http.ResponseWriter, _ *http.Request) { + i.JSON(&w, i.A{13, i.A{}}) +} diff --git a/server/internal/routes/game/leaderboard/getStatGroupsByProfileIDs.go b/server/internal/routes/game/leaderboard/getStatGroupsByProfileIDs.go index da87dc11..e672f0a0 100644 --- a/server/internal/routes/game/leaderboard/getStatGroupsByProfileIDs.go +++ b/server/internal/routes/game/leaderboard/getStatGroupsByProfileIDs.go @@ -14,7 +14,7 @@ func GetStatGroupsByProfileIDs(w http.ResponseWriter, r *http.Request) { r, r.URL.Query().Get("profileids"), true, - models.G(r).Title() != common.GameAoE3 && models.G(r).Title() != common.GameAoM, + models.G(r).Title() == common.GameAoE2, ) i.JSON(&w, response) } diff --git a/server/internal/routes/game/leaderboard/setAvatarStatValues.go b/server/internal/routes/game/leaderboard/setAvatarStatValues.go index 182b5a39..ab7e1f97 100644 --- a/server/internal/routes/game/leaderboard/setAvatarStatValues.go +++ b/server/internal/routes/game/leaderboard/setAvatarStatValues.go @@ -10,6 +10,8 @@ import ( "github.com/luskaner/ageLANServer/server/internal/routes/wss" ) +// TODO: Any fixed stats for aoe4? + var fixedAvatarNames = map[string]mapset.Set[string]{ common.GameAoM: mapset.NewSet[string]("STAT_GAUNTLET_REWARD_FAVOUR", "STAT_GAUNTLET_REWARD_XP"), } diff --git a/server/internal/routes/game/leaderboard/shared/leaderboard.go b/server/internal/routes/game/leaderboard/shared/leaderboard.go index 68af96a4..cffce082 100644 --- a/server/internal/routes/game/leaderboard/shared/leaderboard.go +++ b/server/internal/routes/game/leaderboard/shared/leaderboard.go @@ -36,9 +36,9 @@ func GetStatGroups(r *http.Request, idsQuery string, isProfileId bool, includeEx 1, i.A{u.GetId()}, }) - message[2] = append(message[2].(i.A), u.GetProfileInfo(false, clientLibVersion)) + message[2] = append(message[2].(i.A), u.EncodeProfileInfo(clientLibVersion)) if includeExtraProfileInfo { - message[3] = append(message[3].(i.A), u.GetExtraProfileInfo(clientLibVersion)) + message[3] = append(message[3].(i.A), u.EncodeExtraProfileInfo(clientLibVersion)) } break } diff --git a/server/internal/routes/game/login/logout.go b/server/internal/routes/game/login/logout.go index 4cc26389..0ed0fa6d 100644 --- a/server/internal/routes/game/login/logout.go +++ b/server/internal/routes/game/login/logout.go @@ -37,9 +37,9 @@ func Logout(w http.ResponseWriter, r *http.Request) { time.Sleep(100 * time.Millisecond) } } - relationship.ChangePresence(sess.GetClientLibVersion(), sessions, users, u, 0) - if game.Title() == common.GameAoE3 || game.Title() == common.GameAoM { - profileInfo := u.GetProfileInfo(false, sess.GetClientLibVersion()) + relationship.ChangePresence(sess.GetClientLibVersion(), sessions, users, u, game.PresenceDefinitions(), 0) + if game.Title() == common.GameAoE3 || game.Title() == common.GameAoE4 || game.Title() == common.GameAoM { + profileInfo := u.EncodeProfileInfo(sess.GetClientLibVersion()) for user := range users.GetUserIds() { if user != u.GetId() { currentSess, currentOk := sessions.GetByUserId(user) diff --git a/server/internal/routes/game/login/platformlogin.go b/server/internal/routes/game/login/platformlogin.go index 67dd22cf..71dd90e5 100644 --- a/server/internal/routes/game/login/platformlogin.go +++ b/server/internal/routes/game/login/platformlogin.go @@ -38,6 +38,7 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { } u := users.GetOrCreateUser( title, + game.Items(), avatarStatDefinitions, r.RemoteAddr, req.MacAddress, @@ -51,9 +52,9 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { } sessionId := sessions.Create(u.GetId(), req.ClientLibVersion) sess, _ = sessions.GetById(sessionId) - relationship.ChangePresence(req.ClientLibVersion, sessions, users, u, 1) - profileInfo := u.GetProfileInfo(false, req.ClientLibVersion) - if title == common.GameAoE3 || title == common.GameAoM { + relationship.ChangePresence(req.ClientLibVersion, sessions, users, u, game.PresenceDefinitions(), 1) + profileInfo := u.EncodeProfileInfo(req.ClientLibVersion) + if title == common.GameAoE3 || title == common.GameAoM || title == common.GameAoE4 { for user := range users.GetUserIds() { if user != u.GetId() { currentSess, currentOk := sessions.GetByUserId(user) @@ -70,7 +71,7 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { profileId := u.GetProfileId() extraProfileInfoList := i.A{} if title == common.GameAoE2 { - extraProfileInfoList = append(extraProfileInfoList, u.GetExtraProfileInfo(req.ClientLibVersion)) + extraProfileInfoList = append(extraProfileInfoList, u.EncodeExtraProfileInfo(req.ClientLibVersion)) } battleServers := game.BattleServers() servers := battleServers.Encode(r) @@ -115,7 +116,7 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { allProfileInfo := i.A{ 0, profileInfo, - relationship.Relationships(title, req.ClientLibVersion, users, u), + relationship.Relationships(title, req.ClientLibVersion, users, u, nil), extraProfileInfoList, avatarStats, nil, diff --git a/server/internal/routes/game/party/peerAdd.go b/server/internal/routes/game/party/peerAdd.go index 6fc051b1..21dd721b 100644 --- a/server/internal/routes/game/party/peerAdd.go +++ b/server/internal/routes/game/party/peerAdd.go @@ -26,7 +26,7 @@ func PeerAdd(w http.ResponseWriter, r *http.Request) { return } // Only the host can add peers - if hostId := adv.GetHostId(); hostId != currentUserId { + if hostId := adv.UnsafeGetHostId(); hostId != currentUserId { return } users := make([]models.User, length) @@ -41,7 +41,7 @@ func PeerAdd(w http.ResponseWriter, r *http.Request) { advIp := adv.GetIp() var addedUserIds []int32 for j, u := range users { - if peer := advertisements.UnsafeNewPeer(advId, advIp, u.GetId(), u.GetStatId(), raceIds[j], teamIds[j]); peer != nil { + if peer := advertisements.UnsafeNewPeer(advId, advIp, u.GetId(), u.GetStatId(), -1, raceIds[j], teamIds[j]); peer != nil { addedUserIds = append(addedUserIds, u.GetId()) } else { break diff --git a/server/internal/routes/game/party/peerUpdate.go b/server/internal/routes/game/party/peerUpdate.go index b9f49026..03d2ccdf 100644 --- a/server/internal/routes/game/party/peerUpdate.go +++ b/server/internal/routes/game/party/peerUpdate.go @@ -27,7 +27,7 @@ func PeerUpdate(w http.ResponseWriter, r *http.Request) { return } // Only the host can update peers - if hostId := adv.GetHostId(); hostId != currentUserId { + if hostId := adv.UnsafeGetHostId(); hostId != currentUserId { return } advPeers := adv.GetPeers() diff --git a/server/internal/routes/game/party/updateHost.go b/server/internal/routes/game/party/updateHost.go index 0e99b786..a8193531 100644 --- a/server/internal/routes/game/party/updateHost.go +++ b/server/internal/routes/game/party/updateHost.go @@ -18,10 +18,29 @@ func UpdateHost(w http.ResponseWriter, r *http.Request) { i.JSON(&w, i.A{2}) return } - _, ok := models.G(r).Advertisements().GetAdvertisement(req.MatchID) + game := models.G(r) + advertisements := game.Advertisements() + adv, ok := advertisements.GetAdvertisement(req.MatchID) if !ok { i.JSON(&w, i.A{2}) } else { - i.JSON(&w, i.A{1}) + sess := models.SessionOrPanic(r) + currentUserId := sess.GetUserId() + peers := adv.GetPeers() + if firstUserId, _, ok := peers.First(); !ok { + i.JSON(&w, i.A{2}) + return + } else if firstUserId != currentUserId { + i.JSON(&w, i.A{2}) + return + } + advertisements.WithWriteLock(adv.GetId(), func() { + hostId := adv.UnsafeGetHostId() + if hostId == currentUserId { + return + } + adv.UnsafeSetHostId(currentUserId) + }) + i.JSON(&w, i.A{0}) } } diff --git a/server/internal/routes/game/relationship/addfriend.go b/server/internal/routes/game/relationship/addfriend.go index 5e26ec54..823cdb64 100644 --- a/server/internal/routes/game/relationship/addfriend.go +++ b/server/internal/routes/game/relationship/addfriend.go @@ -24,5 +24,5 @@ func Addfriend(w http.ResponseWriter, r *http.Request) { i.JSON(&w, i.A{2, i.A{}}) return } - i.JSON(&w, i.A{2, u.GetProfileInfo(false, models.SessionOrPanic(r).GetClientLibVersion())}) + i.JSON(&w, i.A{2, u.EncodeProfileInfo(models.SessionOrPanic(r).GetClientLibVersion())}) } diff --git a/server/internal/routes/game/relationship/clearRelationship.go b/server/internal/routes/game/relationship/clearRelationship.go index 50b05d1b..94679843 100644 --- a/server/internal/routes/game/relationship/clearRelationship.go +++ b/server/internal/routes/game/relationship/clearRelationship.go @@ -7,5 +7,5 @@ import ( ) func ClearRelationship(w http.ResponseWriter, _ *http.Request) { - i.JSON(&w, i.A{0}) + i.JSON(&w, i.A{2}) } diff --git a/server/internal/routes/game/relationship/getRelationships.go b/server/internal/routes/game/relationship/getRelationships.go index a3613e1b..b1bbc860 100644 --- a/server/internal/routes/game/relationship/getRelationships.go +++ b/server/internal/routes/game/relationship/getRelationships.go @@ -21,13 +21,13 @@ func relationshipResponse(errorCode int, friends []i.A, lastConnection []i.A) i. } } -func Relationships(gameTitle string, clientLibVersion uint16, users models.Users, user models.User) i.A { - profileInfo := users.GetProfileInfo(true, func(u models.User) bool { +func Relationships(gameTitle string, clientLibVersion uint16, users models.Users, user models.User, presences models.PresenceDefinitions) i.A { + profileInfo := users.EncodeProfileInfo(presences, func(u models.User) bool { return u != user && u.GetPresence() > 0 }, clientLibVersion) friends := profileInfo lastConnection := profileInfo - if gameTitle == common.GameAoE3 || gameTitle == common.GameAoM { + if gameTitle == common.GameAoE3 || gameTitle == common.GameAoE4 || gameTitle == common.GameAoM { lastConnection = []i.A{} } else { friends = []i.A{} @@ -37,13 +37,13 @@ func Relationships(gameTitle string, clientLibVersion uint16, users models.Users func GetRelationships(w http.ResponseWriter, r *http.Request) { // As we don't have knowledge of Steam/Xbox friends, nor it is supposed to be many players on the server - // just return all online users as if they were friends (AoE3/AoM) or last connections (AoE2) + // just return all online users as if they were friends (AoE3/AoE4/AoM) or last connections (AoE2) sess := models.SessionOrPanic(r) game := models.G(r) users := game.Users() currentUser, ok := users.GetUserById(sess.GetUserId()) if ok { - i.JSON(&w, Relationships(game.Title(), sess.GetClientLibVersion(), users, currentUser)) + i.JSON(&w, Relationships(game.Title(), sess.GetClientLibVersion(), users, currentUser, game.PresenceDefinitions())) } else { i.JSON(&w, relationshipResponse(0, []i.A{}, []i.A{})) } diff --git a/server/internal/routes/game/relationship/ignore.go b/server/internal/routes/game/relationship/ignore.go index 17d92d5b..f3ec0f58 100644 --- a/server/internal/routes/game/relationship/ignore.go +++ b/server/internal/routes/game/relationship/ignore.go @@ -20,5 +20,5 @@ func Ignore(w http.ResponseWriter, r *http.Request) { i.JSON(&w, i.A{2, i.A{}, i.A{}}) return } - i.JSON(&w, i.A{2, u.GetProfileInfo(false, models.SessionOrPanic(r).GetClientLibVersion()), i.A{}}) + i.JSON(&w, i.A{2, u.EncodeProfileInfo(models.SessionOrPanic(r).GetClientLibVersion()), i.A{}}) } diff --git a/server/internal/routes/game/relationship/setPresence.go b/server/internal/routes/game/relationship/setPresence.go index ef1cbf47..c898e20d 100644 --- a/server/internal/routes/game/relationship/setPresence.go +++ b/server/internal/routes/game/relationship/setPresence.go @@ -8,9 +8,14 @@ import ( "github.com/luskaner/ageLANServer/server/internal/routes/wss" ) -func ChangePresence(clientLibVersion uint16, sessions models.Sessions, users models.Users, user models.User, presence int32) { +func ChangePresence(clientLibVersion uint16, sessions models.Sessions, users models.Users, user models.User, presenceDefinitions models.PresenceDefinitions, presence int32) { user.SetPresence(presence) - profileInfo := i.A{user.GetProfileInfo(true, clientLibVersion)} + NotifyChangePresence(clientLibVersion, sessions, users, user, presenceDefinitions) +} + +func NotifyChangePresence(clientLibVersion uint16, sessions models.Sessions, users models.Users, user models.User, presenceDefinitions models.PresenceDefinitions) { + profileInfo := i.A{user.EncodeProfileInfo(clientLibVersion)} + profileInfo[0] = append(profileInfo[0].(i.A), user.EncodePresence(presenceDefinitions)...) for u := range users.GetUserIds() { sess, ok := sessions.GetByUserId(u) if ok { @@ -36,11 +41,7 @@ func SetPresence(w http.ResponseWriter, r *http.Request) { sess := models.SessionOrPanic(r) game := models.G(r) users := game.Users() - u, ok := users.GetUserById(sess.GetUserId()) - if ok { - ChangePresence(sess.GetClientLibVersion(), game.Sessions(), users, u, req.PresenceId) - i.JSON(&w, i.A{0}) - } else { - i.JSON(&w, i.A{2}) - } + u, _ := users.GetUserById(sess.GetUserId()) + ChangePresence(sess.GetClientLibVersion(), game.Sessions(), users, u, game.PresenceDefinitions(), req.PresenceId) + i.JSON(&w, i.A{0}) } diff --git a/server/internal/routes/game/relationship/setPresenceProperty.go b/server/internal/routes/game/relationship/setPresenceProperty.go index ab52f339..97bdaada 100644 --- a/server/internal/routes/game/relationship/setPresenceProperty.go +++ b/server/internal/routes/game/relationship/setPresenceProperty.go @@ -4,8 +4,25 @@ import ( "net/http" i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" ) -func SetPresenceProperty(w http.ResponseWriter, _ *http.Request) { +type setPresencePropertyRequest struct { + PresencePropertyId int32 `schema:"presencePropertyDef_id"` + Value string `schema:"value"` +} + +func SetPresenceProperty(w http.ResponseWriter, r *http.Request) { + var req setPresencePropertyRequest + if err := i.Bind(r, &req); err != nil { + i.JSON(&w, i.A{2}) + return + } + sess := models.SessionOrPanic(r) + game := models.G(r) + users := game.Users() + u, _ := users.GetUserById(sess.GetUserId()) + u.SetPresenceProperty(req.PresencePropertyId, req.Value) + NotifyChangePresence(sess.GetClientLibVersion(), game.Sessions(), users, u, game.PresenceDefinitions()) i.JSON(&w, i.A{0}) } diff --git a/server/internal/routes/playfab/Client/GetUserData.go b/server/internal/routes/playfab/Client/GetUserData.go new file mode 100644 index 00000000..5e649df0 --- /dev/null +++ b/server/internal/routes/playfab/Client/GetUserData.go @@ -0,0 +1,18 @@ +package Client + +import ( + "net/http" + + "github.com/luskaner/ageLANServer/server/internal/models/playfab" + "github.com/luskaner/ageLANServer/server/internal/models/playfab/data" + "github.com/luskaner/ageLANServer/server/internal/routes/playfab/Client/shared" +) + +func GetUserData(w http.ResponseWriter, r *http.Request) { + sess := playfab.SessionOrPanic(r) + shared.RespondOK(&w, getUserReadOnlyDataResponse{ + Data: map[string]any{ + "RLinkProfileID": data.NewBaseValue("public", sess.User().GetId()).ToValue(), + }, + }) +} diff --git a/server/internal/routes/playfab/Client/LoginWithCustomID.go b/server/internal/routes/playfab/Client/LoginWithCustomID.go new file mode 100644 index 00000000..5d4ed98f --- /dev/null +++ b/server/internal/routes/playfab/Client/LoginWithCustomID.go @@ -0,0 +1,39 @@ +package Client + +import ( + "net/http" + "strconv" + + "github.com/luskaner/ageLANServer/server/internal/models/playfab" + "github.com/luskaner/ageLANServer/server/internal/routes/playfab/Client/shared" +) + +type loginWithCustomIDResponse struct { + loginWithSteamResponse + infoResultPayload +} + +type loginWithCustomIDRequest struct { + CustomId string +} + +func LoginWithCustomID(w http.ResponseWriter, r *http.Request) { + if response := login(w, r, func(req loginWithCustomIDRequest, game playfab.Game) *playfab.SessionKey { + userId, err := strconv.ParseInt(req.CustomId, 10, 32) + if err != nil { + shared.RespondBadRequest(&w) + return nil + } + sessions := game.PlayfabSessions() + id := sessions.CreateWithUserId(game.Users(), int32(userId)) + return &id + }); response != nil { + shared.RespondOK(&w, loginWithCustomIDResponse{ + *response, + infoResultPayload{ + UserInventory: []any{}, + CharacterInventories: []any{}, + }, + }) + } +} diff --git a/server/internal/routes/playfab/Client/LoginWithSteam.go b/server/internal/routes/playfab/Client/LoginWithSteam.go index d42930c7..b5564021 100644 --- a/server/internal/routes/playfab/Client/LoginWithSteam.go +++ b/server/internal/routes/playfab/Client/LoginWithSteam.go @@ -8,7 +8,6 @@ import ( "github.com/google/uuid" i "github.com/luskaner/ageLANServer/server/internal" "github.com/luskaner/ageLANServer/server/internal/models" - "github.com/luskaner/ageLANServer/server/internal/models/athens" "github.com/luskaner/ageLANServer/server/internal/models/playfab" "github.com/luskaner/ageLANServer/server/internal/routes/playfab/Client/shared" ) @@ -50,51 +49,59 @@ type loginWithSteamResponse struct { treatmentAssignmentResponse `json:"TreatmentAssignment"` } -func LoginWithSteam(w http.ResponseWriter, r *http.Request) { - var req loginWithSteamRequest +func login[R any](w http.ResponseWriter, r *http.Request, reqToPlayfabID func(req R, game playfab.Game) *playfab.SessionKey) *loginWithSteamResponse { + var req R err := i.Bind(r, &req) defer func(Body io.ReadCloser) { _ = Body.Close() }(r.Body) if err != nil { shared.RespondBadRequest(&w) - return + return nil } - var steamId uint64 - steamId, err = playfab.ParseSteamIDHex(req.SteamTicket) - if err != nil { + now := time.Now().UTC() + id := reqToPlayfabID(req, models.Gg[playfab.Game](r)) + if id == nil { shared.RespondBadRequest(&w) - return + return nil } - now := time.Now().UTC() - game := models.Gg[*athens.Game](r) - sessions := game.PlayfabSessions - id := sessions.Create(game.Users(), steamId) - shared.RespondOK( - &w, - loginWithSteamResponse{ - SessionTicket: uuid.NewString(), - PlayFabId: id, - NewlyCreated: true, - settingsForUserResponse: settingsForUserResponse{ - NeedsAttribution: false, - GatherDeviceInfo: true, - GatherFocusInfo: true, - }, - LastLoginTime: shared.FormatDate(time.Date(2025, 11, 12, 3, 34, 0, 0, time.UTC)), - entityTokenResponse: entityTokenResponse{ - EntityToken: id, - TokenExpiration: shared.FormatDate(now.AddDate(0, 0, 1)), - entityResponse: entityResponse{ - Id: uuid.NewString(), - Type: "title_player_account", - TypeString: "title_player_account", - }, - }, - treatmentAssignmentResponse: treatmentAssignmentResponse{ - Variants: []any{}, - Variables: []any{}, + return &loginWithSteamResponse{ + SessionTicket: *id, + PlayFabId: *id, + NewlyCreated: true, + settingsForUserResponse: settingsForUserResponse{ + NeedsAttribution: false, + GatherDeviceInfo: true, + GatherFocusInfo: true, + }, + LastLoginTime: shared.FormatDate(time.Date(2025, 11, 12, 3, 34, 0, 0, time.UTC)), + entityTokenResponse: entityTokenResponse{ + EntityToken: *id, + TokenExpiration: shared.FormatDate(now.AddDate(0, 0, 1)), + entityResponse: entityResponse{ + Id: uuid.NewString(), + Type: "title_player_account", + TypeString: "title_player_account", }, }, - ) + treatmentAssignmentResponse: treatmentAssignmentResponse{ + Variants: []any{}, + Variables: []any{}, + }, + } +} + +func LoginWithSteam(w http.ResponseWriter, r *http.Request) { + if response := login(w, r, func(req loginWithSteamRequest, game playfab.Game) *playfab.SessionKey { + steamId, err := playfab.ParseSteamIDHex(req.SteamTicket) + if err != nil { + shared.RespondBadRequest(&w) + return nil + } + sessions := game.PlayfabSessions() + id := sessions.CreateWithSteamUserId(game.Users(), steamId) + return &id + }); response != nil { + shared.RespondOK(&w, response) + } } diff --git a/server/internal/routes/router/apiAgeOfEmpires.go b/server/internal/routes/router/apiAgeOfEmpires.go index 0678f4c0..96206b3c 100644 --- a/server/internal/routes/router/apiAgeOfEmpires.go +++ b/server/internal/routes/router/apiAgeOfEmpires.go @@ -20,7 +20,7 @@ func (a *ApiAgeOfEmpires) Initialize(gameId string) bool { } func (a *ApiAgeOfEmpires) InitializeRoutes(gameId string, next http.Handler) http.Handler { - a.Proxy = NewProxy(common.ApiAgeOfEmpires, func(gameId string, next http.Handler) http.Handler { + a.Proxy = NewProxy(common.ApiAgeOfEmpires, func(_ string, _ http.Handler) http.Handler { a.group.HandleFunc("POST", "/textmoderation", textmoderation.TextModeration) return a.group.mux }) diff --git a/server/internal/routes/router/game.go b/server/internal/routes/router/game.go index 9ecbdd6d..090f6930 100644 --- a/server/internal/routes/router/game.go +++ b/server/internal/routes/router/game.go @@ -38,13 +38,23 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { g.initialize() gameGroup := g.group.Subgroup("/game") itemGroup := gameGroup.Subgroup("/item") - itemGroup.HandleFunc("GET", "/getItemBundleItemsJson", item.GetItemBundleItemsJson) itemGroup.HandleFunc("GET", "/getItemDefinitionsJson", item.GetItemDefinitionsJson) itemGroup.HandleFunc("GET", "/getItemLoadouts", item.GetItemLoadouts) itemGroup.HandleFunc("POST", "/signItems", item.SignItems) - itemGroup.HandleFunc("GET", "/getInventoryByProfileIDs", item.GetInventoryByProfileIDs) - itemGroup.HandleFunc("POST", "/detachItems", item.DetachItems) - + if gameId != common.GameAoE1 { + itemGroup.HandleFunc("GET", "/getItemBundleItemsJson", item.GetItemBundleItemsJson) + itemGroup.HandleFunc("GET", "/getInventoryByProfileIDs", item.GetInventoryByProfileIDs) + itemGroup.HandleFunc("POST", "/detachItems", item.DetachItems) + itemGroup.HandleFunc("GET", "/getLevelRewardsTableJson", item.GetLevelRewardsTableJson) + itemGroup.HandleFunc("POST", "/moveItem", item.MoveItem) + itemGroup.HandleFunc("POST", "/updateItemAttributes", item.UpdateItemAttributes) + itemGroup.HandleFunc("POST", "/createItemLoadout", item.CreateItemLoadout) + itemGroup.HandleFunc("POST", "/equipItemLoadout", item.EquipItemLoadout) + itemGroup.HandleFunc("POST", "/updateItemLoadout", item.UpdateItemLoadout) + } + itemGroup.HandleFunc("GET", "/getItemPrices", item.GetItemPrices) + itemGroup.HandleFunc("GET", "/getScheduledSaleAndItems", item.GetScheduledSaleAndItems) + itemGroup.HandleFunc("GET", "/getPersonalizedSaleItems", item.GetPersonalizedSaleItems) clanGroup := gameGroup.Subgroup("/clan") clanGroup.HandleFunc("POST", "/create", clan.Create) clanGroup.HandleFunc("GET", "/find", clan.Find) @@ -52,23 +62,25 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { communityEventGroup := gameGroup.Subgroup("/CommunityEvent") communityEventGroup.HandleFunc("GET", "/getAvailableCommunityEvents", communityEvent.GetAvailableCommunityEvents) - if gameId == common.GameAoM { + if gameId == common.GameAoE4 || gameId == common.GameAoM { communityEventGroup.HandleFunc("GET", "/getEventStats", communityEvent.GetEventStats) communityEventGroup.HandleFunc("GET", "/getEventLeaderboard", communityEvent.GetEventLeaderboard) } - + // TODO: GET getEventChallengeProgress ? + // TODO: POST updateEventChallengeProgressBatched ? challengeGroup := gameGroup.Subgroup("/challenge") if gameId == common.GameAoE3 { challengeGroup.HandleFunc("POST", "/updateProgress", challenge.UpdateProgress) } - if gameId == common.GameAoM { + if gameId == common.GameAoE4 || gameId == common.GameAoM { challengeGroup.HandleFunc("POST", "/updateProgressBatched", challenge.UpdateProgressBatched) } ChallengeGroup := gameGroup.Subgroup("/Challenge") + // TODO: GET getChallengeProgressByProfileID ? if gameId == common.GameAoE3 { ChallengeGroup.HandleFunc("POST", "/getChallengeProgress", challenge.GetChallengeProgress) } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { ChallengeGroup.HandleFunc("GET", "/getChallengeProgress", challenge.GetChallengeProgress) } ChallengeGroup.HandleFunc("GET", "/getChallenges", challenge.GetChallenges) @@ -87,15 +99,17 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { accountGroup.HandleFunc("POST", "/FindProfilesByPlatformID", account.FindProfilesByPlatformID) accountGroup.HandleFunc("GET", "/FindProfiles", account.FindProfiles) accountGroup.HandleFunc("GET", "/getProfileName", account.GetProfileName) - if gameId == common.GameAoE3 || gameId == common.GameAoM { + if gameId == common.GameAoE3 || gameId == common.GameAoE4 || gameId == common.GameAoM { accountGroup.HandleFunc("GET", "/getProfileProperty", account.GetProfileProperty) + accountGroup.HandleFunc("POST", "/addProfileProperty", account.AddProfileProperty) + accountGroup.HandleFunc("POST", "/clearProfileProperty", account.ClearProfileProperty) } LeaderboardGroup := gameGroup.Subgroup("/Leaderboard") if gameId == common.GameAoE3 { LeaderboardGroup.HandleFunc("POST", "/getRecentMatchHistory", leaderboard.GetRecentMatchHistory) } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { LeaderboardGroup.HandleFunc("GET", "/getRecentMatchHistory", leaderboard.GetRecentMatchHistory) } LeaderboardGroup.HandleFunc("GET", "/getLeaderBoard", leaderboard.GetLeaderBoard) @@ -106,12 +120,21 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { if gameId == common.GameAoE3 { LeaderboardGroup.HandleFunc("GET", "/getAvatarStatLeaderBoard", leaderboard.GetAvatarStatLeaderBoard) } + if gameId == common.GameAoE4 { + LeaderboardGroup.HandleFunc("GET", "/getRecentMatchSinglePlayerHistory", leaderboard.GetRecentMatchSinglePlayerHistory) + } + // Implement getPersonalStat ? leaderboardGroup := gameGroup.Subgroup("/leaderboard") leaderboardGroup.HandleFunc("POST", "/applyOfflineUpdates", leaderboard.ApplyOfflineUpdates) leaderboardGroup.HandleFunc("POST", "/setAvatarStatValues", leaderboard.SetAvatarStatValues) - automatch2Group := gameGroup.Subgroup("/automatch2") - automatch2Group.HandleFunc("GET", "/getAutomatchMap", Automatch2.GetAutomatchMap) + if gameId == common.GameAoE4 { + automatchGroup := gameGroup.Subgroup("/automatch") + automatchGroup.HandleFunc("GET", "/getAutomatchMap", Automatch2.GetAutomatchMap) + } else { + automatch2Group := gameGroup.Subgroup("/automatch2") + automatch2Group.HandleFunc("GET", "/getAutomatchMap", Automatch2.GetAutomatchMap) + } AchievementGroup := gameGroup.Subgroup("/Achievement") AchievementGroup.HandleFunc("GET", "/getAchievements", achievement.GetAchievements) @@ -123,11 +146,11 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { achievementGroup.HandleFunc("POST", "/syncStats", achievement.SyncStats) advertisementGroup := gameGroup.Subgroup("/advertisement") - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { advertisementGroup.HandleFunc("POST", "/updatePlatformSessionID", advertisement.UpdatePlatformSessionID) } advertisementGroup.HandleFunc("POST", "/join", advertisement.Join) - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { advertisementGroup.HandleFunc("POST", "/updateTags", advertisement.UpdateTags) } advertisementGroup.HandleFunc("POST", "/update", advertisement.Update) @@ -145,20 +168,20 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { if gameId == common.GameAoE3 { advertisementGroup.HandleFunc("POST", "/findObservableAdvertisements", advertisement.FindObservableAdvertisements) } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { advertisementGroup.HandleFunc("GET", "/findObservableAdvertisements", advertisement.FindObservableAdvertisements) } advertisementGroup.HandleFunc("GET", "/getAdvertisements", advertisement.GetAdvertisements) if gameId == common.GameAoE1 || gameId == common.GameAoE3 { advertisementGroup.HandleFunc("POST", "/findAdvertisements", advertisement.FindAdvertisements) } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { advertisementGroup.HandleFunc("GET", "/findAdvertisements", advertisement.FindAdvertisements) } advertisementGroup.HandleFunc("POST", "/updateState", advertisement.UpdateState) - if gameId == common.GameAoE2 || gameId == common.GameAoE3 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE3 || gameId == common.GameAoE4 || gameId == common.GameAoM { advertisementGroup.HandleFunc("POST", "/startObserving", advertisement.StartObserving) advertisementGroup.HandleFunc("POST", "/stopObserving", advertisement.StopObserving) } @@ -167,7 +190,7 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { if gameId == common.GameAoE1 || gameId == common.GameAoE3 { chatGroup.HandleFunc("POST", "/getChatChannels", chat.GetChatChannels) } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { chatGroup.HandleFunc("GET", "/getChatChannels", chat.GetChatChannels) } chatGroup.HandleFunc("GET", "/getOfflineMessages", chat.GetOfflineMessages) @@ -183,7 +206,7 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { if gameId == common.GameAoE3 { chatGroup.HandleFunc("POST", "/sendWhisper", chat.SendWhisper) } - if gameId == common.GameAoM { + if gameId == common.GameAoE4 || gameId == common.GameAoM { chatGroup.HandleFunc("POST", "/sendWhispers", chat.SendWhisper) } if gameId == common.GameAoM { @@ -194,15 +217,15 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { if gameId == common.GameAoE1 || gameId == common.GameAoE3 { relationshipGroup.HandleFunc("POST", "/getRelationships", relationship.GetRelationships) } - if gameId == common.GameAoE2 || gameId == common.GameAoM { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { relationshipGroup.HandleFunc("GET", "/getRelationships", relationship.GetRelationships) } relationshipGroup.HandleFunc("GET", "/getPresenceData", relationship.GetPresenceData) relationshipGroup.HandleFunc("POST", "/setPresence", relationship.SetPresence) - if gameId == common.GameAoE3 || gameId == common.GameAoM { + if gameId == common.GameAoE3 || gameId == common.GameAoE4 || gameId == common.GameAoM { relationshipGroup.HandleFunc("POST", "/setPresenceProperty", relationship.SetPresenceProperty) } - if gameId == common.GameAoE3 || gameId == common.GameAoM { + if gameId == common.GameAoE3 || gameId == common.GameAoE4 || gameId == common.GameAoM { relationshipGroup.HandleFunc("POST", "/addfriend", relationship.Addfriend) } relationshipGroup.HandleFunc("POST", "/ignore", relationship.Ignore) @@ -215,12 +238,12 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { partyGroup.HandleFunc("POST", "/reportMatch", party.ReportMatch) partyGroup.HandleFunc("POST", "/finalizeReplayUpload", party.FinalizeReplayUpload) partyGroup.HandleFunc("POST", "/updateHost", party.UpdateHost) - if gameId == common.GameAoM { + if gameId == common.GameAoE4 || gameId == common.GameAoM { partyGroup.HandleFunc("POST", "/createOrReportSinglePlayer", party.CreateOrReportSinglePlayer) } playerReportGroup := gameGroup.Subgroup("/playerreport") - // TODO: Check if it applies to AoE I/AoE III - if gameId == common.GameAoE2 || gameId == common.GameAoM { + // TODO: Check if it applies to AoE III + if gameId == common.GameAoE2 || gameId == common.GameAoE4 || gameId == common.GameAoM { playerReportGroup.HandleFunc("POST", "/reportUser", playerreport.ReportUser) } @@ -233,8 +256,7 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { if gameId == common.GameAoE3 { cloudGroup.HandleFunc("POST", "/getFileURL", cloud.GetFileURL) } - // TODO: Enable to AoM if/when it gets cloud support - if gameId == common.GameAoE2 { + if gameId == common.GameAoE2 || gameId == common.GameAoE4 { cloudGroup.HandleFunc("GET", "/getFileURL", cloud.GetFileURL) } diff --git a/server/internal/routes/router/playfabapi.go b/server/internal/routes/router/playfabapi.go index cb5f30f9..1ca2dad8 100644 --- a/server/internal/routes/router/playfabapi.go +++ b/server/internal/routes/router/playfabapi.go @@ -31,24 +31,32 @@ func (p *PlayfabApi) Check(r *http.Request) bool { } func (p *PlayfabApi) Initialize(gameId string) bool { - return gameId == common.GameAoM + return gameId == common.GameAoE4 || gameId == common.GameAoM } -func (p *PlayfabApi) InitializeRoutes(_ string, _ http.Handler) http.Handler { +func (p *PlayfabApi) InitializeRoutes(gameId string, _ http.Handler) http.Handler { p.initialize() playfabClientGroup := p.group.Subgroup("/Client") playfabClientGroup.HandleFunc("POST", "/GetPlayerCombinedInfo", Client.GetPlayerCombinedInfo) playfabClientGroup.HandleFunc("POST", "/GetTime", Client.GetTime) - playfabClientGroup.HandleFunc("POST", "/GetTitleData", Client.GetTitleData) - playfabClientGroup.HandleFunc("POST", "/GetUserReadOnlyData", Client.GetUserReadOnlyData) - playfabClientGroup.HandleFunc("POST", "/LoginWithSteam", Client.LoginWithSteam) + if gameId == common.GameAoE4 { + playfabClientGroup.HandleFunc("POST", "/LoginWithCustomID", Client.LoginWithCustomID) + playfabClientGroup.HandleFunc("POST", "/GetUserData", Client.GetUserData) + } + if gameId == common.GameAoM { + playfabClientGroup.HandleFunc("POST", "/GetTitleData", Client.GetTitleData) + playfabClientGroup.HandleFunc("POST", "/GetUserReadOnlyData", Client.GetUserReadOnlyData) + playfabClientGroup.HandleFunc("POST", "/LoginWithSteam", Client.LoginWithSteam) + } playfabClientGroup.HandleFunc("POST", "/UpdateUserTitleDisplayName", Client.UpdateUserTitleDisplayName) playfabEventGroup := p.group.Subgroup("/Event") playfabEventGroup.HandleFunc("POST", "/WriteTelemetryEvents", Event.WriteTelemetryEvents) - playfabInventoryGroup := p.group.Subgroup("/Inventory") - playfabInventoryGroup.HandleFunc("POST", "/GetInventoryItems", Inventory.GetInventoryItems) + if gameId == common.GameAoM { + playfabInventoryGroup := p.group.Subgroup("/Inventory") + playfabInventoryGroup.HandleFunc("POST", "/GetInventoryItems", Inventory.GetInventoryItems) + } playfabMultiplayerServerGroup := p.group.Subgroup("/MultiplayerServer") playfabMultiplayerServerGroup.HandleFunc("POST", "/GetCognitiveServicesToken", MultiplayerServer.GetCognitiveServicesToken) @@ -57,18 +65,20 @@ func (p *PlayfabApi) InitializeRoutes(_ string, _ http.Handler) http.Handler { playfabPartyGroup := p.group.Subgroup("/Party") playfabPartyGroup.HandleFunc("POST", "/RequestParty", Party.RequestParty) - catalogGroup := p.group.Subgroup("/Catalog") - catalogGroup.HandleFunc("POST", "/GetItems", Catalog.GetItems) + if gameId == common.GameAoM { + catalogGroup := p.group.Subgroup("/Catalog") + catalogGroup.HandleFunc("POST", "/GetItems", Catalog.GetItems) - cloudScriptGroup := p.group.Subgroup("/CloudScript") - cloudScriptGroup.HandleFunc("POST", "/ExecuteFunction", CloudScript.ExecuteFunction) + cloudScriptGroup := p.group.Subgroup("/CloudScript") + cloudScriptGroup.HandleFunc("POST", "/ExecuteFunction", CloudScript.ExecuteFunction) - fs := http.FileServer(http.Dir(playfab.BaseDir)) - playfabStaticGroup := p.group.Subgroup(playfab.StaticSuffix) - playfabStaticGroup.Handle( - "GET", - "/", - http.StripPrefix(playfab.StaticSuffix, fs), - ) + fs := http.FileServer(http.Dir(playfab.BaseDir)) + playfabStaticGroup := p.group.Subgroup(playfab.StaticSuffix) + playfabStaticGroup.Handle( + "GET", + "/", + http.StripPrefix(playfab.StaticSuffix, fs), + ) + } return PlayfabMiddleware(p.group.mux) } diff --git a/server/internal/routes/router/playfabapiMiddleware.go b/server/internal/routes/router/playfabapiMiddleware.go index 7ffdd7e6..4f2acc80 100644 --- a/server/internal/routes/router/playfabapiMiddleware.go +++ b/server/internal/routes/router/playfabapiMiddleware.go @@ -2,17 +2,19 @@ package router import ( "context" + "fmt" "net/http" "strings" + "github.com/luskaner/ageLANServer/common" "github.com/luskaner/ageLANServer/server/internal/models" - "github.com/luskaner/ageLANServer/server/internal/models/athens" "github.com/luskaner/ageLANServer/server/internal/models/playfab" "github.com/luskaner/ageLANServer/server/internal/routes/playfab/Client/shared" ) var playAnonymousPaths = map[string]bool{ "/Client/LoginWithSteam": true, + "/Client/LoginWithCustomID": true, "/MultiplayerServer/ListPartyQosServers": true, "/Event/WriteTelemetryEvents": true, } @@ -20,13 +22,20 @@ var playAnonymousPaths = map[string]bool{ func PlayfabMiddleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { if !playAnonymousPaths[r.URL.Path] && !strings.HasPrefix(r.URL.Path, playfab.StaticSuffix) { + game := models.Gg[playfab.Game](r) + var authHeader string + if game.Title() == common.GameAoE4 { + authHeader = "X-Sessionticket" + } else { + authHeader = "X-Entitytoken" + } var sess *playfab.SessionData - entityToken := r.Header.Get("X-Entitytoken") - if entityToken != "" { + token := r.Header.Get(authHeader) + if token != "" { var exists bool - sessions := models.Gg[*athens.Game](r).PlayfabSessions - if sess, exists = sessions.GetById(entityToken); exists { - sessions.ResetExpiry(sess.EntityToken()) + sessions := game.PlayfabSessions() + if sess, exists = sessions.GetById(token); exists { + sessions.ResetExpiry(sess.Token()) ctx := context.WithValue(r.Context(), "session", sess) next.ServeHTTP(w, r.WithContext(ctx)) return @@ -37,7 +46,7 @@ func PlayfabMiddleware(next http.Handler) http.Handler { 401, "Unauthorized", 401, - "Invalid X-EntityToken header", + fmt.Sprintf("Invalid %s header", authHeader), "", ) return diff --git a/server/resources/config/age4/login.json b/server/resources/config/age4/login.json new file mode 100644 index 00000000..045aee8c --- /dev/null +++ b/server/resources/config/age4/login.json @@ -0,0 +1,57 @@ +{ + "RL_TELEMSHOULDNTSEND": "animation_played_count,CommandIssued,MusicIntensity,ResourcePosition,UnitContribution,InfluenceUpdate,MarketTrade,BuildOrder", + "RL_BATTLESERVER_USE_WEBSOCKETS": "1", + "RL_HEARTBEATINTERVAL": "60", + "CLIENT_AUTOMATCH_WIN_CONDITION": "00000000000000000000000000000000:149419911", + "CLIENT_AUTOMATCH_WIN_CONDITION_OPTIONS": "{\"section_diplomacy\":{\"option_diplomacy\":0,\"option_diplomacy_tribute\":0},\"section_inner_win_conditions\":{\"option_win_condition_capture_point\":0,\"option_win_condition_conquest\":1,\"option_win_condition_religious\":0},\"section_starting_conditions\":{\"option_age_start\":3}}", + "CLIENT_AUTOMATCH_MAP": "cdn_empty_mp", + "CLIENT_AUTOMATCH_RACE": "french", + "RL_HEARTBEATPERFORMANCEINTERVAL": "300", + "RL_OBSERVERMAX": "0", + "RL_CALL_FREQUENCY_FOR_INCREASE_INTERVAL": "60", + "RL_CALL_FREQUENCY_FOR_DECREASE_INTERVAL": "20", + "SERVER_BINARY_METADATA_SIZE": "6", + "SERVER_BINARY_METADATA_0": "lZKYvLCMqOfq39zd2tvY2cbHxMXCw8DBzs/MzcrLyMk=", + "SERVER_BINARY_METADATA_1": "gqW1vLy2oo7t6uXo7ITqv/Hx8aCjpqPwzs/MzcrLyMk=", + "SERVER_BINARY_METADATA_2": "gqW1vLy2oo7t6e7t64TsuKX/8/z39/Ckzs/MzcrLyMk=", + "SERVER_BINARY_METADATA_3": "gqW1vLy2op23vYOl7O/Y2cbHxMXCw8DBzs/MzcrLyMk=", + "SERVER_BINARY_METADATA_4": "gqWcopCjmLC9tIOl7O/Y2cbHxMXCw8DBzs/MzcrLyMk=", + "SERVER_BINARY_METADATA_5": "gqWHpbe2tJm/vLeCou3s2cbHxMXCw8DBzs/MzcrLyMk=", + "PresenceUpdate": "60", + "RL_CROSSPLAY_STEAM_ALWAYS_ON": "1", + "RL_MP_FIRST_PAUSE_MIN_DURATION": "30000", + "RL_MP_PLAYER_PAUSE_COUNT": "3", + "RL_MP_PAUSE_AUTO_MATCH_ENABLE": "1", + "RL_MP_PAUSE_CUSTOM_MATCH_ENABLE": "1", + "RL_USE_WEBSOCKET_PERCENT": "100", + "RL_KEEPALIVE": "20", + "RL_DISCONNECT": "30", + "RL_MISSPOLL": "3", + "RL_TELEMSERVICE": "2", + "RL_TELEMSERVICE2": "5", + "RL_TELEMREPORTPCT": "1.0", + "RL_MATCHTELEMPERIOD": "600", + "RL_TELEMELFHOST": "elfcardinal-eventhub.servicebus.windows.net", + "RL_TELEMELFPATH": "/telemetry/messages", + "RL_TELEMELFCS": "", + "RL_TELEMELFSKN": "SendTelemetry", + "RL_TELEMELFKEYEXPIRYMIN": "5", + "RL_TELEMELFMAXBODYSIZEKB": "100", + "RL_FORCE_CROSS_NETWORK_PLAY_ON": "[]", + "RL_FORCE_CROSS_NETWORK_PLAY_OFF": "[]", + "RL_CLUSTERNAME": "aoelive_", + "RL_TITLEID": "23", + "RL_OBSERVERCUSTOMDELAY": "180", + "RL_USE_AUTOMATCH2": "1", + "RL_AUTOMATCH2_TEAM_FACTION_TYPE": "1", + "RL_UPLOAD_TIMEOUT": "300000", + "RL_CLOUDCACHETIME": "21600", + "RL_CLOUD_CREDENTIAL_PROVIDER": "AZURE", + "RL_ITEM_LOADOUTS_MAX": "50", + "RL_CLAN_INVITE_EXPIRE_TIME_SEC": "43200", + "RL_NUMBER_OF_GAMES_TO_RANK": "10", + "RL_NUMBER_OF_EVENT_GAMES_TO_RANK": "5", + "RL_WEB_ASSETS_ICONS_ROOT": "https://test-build-data.reliclink.com/", + "RL_GLOBAL_REWARD_CURRENCY": "", + "RL_SSO_URL": "https://sso.relic.com/es/steam?title=age4&" +} \ No newline at end of file diff --git a/server/resources/config/config.toml b/server/resources/config/config.toml index c6886f76..e0e98106 100644 --- a/server/resources/config/config.toml +++ b/server/resources/config/config.toml @@ -7,7 +7,7 @@ GeneratePlatformUserId = false [Games] # Games that the server will accept. -# "age1" (AoE: DE), "age2" (AoE II: DE), "age3" (AoE III: DE) and "athens" (AoM: RT). +# "age1" (AoE: DE), "age2" (AoE II: DE), "age3" (AoE III: DE), "age4" (AoE IV: AE) and "athens" (AoM: RT). Enabled = [] # Games..Hosts is the hosts/IPs the server will bind to for that game. Only IPv4 is supported. @@ -23,6 +23,9 @@ Hosts = ['0.0.0.0'] [Games.age3] Hosts = ['0.0.0.0'] +[Games.age4] +Hosts = ['0.0.0.0'] + [Games.athens] Hosts = ['0.0.0.0'] diff --git a/server/resources/responses/age2/itemLocations.json b/server/resources/responses/age2/itemLocations.json new file mode 100644 index 00000000..86b000d8 --- /dev/null +++ b/server/resources/responses/age2/itemLocations.json @@ -0,0 +1,4 @@ +[ + [1, 0, 0, 0, 10000, 0, 0, 0, 1], + [2, 0, 1, 0, 10000, 0, 1, 1, 0] +] \ No newline at end of file diff --git a/server/resources/responses/age3/itemLocations.json b/server/resources/responses/age3/itemLocations.json new file mode 100644 index 00000000..58707065 --- /dev/null +++ b/server/resources/responses/age3/itemLocations.json @@ -0,0 +1,7 @@ +[ + [1, 0, 0, 0, 1000, 0, 0, 0, 0], + [2, 0, 1, 1001, 1, 0, 1, 0, 0], + [3, 0, 2, 4, 16, 0, 1, 0, 1], + [4, 0, 3, 1002, 32, 0, 0, 0, 0], + [5, 0, 4, 1003, 32, 0, 0, 0, 0] +] \ No newline at end of file diff --git a/server/resources/responses/age4/achievements.json b/server/resources/responses/age4/achievements.json new file mode 100644 index 00000000..ef8a6a18 --- /dev/null +++ b/server/resources/responses/age4/achievements.json @@ -0,0 +1 @@ +[0,[[1246828,"Achievement\\A008_Cpg_Complete_All","Age of Empires IV Campaign","Complete the Age of Empires IV campaigns","images/achievements/campaign_age_of_empires_iv.png",1761841818,0,-1],[1247111,"Achievement\\A004_Cpg_Complete_Norman","The Normans","Complete The Normans campaign.","images/achievements/campaign_the_normans.png",1761841818,0,-1],[1247112,"Achievement\\A005_Cpg_Complete_Hundred","The Hundred Years War","Complete The Hundred Years War campaign.","images/achievements/campaign_the_hundred_years_war.png",1761841818,0,-1],[1247113,"Achievement\\A007_Cpg_Complete_Moscow","The Rise of Moscow","Complete The Rise of Moscow campaign.","images/achievements/campaign_the_rise_of_moscow.png",1761841818,0,-1],[1247207,"Achievement\\A006_Cpg_Complete_Mongol","The Mongol Empire","Complete The Mongol Empire campaign.","images/achievements/campaign_the_mongols.png",1761841818,0,-1],[1254730,"Achievement\\A009_Counter_Raider","Counter-Raider","Loot the Danish war camp during the North to York mission.","images/achievements/campaign_moment_counter_raider.png",1761841818,0,-1],[1256528,"Achievement\\A056_Civ_English","Pass the Marshmallows","Use the Setup Camp ability 20 times as the English.","images/achievements/civ_moment_pass_the_marshmallows.png",1761841818,0,-1],[1316367,"Achievement\\A027_Mastery_Eng","Master of the English","Complete the English Mastery.","images/achievements/master_of_the_english.png",1761841818,0,-1],[1317632,"Achievement\\A028_Mastery_Fre","Master of the French","Complete the French Mastery.","images/achievements/master_of_the_french.png",1761841818,0,-1],[1318098,"Achievement\\A029_Mastery_Hre","Master of the Holy Roman Empire","Complete the Holy Roman Empire Mastery.","images/achievements/master_of_the_holy_roman_empire.png",1761841818,0,-1],[1318102,"Achievement\\A030_Mastery_Mon","Master of the Mongols","Complete the Mongol Mastery.","images/achievements/master_of_the_mongols.png",1761841818,0,-1],[1318103,"Achievement\\A031_Mastery_Rus","Master of the Rus","Complete the Rus Mastery.","images/achievements/master_of_the_rus.png",1761841818,0,-1],[1318104,"Achievement\\A032_Mastery_Sul","Master of the Delhi Sultanate","Complete the Delhi Sultanate Mastery.","images/achievements/master_of_the_delhi_sultanate.png",1761841818,0,-1],[1318105,"Achievement\\A033_Mastery_Chi","Master of the Chinese","Complete the Chinese Mastery.","images/achievements/master_of_the_chinese.png",1761841818,0,-1],[1318106,"Achievement\\A034_Mastery_Abb","Master of the Abbasid Dynasty","Complete the Abbasid Dynasty Mastery.","images/achievements/master_of_the_abbasid.png",1761841818,0,-1],[1318107,"Achievement\\A035_Mastery_All","Master of the Ages","Complete all Civilization Masteries.","images/achievements/mastery_master_of_the_ages.png",1761841818,0,-1],[1354261,"Achievement\\A059_Civ_French","Lancerlot","Charge an enemy with 50 Royal Knights simultaneously as the French.","images/achievements/civ_moment_lancerlot.png",1761841818,0,-1],[1379065,"Achievement\\A067_Civ_Mongol","Raiding Party","Raid an enemy building in the Dark Age (I) as the Mongols.","images/achievements/civ_moment_raiding_party.png",1761841818,0,-1],[1379066,"Achievement\\A068_Civ_Mongol","Jagutu-iin Darga","Enhance 100 units with a single Khan Signal Arrow as the Mongols.","images/achievements/civ_moment_jagutu_iin_darga.png",1761841818,0,-1],[1379067,"Achievement\\A069_Civ_Mongol","Long Live the Khan","Win a match without your Khan being killed as the Mongols.","images/achievements/civ_moment_long_live_the_khan.png",1761841818,0,-1],[1379068,"Achievement\\A070_Civ_Mongol","Explore, Expand, Exploit","Accrue 10,000 Stone in a single match as the Mongols.","images/achievements/civ_moment_explore_expand_exploit.png",1761841818,0,-1],[1401076,"Achievement\\A060_Civ_French","Who Needs Infantry?","Win a match without producing infantry as the French.","images/achievements/civ_moment_who_needs_infantry.png",1761841818,0,-1],[1403329,"Achievement\\A061_Civ_French","Big Shot","Destroy 1,000 enemy units with gunpowder siege engines as the French.","images/achievements/civ_moment_big_shot.png",1761841818,0,-1],[1446965,"Achievement\\A062_Civ_French","Do You Deliver?","Accrue 1,000 Food from Traders in a single match as the French.","images/achievements/civ_moment_do_you_deliver.png",1761841818,0,-1],[1465392,"Achievement\\A063_Civ_Rus","Wild's Bounty","Accrue 2,000 Gold with Hunting Cabins in a single match as the Rus.","images/achievements/civ_moment_wilds_bounty.png",1761841818,0,-1],[1465393,"Achievement\\A064_Civ_Rus","Big Game Hunter","Earn 500 Gold from bounties in a match as the Rus.","images/achievements/civ_moment_big_game_hunter.png",1761841818,0,-1],[1465394,"Achievement\\A065_Civ_Rus","Deforestation","Gather Wood 1,000 times as the Rus.","images/achievements/civ_moment_deforestation.png",1761841818,0,-1],[1465395,"Achievement\\A066_Civ_Rus","In Memory of Kulikovo","Enhance 10 units with a single Saint's Blessing strike as the Rus.","images/achievements/civ_moment_in_memory_of_kulikovo.png",1761841818,0,-1],[1470090,"Achievement\\A079_Civ_Chinese","Be Subtle","Reveal 300 Villagers with a single use of Imperial Spies as the Chinese.","images/achievements/civ_moment_be_subtle.png",1761841818,0,-1],[1470091,"Achievement\\A081_Civ_Chinese","Move Like Wind, Attack Like Fire","Defeat 1,000 enemy units with the Nest of Bees as the Chinese.","images/achievements/civ_moment_move_like_wind_attack_like_fire.png",1761841818,0,-1],[1470092,"Achievement\\A082_Civ_Chinese","Four Histories","Establish all of the Dynasties in a single match as the Chinese.","images/achievements/civ_moment_four_histories.png",1761841818,0,-1],[1470279,"Achievement\\A080_Civ_Chinese","Great Walls","Construct 1,000 Stone Walls as the Chinese.","images/achievements/civ_moment_great_walls.png",1761841818,0,-1],[1517403,"Achievement\\A075_Civ_Sultanate","Herd You Like Elephants","Destroy 100 enemy buildings with your elephants as the Delhi Sultanate.","images/achievements/civ_moment_herd_you_like_elephants.png",1761841818,0,-1],[1519162,"Achievement\\A076_Civ_Sultanate","Field Construction","Build a Stone Wall, Gate, and Tower using infantry as the Delhi Sultanate.","images/achievements/civ_moment_field_construction.png",1761841818,0,-1],[1519163,"Achievement\\A077_Civ_Sultanate","Higher Education","Have 20 Scholars garrisoned in a Madrasa as the Delhi Sultanate.","images/achievements/civ_moment_higher_education.png",1761841818,0,-1],[1519164,"Achievement\\A078_Civ_Sultanate","Pantomath","Research all technologies in a match as the Delhi Sultanate.","images/achievements/civ_moment_pantomath.png",1761841818,0,-1],[1545062,"Achievement\\A051_Civ_Abbasid","The Faithful","Convert 30 enemies without holding a Relic as the Abbasid Dynasty.","images/achievements/civ_moment_the_faithful.png",1761841818,0,-1],[1545084,"Achievement\\A052_Civ_Abbasid","All the World's Knowledge","During a match, research everything in the wings of the Abbasid House of Wisdom.","images/achievements/civ_moment_all_the_worlds_knowledge.png",1761841818,0,-1],[1546494,"Achievement\\A053_Civ_Abbasid","Shifting Winds","Defeat 1,000 enemy cavalry units with your Camel Riders as the Abbasid Dynasty.","images/achievements/civ_moment_shifting_winds.png",1761841818,0,-1],[1546495,"Achievement\\A054_Civ_Abbasid","A Golden Age","Achieve the third tier of the Golden Age as the Abbasid Dynasty.","images/achievements/civ_moment_a_golden_age.png",1761841818,0,-1],[1551908,"Achievement\\A071_Civ_Hre","Who Needs Cavalry?","Win a match without producing cavalry as the Holy Roman Empire.","images/achievements/civ_moment_who_needs_cavalry.png",1761841818,0,-1],[1563849,"Achievement\\A072_Civ_Hre","Inspired Economics","Have at least 60 simultaneously inspired Villagers as the Holy Roman Empire.","images/achievements/civ_moment_inspired_economics.png",1761841818,0,-1],[1577087,"Achievement\\A073_Civ_Hre","Servants of the Land","Kill 10,000 enemies with Landsknechte.","images/achievements/civ_moment_servants_of_the_land.png",1761841818,0,-1],[1753693,"Achievement\\A038_Game_Mode","By Force","Achieve a Landmarks Victory.","images/achievements/victory_condition_by_force.png",1761841818,0,-1],[1753737,"Achievement\\A039_Game_Mode","By Faith","Achieve a Sacred Victory.","images/achievements/victory_condition_by_faith.png",1761841818,0,-1],[1753767,"Achievement\\A040_Game_Mode","By Fortune","Achieve a Wonder Victory.","images/achievements/victory_condition_by_fortune.png",1761841818,0,-1],[1753770,"Achievement\\A041_Game_Mode","Make It Quick","Achieve a Landmarks Victory in the Dark Age (I).","images/achievements/victory_condition_make_it_quick.png",1761841818,0,-1],[1753791,"Achievement\\A042_Game_Mode","Walk the Earth","Achieve a Sacred Victory without losing a religious unit.","images/achievements/victory_condition_walk_the_earth.png",1761841818,0,-1],[1753792,"Achievement\\A043_Game_Mode","Wonderstruck","Achieve a Wonder Victory without constructing walls.","images/achievements/victory_condition_wonderstruck.png",1761841818,0,-1],[1818017,"Achievement\\A083_Gameplay_Moment","Wololottery","Assume control of 25 units in a single conversion.","images/achievements/gameplay_moment_wololottery.png",1761841818,0,-1],[1818018,"Achievement\\A084_Gameplay_Moment","Having a Blast","Destroy 5 enemies with a single Demolition Ship detonation.","images/achievements/gameplay_moment_having_a_blast.png",1761841818,0,-1],[1818020,"Achievement\\A086_Gameplay_Moment","Through the Ages","Advance to the next Age 500 times.","images/achievements/gameplay_moment_city_builder.png",1761841818,0,-1],[1818021,"Achievement\\A087_Gameplay_Moment","Coast Is Clear","Win a match during which fishing was your only source of gathered Food.","images/achievements/gameplay_moment_coast_is_clear.png",1761841818,0,-1],[1839216,"Achievement\\A047_Vs_Ai","Sub-Human Subduer","Win a 1v1 match against the Easy A.I.","images/achievements/vs_ai_sub_human_subduer.png",1761841818,0,-1],[1843337,"Achievement\\A048_Vs_Ai","Par-Human Potentate","Win a 1v1 match against the Intermediate A.I.","images/achievements/vs_ai_par_human_potentiate.png",1761841818,0,-1],[1843431,"Achievement\\A049_Vs_Ai","High-Human Hero","Win a 1v1 match against the Hard A.I.","images/achievements/vs_ai_high_human_hero.png",1761841818,0,-1],[1843525,"Achievement\\A050_Vs_Ai","Super-Human Subjugator","Win a 1v1 match against the Hardest A.I.","images/achievements/vs_ai_super_human_subjugator.png",1761841818,0,-1],[2029664,"Achievement\\A025_Mastery_Training","The Fundamentals","Complete the Training Mastery.","images/achievements/mastery_the_fundamentals.png",1761841818,0,-1],[2029668,"Achievement\\A026_Mastery_First","Quick Study","Complete your first Civilization Mastery task.","images/achievements/mastery_quick_study.png",1761841818,0,-1],[2029895,"Achievement\\A055_Civ_English","Dread Fort","Kill 100 enemies with Keeps as the English.","images/achievements/civ_moment_dread_fort.png",1761841818,0,-1],[2029896,"Achievement\\A057_Civ_English","We Charge Extra for That","Shutdown a Cavalry Charge with Palings as the English.","images/achievements/civ_moment_we_charge_extra_for_that.png",1761841818,0,-1],[2029898,"Achievement\\A058_Civ_English","Hope Is Kindled","Extend the Network of Castles alarm across 12 buildings simultaneously as the English.","images/achievements/civ_moment_hope_is_kindled.png",1761841818,0,-1],[2030000,"Achievement\\A020_Cpg_Mon","Boom Boom Pao","Don't lose any Huihui Pao during the Fall of Xiangyang.","images/achievements/campaign_moment_boom_boom_pao.png",1761841818,0,-1],[2031488,"Achievement\\A085_Gameplay_Moment","All Creek, No Paddle","Sink an enemy Transport Ship that is garrisoned to maximum capacity.","images/achievements/gameplay_moment_all_creek_no_paddle.png",1761841818,0,-1],[2031664,"Achievement\\A019_Cpg_Mon","Forgot a Batu","Kill double the enemies as Batu when assaulting the bridge in the Battle of Mohi.","images/achievements/campaign_moment_forgot_a_batu.png",1761841818,0,-1],[2031673,"Achievement\\A017_Cpg_Mon","Twinkle Hooves","Don't lose any Mangudai during the Battle of the Kalka River.","images/achievements/campaign_moment_twinkle_hooves.png",1761841818,0,-1],[2032859,"Achievement\\A018_Cpg_Mon","Yeah, Well, You Should See the Other Guy","Lose a unit to the Front Gate of Zhangjiakou during the Great Wall mission.","images/achievements/campaign_moment_yeah_well.png",1761841818,0,-1],[2032865,"Achievement\\A010_Cpg_Norman","Chivalry","Enlist the aid of 45 Knights during the Battle of Tinchebray.","images/achievements/campaign_moment_chivalry.png",1761841818,0,-1],[2032935,"Achievement\\A011_Cpg_Norman","Siegebreaker","Defeat the siege before the Keep takes damage during the First Battle of Lincoln.","images/achievements/campaign_moment_siegebreaker.png",1761841818,0,-1],[2032943,"Achievement\\A044_Aow_Medal","Precious Medals","Earn a medal in 3 Art of War challenges.","images/achievements/challenge_mission_precious_medals.png",1761841818,0,-1],[2033021,"Achievement\\A045_Aow_Medal","Challenge Taker","Earn your first gold medal in an Art of War challenge.","images/achievements/challenge_mission_challenge_taker.png",1761841818,0,-1],[2033024,"Achievement\\A046_Aow_Medal","Record Breaker","Earn a gold medal in 5 Art of War challenges.","images/achievements/challenge_mission_record_breaker.png",1761841818,0,-1],[2033025,"Achievement\\A088_Misc_Feature","Accurate Likeness","Equip your first portrait.","images/achievements/feature_exploration_accurate_likeness.png",1761841818,0,-1],[2033026,"Achievement\\A089_Misc_Feature","To Remind, To Advise, To Warn","Equip your first monument.","images/achievements/feature_exploration_to_remind_to_advise_to_warn.png",1761841818,0,-1],[2033027,"Achievement\\A090_Misc_Feature","A Heraldic Achievement","Customize your coat of arms.","images/achievements/feature_exploration_a_heraldic_achievement.png",1761841818,0,-1],[2033028,"Achievement\\A036_Misc_Feature","Recorded History","View a replay.","images/achievements/feature_exploration_recorded_history.png",1761841818,0,-1],[2033030,"Achievement\\A012_Cpg_Norman","Quit Touching Me!","Stop any of the city's walls being destroyed during the Siege of Wallingford.","images/achievements/campaign_moment_quit_touching_me.png",1761841818,0,-1],[2033329,"Achievement\\A021_Cpg_Rus","Keep the Change","Pay off the Mongols within 3 minutes during the Tribute mission.","images/achievements/campaign_moment_keep_the_change.png",1761841818,0,-1],[2033330,"Achievement\\A022_Cpg_Rus","Get Off My Bailey!","Stop the Mongols from entering the outer city during Hold Against the Horde.","images/achievements/campaign_moment_get_off_my_bailey.png",1761841818,0,-1],[2033331,"Achievement\\A023_Cpg_Rus","Ancient Tower Defense","Kill 50 enemies with Wooden Fortresses during the Great Stand on the Ugra River.","images/achievements/campaign_moment_ancient_tower_defense.png",1761841818,0,-1],[2033332,"Achievement\\A024_Cpg_Rus","Classic Conquest","Destroy all enemy units and production buildings during the Siege of Kazan.","images/achievements/campaign_moment_classic_conquest.png",1761841818,0,-1],[2033337,"Achievement\\A013_Cpg_Hundred","Du Bois Are Back in Town","Win in the arena without losing more than 10 units during the Combat of the Thirty.","images/achievements/campaign_moment_du_bois_are_back_in_town.png",1761841818,0,-1],[2033383,"Achievement\\A014_Cpg_Hundred","Fill the Coffers","Collect every treasure chest during the Battle of Patay.","images/achievements/campaign_moment_fill_the_coffers.png",1761841818,0,-1],[2033432,"Achievement\\A015_Cpg_Hundred","Battle Royal","Field a Royal siege unit with all the brothers' bonuses during Retake Normandy.","images/achievements/campaign_moment_battle_royal.png",1761841818,0,-1],[2033465,"Achievement\\A016_Cpg_Hundred","Careful Cannons","Win the Battle of Formigny without losing any cannons.","images/achievements/campaign_moment_careful_cannons.png",1761841818,0,-1],[2033485,"Achievement\\A001_Mission_Zero","Empires Will Rise","Construct your first Landmark.","images/achievements/mission_zero_empires_will_rise.png",1761841818,0,-1],[2033486,"Achievement\\A002_Mission_Zero","Kingdoms Will Fall","Defeat 20 enemy units.","images/achievements/mission_zero_kingdoms_will_fall.png",1761841818,0,-1],[2033487,"Achievement\\A003_Mission_Zero","A New Age Is Upon Us","Complete the Introductory Tutorial.","images/achievements/mission_zero_a_new_age.png",1761841818,0,-1],[2038881,"Achievement\\A074_Civ_Hre","Swift Site","Begin capturing a Sacred Site immediately upon entering Age III as the Holy Roman Empire.","images/achievements/civ_moment_swift_site.png",1761841818,0,-1],[2101940,"Achievement\\A091_Civ_Ottoman","Ottoman Expansion","Win a match as the Ottomans.","images/achievements/ottoman_win_ottoman_expansion.png",1761841818,0,-1],[2101976,"Achievement\\A092_Civ_Ottoman","Transcontinental Empire","Win 20 matches as the Ottomans.","images/achievements/ottoman_win_transcontinental_empire.png",1761841818,0,-1],[2101977,"Achievement\\A109_Civ_Ottoman","The Ottoman Arts","Earn a gold medal in the Ottoman Art of War challenge.","images/achievements/art_of_war_the_ottomans_arts.png",1761841818,0,-1],[2101979,"Achievement\\A102_Civ_Malian","From the Shadows","Attack 100 enemies with invisible Musofadi Warriors or Gunners in a single match as the Malians.","images/achievements/malian_moment_from_the_shadows.png",1761841818,0,-1],[2101980,"Achievement\\A094_Civ_Ottoman","Mobile Strikes","Defeat 100 ranged units with a Sipahi unit as the Ottomans.","images/achievements/ottoman_moment_mobile_strikes.png",1761841818,0,-1],[2101983,"Achievement\\A106_Civ_Malian","All in the Ranch","Garrison 20 Cattle in Ranches at the same time as the Malians.","images/achievements/malian_goofy_all_in_the_ranch.png",1761841818,0,-1],[2101984,"Achievement\\A098_Civ_Ottoman","Trojan Horses","Garrison units into 3 Trebuchets as the Ottomans.","images/achievements/ottoman_goofy_trojan_horse.png",1761841818,0,-1],[2101988,"Achievement\\A108_Civ_Malian","Master of the Malians","Complete the Malian Mastery.","images/achievements/mastery_master_of_the_malians.png",1761841818,0,-1],[2101989,"Achievement\\A100_Civ_Malian","Trans-Saharan Empire","Win 20 matches as the Malians.","images/achievements/malian_win_trans_saharan_empire.png",1761841818,0,-1],[2101990,"Achievement\\A097_Civ_Ottoman","Hell of a Beat","Defeat 500 enemies with units affected by Mehteran as the Ottomans.","images/achievements/ottoman_investment_hell_of_a_beat.png",1761841818,0,-1],[2101991,"Achievement\\A096_Civ_Ottoman","Sound Advice","Unlock 7 Imperial Council upgrades in a single match as the Ottomans.","images/achievements/ottoman_investment_sound_advice.png",1761841818,0,-1],[2101992,"Achievement\\A105_Civ_Malian","Aerial Poisoned Attacks","Defeat 500 units with Poisoned Arrow as the Malians.","images/achievements/malian_investment_the_tree_speak.png",1761841818,0,-1],[2101993,"Achievement\\A104_Civ_Malian","All Mine","Gather Gold 1,000 times from Open Pit Mines as the Malians.","images/achievements/malian_investment_all_mine.png",1761841818,0,-1],[2102071,"Achievement\\A093_Civ_Ottoman","Regimented Training","Have 5 Military Schools active at the same time as the Ottomans.","images/achievements/ottoman_win_regimented_training.png",1761841818,0,-1],[2102072,"Achievement\\A095_Civ_Ottoman","A Wonderful Cannon","Destroy a Wonder with a Great Bombard as the Ottomans.","images/achievements/ottoman_moment_a_wonderful_cannon.png",1761841818,0,-1],[2102073,"Achievement\\A099_Civ_Malian","Malian Rise","Win a match as the Malians.","images/achievements/malian_win_malian_rise.png",1761841818,0,-1],[2102074,"Achievement\\A101_Civ_Malian","Tax Collector","Generate tax from 5 Toll Outposts on a single trip as the Malians.","images/achievements/malian_moment_tax_collector.png",1761841818,0,-1],[2102075,"Achievement\\A103_Civ_Malian","Just a Prick","Defeat a Heavy Cavalry unit with a Poisoned Arrow as the Malians.","images/achievements/malian_moment_just_a_prick.png",1761841818,0,-1],[2102076,"Achievement\\A107_Civ_Ottoman","Master of the Ottomans","Complete the Ottoman Mastery.","images/achievements/master_of_the_ottoman.png",1761841818,0,-1],[2102077,"Achievement\\A110_Civ_Malian","The Malian Arts","Earn a gold medal in the Malian Art of War challenge.","images/achievements/art_of_war_the_malian_arts.png",1761841818,0,-1],[2144868,"Achievement\\A111_Civ_Byz","Win for the Empire","Win a match as the Byzantines.","images/achievements/byzantines_win_win_for_the_empire.png",1761841818,0,-1],[2144869,"Achievement\\A112_Civ_Byz","Protecting Constantinople","Win 20 matches as the Byzantines.","images/achievements/byzantines_win_protecting_constantinopole.png",1761841818,0,-1],[2144870,"Achievement\\A113_Civ_Byz","Unsinkable","Construct a Transport Ship with a Varangian Guard and garrison it to maximum capacity as the Byzantines.","images/achievements/byzantines_moment_unsinkable.png",1761841818,0,-1],[2144928,"Achievement\\A114_Civ_Byz","Getting Some Help","Recruit 60 mercenaries from a Mercenary House in a single match as the Byzantines.","images/achievements/byzantines_moment_getting_some_help.png",1761841818,0,-1],[2144931,"Achievement\\A115_Civ_Byz","Bulwark","Defeat 200 enemies with Limitanei while Shield Wall is active as the Byzantines.","images/achievements/byzantines_moment_shield_up.png",1761841818,0,-1],[2144932,"Achievement\\A116_Civ_Byz","Let There Be Fire","Destroy 50 buildings with Cheirosiphons as the Byzantines.","images/achievements/byzantines_investment_let_there_be_fire.png",1761841818,0,-1],[2144933,"Achievement\\A117_Civ_Byz","Overflow","Build 10 Cisterns in a single match as the Byzantines.","images/achievements/byzantines_investment_spreading_your_roots.png",1761841818,0,-1],[2144934,"Achievement\\A118_Civ_Byz","Let It Flow","Accrue 2,000 Olive Oil in a single match as the Byzantines.","images/achievements/byzantines_goofy_increased_oil.png",1761841818,0,-1],[2145095,"Achievement\\A127_Cpg_Abb","The Sultans","Complete The Sultans Ascend campaign.","images/achievements/campaign_completion_the_sultans.png",1761841818,0,-1],[2145096,"Achievement\\A128_Cpg_Abb","Master Naval Trader","Have 20 Trade Ships trading simultaneously during the Raiders of the Red Sea.","images/achievements/campaign_moment_master_naval_trader.png",1761841818,0,-1],[2145097,"Achievement\\A129_Cpg_Abb","In the Lead by a Quarter Nile","Capture all Control Points during Into Egypt.","images/achievements/campaign_moment_in_the_lead_by_a_quarter_nile.png",1761841818,0,-1],[2145098,"Achievement\\A130_Cpg_Abb","Saving the Day Early","Eliminate all 3 enemy leaders within 30 seconds of each other during the Battle of Mansurah.","images/achievements/campaign_moment_saving_the_day_early.png",1761841818,0,-1],[2145099,"Achievement\\A131_Cpg_Abb","Rescue","Rescue all the prisoners during the Invasion of Cyprus.","images/achievements/campaign_moment_rescue.png",1761841818,0,-1],[2145523,"Achievement\\A119_Civ_Jpn","A First for the Emperor","Win a match as the Japanese.","images/achievements/japanese_win_a_first_for_the_emperor.png",1761841818,0,-1],[2145524,"Achievement\\A120_Civ_Jpn","Established Lands","Win 20 matches as the Japanese.","images/achievements/japanese_win_established_lands.png",1761841818,0,-1],[2145525,"Achievement\\A121_Civ_Jpn","Protecting Us","Heal 20 units using Shinto Priest units in a single match as the Japanese.","images/achievements/japanese_moment_protecting_us.png",1761841818,0,-1],[2145529,"Achievement\\A122_Civ_Jpn","Daimyo Mastery","Spend Stone to research all Town Center upgrades as the Japanese.","images/achievements/japanese_moment_rice_field_mastery.png",1761841818,0,-1],[2145545,"Achievement\\A123_Civ_Jpn","Exchange Rates","Drop Stone at a Blacksmith to convert into 500 Gold in a single match as the Japanese.","images/achievements/japanese_moment_exchange_rates.png",1761841818,0,-1],[2145548,"Achievement\\A124_Civ_Jpn","Shinobi Mastermind","Disable 50 buildings with Shinobi units as the Japanese.","images/achievements/japanese_investment_shinobi_mastermind.png",1761841818,0,-1],[2145551,"Achievement\\A125_Civ_Jpn","Gunpowder Mastery","Defeat 50 siege units using Ozutsu units as the Japanese.","images/achievements/japanese_investment_gunpowder_mastery.png",1761841818,0,-1],[2145553,"Achievement\\A126_Civ_Jpn","Successful Gatherer","Enhance 10 resource drop-off buildings by depositing a Yorishiro as the Japanese.","images/achievements/japanese_goofy_successful_gatherer.png",1761841818,0,-1],[9001687,"Achievement\\A132_Civ_Templar","Victory Through Cross and Sword","Win a Multiplayer or Skirmish match with Knights Templar.","images/achievements/templar_win_victory_cross_sword.png",1761841818,0,-1],[9001700,"Achievement\\A133_Civ_Templar","Journey to the Sacred Land","Have 50 Knights Templar Pilgrims reach a sacred site.","images/achievements/templar_journey_sacred_land.png",1761841818,0,-1],[9001701,"Achievement\\A134_Civ_Templar","Castle Crasher","Destroy an enemy building with the Trebuchet Emplacement.","images/achievements/templar_castle_crasher.png",1761841818,0,-1],[9001702,"Achievement\\A135_Civ_Templar","'Tis But a Scratch","Heal allied units by 500 health with the Hospitaller Knight.","images/achievements/templar_tis_but_a_scratch.png",1761841818,0,-1],[9001703,"Achievement\\A136_Civ_Templar","Feeding the Rich","Generate 2000 Gold with the Pilgrim Loan at the market.","images/achievements/templar_feeding_the_rich.png",1761841818,0,-1],[9001704,"Achievement\\A137_Civ_Lancaster","The Red Rose Flourishes","Win a Multiplayer or Skirmish match with the House of Lancaster.","images/achievements/lancaster_win_red_rose_flourishes.png",1761841818,0,-1],[9001705,"Achievement\\A138_Civ_Lancaster","Blot out the Sun","As the House of Lancaster, hit 500 times using the Yeoman's Synchronized Shot.","images/achievements/lancaster_blot_out_the_sun.png",1761841818,0,-1],[9001706,"Achievement\\A139_Civ_Lancaster","My House is Richer Than Yours","Generate 4000 Gold with Manors in one match.","images/achievements/lancaster_house_richer_than_yours.png",1761841818,0,-1],[9001707,"Achievement\\A140_Civ_Lancaster","Lead the Charge","Empower at least 30 units with all 4 Lords of Lancaster at once.","images/achievements/lancaster_lead_the_charge.png",1761841818,0,-1],[9001708,"Achievement\\A141_Civ_Lancaster","Knife to Meet You","Kill 50 units with Earl's Guards after researching Throwing Dagger Drills.","images/achievements/lancaster_knife_to_meet_you.png",1761841818,0,-1],[9001709,"Achievement\\A142_Hb","Against All Odds","Defeat the French army at Agincourt.","images/achievements/historical_against_all_odds.png",1761841818,0,-1],[9001710,"Achievement\\A143_Hb","Get Off My Lawn","Destroy the army besieging Safed.","images/achievements/historical_get_off_my_lawn.png",1761841818,0,-1],[9001711,"Achievement\\A144_Hb","Jerusalem Has Come","Capture all Sacred Sites and drive the Ayyubids out of Montgisard.","images/achievements/historical_jeusalem_has_come.png",1761841818,0,-1],[9001712,"Achievement\\A145_Hb","A Rose for the Fallen","Survive the Aftermath of Towton.","images/achievements/historical_rose_for_the_fallen.png",1761841818,0,-1],[9001713,"Achievement\\A146_Hb","Conqueror of History","Complete all Historical Battles in Conqueror Mode.","images/achievements/historical_written_by_the_victors.png",1761841818,0,-1],[9003346,"Achievement\\A147_Crucible","The Greatest Khan",null,"images/achievements/thecrucible_thegreatestkhan.png",1761841818,0,-1],[9003347,"Achievement\\A148_Crucible","Lords of the Forest","Earn a Gold Medal on Forest Lords in the Crucible.","images/achievements/thecrucible_lordodtheforest.png",1761841818,0,-1],[9003348,"Achievement\\A149_Crucible","Uncontested","Earn a Gold Medal on Contested Coastline in the Crucible.","images/achievements/thecrucible_uncontested.png",1761841818,0,-1],[9003349,"Achievement\\A150_Crucible","Gingko\u2019s Grandeur","Earn a Gold Medal on Daimyo Dynamics in the Crucible.","images/achievements/thecrucible_ginkosgrandeur.png",1761841818,0,-1],[9003363,"Achievement\\A151_Civ_Tug","No Luck Needed","Win a Multiplayer or Skirmish match with Tughlaq Dynasty.","images/achievements/tughluqdynasty_noluckneeded.png",1761841818,0,-1],[9003364,"Achievement\\A152_Civ_Tug","Toomai's Dance","Gain Worker Elephant bonus resources 1000 times in a match.","images/achievements/tughluqdynasty_toomaisdance.png",1761841818,0,-1],[9003365,"Achievement\\A153_Civ_Tug","Elevated Theology","Have Healer Elephants heal 100 melee infantry units in a single match.","images/achievements/tughluqdynasty_evatedtheology.png",1761841818,0,-1],[9003366,"Achievement\\A154_Civ_Tug","Thunder and Trumpets","Trample with 25 Raider Elephants at the same time.","images/achievements/tughluqdynasty_thunderandtrumpets.png",1761841818,0,-1],[9003367,"Achievement\\A155_Civ_Mac","Great Things","Win a Multiplayer or Skirmish match with Macedonian Dynasty.","images/achievements/macedoniandynasty_alexanderspride.png",1761841818,0,-1],[9003368,"Achievement\\A156_Civ_Mac","Ready, Aim, Fire!","Kill 50 enemy units with flaming Springald bolts in a single match.","images/achievements/macedoniandynasty_readyaimfire.png",1761841818,0,-1],[9003369,"Achievement\\A157_Civ_Mac","By Odin's Beard","Gain 500 free units from the Varangian Warcamp.","images/achievements/macedoniandynasty_byodinsbeard.png",1761841818,0,-1],[9003370,"Achievement\\A158_Civ_Mac","Var-Aegean","Research 15 technologies from the Varangian Arsenal in a single match.","images/achievements/macedoniandynasty_aegeanvarangian.png",1761841818,0,-1],[9003371,"Achievement\\A159_Civ_Sen","The Great Unifier","Win a Multiplayer or Skirmish match with Sengoku Daimyo.","images/achievements/sengokudaimyo_thegreatunifier.png",1761841818,0,-1],[9003372,"Achievement\\A160_Civ_Sen","Itadakimasu!","Completely fill a Matsuri festival with Yatai carts.","images/achievements/sengokudaimyo_itadakimasu.png",1761841818,0,-1],[9003373,"Achievement\\A161_Civ_Sen","Daimyo Dance-Off","Defeat 50 Elephants with Kanabo Samurai.","images/achievements/sengokudaimyo_hittingtheclub.png",1761841818,0,-1],[9003374,"Achievement\\A162_Civ_Sen","Bombard Barrage","Destroy 150 buildings with Early Ozutsu.","images/achievements/sengokudaimyo_superbombardbros.png",1761841818,0,-1],[9003377,"Achievement\\A163_Civ_Gol","Just Like Batu Khan","Win a Multiplayer or Skirmish match with Golden Horde.","images/achievements/golden_horde_just_like_batu_khan.png",1761841818,0,-1],[9003380,"Achievement\\A164_Civ_Gol","Well Stocked","Produce 10,000 food from Stockyards in a single match.","images/achievements/goldenhorde_wellstocked.png",1761841818,0,-1],[9003390,"Achievement\\A165_Civ_Gol","Let\u2019s Goooooooooo!","Gain 250 free Kharash from the Kharash Golden Tent Edict.","images/achievements/goldenhorde_letsgooooo.png",1761841818,0,-1],[9003391,"Achievement\\A166_Civ_Gol","More Cuman than Cuman","Have 50 Torguud die in place of a Khan.","images/achievements/goldenhorde_morecumanthancuman.png",1761841818,0,-1]],"AWeMzUx0KbppssU08Md7lILKHaKNwG8KnapmuWTyr1tzOcPsBuMet4kuNIUklcZkgdRr/tmjWFm0am5gMd9/OG5zi7R1srZ1Vzp0ExY0Rvwwvf0A6O/AnjB1eQ0atCtQuFY8+16cYw7dfH8BsjNrhTcwnhjbww6t+NBK3czVAhNKeV6H9XmAh9NIk2D2nk9gKINW/NuV9hyE5hMfySAiEsQ0wedg0fe+jKiWo70GEU/E2SEpgtE6DlRU2cZn+Id0DGqTACxLU6dFB3SF7JkshXI66iVHq6yMcuT20DPHtGSpQg8+g+I9xX6ZBIfpxIG1YWTqBhoXC9+3Jh1Qeg1oVQ=="] \ No newline at end of file diff --git a/server/resources/responses/age4/automatchMaps.json b/server/resources/responses/age4/automatchMaps.json new file mode 100644 index 00000000..7ecc7d8f --- /dev/null +++ b/server/resources/responses/age4/automatchMaps.json @@ -0,0 +1 @@ +[0,[[1,"scen_gorge_tiny",2,2,1,"Gorge",null,""],[3,"scen_dry_arabia_tiny",2,2,1,"Dry Arabia",null,""],[5,"scen_sunkenlands_tiny",2,2,1,"Sunkenlands",null,""],[7,"scen_relic_river_tiny",2,2,1,"Relic River",null,""],[9,"scen_cliffside_tiny",2,2,1,"Cliffside",null,""],[11,"scen_ocean_gateway_tiny",2,2,1,null,null,""],[13,"scen_king_of_hill_tiny",2,2,1,"King of Hill",null,""],[15,"scen_ancient_spires_tiny",2,2,1,"Ancient Spires",null,""],[17,"scen_high_view_tiny",2,2,1,"High View",null,""],[19,"scen_four_lakes_tiny",2,2,1,"Four Lakes",null,""],[21,"scen_gorge_small",2,4,2,"Gorge",null,""],[27,"scen_dry_arabia_small",2,4,2,"Dry Arabia",null,""],[33,"scen_relic_river_small",2,4,2,"Relic River",null,""],[39,"scen_canyon_small",2,4,2,null,null,""],[45,"scen_dunes_small",2,4,2,"Prairie",null,""],[51,"scen_flankwoods_small",2,4,2,"Flankwoods",null,""],[57,"scen_clearing_small",2,4,2,"Mountain Clearing",null,""],[63,"scen_waterholes_small",2,4,2,"Waterholes",null,""],[69,"scen_lipany_small",2,4,2,"Lipany",null,""],[75,"scen_lake_side_small",2,4,2,"Lake Side",null,""],[23,"scen_gorge_medium",2,6,3,"Gorge",null,""],[29,"scen_dry_arabia_medium",2,6,3,"Dry Arabia",null,""],[35,"scen_relic_river_medium",2,6,3,"Relic River",null,""],[41,"scen_canyon_medium",2,6,3,null,null,""],[47,"scen_dunes_medium",2,6,3,"Prairie",null,""],[53,"scen_flankwoods_medium",2,6,3,"Flankwoods",null,""],[59,"scen_clearing_medium",2,6,3,"Mountain Clearing",null,""],[65,"scen_waterholes_medium",2,6,3,"Waterholes",null,""],[71,"scen_lipany_medium",2,6,3,"Lipany",null,""],[77,"scen_lake_side_medium",2,6,3,"Lake Side",null,""],[25,"scen_gorge_large",2,8,4,"Gorge",null,""],[31,"scen_dry_arabia_large",2,8,4,"Dry Arabia",null,""],[37,"scen_relic_river_large",2,8,4,"Relic River",null,""],[43,"scen_canyon_large",2,8,4,null,null,""],[49,"scen_dunes_large",2,8,4,"Prairie",null,""],[55,"scen_flankwoods_large",2,8,4,"Flankwoods",null,""],[61,"scen_clearing_large",2,8,4,"Mountain Clearing",null,""],[67,"scen_waterholes_large",2,8,4,"Waterholes",null,""],[73,"scen_lipany_large",2,8,4,"Lipany",null,""],[79,"scen_lake_side_large",2,8,4,"Lake Side",null,""],[92,"scen_african_waters_small",2,4,5,"African Waters",null,""],[196,"scen_altai_small",2,4,5,"Altai",null,""],[300,"scen_ancient_spires_small",2,4,5,"Ancient Spires",null,""],[404,"scen_boulder_bay_small",2,4,5,"Boulder Bay",null,""],[508,"scen_canal_small",2,4,5,"Canal",null,""],[612,"scen_cliffside_small",2,4,5,"Cliffside",null,""],[716,"scen_confluence_small",2,4,5,"Confluence",null,""],[820,"scen_continental_small",2,4,5,"Continental",null,""],[924,"scen_forest_ponds_small",2,4,5,"Forest Ponds",null,""],[1028,"scen_forts_medium",2,4,5,"Forts",null,""],[1132,"scen_french_pass_small",2,4,5,"French Pass",null,""],[1236,"scen_glade_small",2,4,5,"Glade",null,""],[1340,"scen_golden_heights_small",2,4,5,"Golden Heights",null,""],[1444,"scen_golden_pit_small",2,4,5,"Golden Pit",null,""],[1548,"scen_gorge_small",2,4,5,"Gorge",null,""],[1652,"scen_haywire_small",2,4,5,"Haywire",null,""],[1756,"scen_hidden_valley_small",2,4,5,"Hidden Valley",null,""],[1860,"scen_hideout_small",2,4,5,"Hideout",null,""],[1964,"scen_high_view_small",2,4,5,"High View",null,""],[2068,"scen_himeyama_small",2,4,5,"Himeyama",null,""],[2172,"scen_mediterranean_small",2,4,5,"Mediterranean",null,""],[2276,"scen_megarandom_small",2,4,5,"MegaRandom",null,""],[2380,"scen_migration_medium",2,4,5,"Migration",null,""],[2484,"scen_mountain_pass_small",2,4,5,"Mountain Pass",null,""],[2588,"scen_pit_small",2,4,5,"The Pit",null,""],[2692,"scen_thickets_small",2,4,5,"Thickets",null,""],[2796,"scen_turtle_ridge_small",2,4,5,"Turtle Ridge",null,""],[2900,"scen_volcanic_island_small",2,4,5,"Volcanic Island",null,""],[3004,"scen_waterholes_small",2,4,5,"Waterholes",null,""],[3108,"scen_dry_arabia_small",2,4,5,"Dry Arabia",null,""],[3212,"scen_rolling_rivers_small",2,4,5,"Rolling Rivers",null,""],[3316,"scen_lipany_small",2,4,5,"Lipany",null,""],[3420,"scen_mongolian_heights_small",2,4,5,"Mongolian Heights",null,""],[3524,"scen_clearing_small",2,4,5,"Mountain Clearing",null,""],[3628,"scen_ponds_small",2,4,5,"Wetlands",null,""],[3732,"scen_savannah_small",2,4,5,"Marshland",null,""],[3836,"scen_dunes_small",2,4,5,"Prairie",null,""],[3940,"scen_rocky_river_small",2,4,5,"Rocky River",null,""],[4044,"scen_hill_and_dale_small",2,4,5,"Hill and Dale",null,""],[4148,"scen_megarandom_land_small",2,4,5,"Land MegaRandom",null,""],[4252,"scen_socotra_small",2,4,5,"Socotra",null,""],[4356,"scen_nagari_small",2,4,5,"Nagari",null,""],[4460,"scen_lake_side_small",2,4,5,"Lake Side",null,""],[4564,"scen_atacama_small",2,4,5,"Atacama",null,""],[4668,"scen_flankwoods_small",2,4,5,"Flankwoods",null,""],[4772,"scen_carmel_small",2,4,5,"Carmel",null,""],[4876,"scen_four_lakes_small",2,4,5,"Four Lakes",null,""],[4980,"scen_enlightened_horizon_small",2,4,5,"Enlightened Horizon",null,""],[5084,"scen_archipelago_medium",2,4,5,"Archipelago",null,""],[5188,"scen_hedgemaze_small",2,4,5,"Hedgemaze",null,""],[5292,"scen_black_forest_medium",2,4,5,"Black Forest",null,""],[5396,"scen_highwoods_small",2,4,5,"Highwoods",null,""],[5500,"scen_king_of_hill_small",2,4,5,"King of Hill",null,""],[5604,"scen_mountain_lakes_small",2,4,5,"Mountain Lakes",null,""],[5708,"scen_relic_river_small",2,4,5,"Relic River",null,""],[5812,"scen_rugged_small",2,4,5,"Rugged",null,""],[5916,"scen_shadow_lake_small",2,4,5,"Shadow Lake",null,""],[6020,"scen_sunkenlands_small",2,4,5,"Sunkenlands",null,""],[6124,"scen_wasteland_small",2,4,5,"Wasteland",null,""],[6228,"scen_waterlanes_small",2,4,5,"Waterlanes",null,""],[6332,"scen_canyon_small",2,4,5,null,null,""],[6436,"scen_cliffsanity_small",2,4,5,null,null,""],[6540,"scen_craters_small",2,4,5,null,null,""],[6644,"scen_dungeon_small",2,4,5,null,null,""],[6748,"scen_michi_small",2,4,5,null,null,""],[6852,"scen_ocean_gateway_small",2,4,5,null,null,""],[99,"scen_african_waters_small",2,4,6,"African Waters",null,""],[203,"scen_altai_small",2,4,6,"Altai",null,""],[307,"scen_ancient_spires_small",2,4,6,"Ancient Spires",null,""],[411,"scen_boulder_bay_small",2,4,6,"Boulder Bay",null,""],[515,"scen_canal_small",2,4,6,"Canal",null,""],[619,"scen_cliffside_small",2,4,6,"Cliffside",null,""],[723,"scen_confluence_small",2,4,6,"Confluence",null,""],[827,"scen_continental_small",2,4,6,"Continental",null,""],[931,"scen_forest_ponds_small",2,4,6,"Forest Ponds",null,""],[1035,"scen_forts_medium",2,4,6,"Forts",null,""],[1139,"scen_french_pass_small",2,4,6,"French Pass",null,""],[1243,"scen_glade_small",2,4,6,"Glade",null,""],[1347,"scen_golden_heights_small",2,4,6,"Golden Heights",null,""],[1451,"scen_golden_pit_small",2,4,6,"Golden Pit",null,""],[1555,"scen_gorge_small",2,4,6,"Gorge",null,""],[1659,"scen_haywire_small",2,4,6,"Haywire",null,""],[1763,"scen_hidden_valley_small",2,4,6,"Hidden Valley",null,""],[1867,"scen_hideout_small",2,4,6,"Hideout",null,""],[1971,"scen_high_view_small",2,4,6,"High View",null,""],[2075,"scen_himeyama_small",2,4,6,"Himeyama",null,""],[2179,"scen_mediterranean_small",2,4,6,"Mediterranean",null,""],[2283,"scen_megarandom_small",2,4,6,"MegaRandom",null,""],[2387,"scen_migration_medium",2,4,6,"Migration",null,""],[2491,"scen_mountain_pass_small",2,4,6,"Mountain Pass",null,""],[2595,"scen_pit_small",2,4,6,"The Pit",null,""],[2699,"scen_thickets_small",2,4,6,"Thickets",null,""],[2803,"scen_turtle_ridge_small",2,4,6,"Turtle Ridge",null,""],[2907,"scen_volcanic_island_small",2,4,6,"Volcanic Island",null,""],[3011,"scen_waterholes_small",2,4,6,"Waterholes",null,""],[3115,"scen_dry_arabia_small",2,4,6,"Dry Arabia",null,""],[3219,"scen_rolling_rivers_small",2,4,6,"Rolling Rivers",null,""],[3323,"scen_lipany_small",2,4,6,"Lipany",null,""],[3427,"scen_mongolian_heights_small",2,4,6,"Mongolian Heights",null,""],[3531,"scen_clearing_small",2,4,6,"Mountain Clearing",null,""],[3635,"scen_ponds_small",2,4,6,"Wetlands",null,""],[3739,"scen_savannah_small",2,4,6,"Marshland",null,""],[3843,"scen_dunes_small",2,4,6,"Prairie",null,""],[3947,"scen_rocky_river_small",2,4,6,"Rocky River",null,""],[4051,"scen_hill_and_dale_small",2,4,6,"Hill and Dale",null,""],[4155,"scen_megarandom_land_small",2,4,6,"Land MegaRandom",null,""],[4259,"scen_socotra_small",2,4,6,"Socotra",null,""],[4363,"scen_nagari_small",2,4,6,"Nagari",null,""],[4467,"scen_lake_side_small",2,4,6,"Lake Side",null,""],[4571,"scen_atacama_small",2,4,6,"Atacama",null,""],[4675,"scen_flankwoods_small",2,4,6,"Flankwoods",null,""],[4779,"scen_carmel_small",2,4,6,"Carmel",null,""],[4883,"scen_four_lakes_small",2,4,6,"Four Lakes",null,""],[4987,"scen_enlightened_horizon_small",2,4,6,"Enlightened Horizon",null,""],[5091,"scen_archipelago_medium",2,4,6,"Archipelago",null,""],[5195,"scen_hedgemaze_small",2,4,6,"Hedgemaze",null,""],[5299,"scen_black_forest_medium",2,4,6,"Black Forest",null,""],[5403,"scen_highwoods_small",2,4,6,"Highwoods",null,""],[5507,"scen_king_of_hill_small",2,4,6,"King of Hill",null,""],[5611,"scen_mountain_lakes_small",2,4,6,"Mountain Lakes",null,""],[5715,"scen_relic_river_small",2,4,6,"Relic River",null,""],[5819,"scen_rugged_small",2,4,6,"Rugged",null,""],[5923,"scen_shadow_lake_small",2,4,6,"Shadow Lake",null,""],[6027,"scen_sunkenlands_small",2,4,6,"Sunkenlands",null,""],[6131,"scen_wasteland_small",2,4,6,"Wasteland",null,""],[6235,"scen_waterlanes_small",2,4,6,"Waterlanes",null,""],[6339,"scen_canyon_small",2,4,6,null,null,""],[6443,"scen_cliffsanity_small",2,4,6,null,null,""],[6547,"scen_craters_small",2,4,6,null,null,""],[6651,"scen_dungeon_small",2,4,6,null,null,""],[6755,"scen_michi_small",2,4,6,null,null,""],[6859,"scen_ocean_gateway_small",2,4,6,null,null,""],[97,"scen_african_waters_small",2,4,7,"African Waters",null,""],[201,"scen_altai_small",2,4,7,"Altai",null,""],[305,"scen_ancient_spires_small",2,4,7,"Ancient Spires",null,""],[409,"scen_boulder_bay_small",2,4,7,"Boulder Bay",null,""],[513,"scen_canal_small",2,4,7,"Canal",null,""],[617,"scen_cliffside_small",2,4,7,"Cliffside",null,""],[721,"scen_confluence_small",2,4,7,"Confluence",null,""],[825,"scen_continental_small",2,4,7,"Continental",null,""],[929,"scen_forest_ponds_small",2,4,7,"Forest Ponds",null,""],[1033,"scen_forts_medium",2,4,7,"Forts",null,""],[1137,"scen_french_pass_small",2,4,7,"French Pass",null,""],[1241,"scen_glade_small",2,4,7,"Glade",null,""],[1345,"scen_golden_heights_small",2,4,7,"Golden Heights",null,""],[1449,"scen_golden_pit_small",2,4,7,"Golden Pit",null,""],[1553,"scen_gorge_small",2,4,7,"Gorge",null,""],[1657,"scen_haywire_small",2,4,7,"Haywire",null,""],[1761,"scen_hidden_valley_small",2,4,7,"Hidden Valley",null,""],[1865,"scen_hideout_small",2,4,7,"Hideout",null,""],[1969,"scen_high_view_small",2,4,7,"High View",null,""],[2073,"scen_himeyama_small",2,4,7,"Himeyama",null,""],[2177,"scen_mediterranean_small",2,4,7,"Mediterranean",null,""],[2281,"scen_megarandom_small",2,4,7,"MegaRandom",null,""],[2385,"scen_migration_medium",2,4,7,"Migration",null,""],[2489,"scen_mountain_pass_small",2,4,7,"Mountain Pass",null,""],[2593,"scen_pit_small",2,4,7,"The Pit",null,""],[2697,"scen_thickets_small",2,4,7,"Thickets",null,""],[2801,"scen_turtle_ridge_small",2,4,7,"Turtle Ridge",null,""],[2905,"scen_volcanic_island_small",2,4,7,"Volcanic Island",null,""],[3009,"scen_waterholes_small",2,4,7,"Waterholes",null,""],[3113,"scen_dry_arabia_small",2,4,7,"Dry Arabia",null,""],[3217,"scen_rolling_rivers_small",2,4,7,"Rolling Rivers",null,""],[3321,"scen_lipany_small",2,4,7,"Lipany",null,""],[3425,"scen_mongolian_heights_small",2,4,7,"Mongolian Heights",null,""],[3529,"scen_clearing_small",2,4,7,"Mountain Clearing",null,""],[3633,"scen_ponds_small",2,4,7,"Wetlands",null,""],[3737,"scen_savannah_small",2,4,7,"Marshland",null,""],[3841,"scen_dunes_small",2,4,7,"Prairie",null,""],[3945,"scen_rocky_river_small",2,4,7,"Rocky River",null,""],[4049,"scen_hill_and_dale_small",2,4,7,"Hill and Dale",null,""],[4153,"scen_megarandom_land_small",2,4,7,"Land MegaRandom",null,""],[4257,"scen_socotra_small",2,4,7,"Socotra",null,""],[4361,"scen_nagari_small",2,4,7,"Nagari",null,""],[4465,"scen_lake_side_small",2,4,7,"Lake Side",null,""],[4569,"scen_atacama_small",2,4,7,"Atacama",null,""],[4673,"scen_flankwoods_small",2,4,7,"Flankwoods",null,""],[4777,"scen_carmel_small",2,4,7,"Carmel",null,""],[4881,"scen_four_lakes_small",2,4,7,"Four Lakes",null,""],[4985,"scen_enlightened_horizon_small",2,4,7,"Enlightened Horizon",null,""],[5089,"scen_archipelago_medium",2,4,7,"Archipelago",null,""],[5193,"scen_hedgemaze_small",2,4,7,"Hedgemaze",null,""],[5297,"scen_black_forest_medium",2,4,7,"Black Forest",null,""],[5401,"scen_highwoods_small",2,4,7,"Highwoods",null,""],[5505,"scen_king_of_hill_small",2,4,7,"King of Hill",null,""],[5609,"scen_mountain_lakes_small",2,4,7,"Mountain Lakes",null,""],[5713,"scen_relic_river_small",2,4,7,"Relic River",null,""],[5817,"scen_rugged_small",2,4,7,"Rugged",null,""],[5921,"scen_shadow_lake_small",2,4,7,"Shadow Lake",null,""],[6025,"scen_sunkenlands_small",2,4,7,"Sunkenlands",null,""],[6129,"scen_wasteland_small",2,4,7,"Wasteland",null,""],[6233,"scen_waterlanes_small",2,4,7,"Waterlanes",null,""],[6337,"scen_canyon_small",2,4,7,null,null,""],[6441,"scen_cliffsanity_small",2,4,7,null,null,""],[6545,"scen_craters_small",2,4,7,null,null,""],[6649,"scen_dungeon_small",2,4,7,null,null,""],[6753,"scen_michi_small",2,4,7,null,null,""],[6857,"scen_ocean_gateway_small",2,4,7,null,null,""],[95,"scen_african_waters_small",2,4,8,"African Waters",null,""],[199,"scen_altai_small",2,4,8,"Altai",null,""],[303,"scen_ancient_spires_small",2,4,8,"Ancient Spires",null,""],[407,"scen_boulder_bay_small",2,4,8,"Boulder Bay",null,""],[511,"scen_canal_small",2,4,8,"Canal",null,""],[615,"scen_cliffside_small",2,4,8,"Cliffside",null,""],[719,"scen_confluence_small",2,4,8,"Confluence",null,""],[823,"scen_continental_small",2,4,8,"Continental",null,""],[927,"scen_forest_ponds_small",2,4,8,"Forest Ponds",null,""],[1031,"scen_forts_medium",2,4,8,"Forts",null,""],[1135,"scen_french_pass_small",2,4,8,"French Pass",null,""],[1239,"scen_glade_small",2,4,8,"Glade",null,""],[1343,"scen_golden_heights_small",2,4,8,"Golden Heights",null,""],[1447,"scen_golden_pit_small",2,4,8,"Golden Pit",null,""],[1551,"scen_gorge_small",2,4,8,"Gorge",null,""],[1655,"scen_haywire_small",2,4,8,"Haywire",null,""],[1759,"scen_hidden_valley_small",2,4,8,"Hidden Valley",null,""],[1863,"scen_hideout_small",2,4,8,"Hideout",null,""],[1967,"scen_high_view_small",2,4,8,"High View",null,""],[2071,"scen_himeyama_small",2,4,8,"Himeyama",null,""],[2175,"scen_mediterranean_small",2,4,8,"Mediterranean",null,""],[2279,"scen_megarandom_small",2,4,8,"MegaRandom",null,""],[2383,"scen_migration_medium",2,4,8,"Migration",null,""],[2487,"scen_mountain_pass_small",2,4,8,"Mountain Pass",null,""],[2591,"scen_pit_small",2,4,8,"The Pit",null,""],[2695,"scen_thickets_small",2,4,8,"Thickets",null,""],[2799,"scen_turtle_ridge_small",2,4,8,"Turtle Ridge",null,""],[2903,"scen_volcanic_island_small",2,4,8,"Volcanic Island",null,""],[3007,"scen_waterholes_small",2,4,8,"Waterholes",null,""],[3111,"scen_dry_arabia_small",2,4,8,"Dry Arabia",null,""],[3215,"scen_rolling_rivers_small",2,4,8,"Rolling Rivers",null,""],[3319,"scen_lipany_small",2,4,8,"Lipany",null,""],[3423,"scen_mongolian_heights_small",2,4,8,"Mongolian Heights",null,""],[3527,"scen_clearing_small",2,4,8,"Mountain Clearing",null,""],[3631,"scen_ponds_small",2,4,8,"Wetlands",null,""],[3735,"scen_savannah_small",2,4,8,"Marshland",null,""],[3839,"scen_dunes_small",2,4,8,"Prairie",null,""],[3943,"scen_rocky_river_small",2,4,8,"Rocky River",null,""],[4047,"scen_hill_and_dale_small",2,4,8,"Hill and Dale",null,""],[4151,"scen_megarandom_land_small",2,4,8,"Land MegaRandom",null,""],[4255,"scen_socotra_small",2,4,8,"Socotra",null,""],[4359,"scen_nagari_small",2,4,8,"Nagari",null,""],[4463,"scen_lake_side_small",2,4,8,"Lake Side",null,""],[4567,"scen_atacama_small",2,4,8,"Atacama",null,""],[4671,"scen_flankwoods_small",2,4,8,"Flankwoods",null,""],[4775,"scen_carmel_small",2,4,8,"Carmel",null,""],[4879,"scen_four_lakes_small",2,4,8,"Four Lakes",null,""],[4983,"scen_enlightened_horizon_small",2,4,8,"Enlightened Horizon",null,""],[5087,"scen_archipelago_medium",2,4,8,"Archipelago",null,""],[5191,"scen_hedgemaze_small",2,4,8,"Hedgemaze",null,""],[5295,"scen_black_forest_medium",2,4,8,"Black Forest",null,""],[5399,"scen_highwoods_small",2,4,8,"Highwoods",null,""],[5503,"scen_king_of_hill_small",2,4,8,"King of Hill",null,""],[5607,"scen_mountain_lakes_small",2,4,8,"Mountain Lakes",null,""],[5711,"scen_relic_river_small",2,4,8,"Relic River",null,""],[5815,"scen_rugged_small",2,4,8,"Rugged",null,""],[5919,"scen_shadow_lake_small",2,4,8,"Shadow Lake",null,""],[6023,"scen_sunkenlands_small",2,4,8,"Sunkenlands",null,""],[6127,"scen_wasteland_small",2,4,8,"Wasteland",null,""],[6231,"scen_waterlanes_small",2,4,8,"Waterlanes",null,""],[6335,"scen_canyon_small",2,4,8,null,null,""],[6439,"scen_cliffsanity_small",2,4,8,null,null,""],[6543,"scen_craters_small",2,4,8,null,null,""],[6647,"scen_dungeon_small",2,4,8,null,null,""],[6751,"scen_michi_small",2,4,8,null,null,""],[6855,"scen_ocean_gateway_small",2,4,8,null,null,""],[105,"scen_african_waters_medium",2,6,9,"African Waters",null,""],[209,"scen_altai_medium",2,6,9,"Altai",null,""],[313,"scen_ancient_spires_medium",2,6,9,"Ancient Spires",null,""],[417,"scen_boulder_bay_medium",2,6,9,"Boulder Bay",null,""],[521,"scen_canal_medium",2,6,9,"Canal",null,""],[625,"scen_cliffside_medium",2,6,9,"Cliffside",null,""],[729,"scen_confluence_medium",2,6,9,"Confluence",null,""],[833,"scen_continental_medium",2,6,9,"Continental",null,""],[937,"scen_forest_ponds_medium",2,6,9,"Forest Ponds",null,""],[1041,"scen_forts_large",2,6,9,"Forts",null,""],[1145,"scen_french_pass_medium",2,6,9,"French Pass",null,""],[1249,"scen_glade_medium",2,6,9,"Glade",null,""],[1353,"scen_golden_heights_medium",2,6,9,"Golden Heights",null,""],[1457,"scen_golden_pit_medium",2,6,9,"Golden Pit",null,""],[1561,"scen_gorge_medium",2,6,9,"Gorge",null,""],[1665,"scen_haywire_medium",2,6,9,"Haywire",null,""],[1769,"scen_hidden_valley_medium",2,6,9,"Hidden Valley",null,""],[1873,"scen_hideout_medium",2,6,9,"Hideout",null,""],[1977,"scen_high_view_medium",2,6,9,"High View",null,""],[2081,"scen_himeyama_medium",2,6,9,"Himeyama",null,""],[2185,"scen_mediterranean_medium",2,6,9,"Mediterranean",null,""],[2289,"scen_megarandom_medium",2,6,9,"MegaRandom",null,""],[2393,"scen_migration_large",2,6,9,"Migration",null,""],[2497,"scen_mountain_pass_medium",2,6,9,"Mountain Pass",null,""],[2601,"scen_pit_medium",2,6,9,"The Pit",null,""],[2705,"scen_thickets_medium",2,6,9,"Thickets",null,""],[2809,"scen_turtle_ridge_medium",2,6,9,"Turtle Ridge",null,""],[2913,"scen_volcanic_island_medium",2,6,9,"Volcanic Island",null,""],[3017,"scen_waterholes_medium",2,6,9,"Waterholes",null,""],[3121,"scen_dry_arabia_medium",2,6,9,"Dry Arabia",null,""],[3225,"scen_rolling_rivers_medium",2,6,9,"Rolling Rivers",null,""],[3329,"scen_lipany_medium",2,6,9,"Lipany",null,""],[3433,"scen_mongolian_heights_medium",2,6,9,"Mongolian Heights",null,""],[3537,"scen_clearing_medium",2,6,9,"Mountain Clearing",null,""],[3641,"scen_ponds_medium",2,6,9,"Wetlands",null,""],[3745,"scen_savannah_medium",2,6,9,"Marshland",null,""],[3849,"scen_dunes_medium",2,6,9,"Prairie",null,""],[3953,"scen_rocky_river_medium",2,6,9,"Rocky River",null,""],[4057,"scen_hill_and_dale_medium",2,6,9,"Hill and Dale",null,""],[4161,"scen_megarandom_land_medium",2,6,9,"Land MegaRandom",null,""],[4265,"scen_socotra_medium",2,6,9,"Socotra",null,""],[4369,"scen_nagari_medium",2,6,9,"Nagari",null,""],[4473,"scen_lake_side_medium",2,6,9,"Lake Side",null,""],[4577,"scen_atacama_medium",2,6,9,"Atacama",null,""],[4681,"scen_flankwoods_medium",2,6,9,"Flankwoods",null,""],[4785,"scen_carmel_medium",2,6,9,"Carmel",null,""],[4889,"scen_four_lakes_medium",2,6,9,"Four Lakes",null,""],[4993,"scen_enlightened_horizon_medium",2,6,9,"Enlightened Horizon",null,""],[5097,"scen_archipelago_large",2,6,9,"Archipelago",null,""],[5201,"scen_hedgemaze_medium",2,6,9,"Hedgemaze",null,""],[5305,"scen_black_forest_large",2,6,9,"Black Forest",null,""],[5409,"scen_highwoods_medium",2,6,9,"Highwoods",null,""],[5513,"scen_king_of_hill_medium",2,6,9,"King of Hill",null,""],[5617,"scen_mountain_lakes_medium",2,6,9,"Mountain Lakes",null,""],[5721,"scen_relic_river_medium",2,6,9,"Relic River",null,""],[5825,"scen_rugged_medium",2,6,9,"Rugged",null,""],[5929,"scen_shadow_lake_medium",2,6,9,"Shadow Lake",null,""],[6033,"scen_sunkenlands_medium",2,6,9,"Sunkenlands",null,""],[6137,"scen_wasteland_medium",2,6,9,"Wasteland",null,""],[6241,"scen_waterlanes_medium",2,6,9,"Waterlanes",null,""],[6345,"scen_canyon_medium",2,6,9,null,null,""],[6449,"scen_cliffsanity_medium",2,6,9,null,null,""],[6553,"scen_craters_medium",2,6,9,null,null,""],[6657,"scen_dungeon_medium",2,6,9,null,null,""],[6761,"scen_michi_medium",2,6,9,null,null,""],[6865,"scen_ocean_gateway_medium",2,6,9,null,null,""],[111,"scen_african_waters_medium",2,6,10,"African Waters",null,""],[215,"scen_altai_medium",2,6,10,"Altai",null,""],[319,"scen_ancient_spires_medium",2,6,10,"Ancient Spires",null,""],[423,"scen_boulder_bay_medium",2,6,10,"Boulder Bay",null,""],[527,"scen_canal_medium",2,6,10,"Canal",null,""],[631,"scen_cliffside_medium",2,6,10,"Cliffside",null,""],[735,"scen_confluence_medium",2,6,10,"Confluence",null,""],[839,"scen_continental_medium",2,6,10,"Continental",null,""],[943,"scen_forest_ponds_medium",2,6,10,"Forest Ponds",null,""],[1047,"scen_forts_large",2,6,10,"Forts",null,""],[1151,"scen_french_pass_medium",2,6,10,"French Pass",null,""],[1255,"scen_glade_medium",2,6,10,"Glade",null,""],[1359,"scen_golden_heights_medium",2,6,10,"Golden Heights",null,""],[1463,"scen_golden_pit_medium",2,6,10,"Golden Pit",null,""],[1567,"scen_gorge_medium",2,6,10,"Gorge",null,""],[1671,"scen_haywire_medium",2,6,10,"Haywire",null,""],[1775,"scen_hidden_valley_medium",2,6,10,"Hidden Valley",null,""],[1879,"scen_hideout_medium",2,6,10,"Hideout",null,""],[1983,"scen_high_view_medium",2,6,10,"High View",null,""],[2087,"scen_himeyama_medium",2,6,10,"Himeyama",null,""],[2191,"scen_mediterranean_medium",2,6,10,"Mediterranean",null,""],[2295,"scen_megarandom_medium",2,6,10,"MegaRandom",null,""],[2399,"scen_migration_large",2,6,10,"Migration",null,""],[2503,"scen_mountain_pass_medium",2,6,10,"Mountain Pass",null,""],[2607,"scen_pit_medium",2,6,10,"The Pit",null,""],[2711,"scen_thickets_medium",2,6,10,"Thickets",null,""],[2815,"scen_turtle_ridge_medium",2,6,10,"Turtle Ridge",null,""],[2919,"scen_volcanic_island_medium",2,6,10,"Volcanic Island",null,""],[3023,"scen_waterholes_medium",2,6,10,"Waterholes",null,""],[3127,"scen_dry_arabia_medium",2,6,10,"Dry Arabia",null,""],[3231,"scen_rolling_rivers_medium",2,6,10,"Rolling Rivers",null,""],[3335,"scen_lipany_medium",2,6,10,"Lipany",null,""],[3439,"scen_mongolian_heights_medium",2,6,10,"Mongolian Heights",null,""],[3543,"scen_clearing_medium",2,6,10,"Mountain Clearing",null,""],[3647,"scen_ponds_medium",2,6,10,"Wetlands",null,""],[3751,"scen_savannah_medium",2,6,10,"Marshland",null,""],[3855,"scen_dunes_medium",2,6,10,"Prairie",null,""],[3959,"scen_rocky_river_medium",2,6,10,"Rocky River",null,""],[4063,"scen_hill_and_dale_medium",2,6,10,"Hill and Dale",null,""],[4167,"scen_megarandom_land_medium",2,6,10,"Land MegaRandom",null,""],[4271,"scen_socotra_medium",2,6,10,"Socotra",null,""],[4375,"scen_nagari_medium",2,6,10,"Nagari",null,""],[4479,"scen_lake_side_medium",2,6,10,"Lake Side",null,""],[4583,"scen_atacama_medium",2,6,10,"Atacama",null,""],[4687,"scen_flankwoods_medium",2,6,10,"Flankwoods",null,""],[4791,"scen_carmel_medium",2,6,10,"Carmel",null,""],[4895,"scen_four_lakes_medium",2,6,10,"Four Lakes",null,""],[4999,"scen_enlightened_horizon_medium",2,6,10,"Enlightened Horizon",null,""],[5103,"scen_archipelago_large",2,6,10,"Archipelago",null,""],[5207,"scen_hedgemaze_medium",2,6,10,"Hedgemaze",null,""],[5311,"scen_black_forest_large",2,6,10,"Black Forest",null,""],[5415,"scen_highwoods_medium",2,6,10,"Highwoods",null,""],[5519,"scen_king_of_hill_medium",2,6,10,"King of Hill",null,""],[5623,"scen_mountain_lakes_medium",2,6,10,"Mountain Lakes",null,""],[5727,"scen_relic_river_medium",2,6,10,"Relic River",null,""],[5831,"scen_rugged_medium",2,6,10,"Rugged",null,""],[5935,"scen_shadow_lake_medium",2,6,10,"Shadow Lake",null,""],[6039,"scen_sunkenlands_medium",2,6,10,"Sunkenlands",null,""],[6143,"scen_wasteland_medium",2,6,10,"Wasteland",null,""],[6247,"scen_waterlanes_medium",2,6,10,"Waterlanes",null,""],[6351,"scen_canyon_medium",2,6,10,null,null,""],[6455,"scen_cliffsanity_medium",2,6,10,null,null,""],[6559,"scen_craters_medium",2,6,10,null,null,""],[6663,"scen_dungeon_medium",2,6,10,null,null,""],[6767,"scen_michi_medium",2,6,10,null,null,""],[6871,"scen_ocean_gateway_medium",2,6,10,null,null,""],[109,"scen_african_waters_medium",2,6,11,"African Waters",null,""],[213,"scen_altai_medium",2,6,11,"Altai",null,""],[317,"scen_ancient_spires_medium",2,6,11,"Ancient Spires",null,""],[421,"scen_boulder_bay_medium",2,6,11,"Boulder Bay",null,""],[525,"scen_canal_medium",2,6,11,"Canal",null,""],[629,"scen_cliffside_medium",2,6,11,"Cliffside",null,""],[733,"scen_confluence_medium",2,6,11,"Confluence",null,""],[837,"scen_continental_medium",2,6,11,"Continental",null,""],[941,"scen_forest_ponds_medium",2,6,11,"Forest Ponds",null,""],[1045,"scen_forts_large",2,6,11,"Forts",null,""],[1149,"scen_french_pass_medium",2,6,11,"French Pass",null,""],[1253,"scen_glade_medium",2,6,11,"Glade",null,""],[1357,"scen_golden_heights_medium",2,6,11,"Golden Heights",null,""],[1461,"scen_golden_pit_medium",2,6,11,"Golden Pit",null,""],[1565,"scen_gorge_medium",2,6,11,"Gorge",null,""],[1669,"scen_haywire_medium",2,6,11,"Haywire",null,""],[1773,"scen_hidden_valley_medium",2,6,11,"Hidden Valley",null,""],[1877,"scen_hideout_medium",2,6,11,"Hideout",null,""],[1981,"scen_high_view_medium",2,6,11,"High View",null,""],[2085,"scen_himeyama_medium",2,6,11,"Himeyama",null,""],[2189,"scen_mediterranean_medium",2,6,11,"Mediterranean",null,""],[2293,"scen_megarandom_medium",2,6,11,"MegaRandom",null,""],[2397,"scen_migration_large",2,6,11,"Migration",null,""],[2501,"scen_mountain_pass_medium",2,6,11,"Mountain Pass",null,""],[2605,"scen_pit_medium",2,6,11,"The Pit",null,""],[2709,"scen_thickets_medium",2,6,11,"Thickets",null,""],[2813,"scen_turtle_ridge_medium",2,6,11,"Turtle Ridge",null,""],[2917,"scen_volcanic_island_medium",2,6,11,"Volcanic Island",null,""],[3021,"scen_waterholes_medium",2,6,11,"Waterholes",null,""],[3125,"scen_dry_arabia_medium",2,6,11,"Dry Arabia",null,""],[3229,"scen_rolling_rivers_medium",2,6,11,"Rolling Rivers",null,""],[3333,"scen_lipany_medium",2,6,11,"Lipany",null,""],[3437,"scen_mongolian_heights_medium",2,6,11,"Mongolian Heights",null,""],[3541,"scen_clearing_medium",2,6,11,"Mountain Clearing",null,""],[3645,"scen_ponds_medium",2,6,11,"Wetlands",null,""],[3749,"scen_savannah_medium",2,6,11,"Marshland",null,""],[3853,"scen_dunes_medium",2,6,11,"Prairie",null,""],[3957,"scen_rocky_river_medium",2,6,11,"Rocky River",null,""],[4061,"scen_hill_and_dale_medium",2,6,11,"Hill and Dale",null,""],[4165,"scen_megarandom_land_medium",2,6,11,"Land MegaRandom",null,""],[4269,"scen_socotra_medium",2,6,11,"Socotra",null,""],[4373,"scen_nagari_medium",2,6,11,"Nagari",null,""],[4477,"scen_lake_side_medium",2,6,11,"Lake Side",null,""],[4581,"scen_atacama_medium",2,6,11,"Atacama",null,""],[4685,"scen_flankwoods_medium",2,6,11,"Flankwoods",null,""],[4789,"scen_carmel_medium",2,6,11,"Carmel",null,""],[4893,"scen_four_lakes_medium",2,6,11,"Four Lakes",null,""],[4997,"scen_enlightened_horizon_medium",2,6,11,"Enlightened Horizon",null,""],[5101,"scen_archipelago_large",2,6,11,"Archipelago",null,""],[5205,"scen_hedgemaze_medium",2,6,11,"Hedgemaze",null,""],[5309,"scen_black_forest_large",2,6,11,"Black Forest",null,""],[5413,"scen_highwoods_medium",2,6,11,"Highwoods",null,""],[5517,"scen_king_of_hill_medium",2,6,11,"King of Hill",null,""],[5621,"scen_mountain_lakes_medium",2,6,11,"Mountain Lakes",null,""],[5725,"scen_relic_river_medium",2,6,11,"Relic River",null,""],[5829,"scen_rugged_medium",2,6,11,"Rugged",null,""],[5933,"scen_shadow_lake_medium",2,6,11,"Shadow Lake",null,""],[6037,"scen_sunkenlands_medium",2,6,11,"Sunkenlands",null,""],[6141,"scen_wasteland_medium",2,6,11,"Wasteland",null,""],[6245,"scen_waterlanes_medium",2,6,11,"Waterlanes",null,""],[6349,"scen_canyon_medium",2,6,11,null,null,""],[6453,"scen_cliffsanity_medium",2,6,11,null,null,""],[6557,"scen_craters_medium",2,6,11,null,null,""],[6661,"scen_dungeon_medium",2,6,11,null,null,""],[6765,"scen_michi_medium",2,6,11,null,null,""],[6869,"scen_ocean_gateway_medium",2,6,11,null,null,""],[107,"scen_african_waters_medium",2,6,12,"African Waters",null,""],[211,"scen_altai_medium",2,6,12,"Altai",null,""],[315,"scen_ancient_spires_medium",2,6,12,"Ancient Spires",null,""],[419,"scen_boulder_bay_medium",2,6,12,"Boulder Bay",null,""],[523,"scen_canal_medium",2,6,12,"Canal",null,""],[627,"scen_cliffside_medium",2,6,12,"Cliffside",null,""],[731,"scen_confluence_medium",2,6,12,"Confluence",null,""],[835,"scen_continental_medium",2,6,12,"Continental",null,""],[939,"scen_forest_ponds_medium",2,6,12,"Forest Ponds",null,""],[1043,"scen_forts_large",2,6,12,"Forts",null,""],[1147,"scen_french_pass_medium",2,6,12,"French Pass",null,""],[1251,"scen_glade_medium",2,6,12,"Glade",null,""],[1355,"scen_golden_heights_medium",2,6,12,"Golden Heights",null,""],[1459,"scen_golden_pit_medium",2,6,12,"Golden Pit",null,""],[1563,"scen_gorge_medium",2,6,12,"Gorge",null,""],[1667,"scen_haywire_medium",2,6,12,"Haywire",null,""],[1771,"scen_hidden_valley_medium",2,6,12,"Hidden Valley",null,""],[1875,"scen_hideout_medium",2,6,12,"Hideout",null,""],[1979,"scen_high_view_medium",2,6,12,"High View",null,""],[2083,"scen_himeyama_medium",2,6,12,"Himeyama",null,""],[2187,"scen_mediterranean_medium",2,6,12,"Mediterranean",null,""],[2291,"scen_megarandom_medium",2,6,12,"MegaRandom",null,""],[2395,"scen_migration_large",2,6,12,"Migration",null,""],[2499,"scen_mountain_pass_medium",2,6,12,"Mountain Pass",null,""],[2603,"scen_pit_medium",2,6,12,"The Pit",null,""],[2707,"scen_thickets_medium",2,6,12,"Thickets",null,""],[2811,"scen_turtle_ridge_medium",2,6,12,"Turtle Ridge",null,""],[2915,"scen_volcanic_island_medium",2,6,12,"Volcanic Island",null,""],[3019,"scen_waterholes_medium",2,6,12,"Waterholes",null,""],[3123,"scen_dry_arabia_medium",2,6,12,"Dry Arabia",null,""],[3227,"scen_rolling_rivers_medium",2,6,12,"Rolling Rivers",null,""],[3331,"scen_lipany_medium",2,6,12,"Lipany",null,""],[3435,"scen_mongolian_heights_medium",2,6,12,"Mongolian Heights",null,""],[3539,"scen_clearing_medium",2,6,12,"Mountain Clearing",null,""],[3643,"scen_ponds_medium",2,6,12,"Wetlands",null,""],[3747,"scen_savannah_medium",2,6,12,"Marshland",null,""],[3851,"scen_dunes_medium",2,6,12,"Prairie",null,""],[3955,"scen_rocky_river_medium",2,6,12,"Rocky River",null,""],[4059,"scen_hill_and_dale_medium",2,6,12,"Hill and Dale",null,""],[4163,"scen_megarandom_land_medium",2,6,12,"Land MegaRandom",null,""],[4267,"scen_socotra_medium",2,6,12,"Socotra",null,""],[4371,"scen_nagari_medium",2,6,12,"Nagari",null,""],[4475,"scen_lake_side_medium",2,6,12,"Lake Side",null,""],[4579,"scen_atacama_medium",2,6,12,"Atacama",null,""],[4683,"scen_flankwoods_medium",2,6,12,"Flankwoods",null,""],[4787,"scen_carmel_medium",2,6,12,"Carmel",null,""],[4891,"scen_four_lakes_medium",2,6,12,"Four Lakes",null,""],[4995,"scen_enlightened_horizon_medium",2,6,12,"Enlightened Horizon",null,""],[5099,"scen_archipelago_large",2,6,12,"Archipelago",null,""],[5203,"scen_hedgemaze_medium",2,6,12,"Hedgemaze",null,""],[5307,"scen_black_forest_large",2,6,12,"Black Forest",null,""],[5411,"scen_highwoods_medium",2,6,12,"Highwoods",null,""],[5515,"scen_king_of_hill_medium",2,6,12,"King of Hill",null,""],[5619,"scen_mountain_lakes_medium",2,6,12,"Mountain Lakes",null,""],[5723,"scen_relic_river_medium",2,6,12,"Relic River",null,""],[5827,"scen_rugged_medium",2,6,12,"Rugged",null,""],[5931,"scen_shadow_lake_medium",2,6,12,"Shadow Lake",null,""],[6035,"scen_sunkenlands_medium",2,6,12,"Sunkenlands",null,""],[6139,"scen_wasteland_medium",2,6,12,"Wasteland",null,""],[6243,"scen_waterlanes_medium",2,6,12,"Waterlanes",null,""],[6347,"scen_canyon_medium",2,6,12,null,null,""],[6451,"scen_cliffsanity_medium",2,6,12,null,null,""],[6555,"scen_craters_medium",2,6,12,null,null,""],[6659,"scen_dungeon_medium",2,6,12,null,null,""],[6763,"scen_michi_medium",2,6,12,null,null,""],[6867,"scen_ocean_gateway_medium",2,6,12,null,null,""],[116,"scen_african_waters_large",2,8,13,"African Waters",null,""],[220,"scen_altai_large",2,8,13,"Altai",null,""],[324,"scen_ancient_spires_large",2,8,13,"Ancient Spires",null,""],[428,"scen_boulder_bay_large",2,8,13,"Boulder Bay",null,""],[532,"scen_canal_large",2,8,13,"Canal",null,""],[636,"scen_cliffside_large",2,8,13,"Cliffside",null,""],[740,"scen_confluence_large",2,8,13,"Confluence",null,""],[844,"scen_continental_large",2,8,13,"Continental",null,""],[948,"scen_forest_ponds_large",2,8,13,"Forest Ponds",null,""],[1052,"scen_forts_large",2,8,13,"Forts",null,""],[1156,"scen_french_pass_large",2,8,13,"French Pass",null,""],[1260,"scen_glade_large",2,8,13,"Glade",null,""],[1364,"scen_golden_heights_large",2,8,13,"Golden Heights",null,""],[1468,"scen_golden_pit_large",2,8,13,"Golden Pit",null,""],[1572,"scen_gorge_large",2,8,13,"Gorge",null,""],[1676,"scen_haywire_large",2,8,13,"Haywire",null,""],[1780,"scen_hidden_valley_large",2,8,13,"Hidden Valley",null,""],[1884,"scen_hideout_large",2,8,13,"Hideout",null,""],[1988,"scen_high_view_large",2,8,13,"High View",null,""],[2092,"scen_himeyama_large",2,8,13,"Himeyama",null,""],[2196,"scen_mediterranean_large",2,8,13,"Mediterranean",null,""],[2300,"scen_megarandom_large",2,8,13,"MegaRandom",null,""],[2404,"scen_migration_large",2,8,13,"Migration",null,""],[2508,"scen_mountain_pass_large",2,8,13,"Mountain Pass",null,""],[2612,"scen_pit_large",2,8,13,"The Pit",null,""],[2716,"scen_thickets_large",2,8,13,"Thickets",null,""],[2820,"scen_turtle_ridge_large",2,8,13,"Turtle Ridge",null,""],[2924,"scen_volcanic_island_large",2,8,13,"Volcanic Island",null,""],[3028,"scen_waterholes_large",2,8,13,"Waterholes",null,""],[3132,"scen_dry_arabia_large",2,8,13,"Dry Arabia",null,""],[3236,"scen_rolling_rivers_large",2,8,13,"Rolling Rivers",null,""],[3340,"scen_lipany_large",2,8,13,"Lipany",null,""],[3444,"scen_mongolian_heights_large",2,8,13,"Mongolian Heights",null,""],[3548,"scen_clearing_large",2,8,13,"Mountain Clearing",null,""],[3652,"scen_ponds_large",2,8,13,"Wetlands",null,""],[3756,"scen_savannah_large",2,8,13,"Marshland",null,""],[3860,"scen_dunes_large",2,8,13,"Prairie",null,""],[3964,"scen_rocky_river_large",2,8,13,"Rocky River",null,""],[4068,"scen_hill_and_dale_large",2,8,13,"Hill and Dale",null,""],[4172,"scen_megarandom_land_large",2,8,13,"Land MegaRandom",null,""],[4276,"scen_socotra_large",2,8,13,"Socotra",null,""],[4380,"scen_nagari_large",2,8,13,"Nagari",null,""],[4484,"scen_lake_side_large",2,8,13,"Lake Side",null,""],[4588,"scen_atacama_large",2,8,13,"Atacama",null,""],[4692,"scen_flankwoods_large",2,8,13,"Flankwoods",null,""],[4796,"scen_carmel_large",2,8,13,"Carmel",null,""],[4900,"scen_four_lakes_large",2,8,13,"Four Lakes",null,""],[5004,"scen_enlightened_horizon_large",2,8,13,"Enlightened Horizon",null,""],[5108,"scen_archipelago_gigantic",2,8,13,"Archipelago",null,""],[5212,"scen_hedgemaze_large",2,8,13,"Hedgemaze",null,""],[5316,"scen_black_forest_large",2,8,13,"Black Forest",null,""],[5420,"scen_highwoods_large",2,8,13,"Highwoods",null,""],[5524,"scen_king_of_hill_large",2,8,13,"King of Hill",null,""],[5628,"scen_mountain_lakes_large",2,8,13,"Mountain Lakes",null,""],[5732,"scen_relic_river_large",2,8,13,"Relic River",null,""],[5836,"scen_rugged_large",2,8,13,"Rugged",null,""],[5940,"scen_shadow_lake_large",2,8,13,"Shadow Lake",null,""],[6044,"scen_sunkenlands_large",2,8,13,"Sunkenlands",null,""],[6148,"scen_wasteland_large",2,8,13,"Wasteland",null,""],[6252,"scen_waterlanes_large",2,8,13,"Waterlanes",null,""],[6356,"scen_canyon_large",2,8,13,null,null,""],[6460,"scen_cliffsanity_large",2,8,13,null,null,""],[6564,"scen_craters_large",2,8,13,null,null,""],[6668,"scen_dungeon_large",2,8,13,null,null,""],[6772,"scen_michi_large",2,8,13,null,null,""],[6876,"scen_ocean_gateway_large",2,8,13,null,null,""],[122,"scen_african_waters_large",2,8,14,"African Waters",null,""],[226,"scen_altai_large",2,8,14,"Altai",null,""],[330,"scen_ancient_spires_large",2,8,14,"Ancient Spires",null,""],[434,"scen_boulder_bay_large",2,8,14,"Boulder Bay",null,""],[538,"scen_canal_large",2,8,14,"Canal",null,""],[642,"scen_cliffside_large",2,8,14,"Cliffside",null,""],[746,"scen_confluence_large",2,8,14,"Confluence",null,""],[850,"scen_continental_large",2,8,14,"Continental",null,""],[954,"scen_forest_ponds_large",2,8,14,"Forest Ponds",null,""],[1058,"scen_forts_large",2,8,14,"Forts",null,""],[1162,"scen_french_pass_large",2,8,14,"French Pass",null,""],[1266,"scen_glade_large",2,8,14,"Glade",null,""],[1370,"scen_golden_heights_large",2,8,14,"Golden Heights",null,""],[1474,"scen_golden_pit_large",2,8,14,"Golden Pit",null,""],[1578,"scen_gorge_large",2,8,14,"Gorge",null,""],[1682,"scen_haywire_large",2,8,14,"Haywire",null,""],[1786,"scen_hidden_valley_large",2,8,14,"Hidden Valley",null,""],[1890,"scen_hideout_large",2,8,14,"Hideout",null,""],[1994,"scen_high_view_large",2,8,14,"High View",null,""],[2098,"scen_himeyama_large",2,8,14,"Himeyama",null,""],[2202,"scen_mediterranean_large",2,8,14,"Mediterranean",null,""],[2306,"scen_megarandom_large",2,8,14,"MegaRandom",null,""],[2410,"scen_migration_large",2,8,14,"Migration",null,""],[2514,"scen_mountain_pass_large",2,8,14,"Mountain Pass",null,""],[2618,"scen_pit_large",2,8,14,"The Pit",null,""],[2722,"scen_thickets_large",2,8,14,"Thickets",null,""],[2826,"scen_turtle_ridge_large",2,8,14,"Turtle Ridge",null,""],[2930,"scen_volcanic_island_large",2,8,14,"Volcanic Island",null,""],[3034,"scen_waterholes_large",2,8,14,"Waterholes",null,""],[3138,"scen_dry_arabia_large",2,8,14,"Dry Arabia",null,""],[3242,"scen_rolling_rivers_large",2,8,14,"Rolling Rivers",null,""],[3346,"scen_lipany_large",2,8,14,"Lipany",null,""],[3450,"scen_mongolian_heights_large",2,8,14,"Mongolian Heights",null,""],[3554,"scen_clearing_large",2,8,14,"Mountain Clearing",null,""],[3658,"scen_ponds_large",2,8,14,"Wetlands",null,""],[3762,"scen_savannah_large",2,8,14,"Marshland",null,""],[3866,"scen_dunes_large",2,8,14,"Prairie",null,""],[3970,"scen_rocky_river_large",2,8,14,"Rocky River",null,""],[4074,"scen_hill_and_dale_large",2,8,14,"Hill and Dale",null,""],[4178,"scen_megarandom_land_large",2,8,14,"Land MegaRandom",null,""],[4282,"scen_socotra_large",2,8,14,"Socotra",null,""],[4386,"scen_nagari_large",2,8,14,"Nagari",null,""],[4490,"scen_lake_side_large",2,8,14,"Lake Side",null,""],[4594,"scen_atacama_large",2,8,14,"Atacama",null,""],[4698,"scen_flankwoods_large",2,8,14,"Flankwoods",null,""],[4802,"scen_carmel_large",2,8,14,"Carmel",null,""],[4906,"scen_four_lakes_large",2,8,14,"Four Lakes",null,""],[5010,"scen_enlightened_horizon_large",2,8,14,"Enlightened Horizon",null,""],[5114,"scen_archipelago_gigantic",2,8,14,"Archipelago",null,""],[5218,"scen_hedgemaze_large",2,8,14,"Hedgemaze",null,""],[5322,"scen_black_forest_large",2,8,14,"Black Forest",null,""],[5426,"scen_highwoods_large",2,8,14,"Highwoods",null,""],[5530,"scen_king_of_hill_large",2,8,14,"King of Hill",null,""],[5634,"scen_mountain_lakes_large",2,8,14,"Mountain Lakes",null,""],[5738,"scen_relic_river_large",2,8,14,"Relic River",null,""],[5842,"scen_rugged_large",2,8,14,"Rugged",null,""],[5946,"scen_shadow_lake_large",2,8,14,"Shadow Lake",null,""],[6050,"scen_sunkenlands_large",2,8,14,"Sunkenlands",null,""],[6154,"scen_wasteland_large",2,8,14,"Wasteland",null,""],[6258,"scen_waterlanes_large",2,8,14,"Waterlanes",null,""],[6362,"scen_canyon_large",2,8,14,null,null,""],[6466,"scen_cliffsanity_large",2,8,14,null,null,""],[6570,"scen_craters_large",2,8,14,null,null,""],[6674,"scen_dungeon_large",2,8,14,null,null,""],[6778,"scen_michi_large",2,8,14,null,null,""],[6882,"scen_ocean_gateway_large",2,8,14,null,null,""],[120,"scen_african_waters_large",2,8,15,"African Waters",null,""],[224,"scen_altai_large",2,8,15,"Altai",null,""],[328,"scen_ancient_spires_large",2,8,15,"Ancient Spires",null,""],[432,"scen_boulder_bay_large",2,8,15,"Boulder Bay",null,""],[536,"scen_canal_large",2,8,15,"Canal",null,""],[640,"scen_cliffside_large",2,8,15,"Cliffside",null,""],[744,"scen_confluence_large",2,8,15,"Confluence",null,""],[848,"scen_continental_large",2,8,15,"Continental",null,""],[952,"scen_forest_ponds_large",2,8,15,"Forest Ponds",null,""],[1056,"scen_forts_large",2,8,15,"Forts",null,""],[1160,"scen_french_pass_large",2,8,15,"French Pass",null,""],[1264,"scen_glade_large",2,8,15,"Glade",null,""],[1368,"scen_golden_heights_large",2,8,15,"Golden Heights",null,""],[1472,"scen_golden_pit_large",2,8,15,"Golden Pit",null,""],[1576,"scen_gorge_large",2,8,15,"Gorge",null,""],[1680,"scen_haywire_large",2,8,15,"Haywire",null,""],[1784,"scen_hidden_valley_large",2,8,15,"Hidden Valley",null,""],[1888,"scen_hideout_large",2,8,15,"Hideout",null,""],[1992,"scen_high_view_large",2,8,15,"High View",null,""],[2096,"scen_himeyama_large",2,8,15,"Himeyama",null,""],[2200,"scen_mediterranean_large",2,8,15,"Mediterranean",null,""],[2304,"scen_megarandom_large",2,8,15,"MegaRandom",null,""],[2408,"scen_migration_large",2,8,15,"Migration",null,""],[2512,"scen_mountain_pass_large",2,8,15,"Mountain Pass",null,""],[2616,"scen_pit_large",2,8,15,"The Pit",null,""],[2720,"scen_thickets_large",2,8,15,"Thickets",null,""],[2824,"scen_turtle_ridge_large",2,8,15,"Turtle Ridge",null,""],[2928,"scen_volcanic_island_large",2,8,15,"Volcanic Island",null,""],[3032,"scen_waterholes_large",2,8,15,"Waterholes",null,""],[3136,"scen_dry_arabia_large",2,8,15,"Dry Arabia",null,""],[3240,"scen_rolling_rivers_large",2,8,15,"Rolling Rivers",null,""],[3344,"scen_lipany_large",2,8,15,"Lipany",null,""],[3448,"scen_mongolian_heights_large",2,8,15,"Mongolian Heights",null,""],[3552,"scen_clearing_large",2,8,15,"Mountain Clearing",null,""],[3656,"scen_ponds_large",2,8,15,"Wetlands",null,""],[3760,"scen_savannah_large",2,8,15,"Marshland",null,""],[3864,"scen_dunes_large",2,8,15,"Prairie",null,""],[3968,"scen_rocky_river_large",2,8,15,"Rocky River",null,""],[4072,"scen_hill_and_dale_large",2,8,15,"Hill and Dale",null,""],[4176,"scen_megarandom_land_large",2,8,15,"Land MegaRandom",null,""],[4280,"scen_socotra_large",2,8,15,"Socotra",null,""],[4384,"scen_nagari_large",2,8,15,"Nagari",null,""],[4488,"scen_lake_side_large",2,8,15,"Lake Side",null,""],[4592,"scen_atacama_large",2,8,15,"Atacama",null,""],[4696,"scen_flankwoods_large",2,8,15,"Flankwoods",null,""],[4800,"scen_carmel_large",2,8,15,"Carmel",null,""],[4904,"scen_four_lakes_large",2,8,15,"Four Lakes",null,""],[5008,"scen_enlightened_horizon_large",2,8,15,"Enlightened Horizon",null,""],[5112,"scen_archipelago_gigantic",2,8,15,"Archipelago",null,""],[5216,"scen_hedgemaze_large",2,8,15,"Hedgemaze",null,""],[5320,"scen_black_forest_large",2,8,15,"Black Forest",null,""],[5424,"scen_highwoods_large",2,8,15,"Highwoods",null,""],[5528,"scen_king_of_hill_large",2,8,15,"King of Hill",null,""],[5632,"scen_mountain_lakes_large",2,8,15,"Mountain Lakes",null,""],[5736,"scen_relic_river_large",2,8,15,"Relic River",null,""],[5840,"scen_rugged_large",2,8,15,"Rugged",null,""],[5944,"scen_shadow_lake_large",2,8,15,"Shadow Lake",null,""],[6048,"scen_sunkenlands_large",2,8,15,"Sunkenlands",null,""],[6152,"scen_wasteland_large",2,8,15,"Wasteland",null,""],[6256,"scen_waterlanes_large",2,8,15,"Waterlanes",null,""],[6360,"scen_canyon_large",2,8,15,null,null,""],[6464,"scen_cliffsanity_large",2,8,15,null,null,""],[6568,"scen_craters_large",2,8,15,null,null,""],[6672,"scen_dungeon_large",2,8,15,null,null,""],[6776,"scen_michi_large",2,8,15,null,null,""],[6880,"scen_ocean_gateway_large",2,8,15,null,null,""],[118,"scen_african_waters_large",2,8,16,"African Waters",null,""],[222,"scen_altai_large",2,8,16,"Altai",null,""],[326,"scen_ancient_spires_large",2,8,16,"Ancient Spires",null,""],[430,"scen_boulder_bay_large",2,8,16,"Boulder Bay",null,""],[534,"scen_canal_large",2,8,16,"Canal",null,""],[638,"scen_cliffside_large",2,8,16,"Cliffside",null,""],[742,"scen_confluence_large",2,8,16,"Confluence",null,""],[846,"scen_continental_large",2,8,16,"Continental",null,""],[950,"scen_forest_ponds_large",2,8,16,"Forest Ponds",null,""],[1054,"scen_forts_large",2,8,16,"Forts",null,""],[1158,"scen_french_pass_large",2,8,16,"French Pass",null,""],[1262,"scen_glade_large",2,8,16,"Glade",null,""],[1366,"scen_golden_heights_large",2,8,16,"Golden Heights",null,""],[1470,"scen_golden_pit_large",2,8,16,"Golden Pit",null,""],[1574,"scen_gorge_large",2,8,16,"Gorge",null,""],[1678,"scen_haywire_large",2,8,16,"Haywire",null,""],[1782,"scen_hidden_valley_large",2,8,16,"Hidden Valley",null,""],[1886,"scen_hideout_large",2,8,16,"Hideout",null,""],[1990,"scen_high_view_large",2,8,16,"High View",null,""],[2094,"scen_himeyama_large",2,8,16,"Himeyama",null,""],[2198,"scen_mediterranean_large",2,8,16,"Mediterranean",null,""],[2302,"scen_megarandom_large",2,8,16,"MegaRandom",null,""],[2406,"scen_migration_large",2,8,16,"Migration",null,""],[2510,"scen_mountain_pass_large",2,8,16,"Mountain Pass",null,""],[2614,"scen_pit_large",2,8,16,"The Pit",null,""],[2718,"scen_thickets_large",2,8,16,"Thickets",null,""],[2822,"scen_turtle_ridge_large",2,8,16,"Turtle Ridge",null,""],[2926,"scen_volcanic_island_large",2,8,16,"Volcanic Island",null,""],[3030,"scen_waterholes_large",2,8,16,"Waterholes",null,""],[3134,"scen_dry_arabia_large",2,8,16,"Dry Arabia",null,""],[3238,"scen_rolling_rivers_large",2,8,16,"Rolling Rivers",null,""],[3342,"scen_lipany_large",2,8,16,"Lipany",null,""],[3446,"scen_mongolian_heights_large",2,8,16,"Mongolian Heights",null,""],[3550,"scen_clearing_large",2,8,16,"Mountain Clearing",null,""],[3654,"scen_ponds_large",2,8,16,"Wetlands",null,""],[3758,"scen_savannah_large",2,8,16,"Marshland",null,""],[3862,"scen_dunes_large",2,8,16,"Prairie",null,""],[3966,"scen_rocky_river_large",2,8,16,"Rocky River",null,""],[4070,"scen_hill_and_dale_large",2,8,16,"Hill and Dale",null,""],[4174,"scen_megarandom_land_large",2,8,16,"Land MegaRandom",null,""],[4278,"scen_socotra_large",2,8,16,"Socotra",null,""],[4382,"scen_nagari_large",2,8,16,"Nagari",null,""],[4486,"scen_lake_side_large",2,8,16,"Lake Side",null,""],[4590,"scen_atacama_large",2,8,16,"Atacama",null,""],[4694,"scen_flankwoods_large",2,8,16,"Flankwoods",null,""],[4798,"scen_carmel_large",2,8,16,"Carmel",null,""],[4902,"scen_four_lakes_large",2,8,16,"Four Lakes",null,""],[5006,"scen_enlightened_horizon_large",2,8,16,"Enlightened Horizon",null,""],[5110,"scen_archipelago_gigantic",2,8,16,"Archipelago",null,""],[5214,"scen_hedgemaze_large",2,8,16,"Hedgemaze",null,""],[5318,"scen_black_forest_large",2,8,16,"Black Forest",null,""],[5422,"scen_highwoods_large",2,8,16,"Highwoods",null,""],[5526,"scen_king_of_hill_large",2,8,16,"King of Hill",null,""],[5630,"scen_mountain_lakes_large",2,8,16,"Mountain Lakes",null,""],[5734,"scen_relic_river_large",2,8,16,"Relic River",null,""],[5838,"scen_rugged_large",2,8,16,"Rugged",null,""],[5942,"scen_shadow_lake_large",2,8,16,"Shadow Lake",null,""],[6046,"scen_sunkenlands_large",2,8,16,"Sunkenlands",null,""],[6150,"scen_wasteland_large",2,8,16,"Wasteland",null,""],[6254,"scen_waterlanes_large",2,8,16,"Waterlanes",null,""],[6358,"scen_canyon_large",2,8,16,null,null,""],[6462,"scen_cliffsanity_large",2,8,16,null,null,""],[6566,"scen_craters_large",2,8,16,null,null,""],[6670,"scen_dungeon_large",2,8,16,null,null,""],[6774,"scen_michi_large",2,8,16,null,null,""],[6878,"scen_ocean_gateway_large",2,8,16,null,null,""],[89,"scen_african_waters_tiny",2,2,20,"African Waters",null,""],[193,"scen_altai_tiny",2,2,20,"Altai",null,""],[297,"scen_ancient_spires_tiny",2,2,20,"Ancient Spires",null,""],[401,"scen_boulder_bay_tiny",2,2,20,"Boulder Bay",null,""],[505,"scen_canal_tiny",2,2,20,"Canal",null,""],[609,"scen_cliffside_tiny",2,2,20,"Cliffside",null,""],[713,"scen_confluence_tiny",2,2,20,"Confluence",null,""],[817,"scen_continental_tiny",2,2,20,"Continental",null,""],[921,"scen_forest_ponds_tiny",2,2,20,"Forest Ponds",null,""],[1025,"scen_forts_tiny",2,2,20,"Forts",null,""],[1129,"scen_french_pass_tiny",2,2,20,"French Pass",null,""],[1233,"scen_glade_tiny",2,2,20,"Glade",null,""],[1337,"scen_golden_heights_tiny",2,2,20,"Golden Heights",null,""],[1441,"scen_golden_pit_tiny",2,2,20,"Golden Pit",null,""],[1545,"scen_gorge_tiny",2,2,20,"Gorge",null,""],[1649,"scen_haywire_tiny",2,2,20,"Haywire",null,""],[1753,"scen_hidden_valley_tiny",2,2,20,"Hidden Valley",null,""],[1857,"scen_hideout_tiny",2,2,20,"Hideout",null,""],[1961,"scen_high_view_tiny",2,2,20,"High View",null,""],[2065,"scen_himeyama_tiny",2,2,20,"Himeyama",null,""],[2169,"scen_mediterranean_tiny",2,2,20,"Mediterranean",null,""],[2273,"scen_megarandom_tiny",2,2,20,"MegaRandom",null,""],[2377,"scen_migration_small",2,2,20,"Migration",null,""],[2481,"scen_mountain_pass_tiny",2,2,20,"Mountain Pass",null,""],[2585,"scen_pit_tiny",2,2,20,"The Pit",null,""],[2689,"scen_thickets_tiny",2,2,20,"Thickets",null,""],[2793,"scen_turtle_ridge_tiny",2,2,20,"Turtle Ridge",null,""],[2897,"scen_volcanic_island_tiny",2,2,20,"Volcanic Island",null,""],[3001,"scen_waterholes_tiny",2,2,20,"Waterholes",null,""],[3105,"scen_dry_arabia_tiny",2,2,20,"Dry Arabia",null,""],[3209,"scen_rolling_rivers_tiny",2,2,20,"Rolling Rivers",null,""],[3313,"scen_lipany_tiny",2,2,20,"Lipany",null,""],[3417,"scen_mongolian_heights_tiny",2,2,20,"Mongolian Heights",null,""],[3521,"scen_clearing_tiny",2,2,20,"Mountain Clearing",null,""],[3625,"scen_ponds_tiny",2,2,20,"Wetlands",null,""],[3729,"scen_savannah_tiny",2,2,20,"Marshland",null,""],[3833,"scen_dunes_tiny",2,2,20,"Prairie",null,""],[3937,"scen_rocky_river_tiny",2,2,20,"Rocky River",null,""],[4041,"scen_hill_and_dale_tiny",2,2,20,"Hill and Dale",null,""],[4145,"scen_megarandom_land_tiny",2,2,20,"Land MegaRandom",null,""],[4249,"scen_socotra_tiny",2,2,20,"Socotra",null,""],[4353,"scen_nagari_tiny",2,2,20,"Nagari",null,""],[4457,"scen_lake_side_tiny",2,2,20,"Lake Side",null,""],[4561,"scen_atacama_tiny",2,2,20,"Atacama",null,""],[4665,"scen_flankwoods_tiny",2,2,20,"Flankwoods",null,""],[4769,"scen_carmel_tiny",2,2,20,"Carmel",null,""],[4873,"scen_four_lakes_tiny",2,2,20,"Four Lakes",null,""],[4977,"scen_enlightened_horizon_tiny",2,2,20,"Enlightened Horizon",null,""],[5081,"scen_archipelago_small",2,2,20,"Archipelago",null,""],[5185,"scen_hedgemaze_tiny",2,2,20,"Hedgemaze",null,""],[5289,"scen_black_forest_small",2,2,20,"Black Forest",null,""],[5393,"scen_highwoods_tiny",2,2,20,"Highwoods",null,""],[5497,"scen_king_of_hill_tiny",2,2,20,"King of Hill",null,""],[5601,"scen_mountain_lakes_tiny",2,2,20,"Mountain Lakes",null,""],[5705,"scen_relic_river_tiny",2,2,20,"Relic River",null,""],[5809,"scen_rugged_tiny",2,2,20,"Rugged",null,""],[5913,"scen_shadow_lake_tiny",2,2,20,"Shadow Lake",null,""],[6017,"scen_sunkenlands_tiny",2,2,20,"Sunkenlands",null,""],[6121,"scen_wasteland_tiny",2,2,20,"Wasteland",null,""],[6225,"scen_waterlanes_tiny",2,2,20,"Waterlanes",null,""],[6329,"scen_canyon_tiny",2,2,20,null,null,""],[6433,"scen_cliffsanity_tiny",2,2,20,null,null,""],[6537,"scen_craters_tiny",2,2,20,null,null,""],[6641,"scen_dungeon_tiny",2,2,20,null,null,""],[6745,"scen_michi_tiny",2,2,20,null,null,""],[6849,"scen_ocean_gateway_tiny",2,2,20,null,null,""],[101,"scen_african_waters_small",2,4,21,"African Waters",null,""],[205,"scen_altai_small",2,4,21,"Altai",null,""],[309,"scen_ancient_spires_small",2,4,21,"Ancient Spires",null,""],[413,"scen_boulder_bay_small",2,4,21,"Boulder Bay",null,""],[517,"scen_canal_small",2,4,21,"Canal",null,""],[621,"scen_cliffside_small",2,4,21,"Cliffside",null,""],[725,"scen_confluence_small",2,4,21,"Confluence",null,""],[829,"scen_continental_small",2,4,21,"Continental",null,""],[933,"scen_forest_ponds_small",2,4,21,"Forest Ponds",null,""],[1037,"scen_forts_medium",2,4,21,"Forts",null,""],[1141,"scen_french_pass_small",2,4,21,"French Pass",null,""],[1245,"scen_glade_small",2,4,21,"Glade",null,""],[1349,"scen_golden_heights_small",2,4,21,"Golden Heights",null,""],[1453,"scen_golden_pit_small",2,4,21,"Golden Pit",null,""],[1557,"scen_gorge_small",2,4,21,"Gorge",null,""],[1661,"scen_haywire_small",2,4,21,"Haywire",null,""],[1765,"scen_hidden_valley_small",2,4,21,"Hidden Valley",null,""],[1869,"scen_hideout_small",2,4,21,"Hideout",null,""],[1973,"scen_high_view_small",2,4,21,"High View",null,""],[2077,"scen_himeyama_small",2,4,21,"Himeyama",null,""],[2181,"scen_mediterranean_small",2,4,21,"Mediterranean",null,""],[2285,"scen_megarandom_small",2,4,21,"MegaRandom",null,""],[2389,"scen_migration_medium",2,4,21,"Migration",null,""],[2493,"scen_mountain_pass_small",2,4,21,"Mountain Pass",null,""],[2597,"scen_pit_small",2,4,21,"The Pit",null,""],[2701,"scen_thickets_small",2,4,21,"Thickets",null,""],[2805,"scen_turtle_ridge_small",2,4,21,"Turtle Ridge",null,""],[2909,"scen_volcanic_island_small",2,4,21,"Volcanic Island",null,""],[3013,"scen_waterholes_small",2,4,21,"Waterholes",null,""],[3117,"scen_dry_arabia_small",2,4,21,"Dry Arabia",null,""],[3221,"scen_rolling_rivers_small",2,4,21,"Rolling Rivers",null,""],[3325,"scen_lipany_small",2,4,21,"Lipany",null,""],[3429,"scen_mongolian_heights_small",2,4,21,"Mongolian Heights",null,""],[3533,"scen_clearing_small",2,4,21,"Mountain Clearing",null,""],[3637,"scen_ponds_small",2,4,21,"Wetlands",null,""],[3741,"scen_savannah_small",2,4,21,"Marshland",null,""],[3845,"scen_dunes_small",2,4,21,"Prairie",null,""],[3949,"scen_rocky_river_small",2,4,21,"Rocky River",null,""],[4053,"scen_hill_and_dale_small",2,4,21,"Hill and Dale",null,""],[4157,"scen_megarandom_land_small",2,4,21,"Land MegaRandom",null,""],[4261,"scen_socotra_small",2,4,21,"Socotra",null,""],[4365,"scen_nagari_small",2,4,21,"Nagari",null,""],[4469,"scen_lake_side_small",2,4,21,"Lake Side",null,""],[4573,"scen_atacama_small",2,4,21,"Atacama",null,""],[4677,"scen_flankwoods_small",2,4,21,"Flankwoods",null,""],[4781,"scen_carmel_small",2,4,21,"Carmel",null,""],[4885,"scen_four_lakes_small",2,4,21,"Four Lakes",null,""],[4989,"scen_enlightened_horizon_small",2,4,21,"Enlightened Horizon",null,""],[5093,"scen_archipelago_medium",2,4,21,"Archipelago",null,""],[5197,"scen_hedgemaze_small",2,4,21,"Hedgemaze",null,""],[5301,"scen_black_forest_medium",2,4,21,"Black Forest",null,""],[5405,"scen_highwoods_small",2,4,21,"Highwoods",null,""],[5509,"scen_king_of_hill_small",2,4,21,"King of Hill",null,""],[5613,"scen_mountain_lakes_small",2,4,21,"Mountain Lakes",null,""],[5717,"scen_relic_river_small",2,4,21,"Relic River",null,""],[5821,"scen_rugged_small",2,4,21,"Rugged",null,""],[5925,"scen_shadow_lake_small",2,4,21,"Shadow Lake",null,""],[6029,"scen_sunkenlands_small",2,4,21,"Sunkenlands",null,""],[6133,"scen_wasteland_small",2,4,21,"Wasteland",null,""],[6237,"scen_waterlanes_small",2,4,21,"Waterlanes",null,""],[6341,"scen_canyon_small",2,4,21,null,null,""],[6445,"scen_cliffsanity_small",2,4,21,null,null,""],[6549,"scen_craters_small",2,4,21,null,null,""],[6653,"scen_dungeon_small",2,4,21,null,null,""],[6757,"scen_michi_small",2,4,21,null,null,""],[6861,"scen_ocean_gateway_small",2,4,21,null,null,""],[112,"scen_african_waters_medium",2,6,22,"African Waters",null,""],[216,"scen_altai_medium",2,6,22,"Altai",null,""],[320,"scen_ancient_spires_medium",2,6,22,"Ancient Spires",null,""],[424,"scen_boulder_bay_medium",2,6,22,"Boulder Bay",null,""],[528,"scen_canal_medium",2,6,22,"Canal",null,""],[632,"scen_cliffside_medium",2,6,22,"Cliffside",null,""],[736,"scen_confluence_medium",2,6,22,"Confluence",null,""],[840,"scen_continental_medium",2,6,22,"Continental",null,""],[944,"scen_forest_ponds_medium",2,6,22,"Forest Ponds",null,""],[1048,"scen_forts_large",2,6,22,"Forts",null,""],[1152,"scen_french_pass_medium",2,6,22,"French Pass",null,""],[1256,"scen_glade_medium",2,6,22,"Glade",null,""],[1360,"scen_golden_heights_medium",2,6,22,"Golden Heights",null,""],[1464,"scen_golden_pit_medium",2,6,22,"Golden Pit",null,""],[1568,"scen_gorge_medium",2,6,22,"Gorge",null,""],[1672,"scen_haywire_medium",2,6,22,"Haywire",null,""],[1776,"scen_hidden_valley_medium",2,6,22,"Hidden Valley",null,""],[1880,"scen_hideout_medium",2,6,22,"Hideout",null,""],[1984,"scen_high_view_medium",2,6,22,"High View",null,""],[2088,"scen_himeyama_medium",2,6,22,"Himeyama",null,""],[2192,"scen_mediterranean_medium",2,6,22,"Mediterranean",null,""],[2296,"scen_megarandom_medium",2,6,22,"MegaRandom",null,""],[2400,"scen_migration_large",2,6,22,"Migration",null,""],[2504,"scen_mountain_pass_medium",2,6,22,"Mountain Pass",null,""],[2608,"scen_pit_medium",2,6,22,"The Pit",null,""],[2712,"scen_thickets_medium",2,6,22,"Thickets",null,""],[2816,"scen_turtle_ridge_medium",2,6,22,"Turtle Ridge",null,""],[2920,"scen_volcanic_island_medium",2,6,22,"Volcanic Island",null,""],[3024,"scen_waterholes_medium",2,6,22,"Waterholes",null,""],[3128,"scen_dry_arabia_medium",2,6,22,"Dry Arabia",null,""],[3232,"scen_rolling_rivers_medium",2,6,22,"Rolling Rivers",null,""],[3336,"scen_lipany_medium",2,6,22,"Lipany",null,""],[3440,"scen_mongolian_heights_medium",2,6,22,"Mongolian Heights",null,""],[3544,"scen_clearing_medium",2,6,22,"Mountain Clearing",null,""],[3648,"scen_ponds_medium",2,6,22,"Wetlands",null,""],[3752,"scen_savannah_medium",2,6,22,"Marshland",null,""],[3856,"scen_dunes_medium",2,6,22,"Prairie",null,""],[3960,"scen_rocky_river_medium",2,6,22,"Rocky River",null,""],[4064,"scen_hill_and_dale_medium",2,6,22,"Hill and Dale",null,""],[4168,"scen_megarandom_land_medium",2,6,22,"Land MegaRandom",null,""],[4272,"scen_socotra_medium",2,6,22,"Socotra",null,""],[4376,"scen_nagari_medium",2,6,22,"Nagari",null,""],[4480,"scen_lake_side_medium",2,6,22,"Lake Side",null,""],[4584,"scen_atacama_medium",2,6,22,"Atacama",null,""],[4688,"scen_flankwoods_medium",2,6,22,"Flankwoods",null,""],[4792,"scen_carmel_medium",2,6,22,"Carmel",null,""],[4896,"scen_four_lakes_medium",2,6,22,"Four Lakes",null,""],[5000,"scen_enlightened_horizon_medium",2,6,22,"Enlightened Horizon",null,""],[5104,"scen_archipelago_large",2,6,22,"Archipelago",null,""],[5208,"scen_hedgemaze_medium",2,6,22,"Hedgemaze",null,""],[5312,"scen_black_forest_large",2,6,22,"Black Forest",null,""],[5416,"scen_highwoods_medium",2,6,22,"Highwoods",null,""],[5520,"scen_king_of_hill_medium",2,6,22,"King of Hill",null,""],[5624,"scen_mountain_lakes_medium",2,6,22,"Mountain Lakes",null,""],[5728,"scen_relic_river_medium",2,6,22,"Relic River",null,""],[5832,"scen_rugged_medium",2,6,22,"Rugged",null,""],[5936,"scen_shadow_lake_medium",2,6,22,"Shadow Lake",null,""],[6040,"scen_sunkenlands_medium",2,6,22,"Sunkenlands",null,""],[6144,"scen_wasteland_medium",2,6,22,"Wasteland",null,""],[6248,"scen_waterlanes_medium",2,6,22,"Waterlanes",null,""],[6352,"scen_canyon_medium",2,6,22,null,null,""],[6456,"scen_cliffsanity_medium",2,6,22,null,null,""],[6560,"scen_craters_medium",2,6,22,null,null,""],[6664,"scen_dungeon_medium",2,6,22,null,null,""],[6768,"scen_michi_medium",2,6,22,null,null,""],[6872,"scen_ocean_gateway_medium",2,6,22,null,null,""],[124,"scen_african_waters_large",2,8,23,"African Waters",null,""],[228,"scen_altai_large",2,8,23,"Altai",null,""],[332,"scen_ancient_spires_large",2,8,23,"Ancient Spires",null,""],[436,"scen_boulder_bay_large",2,8,23,"Boulder Bay",null,""],[540,"scen_canal_large",2,8,23,"Canal",null,""],[644,"scen_cliffside_large",2,8,23,"Cliffside",null,""],[748,"scen_confluence_large",2,8,23,"Confluence",null,""],[852,"scen_continental_large",2,8,23,"Continental",null,""],[956,"scen_forest_ponds_large",2,8,23,"Forest Ponds",null,""],[1060,"scen_forts_large",2,8,23,"Forts",null,""],[1164,"scen_french_pass_large",2,8,23,"French Pass",null,""],[1268,"scen_glade_large",2,8,23,"Glade",null,""],[1372,"scen_golden_heights_large",2,8,23,"Golden Heights",null,""],[1476,"scen_golden_pit_large",2,8,23,"Golden Pit",null,""],[1580,"scen_gorge_large",2,8,23,"Gorge",null,""],[1684,"scen_haywire_large",2,8,23,"Haywire",null,""],[1788,"scen_hidden_valley_large",2,8,23,"Hidden Valley",null,""],[1892,"scen_hideout_large",2,8,23,"Hideout",null,""],[1996,"scen_high_view_large",2,8,23,"High View",null,""],[2100,"scen_himeyama_large",2,8,23,"Himeyama",null,""],[2204,"scen_mediterranean_large",2,8,23,"Mediterranean",null,""],[2308,"scen_megarandom_large",2,8,23,"MegaRandom",null,""],[2412,"scen_migration_large",2,8,23,"Migration",null,""],[2516,"scen_mountain_pass_large",2,8,23,"Mountain Pass",null,""],[2620,"scen_pit_large",2,8,23,"The Pit",null,""],[2724,"scen_thickets_large",2,8,23,"Thickets",null,""],[2828,"scen_turtle_ridge_large",2,8,23,"Turtle Ridge",null,""],[2932,"scen_volcanic_island_large",2,8,23,"Volcanic Island",null,""],[3036,"scen_waterholes_large",2,8,23,"Waterholes",null,""],[3140,"scen_dry_arabia_large",2,8,23,"Dry Arabia",null,""],[3244,"scen_rolling_rivers_large",2,8,23,"Rolling Rivers",null,""],[3348,"scen_lipany_large",2,8,23,"Lipany",null,""],[3452,"scen_mongolian_heights_large",2,8,23,"Mongolian Heights",null,""],[3556,"scen_clearing_large",2,8,23,"Mountain Clearing",null,""],[3660,"scen_ponds_large",2,8,23,"Wetlands",null,""],[3764,"scen_savannah_large",2,8,23,"Marshland",null,""],[3868,"scen_dunes_large",2,8,23,"Prairie",null,""],[3972,"scen_rocky_river_large",2,8,23,"Rocky River",null,""],[4076,"scen_hill_and_dale_large",2,8,23,"Hill and Dale",null,""],[4180,"scen_megarandom_land_large",2,8,23,"Land MegaRandom",null,""],[4284,"scen_socotra_large",2,8,23,"Socotra",null,""],[4388,"scen_nagari_large",2,8,23,"Nagari",null,""],[4492,"scen_lake_side_large",2,8,23,"Lake Side",null,""],[4596,"scen_atacama_large",2,8,23,"Atacama",null,""],[4700,"scen_flankwoods_large",2,8,23,"Flankwoods",null,""],[4804,"scen_carmel_large",2,8,23,"Carmel",null,""],[4908,"scen_four_lakes_large",2,8,23,"Four Lakes",null,""],[5012,"scen_enlightened_horizon_large",2,8,23,"Enlightened Horizon",null,""],[5116,"scen_archipelago_gigantic",2,8,23,"Archipelago",null,""],[5220,"scen_hedgemaze_large",2,8,23,"Hedgemaze",null,""],[5324,"scen_black_forest_large",2,8,23,"Black Forest",null,""],[5428,"scen_highwoods_large",2,8,23,"Highwoods",null,""],[5532,"scen_king_of_hill_large",2,8,23,"King of Hill",null,""],[5636,"scen_mountain_lakes_large",2,8,23,"Mountain Lakes",null,""],[5740,"scen_relic_river_large",2,8,23,"Relic River",null,""],[5844,"scen_rugged_large",2,8,23,"Rugged",null,""],[5948,"scen_shadow_lake_large",2,8,23,"Shadow Lake",null,""],[6052,"scen_sunkenlands_large",2,8,23,"Sunkenlands",null,""],[6156,"scen_wasteland_large",2,8,23,"Wasteland",null,""],[6260,"scen_waterlanes_large",2,8,23,"Waterlanes",null,""],[6364,"scen_canyon_large",2,8,23,null,null,""],[6468,"scen_cliffsanity_large",2,8,23,null,null,""],[6572,"scen_craters_large",2,8,23,null,null,""],[6676,"scen_dungeon_large",2,8,23,null,null,""],[6780,"scen_michi_large",2,8,23,null,null,""],[6884,"scen_ocean_gateway_large",2,8,23,null,null,""],[81,"scen_african_waters_tiny",2,2,24,"African Waters",null,""],[185,"scen_altai_tiny",2,2,24,"Altai",null,""],[289,"scen_ancient_spires_tiny",2,2,24,"Ancient Spires",null,""],[393,"scen_boulder_bay_tiny",2,2,24,"Boulder Bay",null,""],[497,"scen_canal_tiny",2,2,24,"Canal",null,""],[601,"scen_cliffside_tiny",2,2,24,"Cliffside",null,""],[705,"scen_confluence_tiny",2,2,24,"Confluence",null,""],[809,"scen_continental_tiny",2,2,24,"Continental",null,""],[913,"scen_forest_ponds_tiny",2,2,24,"Forest Ponds",null,""],[1017,"scen_forts_tiny",2,2,24,"Forts",null,""],[1121,"scen_french_pass_tiny",2,2,24,"French Pass",null,""],[1225,"scen_glade_tiny",2,2,24,"Glade",null,""],[1329,"scen_golden_heights_tiny",2,2,24,"Golden Heights",null,""],[1433,"scen_golden_pit_tiny",2,2,24,"Golden Pit",null,""],[1537,"scen_gorge_tiny",2,2,24,"Gorge",null,""],[1641,"scen_haywire_tiny",2,2,24,"Haywire",null,""],[1745,"scen_hidden_valley_tiny",2,2,24,"Hidden Valley",null,""],[1849,"scen_hideout_tiny",2,2,24,"Hideout",null,""],[1953,"scen_high_view_tiny",2,2,24,"High View",null,""],[2057,"scen_himeyama_tiny",2,2,24,"Himeyama",null,""],[2161,"scen_mediterranean_tiny",2,2,24,"Mediterranean",null,""],[2265,"scen_megarandom_tiny",2,2,24,"MegaRandom",null,""],[2369,"scen_migration_small",2,2,24,"Migration",null,""],[2473,"scen_mountain_pass_tiny",2,2,24,"Mountain Pass",null,""],[2577,"scen_pit_tiny",2,2,24,"The Pit",null,""],[2681,"scen_thickets_tiny",2,2,24,"Thickets",null,""],[2785,"scen_turtle_ridge_tiny",2,2,24,"Turtle Ridge",null,""],[2889,"scen_volcanic_island_tiny",2,2,24,"Volcanic Island",null,""],[2993,"scen_waterholes_tiny",2,2,24,"Waterholes",null,""],[3097,"scen_dry_arabia_tiny",2,2,24,"Dry Arabia",null,""],[3201,"scen_rolling_rivers_tiny",2,2,24,"Rolling Rivers",null,""],[3305,"scen_lipany_tiny",2,2,24,"Lipany",null,""],[3409,"scen_mongolian_heights_tiny",2,2,24,"Mongolian Heights",null,""],[3513,"scen_clearing_tiny",2,2,24,"Mountain Clearing",null,""],[3617,"scen_ponds_tiny",2,2,24,"Wetlands",null,""],[3721,"scen_savannah_tiny",2,2,24,"Marshland",null,""],[3825,"scen_dunes_tiny",2,2,24,"Prairie",null,""],[3929,"scen_rocky_river_tiny",2,2,24,"Rocky River",null,""],[4033,"scen_hill_and_dale_tiny",2,2,24,"Hill and Dale",null,""],[4137,"scen_megarandom_land_tiny",2,2,24,"Land MegaRandom",null,""],[4241,"scen_socotra_tiny",2,2,24,"Socotra",null,""],[4345,"scen_nagari_tiny",2,2,24,"Nagari",null,""],[4449,"scen_lake_side_tiny",2,2,24,"Lake Side",null,""],[4553,"scen_atacama_tiny",2,2,24,"Atacama",null,""],[4657,"scen_flankwoods_tiny",2,2,24,"Flankwoods",null,""],[4761,"scen_carmel_tiny",2,2,24,"Carmel",null,""],[4865,"scen_four_lakes_tiny",2,2,24,"Four Lakes",null,""],[4969,"scen_enlightened_horizon_tiny",2,2,24,"Enlightened Horizon",null,""],[5073,"scen_archipelago_small",2,2,24,"Archipelago",null,""],[5177,"scen_hedgemaze_tiny",2,2,24,"Hedgemaze",null,""],[5281,"scen_black_forest_small",2,2,24,"Black Forest",null,""],[5385,"scen_highwoods_tiny",2,2,24,"Highwoods",null,""],[5489,"scen_king_of_hill_tiny",2,2,24,"King of Hill",null,""],[5593,"scen_mountain_lakes_tiny",2,2,24,"Mountain Lakes",null,""],[5697,"scen_relic_river_tiny",2,2,24,"Relic River",null,""],[5801,"scen_rugged_tiny",2,2,24,"Rugged",null,""],[5905,"scen_shadow_lake_tiny",2,2,24,"Shadow Lake",null,""],[6009,"scen_sunkenlands_tiny",2,2,24,"Sunkenlands",null,""],[6113,"scen_wasteland_tiny",2,2,24,"Wasteland",null,""],[6217,"scen_waterlanes_tiny",2,2,24,"Waterlanes",null,""],[6321,"scen_canyon_tiny",2,2,24,null,null,""],[6425,"scen_cliffsanity_tiny",2,2,24,null,null,""],[6529,"scen_craters_tiny",2,2,24,null,null,""],[6633,"scen_dungeon_tiny",2,2,24,null,null,""],[6737,"scen_michi_tiny",2,2,24,null,null,""],[6841,"scen_ocean_gateway_tiny",2,2,24,null,null,""],[87,"scen_african_waters_tiny",2,2,25,"African Waters",null,""],[191,"scen_altai_tiny",2,2,25,"Altai",null,""],[295,"scen_ancient_spires_tiny",2,2,25,"Ancient Spires",null,""],[399,"scen_boulder_bay_tiny",2,2,25,"Boulder Bay",null,""],[503,"scen_canal_tiny",2,2,25,"Canal",null,""],[607,"scen_cliffside_tiny",2,2,25,"Cliffside",null,""],[711,"scen_confluence_tiny",2,2,25,"Confluence",null,""],[815,"scen_continental_tiny",2,2,25,"Continental",null,""],[919,"scen_forest_ponds_tiny",2,2,25,"Forest Ponds",null,""],[1023,"scen_forts_tiny",2,2,25,"Forts",null,""],[1127,"scen_french_pass_tiny",2,2,25,"French Pass",null,""],[1231,"scen_glade_tiny",2,2,25,"Glade",null,""],[1335,"scen_golden_heights_tiny",2,2,25,"Golden Heights",null,""],[1439,"scen_golden_pit_tiny",2,2,25,"Golden Pit",null,""],[1543,"scen_gorge_tiny",2,2,25,"Gorge",null,""],[1647,"scen_haywire_tiny",2,2,25,"Haywire",null,""],[1751,"scen_hidden_valley_tiny",2,2,25,"Hidden Valley",null,""],[1855,"scen_hideout_tiny",2,2,25,"Hideout",null,""],[1959,"scen_high_view_tiny",2,2,25,"High View",null,""],[2063,"scen_himeyama_tiny",2,2,25,"Himeyama",null,""],[2167,"scen_mediterranean_tiny",2,2,25,"Mediterranean",null,""],[2271,"scen_megarandom_tiny",2,2,25,"MegaRandom",null,""],[2375,"scen_migration_small",2,2,25,"Migration",null,""],[2479,"scen_mountain_pass_tiny",2,2,25,"Mountain Pass",null,""],[2583,"scen_pit_tiny",2,2,25,"The Pit",null,""],[2687,"scen_thickets_tiny",2,2,25,"Thickets",null,""],[2791,"scen_turtle_ridge_tiny",2,2,25,"Turtle Ridge",null,""],[2895,"scen_volcanic_island_tiny",2,2,25,"Volcanic Island",null,""],[2999,"scen_waterholes_tiny",2,2,25,"Waterholes",null,""],[3103,"scen_dry_arabia_tiny",2,2,25,"Dry Arabia",null,""],[3207,"scen_rolling_rivers_tiny",2,2,25,"Rolling Rivers",null,""],[3311,"scen_lipany_tiny",2,2,25,"Lipany",null,""],[3415,"scen_mongolian_heights_tiny",2,2,25,"Mongolian Heights",null,""],[3519,"scen_clearing_tiny",2,2,25,"Mountain Clearing",null,""],[3623,"scen_ponds_tiny",2,2,25,"Wetlands",null,""],[3727,"scen_savannah_tiny",2,2,25,"Marshland",null,""],[3831,"scen_dunes_tiny",2,2,25,"Prairie",null,""],[3935,"scen_rocky_river_tiny",2,2,25,"Rocky River",null,""],[4039,"scen_hill_and_dale_tiny",2,2,25,"Hill and Dale",null,""],[4143,"scen_megarandom_land_tiny",2,2,25,"Land MegaRandom",null,""],[4247,"scen_socotra_tiny",2,2,25,"Socotra",null,""],[4351,"scen_nagari_tiny",2,2,25,"Nagari",null,""],[4455,"scen_lake_side_tiny",2,2,25,"Lake Side",null,""],[4559,"scen_atacama_tiny",2,2,25,"Atacama",null,""],[4663,"scen_flankwoods_tiny",2,2,25,"Flankwoods",null,""],[4767,"scen_carmel_tiny",2,2,25,"Carmel",null,""],[4871,"scen_four_lakes_tiny",2,2,25,"Four Lakes",null,""],[4975,"scen_enlightened_horizon_tiny",2,2,25,"Enlightened Horizon",null,""],[5079,"scen_archipelago_small",2,2,25,"Archipelago",null,""],[5183,"scen_hedgemaze_tiny",2,2,25,"Hedgemaze",null,""],[5287,"scen_black_forest_small",2,2,25,"Black Forest",null,""],[5391,"scen_highwoods_tiny",2,2,25,"Highwoods",null,""],[5495,"scen_king_of_hill_tiny",2,2,25,"King of Hill",null,""],[5599,"scen_mountain_lakes_tiny",2,2,25,"Mountain Lakes",null,""],[5703,"scen_relic_river_tiny",2,2,25,"Relic River",null,""],[5807,"scen_rugged_tiny",2,2,25,"Rugged",null,""],[5911,"scen_shadow_lake_tiny",2,2,25,"Shadow Lake",null,""],[6015,"scen_sunkenlands_tiny",2,2,25,"Sunkenlands",null,""],[6119,"scen_wasteland_tiny",2,2,25,"Wasteland",null,""],[6223,"scen_waterlanes_tiny",2,2,25,"Waterlanes",null,""],[6327,"scen_canyon_tiny",2,2,25,null,null,""],[6431,"scen_cliffsanity_tiny",2,2,25,null,null,""],[6535,"scen_craters_tiny",2,2,25,null,null,""],[6639,"scen_dungeon_tiny",2,2,25,null,null,""],[6743,"scen_michi_tiny",2,2,25,null,null,""],[6847,"scen_ocean_gateway_tiny",2,2,25,null,null,""],[85,"scen_african_waters_tiny",2,2,26,"African Waters",null,""],[189,"scen_altai_tiny",2,2,26,"Altai",null,""],[293,"scen_ancient_spires_tiny",2,2,26,"Ancient Spires",null,""],[397,"scen_boulder_bay_tiny",2,2,26,"Boulder Bay",null,""],[501,"scen_canal_tiny",2,2,26,"Canal",null,""],[605,"scen_cliffside_tiny",2,2,26,"Cliffside",null,""],[709,"scen_confluence_tiny",2,2,26,"Confluence",null,""],[813,"scen_continental_tiny",2,2,26,"Continental",null,""],[917,"scen_forest_ponds_tiny",2,2,26,"Forest Ponds",null,""],[1021,"scen_forts_tiny",2,2,26,"Forts",null,""],[1125,"scen_french_pass_tiny",2,2,26,"French Pass",null,""],[1229,"scen_glade_tiny",2,2,26,"Glade",null,""],[1333,"scen_golden_heights_tiny",2,2,26,"Golden Heights",null,""],[1437,"scen_golden_pit_tiny",2,2,26,"Golden Pit",null,""],[1541,"scen_gorge_tiny",2,2,26,"Gorge",null,""],[1645,"scen_haywire_tiny",2,2,26,"Haywire",null,""],[1749,"scen_hidden_valley_tiny",2,2,26,"Hidden Valley",null,""],[1853,"scen_hideout_tiny",2,2,26,"Hideout",null,""],[1957,"scen_high_view_tiny",2,2,26,"High View",null,""],[2061,"scen_himeyama_tiny",2,2,26,"Himeyama",null,""],[2165,"scen_mediterranean_tiny",2,2,26,"Mediterranean",null,""],[2269,"scen_megarandom_tiny",2,2,26,"MegaRandom",null,""],[2373,"scen_migration_small",2,2,26,"Migration",null,""],[2477,"scen_mountain_pass_tiny",2,2,26,"Mountain Pass",null,""],[2581,"scen_pit_tiny",2,2,26,"The Pit",null,""],[2685,"scen_thickets_tiny",2,2,26,"Thickets",null,""],[2789,"scen_turtle_ridge_tiny",2,2,26,"Turtle Ridge",null,""],[2893,"scen_volcanic_island_tiny",2,2,26,"Volcanic Island",null,""],[2997,"scen_waterholes_tiny",2,2,26,"Waterholes",null,""],[3101,"scen_dry_arabia_tiny",2,2,26,"Dry Arabia",null,""],[3205,"scen_rolling_rivers_tiny",2,2,26,"Rolling Rivers",null,""],[3309,"scen_lipany_tiny",2,2,26,"Lipany",null,""],[3413,"scen_mongolian_heights_tiny",2,2,26,"Mongolian Heights",null,""],[3517,"scen_clearing_tiny",2,2,26,"Mountain Clearing",null,""],[3621,"scen_ponds_tiny",2,2,26,"Wetlands",null,""],[3725,"scen_savannah_tiny",2,2,26,"Marshland",null,""],[3829,"scen_dunes_tiny",2,2,26,"Prairie",null,""],[3933,"scen_rocky_river_tiny",2,2,26,"Rocky River",null,""],[4037,"scen_hill_and_dale_tiny",2,2,26,"Hill and Dale",null,""],[4141,"scen_megarandom_land_tiny",2,2,26,"Land MegaRandom",null,""],[4245,"scen_socotra_tiny",2,2,26,"Socotra",null,""],[4349,"scen_nagari_tiny",2,2,26,"Nagari",null,""],[4453,"scen_lake_side_tiny",2,2,26,"Lake Side",null,""],[4557,"scen_atacama_tiny",2,2,26,"Atacama",null,""],[4661,"scen_flankwoods_tiny",2,2,26,"Flankwoods",null,""],[4765,"scen_carmel_tiny",2,2,26,"Carmel",null,""],[4869,"scen_four_lakes_tiny",2,2,26,"Four Lakes",null,""],[4973,"scen_enlightened_horizon_tiny",2,2,26,"Enlightened Horizon",null,""],[5077,"scen_archipelago_small",2,2,26,"Archipelago",null,""],[5181,"scen_hedgemaze_tiny",2,2,26,"Hedgemaze",null,""],[5285,"scen_black_forest_small",2,2,26,"Black Forest",null,""],[5389,"scen_highwoods_tiny",2,2,26,"Highwoods",null,""],[5493,"scen_king_of_hill_tiny",2,2,26,"King of Hill",null,""],[5597,"scen_mountain_lakes_tiny",2,2,26,"Mountain Lakes",null,""],[5701,"scen_relic_river_tiny",2,2,26,"Relic River",null,""],[5805,"scen_rugged_tiny",2,2,26,"Rugged",null,""],[5909,"scen_shadow_lake_tiny",2,2,26,"Shadow Lake",null,""],[6013,"scen_sunkenlands_tiny",2,2,26,"Sunkenlands",null,""],[6117,"scen_wasteland_tiny",2,2,26,"Wasteland",null,""],[6221,"scen_waterlanes_tiny",2,2,26,"Waterlanes",null,""],[6325,"scen_canyon_tiny",2,2,26,null,null,""],[6429,"scen_cliffsanity_tiny",2,2,26,null,null,""],[6533,"scen_craters_tiny",2,2,26,null,null,""],[6637,"scen_dungeon_tiny",2,2,26,null,null,""],[6741,"scen_michi_tiny",2,2,26,null,null,""],[6845,"scen_ocean_gateway_tiny",2,2,26,null,null,""],[83,"scen_african_waters_tiny",2,2,27,"African Waters",null,""],[187,"scen_altai_tiny",2,2,27,"Altai",null,""],[291,"scen_ancient_spires_tiny",2,2,27,"Ancient Spires",null,""],[395,"scen_boulder_bay_tiny",2,2,27,"Boulder Bay",null,""],[499,"scen_canal_tiny",2,2,27,"Canal",null,""],[603,"scen_cliffside_tiny",2,2,27,"Cliffside",null,""],[707,"scen_confluence_tiny",2,2,27,"Confluence",null,""],[811,"scen_continental_tiny",2,2,27,"Continental",null,""],[915,"scen_forest_ponds_tiny",2,2,27,"Forest Ponds",null,""],[1019,"scen_forts_tiny",2,2,27,"Forts",null,""],[1123,"scen_french_pass_tiny",2,2,27,"French Pass",null,""],[1227,"scen_glade_tiny",2,2,27,"Glade",null,""],[1331,"scen_golden_heights_tiny",2,2,27,"Golden Heights",null,""],[1435,"scen_golden_pit_tiny",2,2,27,"Golden Pit",null,""],[1539,"scen_gorge_tiny",2,2,27,"Gorge",null,""],[1643,"scen_haywire_tiny",2,2,27,"Haywire",null,""],[1747,"scen_hidden_valley_tiny",2,2,27,"Hidden Valley",null,""],[1851,"scen_hideout_tiny",2,2,27,"Hideout",null,""],[1955,"scen_high_view_tiny",2,2,27,"High View",null,""],[2059,"scen_himeyama_tiny",2,2,27,"Himeyama",null,""],[2163,"scen_mediterranean_tiny",2,2,27,"Mediterranean",null,""],[2267,"scen_megarandom_tiny",2,2,27,"MegaRandom",null,""],[2371,"scen_migration_small",2,2,27,"Migration",null,""],[2475,"scen_mountain_pass_tiny",2,2,27,"Mountain Pass",null,""],[2579,"scen_pit_tiny",2,2,27,"The Pit",null,""],[2683,"scen_thickets_tiny",2,2,27,"Thickets",null,""],[2787,"scen_turtle_ridge_tiny",2,2,27,"Turtle Ridge",null,""],[2891,"scen_volcanic_island_tiny",2,2,27,"Volcanic Island",null,""],[2995,"scen_waterholes_tiny",2,2,27,"Waterholes",null,""],[3099,"scen_dry_arabia_tiny",2,2,27,"Dry Arabia",null,""],[3203,"scen_rolling_rivers_tiny",2,2,27,"Rolling Rivers",null,""],[3307,"scen_lipany_tiny",2,2,27,"Lipany",null,""],[3411,"scen_mongolian_heights_tiny",2,2,27,"Mongolian Heights",null,""],[3515,"scen_clearing_tiny",2,2,27,"Mountain Clearing",null,""],[3619,"scen_ponds_tiny",2,2,27,"Wetlands",null,""],[3723,"scen_savannah_tiny",2,2,27,"Marshland",null,""],[3827,"scen_dunes_tiny",2,2,27,"Prairie",null,""],[3931,"scen_rocky_river_tiny",2,2,27,"Rocky River",null,""],[4035,"scen_hill_and_dale_tiny",2,2,27,"Hill and Dale",null,""],[4139,"scen_megarandom_land_tiny",2,2,27,"Land MegaRandom",null,""],[4243,"scen_socotra_tiny",2,2,27,"Socotra",null,""],[4347,"scen_nagari_tiny",2,2,27,"Nagari",null,""],[4451,"scen_lake_side_tiny",2,2,27,"Lake Side",null,""],[4555,"scen_atacama_tiny",2,2,27,"Atacama",null,""],[4659,"scen_flankwoods_tiny",2,2,27,"Flankwoods",null,""],[4763,"scen_carmel_tiny",2,2,27,"Carmel",null,""],[4867,"scen_four_lakes_tiny",2,2,27,"Four Lakes",null,""],[4971,"scen_enlightened_horizon_tiny",2,2,27,"Enlightened Horizon",null,""],[5075,"scen_archipelago_small",2,2,27,"Archipelago",null,""],[5179,"scen_hedgemaze_tiny",2,2,27,"Hedgemaze",null,""],[5283,"scen_black_forest_small",2,2,27,"Black Forest",null,""],[5387,"scen_highwoods_tiny",2,2,27,"Highwoods",null,""],[5491,"scen_king_of_hill_tiny",2,2,27,"King of Hill",null,""],[5595,"scen_mountain_lakes_tiny",2,2,27,"Mountain Lakes",null,""],[5699,"scen_relic_river_tiny",2,2,27,"Relic River",null,""],[5803,"scen_rugged_tiny",2,2,27,"Rugged",null,""],[5907,"scen_shadow_lake_tiny",2,2,27,"Shadow Lake",null,""],[6011,"scen_sunkenlands_tiny",2,2,27,"Sunkenlands",null,""],[6115,"scen_wasteland_tiny",2,2,27,"Wasteland",null,""],[6219,"scen_waterlanes_tiny",2,2,27,"Waterlanes",null,""],[6323,"scen_canyon_tiny",2,2,27,null,null,""],[6427,"scen_cliffsanity_tiny",2,2,27,null,null,""],[6531,"scen_craters_tiny",2,2,27,null,null,""],[6635,"scen_dungeon_tiny",2,2,27,null,null,""],[6739,"scen_michi_tiny",2,2,27,null,null,""],[6843,"scen_ocean_gateway_tiny",2,2,27,null,null,""],[82,"scen_african_waters_tiny",2,2,210,"African Waters",null,""],[186,"scen_altai_tiny",2,2,210,"Altai",null,""],[290,"scen_ancient_spires_tiny",2,2,210,"Ancient Spires",null,""],[394,"scen_boulder_bay_tiny",2,2,210,"Boulder Bay",null,""],[498,"scen_canal_tiny",2,2,210,"Canal",null,""],[602,"scen_cliffside_tiny",2,2,210,"Cliffside",null,""],[706,"scen_confluence_tiny",2,2,210,"Confluence",null,""],[810,"scen_continental_tiny",2,2,210,"Continental",null,""],[914,"scen_forest_ponds_tiny",2,2,210,"Forest Ponds",null,""],[1018,"scen_forts_tiny",2,2,210,"Forts",null,""],[1122,"scen_french_pass_tiny",2,2,210,"French Pass",null,""],[1226,"scen_glade_tiny",2,2,210,"Glade",null,""],[1330,"scen_golden_heights_tiny",2,2,210,"Golden Heights",null,""],[1434,"scen_golden_pit_tiny",2,2,210,"Golden Pit",null,""],[1538,"scen_gorge_tiny",2,2,210,"Gorge",null,""],[1642,"scen_haywire_tiny",2,2,210,"Haywire",null,""],[1746,"scen_hidden_valley_tiny",2,2,210,"Hidden Valley",null,""],[1850,"scen_hideout_tiny",2,2,210,"Hideout",null,""],[1954,"scen_high_view_tiny",2,2,210,"High View",null,""],[2058,"scen_himeyama_tiny",2,2,210,"Himeyama",null,""],[2162,"scen_mediterranean_tiny",2,2,210,"Mediterranean",null,""],[2266,"scen_megarandom_tiny",2,2,210,"MegaRandom",null,""],[2370,"scen_migration_small",2,2,210,"Migration",null,""],[2474,"scen_mountain_pass_tiny",2,2,210,"Mountain Pass",null,""],[2578,"scen_pit_tiny",2,2,210,"The Pit",null,""],[2682,"scen_thickets_tiny",2,2,210,"Thickets",null,""],[2786,"scen_turtle_ridge_tiny",2,2,210,"Turtle Ridge",null,""],[2890,"scen_volcanic_island_tiny",2,2,210,"Volcanic Island",null,""],[2994,"scen_waterholes_tiny",2,2,210,"Waterholes",null,""],[3098,"scen_dry_arabia_tiny",2,2,210,"Dry Arabia",null,""],[3202,"scen_rolling_rivers_tiny",2,2,210,"Rolling Rivers",null,""],[3306,"scen_lipany_tiny",2,2,210,"Lipany",null,""],[3410,"scen_mongolian_heights_tiny",2,2,210,"Mongolian Heights",null,""],[3514,"scen_clearing_tiny",2,2,210,"Mountain Clearing",null,""],[3618,"scen_ponds_tiny",2,2,210,"Wetlands",null,""],[3722,"scen_savannah_tiny",2,2,210,"Marshland",null,""],[3826,"scen_dunes_tiny",2,2,210,"Prairie",null,""],[3930,"scen_rocky_river_tiny",2,2,210,"Rocky River",null,""],[4034,"scen_hill_and_dale_tiny",2,2,210,"Hill and Dale",null,""],[4138,"scen_megarandom_land_tiny",2,2,210,"Land MegaRandom",null,""],[4242,"scen_socotra_tiny",2,2,210,"Socotra",null,""],[4346,"scen_nagari_tiny",2,2,210,"Nagari",null,""],[4450,"scen_lake_side_tiny",2,2,210,"Lake Side",null,""],[4554,"scen_atacama_tiny",2,2,210,"Atacama",null,""],[4658,"scen_flankwoods_tiny",2,2,210,"Flankwoods",null,""],[4762,"scen_carmel_tiny",2,2,210,"Carmel",null,""],[4866,"scen_four_lakes_tiny",2,2,210,"Four Lakes",null,""],[4970,"scen_enlightened_horizon_tiny",2,2,210,"Enlightened Horizon",null,""],[5074,"scen_archipelago_small",2,2,210,"Archipelago",null,""],[5178,"scen_hedgemaze_tiny",2,2,210,"Hedgemaze",null,""],[5282,"scen_black_forest_small",2,2,210,"Black Forest",null,""],[5386,"scen_highwoods_tiny",2,2,210,"Highwoods",null,""],[5490,"scen_king_of_hill_tiny",2,2,210,"King of Hill",null,""],[5594,"scen_mountain_lakes_tiny",2,2,210,"Mountain Lakes",null,""],[5698,"scen_relic_river_tiny",2,2,210,"Relic River",null,""],[5802,"scen_rugged_tiny",2,2,210,"Rugged",null,""],[5906,"scen_shadow_lake_tiny",2,2,210,"Shadow Lake",null,""],[6010,"scen_sunkenlands_tiny",2,2,210,"Sunkenlands",null,""],[6114,"scen_wasteland_tiny",2,2,210,"Wasteland",null,""],[6218,"scen_waterlanes_tiny",2,2,210,"Waterlanes",null,""],[6322,"scen_canyon_tiny",2,2,210,null,null,""],[6426,"scen_cliffsanity_tiny",2,2,210,null,null,""],[6530,"scen_craters_tiny",2,2,210,null,null,""],[6634,"scen_dungeon_tiny",2,2,210,null,null,""],[6738,"scen_michi_tiny",2,2,210,null,null,""],[6842,"scen_ocean_gateway_tiny",2,2,210,null,null,""],[84,"scen_african_waters_tiny",2,2,211,"African Waters",null,""],[188,"scen_altai_tiny",2,2,211,"Altai",null,""],[292,"scen_ancient_spires_tiny",2,2,211,"Ancient Spires",null,""],[396,"scen_boulder_bay_tiny",2,2,211,"Boulder Bay",null,""],[500,"scen_canal_tiny",2,2,211,"Canal",null,""],[604,"scen_cliffside_tiny",2,2,211,"Cliffside",null,""],[708,"scen_confluence_tiny",2,2,211,"Confluence",null,""],[812,"scen_continental_tiny",2,2,211,"Continental",null,""],[916,"scen_forest_ponds_tiny",2,2,211,"Forest Ponds",null,""],[1020,"scen_forts_tiny",2,2,211,"Forts",null,""],[1124,"scen_french_pass_tiny",2,2,211,"French Pass",null,""],[1228,"scen_glade_tiny",2,2,211,"Glade",null,""],[1332,"scen_golden_heights_tiny",2,2,211,"Golden Heights",null,""],[1436,"scen_golden_pit_tiny",2,2,211,"Golden Pit",null,""],[1540,"scen_gorge_tiny",2,2,211,"Gorge",null,""],[1644,"scen_haywire_tiny",2,2,211,"Haywire",null,""],[1748,"scen_hidden_valley_tiny",2,2,211,"Hidden Valley",null,""],[1852,"scen_hideout_tiny",2,2,211,"Hideout",null,""],[1956,"scen_high_view_tiny",2,2,211,"High View",null,""],[2060,"scen_himeyama_tiny",2,2,211,"Himeyama",null,""],[2164,"scen_mediterranean_tiny",2,2,211,"Mediterranean",null,""],[2268,"scen_megarandom_tiny",2,2,211,"MegaRandom",null,""],[2372,"scen_migration_small",2,2,211,"Migration",null,""],[2476,"scen_mountain_pass_tiny",2,2,211,"Mountain Pass",null,""],[2580,"scen_pit_tiny",2,2,211,"The Pit",null,""],[2684,"scen_thickets_tiny",2,2,211,"Thickets",null,""],[2788,"scen_turtle_ridge_tiny",2,2,211,"Turtle Ridge",null,""],[2892,"scen_volcanic_island_tiny",2,2,211,"Volcanic Island",null,""],[2996,"scen_waterholes_tiny",2,2,211,"Waterholes",null,""],[3100,"scen_dry_arabia_tiny",2,2,211,"Dry Arabia",null,""],[3204,"scen_rolling_rivers_tiny",2,2,211,"Rolling Rivers",null,""],[3308,"scen_lipany_tiny",2,2,211,"Lipany",null,""],[3412,"scen_mongolian_heights_tiny",2,2,211,"Mongolian Heights",null,""],[3516,"scen_clearing_tiny",2,2,211,"Mountain Clearing",null,""],[3620,"scen_ponds_tiny",2,2,211,"Wetlands",null,""],[3724,"scen_savannah_tiny",2,2,211,"Marshland",null,""],[3828,"scen_dunes_tiny",2,2,211,"Prairie",null,""],[3932,"scen_rocky_river_tiny",2,2,211,"Rocky River",null,""],[4036,"scen_hill_and_dale_tiny",2,2,211,"Hill and Dale",null,""],[4140,"scen_megarandom_land_tiny",2,2,211,"Land MegaRandom",null,""],[4244,"scen_socotra_tiny",2,2,211,"Socotra",null,""],[4348,"scen_nagari_tiny",2,2,211,"Nagari",null,""],[4452,"scen_lake_side_tiny",2,2,211,"Lake Side",null,""],[4556,"scen_atacama_tiny",2,2,211,"Atacama",null,""],[4660,"scen_flankwoods_tiny",2,2,211,"Flankwoods",null,""],[4764,"scen_carmel_tiny",2,2,211,"Carmel",null,""],[4868,"scen_four_lakes_tiny",2,2,211,"Four Lakes",null,""],[4972,"scen_enlightened_horizon_tiny",2,2,211,"Enlightened Horizon",null,""],[5076,"scen_archipelago_small",2,2,211,"Archipelago",null,""],[5180,"scen_hedgemaze_tiny",2,2,211,"Hedgemaze",null,""],[5284,"scen_black_forest_small",2,2,211,"Black Forest",null,""],[5388,"scen_highwoods_tiny",2,2,211,"Highwoods",null,""],[5492,"scen_king_of_hill_tiny",2,2,211,"King of Hill",null,""],[5596,"scen_mountain_lakes_tiny",2,2,211,"Mountain Lakes",null,""],[5700,"scen_relic_river_tiny",2,2,211,"Relic River",null,""],[5804,"scen_rugged_tiny",2,2,211,"Rugged",null,""],[5908,"scen_shadow_lake_tiny",2,2,211,"Shadow Lake",null,""],[6012,"scen_sunkenlands_tiny",2,2,211,"Sunkenlands",null,""],[6116,"scen_wasteland_tiny",2,2,211,"Wasteland",null,""],[6220,"scen_waterlanes_tiny",2,2,211,"Waterlanes",null,""],[6324,"scen_canyon_tiny",2,2,211,null,null,""],[6428,"scen_cliffsanity_tiny",2,2,211,null,null,""],[6532,"scen_craters_tiny",2,2,211,null,null,""],[6636,"scen_dungeon_tiny",2,2,211,null,null,""],[6740,"scen_michi_tiny",2,2,211,null,null,""],[6844,"scen_ocean_gateway_tiny",2,2,211,null,null,""],[86,"scen_african_waters_tiny",2,2,212,"African Waters",null,""],[190,"scen_altai_tiny",2,2,212,"Altai",null,""],[294,"scen_ancient_spires_tiny",2,2,212,"Ancient Spires",null,""],[398,"scen_boulder_bay_tiny",2,2,212,"Boulder Bay",null,""],[502,"scen_canal_tiny",2,2,212,"Canal",null,""],[606,"scen_cliffside_tiny",2,2,212,"Cliffside",null,""],[710,"scen_confluence_tiny",2,2,212,"Confluence",null,""],[814,"scen_continental_tiny",2,2,212,"Continental",null,""]]] \ No newline at end of file diff --git a/server/resources/responses/age4/challenges.json b/server/resources/responses/age4/challenges.json new file mode 100644 index 00000000..773097a9 --- /dev/null +++ b/server/resources/responses/age4/challenges.json @@ -0,0 +1 @@ +[0,[[100,"season08_something_in_the_water_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[158,"season09_seasons_feast_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[489,"season09_chart_a_course_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[608,"season10_clash_of_champions_2025","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[617,"season10_conquest_2025","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[620,"season10_risetoruin_2025","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[846,"mastery_rogue_nonlinear","",2,"The Crucible Mastery","Test your mettle and command mastery in The Crucible. All mastery challenges are active at once and can be completed out of order. Gain bonus Perk points upon completion of each mastery challenge.",-1,"{\"accessControlInventoryItemPBGID\":9000826,\"icon\":\"images/fe/mastery_incomplete_crucible.png\",\"icon2\":\"images/fe/mastery_complete_crucible.png\",\"image\":\"images/backgrounds/mastery_flags/flag_ftue.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_crucible.png\",\"telemetryPrefix\":\"Rogue\",\"uiTags\":[\"pinned\",\"unpins_activity_feed_item\",\"static_as_nonlinear_path\"]}"],[1004,"season11_tradesecrets_2025","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1012,"season11_windsofchange_2025","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1057,"season11_thespoilsofvictory_2025","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1432,"season_generic_seasons_fayre","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1403394,"campaign","",2,"campaign",null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[]}"],[1428474,"mastery_english","",1,"English Mastery","After the invasion of William the Conqueror, England would never be the same. It entered an era of accelerated progress, seeing the formation of modern-style governance, the construction of enduring castles, and the battlefield domination of its key weapon for centuries to come: the longbow.",1428475,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_english.png\",\"icon2\":\"images/fe/mastery_complete_english.png\",\"image\":\"images/backgrounds/mastery_flags/flag_english.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_english.png\",\"telemetryPrefix\":\"English\",\"uiTags\":[]}"],[1430590,"dailies_group_complete","",0,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"home\"],\"maxAssignChallenges\":1,\"maxChallengeSlot\":1,\"periodType\":1,\"tableID\":1430583,\"timeBased\":true}"],[1430591,"dailies_group_civ","",0,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"home\"],\"maxAssignChallenges\":1,\"maxChallengeSlot\":1,\"periodType\":1,\"tableID\":1526844,\"timeBased\":true}"],[1430592,"dailies_group_winmode","",0,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"home\"],\"maxAssignChallenges\":1,\"maxChallengeSlot\":1,\"periodType\":1,\"tableID\":1430584,\"timeBased\":true}"],[1430593,"dailies_group_economy_research","",0,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"home\"],\"maxAssignChallenges\":1,\"maxChallengeSlot\":1,\"periodType\":1,\"tableID\":1430588,\"timeBased\":true}"],[1430594,"dailies_group_production","",0,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"home\"],\"maxAssignChallenges\":1,\"maxChallengeSlot\":1,\"periodType\":1,\"tableID\":1430586,\"timeBased\":true}"],[1440307,"mastery_french","",1,"French Mastery","In the face of invasion, plague and revolt, medieval France paved a hard-won path from adversity to prosperity. Once a land of fragmented rule bound to a code of chivalry, a unified nation emerged, forged under the roar of cannon fire.",1460288,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_french.png\",\"icon2\":\"images/fe/mastery_complete_french.png\",\"image\":\"images/backgrounds/mastery_flags/flag_french.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_french.png\",\"telemetryPrefix\":\"French\",\"uiTags\":[]}"],[1440329,"mastery_hre","",1,"Holy Roman Empire Mastery","The Holy Roman Empire of the German Nation claimed to be the rightful successor to the ancient Roman Empire. Its emperors controlled central Europe with a stalwart army of hardened infantrymen, and aimed to capture the center of the Christian world itself: Rome.",1440397,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_hre.png\",\"icon2\":\"images/fe/mastery_complete_hre.png\",\"image\":\"images/backgrounds/mastery_flags/flag_hre.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_hre.png\",\"telemetryPrefix\":\"HolyRomanEmpire\",\"uiTags\":[]}"],[1440330,"mastery_chinese","",1,"Chinese Mastery","From the engineering feat of the Great Wall to the finely tuned chemistry of gunpowder, China's mastery of warfare ensured centuries of unbroken dynastic rule. Its ingenious inventions were the awe of the Middle Ages, forever cementing China as one of the great forces of technological progress in human history.",1440340,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_chinese.png\",\"icon2\":\"images/fe/mastery_complete_chinese.png\",\"image\":\"images/backgrounds/mastery_flags/flag_chinese.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_chinese.png\",\"telemetryPrefix\":\"Chinese\",\"uiTags\":[]}"],[1440332,"mastery_sultanate","",1,"Delhi Sultanate Mastery","Founded by a former slave boy, the Sultanate of Delhi rose to encompass almost the whole Indian subcontinent at the height of its rule. A melting pot of Hindu and Muslim cultures, it boasted elaborate architecture, world-renowned metal working, and the terrifying force of its thousands-strong elephant corps.",1440428,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_sultanates.png\",\"icon2\":\"images/fe/mastery_complete_sultanates.png\",\"image\":\"images/backgrounds/mastery_flags/flag_sultanates.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_sultanate.png\",\"telemetryPrefix\":\"DelhiSultanate\",\"uiTags\":[]}"],[1441728,"mastery_mongol","",1,"Mongol Mastery","Under the unifying rule of Genghis Khan, warring Mongolian tribes came together and forged the largest empire the world has ever known. What they lacked in resources, they made up for in cunning, skill, and efficiency. The Mongol Empire aimed for nothing less than world domination.",1441732,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_mongol.png\",\"icon2\":\"images/fe/mastery_complete_mongol.png\",\"image\":\"images/backgrounds/mastery_flags/flag_mongol.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_mongols.png\",\"telemetryPrefix\":\"Mongol\",\"uiTags\":[]}"],[1460334,"mastery_rus","",1,"Rus Mastery","Hardened by devastating invasions, political instability, and long, bitter winters, the Rus were built for survival. Masters of hunting, trade, and wooden construction, they would rebuild their broken realm, as their leaders fought to birth a new empire under Moscow.",1460335,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_rus.png\",\"icon2\":\"images/fe/mastery_complete_rus.png\",\"image\":\"images/backgrounds/mastery_flags/flag_rus.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_rus.png\",\"telemetryPrefix\":\"Rus\",\"uiTags\":[]}"],[1464934,"achievements","",2,"achievements",null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[]}"],[1470816,"mastery_abbasid","",1,"Abbasid Mastery","Born of the fertile crescent in the modern-day Middle East, the Abbasid Caliphate ruled over the Islamic world for hundreds of years. It oversaw a great period of flourishing and technological innovation known as the \"Golden Age of Islam\", bringing the medieval world racing towards the modern era.",1470814,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_abbasid.png\",\"icon2\":\"images/fe/mastery_complete_abbasid.png\",\"image\":\"images/backgrounds/mastery_flags/flag_abbasid.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_abbasid.png\",\"telemetryPrefix\":\"Abbasid\",\"uiTags\":[]}"],[1470871,"campaign_completion","",2,"campaign_completion",null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[]}"],[1472244,"mastery_ftue_training","",1,"Training Mastery","Train before engaging more worthy opponents. To be assured of victory, train until you are destined to win.",1472232,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_ftue.png\",\"icon2\":\"images/fe/mastery_complete_ftue.png\",\"image\":\"images/backgrounds/mastery_flags/flag_ftue.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_ftue.png\",\"telemetryPrefix\":\"Training\",\"uiTags\":[\"pinned\",\"unpins_activity_feed_item\"]}"],[1486045,"mastery_ottoman","",1,"Ottoman Mastery","One of the world's most enduring empires sprung from humble nomadic roots in a small corner of Anatolia. The Ottoman Empire was made resilient by an effective and stable government supported by a well-trained and regimented military.",1521701,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_ottoman.png\",\"icon2\":\"images/fe/mastery_complete_ottoman.png\",\"image\":\"images/backgrounds/mastery_flags/flag_ottoman.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_ottoman.png\",\"telemetryPrefix\":\"Ottomans\",\"uiTags\":[]}"],[1513876,"season01_event01","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1516401,"season01_event02","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1516461,"season01_event03","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1517318,"season01_event04","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1519802,"season02_event04","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1519834,"season02_event02","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1519835,"season02_event01","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1519916,"season02_event03","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1520552,"mastery_malian","",1,"Malian Mastery","From the lush coasts of West Africa to the dry sands of the Sahara, the medieval Malian Empire grew to become the largest and most prosperous empire in North Africa. Its incredible wealth in gold and salt, its stable trade routes, and its highly mobile army made its influence felt across the continents.",1520550,"{\"accessControlInventoryItemPBGID\":2081269,\"icon\":\"images/fe/mastery_incomplete_malian.png\",\"icon2\":\"images/fe/mastery_complete_malian.png\",\"image\":\"images/backgrounds/mastery_flags/flag_malian.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_malian.png\",\"telemetryPrefix\":\"Malian\",\"uiTags\":[]}"],[1525307,"season03_event01","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1525308,"season03_event02","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1525538,"season03_event03","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1526523,"season03_event04","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1526863,"season03_event05","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1526907,"season04_event01","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1527574,"s04_enchanted_grove_2023","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1531245,"event_currentchallenges","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1531872,"season_event_01","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1531873,"season_event_03","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1531874,"season_event_02","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1535075,"mastery_japanese","",1,"Japanese Mastery","Emerging from the chaos of civil war, the Japanese Shogunate sought stability and strength. It built a powerful, organized military and developed some of the most advanced gunpowder weapons of the era.",1557511,"{\"accessControlInventoryItemPBGID\":2135351,\"icon\":\"images/fe/mastery_incomplete_japanese.png\",\"icon2\":\"images/fe/mastery_complete_japanese.png\",\"image\":\"images/backgrounds/mastery_flags/flag_japanese.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_japanese.png\",\"telemetryPrefix\":\"Japanese\",\"uiTags\":[\"pinned\"]}"],[1542039,"season_event_01b","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1542040,"season_event_03b","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1549192,"mastery_byzantine","",1,"Byzantine Mastery","In Constantinople, at the confluence of east and west, a young post-Roman empire battled its way to dominance. Now known as the Byzantines, the Eastern Romans spread their culture, architecture, and immense martial power the length and breadth of the Mediterranean.",1553644,"{\"accessControlInventoryItemPBGID\":2135351,\"icon\":\"images/fe/mastery_incomplete_byzantine.png\",\"icon2\":\"images/fe/mastery_complete_byzantine.png\",\"image\":\"images/backgrounds/mastery_flags/flag_byzantine.png\",\"imageSmall\":\"images/illustrations/masteries/civ_pattern_byzantine.png\",\"telemetryPrefix\":\"Byzantine\",\"uiTags\":[\"pinned\"]}"],[1674374,"s06_hallow_hearth_2023","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1705559,"season07_lunar_fair_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1705863,"season07_womens_week_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1725276,"template_event_group","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1725283,"season07_spring_tournie_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[1769294,"season09_hallows_hearth_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[5005071,"season08_summer_sights_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"],[5005077,"season08_map_monsters_2024","",2,null,null,-1,"{\"accessControlInventoryItemPBGID\":-1,\"icon\":null,\"icon2\":null,\"image\":null,\"imageSmall\":null,\"telemetryPrefix\":null,\"uiTags\":[\"event\"]}"]],[[101,100,"somethinginthewater_2024_sink10ships_skmp","","Sea Conquest","Sink 10 enemy ships in multiplayer or skirmish matches.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"ship_destroyed\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"ship\"},{\"type\":\"constant\",\"value\":\"naval_warship\"},{\"type\":\"constant\",\"value\":\"naval_fireship\"},{\"type\":\"constant\",\"value\":\"naval_fishing_ship\"},{\"type\":\"constant\",\"value\":\"naval_scout\"},{\"type\":\"constant\",\"value\":\"naval_trade_ship\"},{\"type\":\"constant\",\"value\":\"naval_transport\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2009,1000],[103,1725276,"somethinginthewater_2024_defeatdockwithship_skmp","","Dockyard Demolition","Destroy 4 enemy docks using ships in multiplayer or skirmish matches.",null,4,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"building_destroyed\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"naval_production_building\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"military\"}]},{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"ship\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"naval_fireship\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"naval_war_galley\"}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2010,1000],[105,100,"somethinginthewater_2024_200fish_skmp","","Mythic Haul","Gather 200 food from fishing spots in a single multiplayer or skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gettingfish\"},{\"type\":\"constant\",\"value\":200}]}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_fishing_ship\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2011,1000],[107,100,"somethinginthewater_2024_sea_monster_recieve_effect","","Something Fishy Going On","Discover the Dragon Turtle.","Monsters can be found in the Map Monsters game mode. Send your villagers and boats to search for them to collect their bounty.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"grantbuff\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"grantbuff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonsterGrantBuffSea\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2012,1000],[109,100,"somethinginthewater_2024_produce_50_ships","","Big Fish Little Pond","Deploy 50 ship units in a single game.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":193065},{\"type\":\"constant\",\"value\":193066},{\"type\":\"constant\",\"value\":193068},{\"type\":\"constant\",\"value\":193067},{\"type\":\"constant\",\"value\":199133},{\"type\":\"constant\",\"value\":196665},{\"type\":\"constant\",\"value\":193069},{\"type\":\"constant\",\"value\":193920}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2013,1000],[111,100,"somethinginthewater_2024_win_const5dock_skmp","","Dockyards","Win a Multiplayer or Skirmish match in which you constructed 5 Docks.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"winning\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"dockscompleted\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"dockscompleted\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"dockscompleted\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_production_building\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winning\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"winning\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2010,1000],[132,1769294,"hallowshearth_2024_buildfarms_skmp","","Children of the Crops","Build 80 farms in Skirmish or Multiplayer matches.",null,80,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"farms_build\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"farm\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2044,1000],[134,1769294,"hallowshearth_2024_slayunits_1","","Another For The Pile I","Slay 50 enemy units.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"slay_units\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2045,1000],[136,1769294,"hallowshearth_2024_slayunits_2","","Another For The Pile II","Slay 100 enemy Units.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"slay_units_2\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":134},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2050,1000],[138,1769294,"hallowshearth_2024_slayunits_3","","Another For The Pile III","Slay 200 Enemy units.",null,200,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"slay_units_3\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":136},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2053,1000],[140,1769294,"halllowshearth_2024_playinhalloweenbiome_2","","Seasons Tricks","Play 3 matches in the Halloween Biome in Skirmish or Multiplayer.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":144},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmapbiome\"},{\"type\":\"constant\",\"value\":2129619}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2049,1000],[142,1769294,"hallowshearth_2024_slaywerewolves","","Hunt or be Haunted","Slay 30 Werewolves in the Full Moon Game Mode",null,30,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"wolveskilled\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":9000808}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":9001127}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":9001128}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":9001129}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":789},{\"type\":\"constant\",\"value\":793},{\"type\":\"constant\",\"value\":794},{\"type\":\"constant\",\"value\":795},{\"type\":\"constant\",\"value\":796},{\"type\":\"constant\",\"value\":790},{\"type\":\"constant\",\"value\":788},{\"type\":\"constant\",\"value\":791},{\"type\":\"constant\",\"value\":792},{\"type\":\"constant\",\"value\":797}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"full_moon_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2048,1000],[144,1769294,"halllowshearth_2024_playinhalloweenbiome_1","","Seasons Treats","Play a single game in the Halloween Biome in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmapbiome\"},{\"type\":\"constant\",\"value\":2129619}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2046,1000],[148,158,"seasonsfeast_2024_trainscouts","","Tracks in the snow","Build 8 scouts in Skirmish or Multiplayer matches",null,8,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"spawned\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"scout\"}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2055,1000],[152,158,"seasonsfeast_2024_sendtribute_skmp","","Sharing and Caring","Send 10 tributes in a single Skirmish or Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"tribute_sent\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"tribute_sent\",\"trackingEvent\":\"TributeSent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2056,1000],[154,158,"seasonsfeast_2024_buildhouses_skmp","","A cold neighbourhood","Build 40 houses in Skirmish or Multiplayer",null,40,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"eventbuilding\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"house\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2057,1000],[170,1769294,"hallowshearth_2024_playfullmoon_1","","The Full Moon Calls","Play a match of Full Moon in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"WinOrLose\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":789},{\"type\":\"constant\",\"value\":793},{\"type\":\"constant\",\"value\":794},{\"type\":\"constant\",\"value\":795},{\"type\":\"constant\",\"value\":796},{\"type\":\"constant\",\"value\":790},{\"type\":\"constant\",\"value\":788},{\"type\":\"constant\",\"value\":791},{\"type\":\"constant\",\"value\":792},{\"type\":\"constant\",\"value\":797}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"full_moon_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2047,1000],[172,1769294,"hallowshearth_2024_winfullmoon","","The Morning Comes","Win a game of Full Moon in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":789},{\"type\":\"constant\",\"value\":793},{\"type\":\"constant\",\"value\":794},{\"type\":\"constant\",\"value\":795},{\"type\":\"constant\",\"value\":796},{\"type\":\"constant\",\"value\":790},{\"type\":\"constant\",\"value\":788},{\"type\":\"constant\",\"value\":791},{\"type\":\"constant\",\"value\":792},{\"type\":\"constant\",\"value\":797}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"full_moon_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2052,1000],[174,1769294,"hallowshearth_2024_playfullmoon_2","","They Stalk in the Night","Play 3 matches of Full Moon in Skirmish or Multiplayer.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"WinOrLose_2\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":789},{\"type\":\"constant\",\"value\":793},{\"type\":\"constant\",\"value\":794},{\"type\":\"constant\",\"value\":795},{\"type\":\"constant\",\"value\":796},{\"type\":\"constant\",\"value\":790},{\"type\":\"constant\",\"value\":788},{\"type\":\"constant\",\"value\":791},{\"type\":\"constant\",\"value\":792},{\"type\":\"constant\",\"value\":797}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"full_moon_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":170},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2051,1000],[178,158,"seasonsfeast_2024_collectgifts_1","","Gift Gathering 1","Collect 5 gifts in the Gift Haul game mode",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gifts_collected\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GiftBuffLand\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GiftBuffWater\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":813},{\"type\":\"constant\",\"value\":814},{\"type\":\"constant\",\"value\":815},{\"type\":\"constant\",\"value\":816},{\"type\":\"constant\",\"value\":817},{\"type\":\"constant\",\"value\":808},{\"type\":\"constant\",\"value\":809},{\"type\":\"constant\",\"value\":810},{\"type\":\"constant\",\"value\":811},{\"type\":\"constant\",\"value\":812}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"seasons_feast_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2060,1000],[182,158,"seasonsfeast_2024_collectgifts_2","","Gift Gathering 2","Collect 15 gifts in the Gift Haul game mode",null,15,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gifts_collected\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":178},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GiftBuffLand\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GiftBuffWater\"}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":813},{\"type\":\"constant\",\"value\":814},{\"type\":\"constant\",\"value\":815},{\"type\":\"constant\",\"value\":816},{\"type\":\"constant\",\"value\":817},{\"type\":\"constant\",\"value\":808},{\"type\":\"constant\",\"value\":809},{\"type\":\"constant\",\"value\":810},{\"type\":\"constant\",\"value\":811},{\"type\":\"constant\",\"value\":812}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"seasons_feast_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2058,1000],[378,1464934,"a132_civ_templar","","Victory Through Cross and Sword","Win a Multiplayer or Skirmish match with Knights Templar.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"wintemplar\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"wintemplar\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000002}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001687,-1,-1,0],[397,1464934,"a133_civ_templar","","Journey to the Sacred Land","Have 50 Knights Templar Pilgrims reach a sacred site.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"templar133\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"templar133\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"templar133\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"templar133\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"PilgrimReachedHolySite\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_140\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000002}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001700,-1,-1,0],[399,1464934,"a134_civ_templar","","Castle Crasher","Destroy an enemy building with the Trebuchet Emplacement.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"templar134\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"templar134\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2135695}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":9000849}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000002}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001701,-1,-1,0],[401,1464934,"a135_civ_templar","","'Tis But a Scratch","Heal allied units by 500 health with the Hospitaller Knight.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"templar135\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"templar135\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"templar135\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"HospitallerHealEvent\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000002}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001702,-1,-1,0],[403,1464934,"a136_civ_templar","","Feeding the Rich","Generate 2000 Gold with the Pilgrim Loan at the market.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"templar136\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"templar136\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"templar136\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"PilgrimLoanEvent\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000002}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001703,-1,-1,0],[405,1464934,"a137_civ_lancaster","","The Red Rose Flourishes","Win a Multiplayer or Skirmish match with the House of Lancaster.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winlancaster\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winlancaster\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000003}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001704,-1,-1,0],[407,1464934,"a138_civ_lancaster","","Blot out the Sun","As the House of Lancaster, hit 500 times using the Yeoman's Synchronized Shot.",null,500,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"lancaster138\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"lancaster138\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"lancaster138\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"lancaster138\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SyncShotHit\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_145\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000003}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001705,-1,-1,0],[409,1464934,"a139_civ_lancaster","","My House is Richer Than Yours","Generate 4000 Gold with Manors in one match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"lancaster139\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"lancaster139\"},{\"type\":\"constant\",\"value\":1066}]}},\"enabled\":true,\"name\":\"lancaster139\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ManorResourceTick\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000003}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001706,-1,-1,0],[411,1464934,"a140_civ_lancaster","","Lead the Charge","Empower at least 30 units with all 4 Lords of Lancaster at once.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"lancaster140\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievementBuffed\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000003}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001707,-1,-1,0],[413,1464934,"a141_civ_lancaster","","Knife to Meet You","Kill 50 units with Earl's Guards after researching Throwing Dagger Drills.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"lancaster141_kills\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_franciscas_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_franciscas_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_franciscas_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":9001425}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"lancaster141_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"lancaster141_kills\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":false,\"name\":\"lancaster141_kills\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":5000080},{\"type\":\"constant\",\"value\":5000081}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":5000003}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001708,-1,-1,0],[415,1464934,"a142_hb","","Against All Odds","Defeat the French army at Agincourt.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":434},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001709,-1,-1,0],[417,1464934,"a143_hb","","Get Off My Lawn","Destroy the army besieging Safed.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":438},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001710,-1,-1,0],[419,1464934,"a144_hb","","Jerusalem Has Come","Capture all Sacred Sites and drive the Ayyubids out of Montgisard.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":436},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001711,-1,-1,0],[421,1464934,"a145_hb","","A Rose for the Fallen","Survive the Aftermath of Towton.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":440},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001712,-1,-1,0],[423,1464934,"a146_hb","","Conqueror of History","Complete all Historical Battles in Conqueror Mode.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":446},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":448},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":450},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":452},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9001713,-1,-1,0],[434,1403394,"win_agincourt","","Agincourt",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_agincourt\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[436,1403394,"win_montgisard","","Montgisard",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_montgisard\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[438,1403394,"win_safed","","Safed",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_safed\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[440,1403394,"win_towton","","Towton",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_towton\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[446,1403394,"win_agincourt_conq","","Agincourt",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AgincourtConq\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_agincourt\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[448,1403394,"win_montgisard_conq","","Montgisard",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MontgisardConq\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_montgisard\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[450,1403394,"win_safed_conq","","Safed",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SafedConq\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_safed\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[452,1403394,"win_towton_conq","","Towton",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"TowtonConq\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_towton\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[465,489,"chartacourse_2024_perform200trades","","Weaving the Silk Road","Perform 200 trades with Traders in Skirmish or Multiplayer matches.",null,200,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"naval_trade_ship\"},{\"type\":\"constant\",\"value\":\"royal_trade_cart_hre\"},{\"type\":\"constant\",\"value\":\"trade_camel\"},{\"type\":\"constant\",\"value\":\"trade_caravan\"},{\"type\":\"constant\",\"value\":\"trade_cart\"},{\"type\":\"constant\",\"value\":\"trade_cart_rider\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2065,1000],[467,489,"chartacourse_2024_slay24deer","","A Natural Hunter","Slay 24 Deer in Skirmish or multiplayer matches",null,24,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"killed\",\"trackingEvent\":\"AnimalKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"scar_deer\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2074,1000],[469,489,"chartacourse_2024_play7matches","","From dusk till dawn","Play 7 matches in Skirmish or Multiplayer.",null,7,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"play\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2067,1000],[471,489,"chartacourse_2024_reachcastleage7times","","Great Works","Advance to the third age 7 times in skirmish or multiplayer matches.",null,7,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"aged\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2068,1000],[473,489,"chartacourse_2024_capture10sacredsites","","A sight to behold","Capture 10 sacred sites in skirmish or multiplayer matches.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"aged\",\"trackingEvent\":\"SiteCaptured\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2069,1000],[479,489,"chartacourse_2024_siege70structures","","Meteor Shower","Destroy 70 structures with siege equipment in Skirmish or Multiplayer matches.",null,70,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"buildings_sieged\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"siege\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2064,1000],[481,489,"chartacourse_2024_playstargazing","","Looking for a sign","Play a single match of Chart a Course in skirmish or multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"WinOrLose\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":803},{\"type\":\"constant\",\"value\":804},{\"type\":\"constant\",\"value\":805},{\"type\":\"constant\",\"value\":806},{\"type\":\"constant\",\"value\":807},{\"type\":\"constant\",\"value\":798},{\"type\":\"constant\",\"value\":799},{\"type\":\"constant\",\"value\":800},{\"type\":\"constant\",\"value\":801},{\"type\":\"constant\",\"value\":802}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chart_a_course_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2071,1000],[483,489,"chartacourse_2024_gainblessings_1","","A sign from the stars 1","Choose a buff during a match of Chart a Course in skirmish or multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"blessings_received\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChartACourseBlessing\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":803},{\"type\":\"constant\",\"value\":804},{\"type\":\"constant\",\"value\":805},{\"type\":\"constant\",\"value\":806},{\"type\":\"constant\",\"value\":807},{\"type\":\"constant\",\"value\":798},{\"type\":\"constant\",\"value\":799},{\"type\":\"constant\",\"value\":800},{\"type\":\"constant\",\"value\":801},{\"type\":\"constant\",\"value\":802}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chart_a_course_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2070,1000],[485,489,"chartacourse_2024_gainblessings_2","","A sign from the stars 2","Gain 5 buffs in Chart a Course in skirmish or multiplayer matches.",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"blessings_received\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChartACourseBlessing\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":483},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":803},{\"type\":\"constant\",\"value\":804},{\"type\":\"constant\",\"value\":805},{\"type\":\"constant\",\"value\":806},{\"type\":\"constant\",\"value\":807},{\"type\":\"constant\",\"value\":798},{\"type\":\"constant\",\"value\":799},{\"type\":\"constant\",\"value\":800},{\"type\":\"constant\",\"value\":801},{\"type\":\"constant\",\"value\":802}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chart_a_course_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2072,1000],[487,489,"chartacourse_2024_gainblessings_3","","A sign from the stars 3","Gain 9 buffs in Chart a Course matches in skirmish or multiplayer matches.",null,9,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"blessings_received\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChartACourseBlessing\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":485},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":803},{\"type\":\"constant\",\"value\":804},{\"type\":\"constant\",\"value\":805},{\"type\":\"constant\",\"value\":806},{\"type\":\"constant\",\"value\":807},{\"type\":\"constant\",\"value\":798},{\"type\":\"constant\",\"value\":799},{\"type\":\"constant\",\"value\":800},{\"type\":\"constant\",\"value\":801},{\"type\":\"constant\",\"value\":802}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chart_a_course_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2073,1000],[490,489,"chartacourse_2024_slay7wolves","","Hunt the Hunter","Slay 7 Wolves in Skirmish or Multiplayer.",null,7,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"killed\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"wolf\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2066,1000],[501,158,"seasonsfeast_2024_collectgifts_3","","Gift Gathering 3","Collect 30 gifts in the Gift Haul game mode",null,30,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gifts_collected\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":182},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GiftBuffLand\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GiftBuffWater\"}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":813},{\"type\":\"constant\",\"value\":814},{\"type\":\"constant\",\"value\":815},{\"type\":\"constant\",\"value\":816},{\"type\":\"constant\",\"value\":817},{\"type\":\"constant\",\"value\":808},{\"type\":\"constant\",\"value\":809},{\"type\":\"constant\",\"value\":810},{\"type\":\"constant\",\"value\":811},{\"type\":\"constant\",\"value\":812}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"seasons_feast_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2059,1000],[502,158,"seasonsfeast_2024_playinwinterbiome","","Time to get warm","Play a match in a Skirmish or Multiplayer with a Winter Biome",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"play_in_winter\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmapbiome\"},{\"type\":\"constant\",\"value\":2138594}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2061,1000],[503,158,"seasonsfeast_2024_wingifthaul","","The Season of giving","Win a match of Gift Haul in Skirmish or Multiplayer",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":813},{\"type\":\"constant\",\"value\":814},{\"type\":\"constant\",\"value\":815},{\"type\":\"constant\",\"value\":816},{\"type\":\"constant\",\"value\":817},{\"type\":\"constant\",\"value\":808},{\"type\":\"constant\",\"value\":809},{\"type\":\"constant\",\"value\":810},{\"type\":\"constant\",\"value\":811},{\"type\":\"constant\",\"value\":812}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"seasons_feast_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2062,1000],[529,846,"mastery_rogue_nonlinear_04","","Uncontested","Earn a Gold medal on Contested Coastline.","A Gold medal can be achieved on any difficulty level.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"fePriority\":3,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_coastline\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[531,846,"mastery_rogue_nonlinear_05","","Gingko\u2019s Grandeur","Earn a Gold medal on Daimyo Dynamics.","A Gold medal can be achieved on any difficulty level.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"fePriority\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_japanese_daimyo\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[541,846,"mastery_rogue_nonlinear_06","","Fruits of the Forest","Gain 1000 resources from caches in Forest Lords.","Many caches are hidden in the deep forest and Perk points can be used to increase resource cache value.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resources_collected\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"resources_collected\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RogueResourcePickups\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":5,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_forest\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2179,1000],[543,846,"mastery_rogue_nonlinear_07","","Steppe Off","Destroy the bandit camp on Watch Your Steppe.","Destroying the bandit camp prevents Mongolian raiders from attacking.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"steppeoff_completed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"steppeoff_completed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RogueSteppeOffCompleted\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":6,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_mongol_steppe\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2180,1000],[545,846,"mastery_rogue_nonlinear_08","","Stone by Stone","Destroy a Keep on Contested Coastline.","Stronger defenses are often protecting even greater rewards.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"stone_by_stone\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"stone_by_stone\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"castle\"}]}}]}],\"counterVersion\":4,\"fePriority\":7,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_coastline\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2181,1000],[549,846,"mastery_rogue_nonlinear_09","","Shadow Clan","Defeat 7 Shinobi on Daimyo Dynamics.","Sneaky Shinobi can be hiding anywhere on the map.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"shadow_clan\"},{\"type\":\"constant\",\"value\":7}]}},\"enabled\":true,\"name\":\"shadow_clan\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"shinobi_jpn\"}]}}]}],\"counterVersion\":4,\"fePriority\":8,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_japanese_daimyo\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2182,1000],[551,846,"mastery_rogue_nonlinear_10","","Tower Defense","In a single mission, defeat 100 enemy units with defensive buildings.","Upgrading buildings with powerful boons increases their strength formidably.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kills\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":true,\"name\":\"kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"defensive_structure\"}]}}]}],\"counterVersion\":4,\"fePriority\":9,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2183,1000],[553,846,"mastery_rogue_nonlinear_11","","True Blessings","Collect three or more Relics and then activate Blessed Smite.","Relics are hidden all around the map, explore with the scout to uncover their locations.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"statemodel_float_value\",\"value\":3}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":9001286}]}}]}],\"counterVersion\":4,\"fePriority\":10,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[555,846,"mastery_rogue_nonlinear_12","","Academia","Attend Military College or Capture a Siege camp in any Crucible mission.","Side objectives are highlighted on the minimap at the start of the game.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"academia_completed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"academia_completed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RogueAcademiaCompleted\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":11,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[557,846,"mastery_rogue_nonlinear_13","","People\u2019s Champion","Build a Bonfire or Rescue an Allied landmark in any Crucible mission.","Side objectives are highlighted on the minimap at the start of the game.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"people_completed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"people_completed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RoguePeoplesChampionCompleted\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":12,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[559,846,"mastery_rogue_nonlinear_14","","Champions' Champion","In a single mission, rescue or recruit 3 champions or hero units.","Champions can be rescued from across the map and Heroes can be gained from Boons.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"champions_completed\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"champions_completed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RogueChampionsChampionCompleted\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":13,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2184,1000],[561,846,"mastery_rogue_nonlinear_15","","An Empire for the Ages","Survive 15 minutes in Endless Mode.","Endless mode begins after achieving a Gold medal in any mission.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"empire_completed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"empire_completed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RogueEmpireCompleted\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":14,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[\"rogue_gd_hardest\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2177,1000],[598,608,"clashofchampions_2025_build12wonders","","Built to last","Build 12 wonders in Multiplayer or Skirmish matches.",null,12,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"wonder\"}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"landmark\"}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2076,1000],[600,608,"clashofchampions_2025_destroy100buildings","","Level the playing field","Destroy 100 buildings in Multiplayer or Skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2077,1000],[602,608,"clashofchampions_2025_get100archerkills","","Hit the mark","Get 100 kills with archers in Multiplayer or Skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"archer\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2078,1000],[604,608,"clashofchampions_2025_recruit100cavalry","","Ride to Victory","Recruit 100 cavalry units in Multiplayer or Skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"spawned_cavalry\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129655},{\"type\":\"constant\",\"value\":129567},{\"type\":\"constant\",\"value\":129605},{\"type\":\"constant\",\"value\":2033166},{\"type\":\"constant\",\"value\":2033164},{\"type\":\"constant\",\"value\":120938},{\"type\":\"constant\",\"value\":156312},{\"type\":\"constant\",\"value\":193502},{\"type\":\"constant\",\"value\":193505},{\"type\":\"constant\",\"value\":172888},{\"type\":\"constant\",\"value\":172773},{\"type\":\"constant\",\"value\":172777},{\"type\":\"constant\",\"value\":172880},{\"type\":\"constant\",\"value\":136090},{\"type\":\"constant\",\"value\":136091}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2079,1000],[606,608,"clashofchampions_2025_win10games","","Might and Mind","Win 10 games in Multiplayer or Skirmish matches.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2080,1000],[609,617,"conquest_2025_build20stonewalls","","Fortified Ground","Build 20 stone wall towers",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"stone_wall_tower\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2086,1000],[611,617,"conquest_2025_win3gamesofkoth","","Conqueror's Cache","Win 3 games of Conqueror's Cache",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":823},{\"type\":\"constant\",\"value\":824},{\"type\":\"constant\",\"value\":825},{\"type\":\"constant\",\"value\":826},{\"type\":\"constant\",\"value\":827},{\"type\":\"constant\",\"value\":818},{\"type\":\"constant\",\"value\":819},{\"type\":\"constant\",\"value\":820},{\"type\":\"constant\",\"value\":821},{\"type\":\"constant\",\"value\":822}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"king_of_the_hill_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2087,1000],[613,617,"conquest_2025_play5kothgames","","Many Flags","Play 5 games of Conqueror's Cache",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"WinOrLose\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":823},{\"type\":\"constant\",\"value\":824},{\"type\":\"constant\",\"value\":825},{\"type\":\"constant\",\"value\":826},{\"type\":\"constant\",\"value\":827},{\"type\":\"constant\",\"value\":818},{\"type\":\"constant\",\"value\":819},{\"type\":\"constant\",\"value\":820},{\"type\":\"constant\",\"value\":821},{\"type\":\"constant\",\"value\":822}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"king_of_the_hill_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2089,1000],[615,617,"conquest_2025_earn10capturepointrewards","","The Long Climb","Earn 50 rewards from capture points in Conqueror's Cache",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"rewards_received\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"KingOfTheHillRewardGranted\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2088,1000],[618,620,"risetoruin_2025_10timesreachage4","","Road to Glory","Achieve Age IV 10 times in Skirmish or Multiplayer Matches.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"reach_age4\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2092,1000],[621,620,"risetoruin_2025_destroy10towncenters","","Path of Destruction","Destroy 10 Enemy Town Centers in Skirmish or Multiplayer Matches.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"town_center\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2094,1000],[623,620,"risetoruin_2025_destroy25houses","","From the Ashes","Destroy 25 houses in Skirmish or Multiplayer Matches.",null,25,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"house\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2095,1000],[625,620,"risetoruin_2025_winbeforeage4","","History of Victory","Win a match while in Age III or lower in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win_before_age4\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"win_before_age4\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2091,1000],[627,620,"risetoruin_2025_reach200pop_skmp","","Belongs to the People","Reach a population of 200 in Skirmish or Multiplayer Matches.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_population\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_population\",\"trackingEvent\":\"PlayerAddEntity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"population\",\"value\":\"PersonnelPop\"},{\"type\":\"constant\",\"value\":200}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2090,1000],[658,617,"conquest_2025_capture1hill","","Raise the Flag","Capture the Control Point in Conqueror's Cache",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"captured\",\"trackingEvent\":\"SiteCaptured\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"capture_point\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":823},{\"type\":\"constant\",\"value\":824},{\"type\":\"constant\",\"value\":825},{\"type\":\"constant\",\"value\":826},{\"type\":\"constant\",\"value\":827},{\"type\":\"constant\",\"value\":818},{\"type\":\"constant\",\"value\":819},{\"type\":\"constant\",\"value\":820},{\"type\":\"constant\",\"value\":821},{\"type\":\"constant\",\"value\":822}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"king_of_the_hill_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2083,1000],[713,617,"clashofchampions_2025_recruit100treb","","Trebuchet Tyrant","Build 100 Counterweight Trebuchets in Multiplayer or skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"spawned_trebuchets\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":130950},{\"type\":\"constant\",\"value\":124540}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2109,1000],[718,617,"clashofchampions_2025_recruit100mangonel","","Mangonel Master","Build 100 Mangonels in Multiplayer or skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"spawned_mangonel\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":124537}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"nest_of_bees\"}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2108,1000],[847,846,"mastery_rogue_nonlinear_01","","Into the Fire","Earn a Bronze medal or better in any Crucible Mission.","Can be achieved on any difficulty level.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[849,846,"mastery_rogue_nonlinear_02","","The Greatest Khan","Earn a Gold medal on Watch Your Steppe.","A Gold medal can be achieved on any difficulty level.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"fePriority\":1,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_mongol_steppe\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[851,846,"mastery_rogue_nonlinear_03","","Lords of the Forest","Earn a Gold medal on Forest Lords.","A Gold medal can be achieved on any difficulty level.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"fePriority\":2,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_forest\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,1000],[893,1464934,"a147_crucible","","The Greatest Khan",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_mongol_steppe\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003346,-1,-1,0],[895,1464934,"a148_crucible","","Lords of the Forest","Earn a Gold Medal on Forest Lords in the Crucible.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_forest\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003347,-1,-1,0],[897,1464934,"a149_crucible","","Uncontested","Earn a Gold Medal on Contested Coastline in the Crucible.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_coastline\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003348,-1,-1,0],[899,1464934,"a150_crucible","","Gingko\u2019s Grandeur","Earn a Gold Medal on Daimyo Dynamics in the Crucible.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_gold_or_higher\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_gold_or_higher\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":196836}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"rogue_japanese_daimyo\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003349,-1,-1,0],[901,1464934,"a151_civ_tug","","No Luck Needed","Win a Multiplayer or Skirmish match with Tughlaq Dynasty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"wintug\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"wintug\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000860}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003363,-1,-1,0],[903,1464934,"a152_civ_tug","","Toomai's Dance","Gain Worker Elephant bonus resources 1000 times in a match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a152\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"a152\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"villager\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000860}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003364,-1,-1,0],[905,1464934,"a153_civ_tug","","Elevated Theology","Have Healer Elephants heal 100 melee infantry units in a single match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"a153\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a153\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":true,\"name\":\"a153\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":9004306}]},{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"melee_infantry\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000860}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003365,-1,-1,0],[907,1464934,"a154_civ_tug","","Thunder and Trumpets","Trample with 25 Raider Elephants at the same time.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"elephant_charge_begins\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"elephant_charge_ends\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"meta_counter\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":25}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"elephant_charge_begins\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"TugChargeStarted\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"elephant_charge_ends\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"TugChargeEnded\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000860}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003366,-1,-1,0],[909,1464934,"a155_civ_mac","","Great Things","Win a Multiplayer or Skirmish match with Macedonian Dynasty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winmac\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winmac\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9001050}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003367,-1,-1,0],[913,1464934,"a156_civ_mac","","Ready, Aim, Fire!","Kill 50 enemy units with flaming Springald bolts in a single match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedbyspringald\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":false,\"name\":\"killedbyspringald\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":9000995}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"killedbyspringald\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"flamingarrowupgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"flamingarrowupgraded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"flamingarrowupgraded\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":9002994}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9001050}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003368,-1,-1,0],[915,1464934,"a157_civ_mac","","By Odin's Beard","Gain 500 free units from the Varangian Warcamp.",null,500,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"a157\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"a157\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a157\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"a157\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MacWarCampProduced\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9001050}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003369,-1,-1,0],[917,1464934,"a158_civ_mac","","Var-Aegean","Research 15 technologies from the Varangian Arsenal in a single match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a158\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"a158\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"a158\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":9004695},{\"type\":\"constant\",\"value\":9004694},{\"type\":\"constant\",\"value\":9004693},{\"type\":\"constant\",\"value\":9004692},{\"type\":\"constant\",\"value\":9004691},{\"type\":\"constant\",\"value\":9003732},{\"type\":\"constant\",\"value\":9003735},{\"type\":\"constant\",\"value\":9004696},{\"type\":\"constant\",\"value\":9004697},{\"type\":\"constant\",\"value\":9004698},{\"type\":\"constant\",\"value\":9004699},{\"type\":\"constant\",\"value\":9004700},{\"type\":\"constant\",\"value\":9003738},{\"type\":\"constant\",\"value\":9004701},{\"type\":\"constant\",\"value\":9004702},{\"type\":\"constant\",\"value\":9004703},{\"type\":\"constant\",\"value\":9004704},{\"type\":\"constant\",\"value\":9004705},{\"type\":\"constant\",\"value\":9003736},{\"type\":\"constant\",\"value\":9004675},{\"type\":\"constant\",\"value\":9004676},{\"type\":\"constant\",\"value\":9004677},{\"type\":\"constant\",\"value\":9004678},{\"type\":\"constant\",\"value\":9004706},{\"type\":\"constant\",\"value\":9003733},{\"type\":\"constant\",\"value\":9004670},{\"type\":\"constant\",\"value\":9004671},{\"type\":\"constant\",\"value\":9004672},{\"type\":\"constant\",\"value\":9004673},{\"type\":\"constant\",\"value\":9004674},{\"type\":\"constant\",\"value\":9003737},{\"type\":\"constant\",\"value\":9004665},{\"type\":\"constant\",\"value\":9004666},{\"type\":\"constant\",\"value\":9004669},{\"type\":\"constant\",\"value\":9004667},{\"type\":\"constant\",\"value\":9004668},{\"type\":\"constant\",\"value\":9003731},{\"type\":\"constant\",\"value\":9004681},{\"type\":\"constant\",\"value\":9004682},{\"type\":\"constant\",\"value\":9004683},{\"type\":\"constant\",\"value\":9004684},{\"type\":\"constant\",\"value\":9004685},{\"type\":\"constant\",\"value\":9003734},{\"type\":\"constant\",\"value\":9004686},{\"type\":\"constant\",\"value\":9004687},{\"type\":\"constant\",\"value\":9004688},{\"type\":\"constant\",\"value\":9004689},{\"type\":\"constant\",\"value\":9004690}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9001050}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003370,-1,-1,0],[919,1464934,"a159_civ_sen","","The Great Unifier","Win a Multiplayer or Skirmish match with Sengoku Daimyo.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winsen\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winsen\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000850}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003371,-1,-1,0],[921,1464934,"a160_civ_sen","","Itadakimasu!","Completely fill a Matsuri festival with Yatai carts.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a160\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"a160\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SenYataiAddedToMatsuri\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000850}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003372,-1,-1,0],[923,1464934,"a161_civ_sen","","Daimyo Dance-Off","Defeat 50 Elephants with Kanabo Samurai.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"kanabo_kills\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"kanabo_kills\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kanabo_kills\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"kanabo_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"kanabo\"}]},{\"op\":\"in\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"elephant_raider\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"war_elephant\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"worker_elephant\"}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000850}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003373,-1,-1,0],[925,1464934,"a162_civ_sen","","Bombard Barrage","Destroy 150 buildings with Early Ozutsu.",null,150,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"ozutsu_kills\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"ozutsu_kills\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ozutsu_kills\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"ozutsu_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"ozutsu_jpn\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]},{\"op\":\"not\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":9001374}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000850}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003374,-1,-1,0],[927,1464934,"a163_civ_gol","","Just Like Batu Khan","Win a Multiplayer or Skirmish match with Golden Horde.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"wingol\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"wingol\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000878}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003377,-1,-1,0],[929,1464934,"a164_civ_gol","","Well Stocked","Produce 10,000 food from Stockyards in a single match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a164\"},{\"type\":\"constant\",\"value\":10000}]}},\"enabled\":true,\"name\":\"a164\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_pasture\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000878}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003380,-1,-1,0],[936,1464934,"a165_civ_gol","","Let\u2019s Goooooooooo!","Gain 250 free Kharash from the Kharash Golden Tent Edict.",null,250,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"a165\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"a165\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a165\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"a165\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"a165\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GolKharashProduced\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000878}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003390,-1,-1,0],[938,1464934,"a166_civ_gol","","More Cuman than Cuman","Have 50 Torguud die in place of a Khan.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"a166\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"a166\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"a166\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"a166\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"a166\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"BodyguardDied\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":9000878}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",9003391,-1,-1,0],[990,1004,"tradesecrets_2025_earngoldnaval","","Fair Winds","Earn 500 gold with Sea Trade Routes in a single Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"naval_trade_ship\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2162,1000],[992,1004,"tradesecrets_2025_earngoldtrade","","Back in the saddle","Earn 750 gold with Trade Routes in a single Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":750}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"royal_trade_cart_hre\"},{\"type\":\"constant\",\"value\":\"trade_camel\"},{\"type\":\"constant\",\"value\":\"trade_caravan\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2163,1000],[994,1004,"tradesecrets_2025_accruegold","","Strong Economy","Earn 10,000 gold in a single Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":10000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2124,1000],[996,1004,"tradesecrets_2025_upgradessinglematch","","Work Smarter not Harder","Purchase 15 technologies in a single Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrades_completed\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"upgrades_completed\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":134809},{\"type\":\"constant\",\"value\":128105},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":2033399},{\"type\":\"constant\",\"value\":2033316},{\"type\":\"constant\",\"value\":2033400},{\"type\":\"constant\",\"value\":129874},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":172290},{\"type\":\"constant\",\"value\":412759},{\"type\":\"constant\",\"value\":390786}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2125,1000],[998,1004,"tradesecrets_2025_sendtribute","","Paying Tribute","Send 20 tributes in Skirmish or Multiplayer matches.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"tribute_sent\",\"trackingEvent\":\"TributeSent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2126,1000],[1000,1004,"tradesecrets_2025_killtraders","","Cutting Supply","Kill 30 Traders in Skirmish or Multiplayer matches.",null,30,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"traders_killed\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"trade_cart\"},{\"type\":\"constant\",\"value\":\"naval_trade_ship\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2164,1000],[1002,1004,"tradesecrets_2025_buildmarkets","","Building Demand","Build 30 markets in Skirmish or Multiplayer matches.",null,30,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"eventbuilding\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"scar_market\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2127,1000],[1013,1012,"windsofchange_2025_recruitnaval","","Wind in your sails","Produce 50 naval units in Skirmish or Multiplayer matches.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"spawned_naval\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_unit\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2166,1000],[1015,1012,"windsofchange_2025_recruitranged","","Block out the sun","Produce 200 ranged units in Skirmish or Multiplayer matches.",null,200,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"spawned_range\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"archer\"},{\"type\":\"constant\",\"value\":\"crossbow\"},{\"type\":\"constant\",\"value\":\"handcannon\"},{\"type\":\"constant\",\"value\":\"javelin\"},{\"type\":\"constant\",\"value\":\"cavalry_archer\"},{\"type\":\"constant\",\"value\":\"camel_archer\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2132,1000],[1017,1012,"windsofchange_2025_killany","","Endless Assault","Kill 1000 enemy units in Skirmish or Multiplayer matches.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"killed\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2129,1000],[1019,1012,"windsofchange_2025_play4ccgames","","Weathered","Play 4 matches of Chaotic Climate in Skirmish or Multiplayer.",null,4,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"WinOrLose\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":833},{\"type\":\"constant\",\"value\":834},{\"type\":\"constant\",\"value\":835},{\"type\":\"constant\",\"value\":836},{\"type\":\"constant\",\"value\":837},{\"type\":\"constant\",\"value\":828},{\"type\":\"constant\",\"value\":829},{\"type\":\"constant\",\"value\":830},{\"type\":\"constant\",\"value\":831},{\"type\":\"constant\",\"value\":832}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chaotic_climate_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2165,1000],[1021,1012,"windsofchange_2025_win3gamesclimate","","Weather Master","Win 3 matches of Chaotic Climate in Skirmish or Multiplayer.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":833},{\"type\":\"constant\",\"value\":834},{\"type\":\"constant\",\"value\":835},{\"type\":\"constant\",\"value\":836},{\"type\":\"constant\",\"value\":837},{\"type\":\"constant\",\"value\":828},{\"type\":\"constant\",\"value\":829},{\"type\":\"constant\",\"value\":830},{\"type\":\"constant\",\"value\":831},{\"type\":\"constant\",\"value\":832}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chaotic_climate_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2128,1000],[1023,1012,"windsofchange_2025_winccgame","","Decisive Strike","Win a match of Chaotic Climate in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":833},{\"type\":\"constant\",\"value\":834},{\"type\":\"constant\",\"value\":835},{\"type\":\"constant\",\"value\":836},{\"type\":\"constant\",\"value\":837},{\"type\":\"constant\",\"value\":828},{\"type\":\"constant\",\"value\":829},{\"type\":\"constant\",\"value\":830},{\"type\":\"constant\",\"value\":831},{\"type\":\"constant\",\"value\":832}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chaotic_climate_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2133,1000],[1029,1012,"windsofchange_2025_surviveseasons","","Full circle","Survive 4 seasonal effects during 1 match of Chaotic Climate in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"seasons_passed\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"seasons_passed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChaoticClimateSeasonPassed\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":833},{\"type\":\"constant\",\"value\":834},{\"type\":\"constant\",\"value\":835},{\"type\":\"constant\",\"value\":836},{\"type\":\"constant\",\"value\":837},{\"type\":\"constant\",\"value\":828},{\"type\":\"constant\",\"value\":829},{\"type\":\"constant\",\"value\":830},{\"type\":\"constant\",\"value\":831},{\"type\":\"constant\",\"value\":832}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"wincondition\"},{\"type\":\"constant\",\"value\":\"chaotic_climate_mode\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2131,1000],[1058,1057,"thespoilsofvictory_2025_herdsheep","","Great and Small","Capture 50 sheep in Skirmish or Multiplayer Matches.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"herd_gaia\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":166647},{\"type\":\"constant\",\"value\":2033495}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2167,1000],[1060,1057,"thespoilsofvictory_2025_gathergold","","Economic Strength","Gather 10,000 gold in a single Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":10000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2168,1000],[1062,1057,"thespoilsofvictory_2025_build5wonders","","Standing Mighty","Build 5 wonders in Skirmish or Multiplayer matches.",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"wonder\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2169,1000],[1064,1057,"thespoilsofvictory_2025_prod1000military","","Forward March","Build 1000 military units in Skirmish or Multiplayer Matches.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"military\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2170,1000],[1066,1057,"thespoilsofvictory_2025_ageup12times","","Hear Ye Hear Ye!","Age up 12 times in Skirmish or Multiplayer matches.",null,12,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"reach_age4\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]},{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]},{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2171,1000],[1068,1057,"thespoilsofvictory_2025_5dominionvic","","True Emperor","Win 5 Dominion Victories in Skirmish or Multiplayer.",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Regicide\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2173,1000],[1070,1057,"thespoilsofvictory_2025_build5tc","","Show your Colors","Build 5 town centres in Skirmish or Multiplayer matches.",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"town_center_non_capital\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2172,1000],[1308,1464934,"mastery_rogue_conqueror_mode","","Crucible Conqueror","Earn a Conqueror medal in any Crucible Mission.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crucible_conqueror\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"crucible_conqueror\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MatchResultPosted\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"postmatchaward\"},{\"type\":\"constant\",\"value\":5020012}]}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":786}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2178,0],[1433,1432,"seasonsfayre_2sacredvic_skmp","","Twice Blessed","Win 2 Sacred Victories in Skirmish or Multiplayer matches.",null,2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2186,1000],[1435,1432,"seasonsfayre_3000goldtrade_skmp","","Merchant's Oath","Perform 300 trades with Traders in Skirmish or Multiplayer matches.",null,300,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2191,0],[1437,1432,"seasonsfayre_800fish_skmp","","Cast Off","Gather fish with ships 80 times in Skirmish or Multiplayer matches.",null,80,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_fishing_ship\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2189,0],[1439,1432,"seasonsfayre_build1wonder_skmp","","Wonder to Behold","Build a wonder in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"wonderbuilt\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"wonder_imperial_age\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2188,250],[1441,1432,"seasonsfayre_build9econ_skmp","","Bank On It","Build 9 non-landmark Economic buildings in Skirmish or Multiplayer matches.",null,9,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"econbuilding\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"economy_building\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2192,250],[1443,1432,"seasonsfayre_novillslostbyagex","","Peaceful Progression","Age up to Feudal without losing a villager in Skirmish or Multiplayer.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"age_3\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"villslost\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villslost\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"villslost\",\"trackingEvent\":\"SquadDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120915}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villslost\"},{\"type\":\"constant\",\"value\":1}]}],\"values\":[{\"type\":\"counter\",\"value\":\"version\"}]}},\"enabled\":true,\"name\":\"age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":2025672}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2193,250],[1445,1432,"seasonsfayre_prod20tradeship_skmp","","Merchant Armada","Build 20 Trade Ships in Skirmish or Multiplayer matches.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"tradeshipsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":196631}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2194,250],[1447,1432,"seasonsfayre_prod33siege_skmp","","Prometheusʼs Hammer","Produce 33 Siege Engines in Skirmish or Multiplayer matches.",null,33,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"siegemade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"siege\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"siegemade\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"siege\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2195,500],[1449,1432,"seasonsfayre_prod81traders_skmp","","Guildmasterʼs Gambit","Produce 81 traders in Skirmish or Multiplayer matches.",null,81,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"tradeshipsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2197,0],[1451,1432,"seasonsfayre_win_3_skmp","","Triple Triumph","Win 3 Skirmish or Multiplayer matches.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"number_of_wins\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2198,0],[1453,1432,"seasonsfayre_prod3scouts_skmp_1","","Empire\u2019s Watch","Produce 3 Scouts in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"scoutsmade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"scoutsmade\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"scoutsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"scout\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2196,250],[1400972,1403394,"m02_york","","North to York",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp1_york\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1400973,1403394,"m01_hastings","","The Battle of Hastings",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp1_hastings\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401279,1403394,"m03_bayeux","","The Fall of Bayeux",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bayeux\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401283,1403394,"m05_bremule","","The Battle of Brémule",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401285,1403394,"m06_lincoln1","","First Battle of Lincoln",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp3_lincoln\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401288,1403394,"m07_wallingford","","The Siege of Wallingford",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp3_wallingford\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401290,1403394,"m08_dover","","The Siege of Dover",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp4_dover\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401291,1403394,"m10_lincoln","","Second Battle of Lincoln",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp4_lincoln\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1401292,1403394,"m09_rochester","","The Siege of Rochester",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp4_rochester\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1402686,1403394,"m04_tinchebray","","The Battle of Tinchebray",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp2_tinchebray\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411463,1403394,"m01_rebuild_moscow1","","Rebuilding Moscow",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp1_moscow\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411465,1403394,"m02_tribute","","Tribute",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_tribute\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411467,1403394,"m03_kulikovo","","The Battle of Kulikovo",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_kulikovo\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411469,1403394,"m04_hold_against_horde","","Hold Against the Horde",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_moscow\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411471,1403394,"m05_novgorod","","Fall of the Novgorod Republic",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_novgorod\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411473,1403394,"m06_ugra_river","","Great Stand on the Ugra River",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411475,1403394,"m07_moscow_v_lithuania","","Moscow versus Lithuania",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_smolensk\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411477,1403394,"m08_kazan","","The Siege of Kazan",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_kazan\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411637,1403394,"m01_kalaka","","The Battle of the Kalka River",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411639,1403394,"m02_great_wall","","The Great Wall",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp1_juyong\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411641,1403394,"m03_zhongdu","","The Battle of Zhongdu",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp1_zhongdu\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411643,1403394,"m04_kiev","","The Siege of Kiev",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411645,1403394,"m05_liegnitz","","The Battle of Liegnitz",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411647,1403394,"m06_mohi","","The Battle of Mohi",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp2_mohi\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411649,1403394,"m07_song_fortress","","The Song Fortress",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1267\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411651,1403394,"m08_lumen_shan","","Blockade at Lumen Shan",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp3_lumen_shan\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411653,1403394,"m09_fall_of_xiangyang","","The Fall of Xiangyang",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1273\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411655,1403394,"m01_combat30","","The Combat of the Thirty",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411657,1403394,"m02_paris","","The Siege of Paris",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411659,1403394,"m03_cocherel","","France in Chaos",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411661,1403394,"m04_pontvallain","","The Battle of Pontvallain",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp2_pontvallain\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411663,1403394,"m05_orleans","","The Siege of Orléans",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp3_orleans\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411665,1403394,"m06_patay","","The Battle of Patay",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp3_patay\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411667,1403394,"m07_retake_normandy","","Retake Normandy",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp4_rouen\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1411669,1403394,"m08_formingy","","The Battle of Formigny",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1424819,1430591,"win_civ_hre","","Holy Roman Empire Victory","Win a match as the Holy Roman Empire.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/hre.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1424837,1430591,"win_civ_rus","","Rus Victory","Win a match as the Rus.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1424839,1430591,"win_civ_mongols","","Mongol Victory","Win a match as the Mongols.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/mongol.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1424841,1430591,"win_civ_sultanate","","Delhi Sultanate Victory","Win a match as the Delhi Sultanate.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/sultanate.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1424885,1430591,"win_civ_chinese","","Chinese Victory","Win a match as the Chinese.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1425162,1430593,"accrue_wood","","Wood Collector","Accrue 5,000 Wood in a single match.","Gather Wood from trees around the map. Wood is used primarily for construction and producing units.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":5000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"wood\"}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/hand_cart.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,200],[1425166,1430591,"win_civ_french","","French Victory","Win a match as the French.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1425213,1430593,"accrue_stone","","Stone Collector","Accrue 5,000 Stone in a single match.","Gather Stone from Stone Outcroppings around the map. Stone is used primarily for building strong defensive structures.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":5000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"stone\"}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/hand_cart.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,200],[1425215,1430593,"accrue_gold","","Gold Collector","Accrue 5,000 Gold in a match.","Gather Gold from Gold Veins around the map, or from Traders or Trade Ships that trade with Markets or Docks. Gold is used primarily for researching technology and producing units.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":5000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/hand_cart.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,200],[1425217,1430592,"win_victory_wonder","","Victory: Wonder","Achieve a Wonder Victory.","Construct and defend a Wonder to achieve a Wonder Victory.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}}]}],\"counterVersion\":4,\"fePriority\":80,\"icon\":\"images/daily_quests/victory_condition_wonder.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1425219,1430593,"upgrade_manatarms","","Veteran Men-at-Arms","Fully upgrade your Men-at-Arms to Veteran Men-at-Arms in a match.","Research all Man-at-Arms unit technologies in the Barracks.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124660},{\"type\":\"constant\",\"value\":131034},{\"type\":\"constant\",\"value\":168759},{\"type\":\"constant\",\"value\":136329},{\"type\":\"constant\",\"value\":181867},{\"type\":\"constant\",\"value\":2028081},{\"type\":\"constant\",\"value\":2133545}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/manatarms_4.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1425463,1430593,"upgrade_spearmen","","Elite Spearmen","Fully upgrade your Spearmen to Elite Spearmen in a match.","Research all Spearman unit technologies in the Barracks.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124659},{\"type\":\"constant\",\"value\":131052},{\"type\":\"constant\",\"value\":136268},{\"type\":\"constant\",\"value\":181873}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/spearman_1.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1425465,1430593,"upgrade_elite_longbowmen","","Elite Archers","Fully upgrade your Archers to Elite Archers in a match.","Research all Archer unit technologies in the Archery Range.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":125895},{\"type\":\"constant\",\"value\":129415},{\"type\":\"constant\",\"value\":136272},{\"type\":\"constant\",\"value\":181857},{\"type\":\"constant\",\"value\":136272}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/archer_2.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1425500,1430593,"upgrade_armored_cavalry","","Elite Armored Cavalry","Fully upgrade your Knights to Elite Knights in a match.","Research all Knight or Lancer unit technologies in the Stable.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124721},{\"type\":\"constant\",\"value\":133148},{\"type\":\"constant\",\"value\":156372},{\"type\":\"constant\",\"value\":136267},{\"type\":\"constant\",\"value\":133503},{\"type\":\"constant\",\"value\":181866}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/knight_2.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1425804,1430593,"train_ranged_infantry","","Ranged Infantry Forces","Kill 20 enemy units with ranged infantry during a match.","Units of this type are weak to cavalry units. Keep your ranged infantry at a distance by positioning them safely, or using other units to shield them.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"kill\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120909},{\"type\":\"constant\",\"value\":120911},{\"type\":\"constant\",\"value\":129631}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/archer_2.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1425947,1430593,"train_cavalry","","Cavalry Forces","Kill 20 enemy units with cavalry in a match.","Units of this type are able to charge into battle quickly \u2013 but watch out for Palings. These wooden stakes can stop a cavalry charge dead in its tracks.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"kill\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"kill\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":106855},{\"type\":\"constant\",\"value\":107473},{\"type\":\"constant\",\"value\":106856},{\"type\":\"constant\",\"value\":127481}]},{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":129655},{\"type\":\"constant\",\"value\":129567},{\"type\":\"constant\",\"value\":129605},{\"type\":\"constant\",\"value\":136090},{\"type\":\"constant\",\"value\":136091},{\"type\":\"constant\",\"value\":2033166},{\"type\":\"constant\",\"value\":2033164},{\"type\":\"constant\",\"value\":120938}]}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/horseman_1.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1426126,1430593,"train_melee_infantry","","Infantry Forces","Kill 20 enemy units with melee infantry in a match.","Units of this type are only effective in melee range. Close the gap on unsuspecting enemies by using Stealth Forests, the Fog of War, or by using other units as a distraction.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"kill\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":131031},{\"type\":\"constant\",\"value\":120907}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/spearman_1.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1426167,1430593,"train_siege","","Siege Forces","Kill 20 enemy units with siege engines in a match.","Units of this type are unmatched at range, but cannot defend themselves in melee. Protect your siege line with other units to get the most out of them.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"kill\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":127731},{\"type\":\"constant\",\"value\":165117},{\"type\":\"constant\",\"value\":165118},{\"type\":\"constant\",\"value\":124537},{\"type\":\"constant\",\"value\":130923},{\"type\":\"constant\",\"value\":124539},{\"type\":\"constant\",\"value\":194228},{\"type\":\"constant\",\"value\":130950},{\"type\":\"constant\",\"value\":124540},{\"type\":\"constant\",\"value\":124538},{\"type\":\"constant\",\"value\":128525}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/culverin_4.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1426183,1430594,"produce_gunpowder","","Produce: Gunpowder","Produce 30 gunpowder units in a match.","Produce units of this type from the Archery Range or Siege Workshop. These units are available in the later ages, and are more effective than basic ranged infantry.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"train\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129631},{\"type\":\"constant\",\"value\":127731},{\"type\":\"constant\",\"value\":165117},{\"type\":\"constant\",\"value\":130923},{\"type\":\"constant\",\"value\":165118},{\"type\":\"constant\",\"value\":206825},{\"type\":\"constant\",\"value\":206827},{\"type\":\"constant\",\"value\":166611},{\"type\":\"constant\",\"value\":156312},{\"type\":\"constant\",\"value\":167296},{\"type\":\"constant\",\"value\":1907351},{\"type\":\"constant\",\"value\":1905981},{\"type\":\"constant\",\"value\":1905982},{\"type\":\"constant\",\"value\":1905982}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/arsenal.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1426256,1430594,"produce_melee_infantry","","Produce: Melee Infantry","Produce 60 melee infantry in a match.","Produce units of this type from the Barracks. Melee infantry can be produced as early as the Dark Age (I), and form the core of your military strength.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":60}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":131031},{\"type\":\"constant\",\"value\":120907}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/barracks.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1426258,1430594,"produce_field_siege","","Produce: Field Siege","Produce 5 siege engines in the field in a match.","Research Siege Engineering and produce Battering Rams or Siege Towers from infantry units in the field. Rams are effective at breaking down superior stone defenses, whereas Siege Towers let your army scale enemy walls.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"and\"}],\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":124538},{\"type\":\"constant\",\"value\":128525},{\"type\":\"constant\",\"value\":174219},{\"type\":\"constant\",\"value\":174220},{\"type\":\"constant\",\"value\":174222},{\"type\":\"constant\",\"value\":200258},{\"type\":\"constant\",\"value\":200259}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/siege_workshop.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1426260,1430594,"produce_ranged_infantry","","Produce: Ranged Infantry","Produce 30 ranged infantry in a match.","Produce units of this type from the Archery Range. Ranged infantry are highly effective from a distance, but require some protection.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120909},{\"type\":\"constant\",\"value\":120911},{\"type\":\"constant\",\"value\":129631}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/archery_range.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1427479,1430593,"upgrade_defenses_stone","","Defense: Stone Structures","Upgrade 3 Outposts with the Fortify Outpost emplacement in a match.","Each Outpost must purchase the Fortify Outpost emplacement individually.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"construct\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127331}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/stone_wall.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1427634,1430593,"upgrade_defenses_arrowslit","","Defense: Arrowslits Emplacement","Upgrade 3 buildings with arrowslits in a match.","Each Outpost or Keep must research the Arrowslits emplacement individually.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"construct\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":173701},{\"type\":\"constant\",\"value\":135443}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/arrowslit_emplacement.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1427637,1430593,"upgrade_defenses_springald","","Defense: Springald Emplacement","Upgrade 2 buildings with springald emplacements during a match.","Each Outpost or Keep must research the Springald Emplacement individually.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"construct\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":128105},{\"type\":\"constant\",\"value\":135441}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/springald.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1427641,1430593,"upgrade_defenses_cannon","","Defense: Cannon Emplacement","Upgrade 2 buildings with Cannon Emplacements in a match.","Each Outpost or Keep must purchase its Cannon Emplacement individually.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"construct\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":134809}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/cannon.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1427646,1430594,"produce_siege","","Produce: Siege","Produce 10 siege engines in a match.","Produce units of this type from the Siege Workshop. Siege engines have their own specialties, and can be effective versus buildings or enemy units. Picking the right siege engines to fit your army can be the difference between victory and defeat.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":127731},{\"type\":\"constant\",\"value\":165117},{\"type\":\"constant\",\"value\":165118},{\"type\":\"constant\",\"value\":124537},{\"type\":\"constant\",\"value\":130923},{\"type\":\"constant\",\"value\":124539},{\"type\":\"constant\",\"value\":194228},{\"type\":\"constant\",\"value\":130950},{\"type\":\"constant\",\"value\":124540},{\"type\":\"constant\",\"value\":124538},{\"type\":\"constant\",\"value\":128525}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/siege_workshop.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1428475,1428474,"mastery_english_01","","Nice Try, Spy","Kill an enemy Scout or Khan in the Dark Age (I).","English Villagers can attack at range with longbows, and the English Town Center has increased defensive capabilities to stop enemy scouting in its tracks.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"reach_age_II\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"kill_scout\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_scout\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"kill_scout\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120939},{\"type\":\"constant\",\"value\":129650}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"kill_scout\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_II\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_II\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_II\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1428487,883,1000],[1428487,1428474,"mastery_english_02","","Assize of Arms","Produce 30 Longbowmen from the Council Hall in the Feudal Age (II).","The Council Hall Landmark produces Longbowmen. The Archery Range is not required.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build_longbowmen\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_III\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_longbowmen\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"build_longbowmen\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":166269}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_longbowmen\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_III\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_III\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_III\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428489,884,1000],[1428489,1428474,"mastery_english_03","","English Novice","Win a game as the English.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428491,885,1000],[1428491,1428474,"mastery_english_04","","Rally the People","Build the King's Palace and produce 10 Villagers from it in the Castle Age (III).","The King's Palace acts as a Town Center, giving the English another option for Villager production.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build_villager\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_IV\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_villager\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"build_villager\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":120908}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":166271}]}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_villager\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_IV\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_IV\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_IV\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428493,886,1000],[1428493,1428474,"mastery_english_05","","Swift Harvest","Reach the Castle Age (III) with 16 Farms influenced by Mills.","Farms placed directly around a Mill receive a bonus to harvest rate.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"influenced_farms\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"EngInfluencedFarm\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"influenced_farms\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_III\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_III\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"influenced_farms\"},{\"type\":\"constant\",\"value\":16}]}]}},\"enabled\":true,\"name\":\"reach_age_III\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428495,887,1000],[1428495,1428474,"mastery_english_06","","Gather Round","Setup 5 simultaneous camps, with at least one unit gaining benefit from each camp.","The English Scout's Setup Camp ability creates a campfire that improves the line of sight for nearby units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"setup_camp_heal\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"setup_camp_heal\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"setup_camp_heal\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"EngCampfireHeal\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428497,888,1000],[1428497,1428474,"mastery_english_07","","English Apprentice","Win 2 games as the English.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428499,889,1000],[1428499,1428474,"mastery_english_08","","Keep Them Busy","Produce 20 units from Keeps.","The English are able to produce units from Keeps.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_units\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"produce_units\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":166243},{\"type\":\"constant\",\"value\":166270},{\"type\":\"constant\",\"value\":166272}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428501,890,1000],[1428501,1428474,"mastery_english_09","","Raise The Alarm","Defeat 50 enemies with units affected by the Network of Castles.","The Network of Castles bonus provides a defensive advantage to the English. Enemies that approach your defensive buildings will trigger an alarm, causing your nearby units to fire faster while the alarm is active.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"network_of_castles_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"network_of_castles_kills\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":true,\"name\":\"network_of_castles_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"network_of_castles_buff\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428503,891,1000],[1428503,1428474,"mastery_english_10","","Hail of Arrows","Defeat 20 enemies with Longbowmen affected by the Arrow Volley upgrade.","Research Arrow Volley in the Archery Range. Fully upgraded Longbowmen are strong, but still require protection from melee attackers.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrades\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":202556}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_units\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"kill_units\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120909}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428505,892,1000],[1428505,1428474,"mastery_english_11","","English Adept","Win 5 games as the English.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428507,893,1000],[1428507,1428474,"mastery_english_12","","Reap What You Sow","Accrue 3000 Gold from Farm Enclosures.","Research the Enclosures upgrade on the Mill to gather Gold from Farm Enclosures.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_gold\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_gold\"},{\"type\":\"constant\",\"value\":3000}]}},\"enabled\":true,\"name\":\"accrue_gold\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":166261}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428509,894,1000],[1428509,1428474,"mastery_english_13","","For the Wyn","Produce 5 Wynguard Armies from the Wynguard Palace.","The Wynguard Palace produces multiple units simultaneously.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_army\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_army\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"produce_army\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":202514},{\"type\":\"constant\",\"value\":2075742},{\"type\":\"constant\",\"value\":2075743},{\"type\":\"constant\",\"value\":2122352}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":166276}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428511,895,1000],[1428511,1428474,"mastery_english_14","","From the Skies","Destroy 20 enemy units with Trebuchets affected by the Shattering Projectiles technology.","Research Shattering Projectiles in the Siege Workshop. Trebuchets are susceptible to melee units \u2013 keep them guarded.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":202558}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_units\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"kill_units\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":130950},{\"type\":\"constant\",\"value\":124540}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1428513,896,1000],[1428513,1428474,"mastery_english_15","","English Master","Win 10 games as the English.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1316367,-1,897,1000],[1428828,1430593,"accrue_food_02","","Food Collector","Accrue 5,000 Food during a match.","Gather Food from Berry Bushes or from hunting wild animals \u2013 such as Sheep, Deer, or Boar. Food can also be gathered from the sea, either by Fishing Ships or Villagers fishing from the shoreline.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":5000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/hand_cart.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,200],[1428830,1430593,"upgrade_elite_crossbowmen","","Elite Crossbowmen","Fully upgrade your Crossbowmen to Elite Crossbowmen in a match.","Research all Crossbowman unit technologies in the Archery Range.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124651},{\"type\":\"constant\",\"value\":166639},{\"type\":\"constant\",\"value\":1601627},{\"type\":\"constant\",\"value\":163624},{\"type\":\"constant\",\"value\":181860}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/crossbowman_4.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1428832,1430592,"win_victory_conquest_02","","Victory: Landmarks","Achieve a Landmarks Victory.","Destroy your enemies' Landmarks and Town Centers to achieve a Landmarks Victory.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]}],\"counterVersion\":4,\"fePriority\":80,\"icon\":\"images/daily_quests/victory_condition_conquest.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1428834,1430591,"win_civ_english_02","","English Victory","Win a match as the English.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/english.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1428836,1430592,"win_queue_2v2_02","","Victory: Team 2v2","Win in 2 vs 2 Quick Match.","Win a team game in Quick Match.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":80,\"icon\":\"images/daily_quests/arm_villagers.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":21},{\"type\":\"constant\",\"value\":221},{\"type\":\"constant\",\"value\":576},{\"type\":\"constant\",\"value\":588}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1428838,1430592,"win_any_02","","Win Any","Win a game in any match type.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"fePriority\":80,\"icon\":\"images/daily_quests/arm_villagers.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1428841,1430590,"complete_any_02","","Complete Any","Complete a match in Skirmish, Multiplayer or Campaign.","Win or lose \u2013 play to the end of your match.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":90,\"icon\":\"images/daily_quests/set_rally_point.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,200],[1433131,1403394,"mastery_trigger_ability","",null,null,null,1,"{\"awardSource\":4,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"heal_ability\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"heal_ability\",\"trackingEvent\":\"Garrison\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"isloading\"},{\"type\":\"constant\",\"value\":false}]},{\"op\":\"and\",\"values\":[{\"type\":\"constant\",\"value\":\"gold\"},{\"type\":\"constant\",\"value\":10}]}],\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"Debug\",\"value\":false}}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,-1,0],[1440281,1440307,"mastery_french_03","","French Novice","Win a game as the French.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440283,904,1000],[1440283,1440307,"mastery_french_04","","Horsing Around","Construct the School of Cavalry Landmark and then produce 20 cavalry units.","The School of Cavalry gives a unit production speed bonus to all cavalry units produced in Stables or the Landmark itself.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"produce_cavalry\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"build\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":132778}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_cavalry\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_cavalry\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"produce_cavalry\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129553},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":120939}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440285,905,1000],[1440285,1440307,"mastery_french_05","","Clever Commerce","Accrue 500 Food or Wood from Traders.","Unique to the French, Traders can trade for more than just Gold. Supplement your economy with resources that are hard to come by, or double down on stockpiling a resource you're going to need plenty of.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":127972}]},{\"op\":\"in\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"},{\"type\":\"constant\",\"value\":\"wood\"},{\"type\":\"constant\",\"value\":\"stone\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440287,906,1000],[1440287,1440307,"mastery_french_06","","In Shining Armor","Produce 40 Royal Knights from a Stable under the influence of a nearby Keep.","Construct Keeps nearby to Stables to take advantage of an increase to cavalry production speed.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_lancers\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_lancers\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"produce_lancers\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133145},{\"type\":\"constant\",\"value\":132240},{\"type\":\"constant\",\"value\":132241}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"fre_is_influenced\",\"value\":true}}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440289,907,1000],[1440289,1440307,"mastery_french_07","","French Apprentice","Win 2 games as the French.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440291,908,1000],[1440291,1440307,"mastery_french_08","","Swift Bolts","Research Crossbow Stirrups and defeat 20 enemy units with Arbalétriers.","Research Crossbow Stirrups in the Archery Range. Pavise shields provide added protection against ranged attacks, making the Arbalétrier a great counter to other ranged units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"crossbowman_kills\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_crossbow_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_crossbow_upgrades\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_crossbow_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":172158}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"crossbowman_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"crossbowman_kills\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"crossbowman_kills\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120911}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440293,909,1000],[1440293,1440307,"mastery_french_09","","Paint It Red","Construct the Red Palace Landmark and use it to kill 30 enemies.","The Red Palace Landmark functions as a Keep \u2013 including the ability to upgrade it with deadly weapons.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"landmark_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"landmark_kills\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"landmark_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":132787}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440295,910,1000],[1440295,1440307,"mastery_french_10","","Master Craftsmen","Accrue 2,000 Food, Wood, Gold, or Stone from the Guild Hall Landmark in the Castle Age (III).","The French are able to trade Gold for other resources in the Guild Hall Landmark.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_4\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievFreGuildHallResources\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_4\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_4\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_4\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440297,911,1000],[1440297,1440307,"mastery_french_11","","French Adept","Win 5 games as the French.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440299,912,1000],[1440299,1440307,"mastery_french_12","","Fellowship","Win the match with a surviving army of 25 cavalry.","The French have many cavalry-focused technologies to boost their survivability and damage. Choose the combination that best suits your playstyle.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"produce_cavalry\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120939},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":132241},{\"type\":\"constant\",\"value\":132240},{\"type\":\"constant\",\"value\":132236},{\"type\":\"constant\",\"value\":132235},{\"type\":\"constant\",\"value\":132234}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cavalry_deaths\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120939},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":132241},{\"type\":\"constant\",\"value\":132240},{\"type\":\"constant\",\"value\":132236},{\"type\":\"constant\",\"value\":132235},{\"type\":\"constant\",\"value\":132234}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":24}]}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"},{\"type\":\"constant\",\"value\":\"Religious\"},{\"type\":\"constant\",\"value\":\"Wonder\"},{\"type\":\"constant\",\"value\":\"Surrender\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440301,913,1000],[1440301,1440307,"mastery_french_13","","Military Wharf","Kill 10 enemy units with Galleasses affected by the Armored Hull technology.","The Galleass is a unique French ship armed with forward mounted bombards. This ship is vulnerable from the sides, but the Armored Hull technology can alleviate this.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill_with_ships\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":196879}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_with_ships\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_with_ships\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":false,\"name\":\"kill_with_ships\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":193924}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440303,914,1000],[1440303,1440307,"mastery_french_14","","With A Flourish","Achieve a Wonder victory while 20 Traders are active.","Heavy defenses will be needed to keep your Wonder safe, all while more resources are trickling in.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"produce_traders\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":127972}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"traders_killed\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":127972}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"achieve_wonder\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":20}]}]}},\"enabled\":true,\"name\":\"achieve_wonder\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440305,915,1000],[1440305,1440307,"mastery_french_15","","French Master","Win 10 games as the French.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1317632,-1,916,1000],[1440340,1440330,"mastery_chinese_01","","Building Blocks","Accrue 1500 resources and have a population of 15 before the Feudal Age (II).","An early focus on economy is important to any civilization.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":1500}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"},{\"type\":\"constant\",\"value\":\"gold\"},{\"type\":\"constant\",\"value\":\"stone\"},{\"type\":\"constant\",\"value\":\"wood\"}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"reach_population\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_population\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_population\",\"trackingEvent\":\"PlayerAddEntity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"population\",\"value\":\"PersonnelPop\"},{\"type\":\"constant\",\"value\":15}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_I\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"reach_population\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_I\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1440342,947,1000],[1440342,1440330,"mastery_chinese_02","","State Revenues","Collect 250 Gold in tax with an Imperial Official before the Castle Age (III).","Imperial Officials automatically collect taxes from economy buildings that are in use, such as Mills and Camps.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"collect_taxes\"},{\"type\":\"constant\",\"value\":250}]}},\"enabled\":true,\"name\":\"collect_taxes\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":181393}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_II\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"not_in_age_II\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"collect_taxes\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440344,948,1000],[1440344,1440330,"mastery_chinese_03","","Chinese Novice","Win a game as the Chinese.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440347,949,1000],[1440347,1440330,"mastery_chinese_04","","A Storm of Bolts","Produce 20 Zhuge Nu and use them to defeat 30 enemies.","Enter the Song Dynasty to be able to produce Zhuge Nu crossbowmen.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_repeatercrossbowmen\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"produce_repeatercrossbowmen\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":166629}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_with_repeatercrossbowmen\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"kill_with_repeatercrossbowmen\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":166629}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":135497}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440349,950,1000],[1440349,1440330,"mastery_chinese_05","","Expansion Villages","Construct 2 Villages and achieve a Population of 100 before the Castle Age (III).","Villages significantly increase your population capacity.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_villages\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"construct_villages\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":156484}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_population\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_population\",\"trackingEvent\":\"PlayerAddEntity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"population\",\"value\":\"PersonnelPop\"},{\"type\":\"constant\",\"value\":100}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"construct_villages\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_population\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_III\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_III\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_III\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440354,951,1000],[1440354,1440330,"mastery_chinese_06","","Imperial Supervision","Supervise the production of 30 military units with an Official.","The Supervise ability allows you to order an Official to supervise a military production building to increase its capabilities.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_with_supervision\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"produce_with_supervision\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_supervised_chi\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440359,952,1000],[1440359,1440330,"mastery_chinese_07","","Chinese Apprentice","Win 2 games as the Chinese.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440361,953,1000],[1440361,1440330,"mastery_chinese_08","","Shared Wealth","Generate 500 Gold in tax at buildings affected by the Imperial Academy's increased tax revenue.","Buildings producing units, researching technology, and ambiently adding income, such as the Pagoda, generate additional tax when near the Imperial Academy.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_tax_gold_influenced\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_tax_gold_influenced\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"or\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChiImpAddGoldSquadSpawned\"},{\"type\":\"constant\",\"value\":\"ChiImpAddGoldUpgradeComplete\"},{\"type\":\"constant\",\"value\":\"ChiImpAddGoldBaseTax\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440374,954,1000],[1440374,1440330,"mastery_chinese_09","","Path of the Spirit","Construct the Spirit Way Landmark and research all upgrades within it.","You must establish the Song and Yuan Dynasties in order to research all of the Spirit Way upgrades.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"spirit_way_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"spirit_way_upgrade\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"spirit_way_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":220924},{\"type\":\"constant\",\"value\":2145600},{\"type\":\"constant\",\"value\":2145601},{\"type\":\"constant\",\"value\":2145602}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":145538}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440376,955,1000],[1440376,1440330,"mastery_chinese_10","","Iron Cannons","Defeat 40 enemies with siege engines from the Astronomical Clocktower before you lose 20 of your Clocktower siege engines.","The Astronomical Clocktower allows production of superior siege engines.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"defeat_with_clocktower_siege\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"clocktower_siege_lost\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_with_clocktower_siege\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"defeat_with_clocktower_siege\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":206825},{\"type\":\"constant\",\"value\":206826},{\"type\":\"constant\",\"value\":206827},{\"type\":\"constant\",\"value\":206828},{\"type\":\"constant\",\"value\":206829},{\"type\":\"constant\",\"value\":2034340}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"defeat_with_clocktower_siege\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"clocktower_siege_lost\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"clocktower_siege_lost\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"clocktower_siege_lost\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":206825},{\"type\":\"constant\",\"value\":206826},{\"type\":\"constant\",\"value\":206827},{\"type\":\"constant\",\"value\":206828},{\"type\":\"constant\",\"value\":206829},{\"type\":\"constant\",\"value\":2034340}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440378,956,1000],[1440378,1440330,"mastery_chinese_11","","Chinese Adept","Win 5 games as the Chinese.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440380,957,1000],[1440380,1440330,"mastery_chinese_12","","A Thunderous Onslaught","Defeat 50 enemies with infantry or cavalry units equipped with Gunpowder weapons.","Many Chinese gunpowder units are also dynasty units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"defeat_with_gunpowder_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_with_gunpowder_units\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":true,\"name\":\"defeat_with_gunpowder_units\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":156312},{\"type\":\"constant\",\"value\":167296},{\"type\":\"constant\",\"value\":137562}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440382,958,1000],[1440382,1440330,"mastery_chinese_13","","Seven Stories","Generate 1500 of each resource type (Food, Wood, and Stone) from your Pagodas.","Pagodas generate additional Food, Wood, and Stone when holding Relics.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"accrue_food_from_pagodas\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_food_from_pagodas\"},{\"type\":\"constant\",\"value\":1500}]}},\"enabled\":true,\"name\":\"accrue_food_from_pagodas\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":156488}]}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"accrue_wood_from_pagodas\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_wood_from_pagodas\"},{\"type\":\"constant\",\"value\":1500}]}},\"enabled\":true,\"name\":\"accrue_wood_from_pagodas\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":156488}]}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"accrue_stone_from_pagodas\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_stone_from_pagodas\"},{\"type\":\"constant\",\"value\":1500}]}},\"enabled\":true,\"name\":\"accrue_stone_from_pagodas\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":156488}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440384,959,1000],[1440384,1440330,"mastery_chinese_14","","The Red Scarf","Achieve a Landmarks Victory while in the Ming Dynasty.","The Ming Dynasty increases military unit health.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"win_conquest\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"incorrect_dynasty_reached\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"correct_dynasty_reached\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"correct_dynasty_reached\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"correct_dynasty_reached\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":158365}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_conquest\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"correct_dynasty_reached\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"incorrect_dynasty_reached\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"incorrect_dynasty_reached\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"incorrect_dynasty_reached\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":164790},{\"type\":\"constant\",\"value\":158363},{\"type\":\"constant\",\"value\":158364}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":false,\"name\":\"win_conquest\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440386,960,1000],[1440386,1440330,"mastery_chinese_15","","Chinese Master","Win 10 games as the Chinese.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1318105,-1,961,1000],[1440397,1440329,"mastery_hre_01","","Bestirred","Gather 500 resources with Villagers affected by Holy Inspiration in the Dark Age (I).","Use a Prelate to inspire Villagers with Holy Inspiration as they harvest resources.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"not_in_age_1\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_inspired_hre\",\"value\":true}}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_1\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_1\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1440399,962,1000],[1440399,1440329,"mastery_hre_02","","Safety In Numbers","Construct 20 buildings within the range of influence of a Town Center.","Buildings within the influence of Town Centers can be repaired quickly using the Emergency Repair ability.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build_structures\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_structures\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"build_structures\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_in_influence_hre\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440401,963,1000],[1440401,1440329,"mastery_hre_03","","Holy Roman Empire Novice","Win a game as the Holy Roman Empire.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440403,964,1000],[1440403,1440329,"mastery_hre_04","","Resupply","Defeat 15 enemy units with Men-At-Arms affected by the Two-Handed Weapons technology.","Research the Two-Handed Weapons technology in the Barracks.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgrade_infantry\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade_infantry\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade_infantry\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2025322}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":false,\"name\":\"kill\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":131031}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440407,965,1000],[1440407,1440329,"mastery_hre_05","","Fleet of Foot","Produce a force of 30 infantry before the Imperial Age (IV).","Research Marching Drills at the Blacksmith.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"produce_infantry\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":170824}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_infantry\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_infantry\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":false,\"name\":\"produce_infantry\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120902},{\"type\":\"constant\",\"value\":120904},{\"type\":\"constant\",\"value\":131031},{\"type\":\"constant\",\"value\":120907}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"produce_infantry\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"not_in_age_3\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"not_in_age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460332,966,1000],[1440409,1440329,"mastery_hre_07","","Holy Roman Empire Apprentice","Win 2 games as the Holy Roman Empire.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440411,968,1000],[1440411,1440329,"mastery_hre_08","","Safeguard","Construct the Regnitz Cathedral, place a Relic within it, and accrue 3,000 Gold from it.","Relics can be found on the map. Transport a Relic to the Regnitz Cathedral with a Prelate to accrue Gold.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"landmark_has_relic\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"landmark_has_relic\"},{\"type\":\"constant\",\"value\":3000}]}},\"enabled\":true,\"name\":\"landmark_has_relic\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":134917}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440413,969,1000],[1440413,1440329,"mastery_hre_09","","By a Landslide","Defeat 30 enemies with Landsknechte.","The Landsknecht can be produced from the Barracks upon reaching the Castle Age (III).",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"kill\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":136940},{\"type\":\"constant\",\"value\":168400}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440415,970,1000],[1440415,1440329,"mastery_hre_10","","Holy Tithes","Accrue 1,000 Gold from Relics placed within Monasteries, Keeps, Docks, Stone Wall Towers, or Outposts.","Relics can be found all across the map. An optional technology, Tithe Barns, also provides additional resources when Relics are placed within Monasteries.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":193144},{\"type\":\"constant\",\"value\":120896},{\"type\":\"constant\",\"value\":120888},{\"type\":\"constant\",\"value\":120897},{\"type\":\"constant\",\"value\":120890},{\"type\":\"constant\",\"value\":134917}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440417,971,1000],[1440417,1440329,"mastery_hre_11","","Holy Roman Empire Adept","Win 5 games as the Holy Roman Empire.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440419,972,1000],[1440419,1440329,"mastery_hre_12","","Thou Shalt Not Pass","Construct the Elzbach Palace and then construct 3 Keeps within influence.","The Elzbach Palace gives structures within the range of Influence increased defenses. Your Keeps will be much harder to destroy.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"influenced_keeps\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"build_landmark\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_landmark\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_landmark\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":134919}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"influenced_keeps\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"influenced_keeps\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":false,\"name\":\"influenced_keeps\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120888}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"elzbach_influence_bonus_enabled_hre\",\"value\":true}}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440421,973,1000],[1440421,1440329,"mastery_hre_13","","Preach to the Choir","Convert 10 enemies with a Prelate.","Prelates holding a Relic can use the Conversion ability, which has a chance to convert nearby enemies to the Holy Roman Empire.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"convert_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"convert_units\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"convert_units\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonkConversionTracking\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440423,974,1000],[1440423,1440329,"mastery_hre_14","","Wonderous","Research Reinforced Defenses and then achieve a Wonder victory.","Research Reinforced Defenses in the Keep. With increased defenses you can defend your Wonder from your opponents.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"achieve_wonder\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":174761}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"achieve_wonder\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"achieve_wonder\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"achieve_wonder\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440426,975,1000],[1440426,1440329,"mastery_hre_15","","Holy Roman Empire Master","Win 10 games as the Holy Roman Empire.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1318098,-1,976,1000],[1440428,1440332,"mastery_sultanate_01","","Bounty of Berries","Increase the yield of 6 or more Berry Bushes before reaching the Feudal Age (II).","Constructing a Mill near Berry Bushes increases the amount of Food available.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"convert_berrybush_to_orchard\"},{\"type\":\"constant\",\"value\":6}]}},\"enabled\":true,\"name\":\"convert_berrybush_to_orchard\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SulBerryEnhance\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_I\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"convert_berrybush_to_orchard\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_I\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1440430,977,1000],[1440430,1440332,"mastery_sultanate_02","","Military Construction","Construct 5 Palisade Walls without using Villagers.","Sultanate Infantry can build Palisade Walls.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_palisade_with_infantry\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"construct_palisade_with_infantry\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120738},{\"type\":\"constant\",\"value\":164770}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440432,978,1000],[1440432,1440332,"mastery_sultanate_03","","Delhi Sultanate Novice","Win a game as the Delhi Sultanate.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440434,979,1000],[1440434,1440332,"mastery_sultanate_04","","An Economical Education","Produce 5 scholars from the Dome of Faith landmark.","Only scholars produced from the Dome of Faith count for completion.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce_cheap_scholar\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_cheap_scholar\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"produce_cheap_scholar\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"produce_cheap_scholar\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":128987}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":135887}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440436,980,1000],[1440436,1440332,"mastery_sultanate_05","","A Valiant Victory","Defeat 20 enemies with units affected by the Tower of Victory attack increase.","Your infantry must be trained from a building within the Sultanate Influence while having the Tower of Victory constructed.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"defeat_while_attack_buff\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_while_attack_buff\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"defeat_while_attack_buff\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_tower_of_victory_active\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440438,981,1000],[1440438,1440332,"mastery_sultanate_06","","The Science of Religion","Research 20 technologies in buildings influenced by Mosques or Madrasas.","Research buildings must be within the influence distance of a garrisoned Mosque to get increased research speed.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade_while_influenced_mosque\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"upgrade_while_influenced_mosque\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"upgrade_while_influenced_mosque\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":134809},{\"type\":\"constant\",\"value\":128105},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":129874},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":196925},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196903},{\"type\":\"constant\",\"value\":196904},{\"type\":\"constant\",\"value\":196905},{\"type\":\"constant\",\"value\":196882},{\"type\":\"constant\",\"value\":196881},{\"type\":\"constant\",\"value\":196883}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"influence_mosque_active_sul\",\"value\":true}}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440440,982,1000],[1440440,1440332,"mastery_sultanate_07","","Delhi Sultanate Apprentice","Win 2 games as the Delhi Sultanate.","Win two games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440442,983,1000],[1440442,1440332,"mastery_sultanate_08","","Military Management","Produce 20 military units from buildings you have garrisoned Scholars in.","Research Efficient Production to be able to garrison a Scholar in military production buildings.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_with_scholars\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"produce_with_scholars\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"scholar_production_active_sul\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440444,984,1000],[1440444,1440332,"mastery_sultanate_09","","Stone Construction","Use your military units to construct 1000 Stone\u2019s worth of structures.","The Compound of the Defender grants Stone construction to Military Units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"stone_construction_with_infantry_16_gold\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":16,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120739},{\"type\":\"constant\",\"value\":129755}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"stone_construction_with_infantry_40_gold\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":40,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129064},{\"type\":\"constant\",\"value\":167192}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"stone_construction_with_infantry_240_gold\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":240,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120890}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440446,985,1000],[1440446,1440332,"mastery_sultanate_10","","Protecting the Sword","Use Mosques to heal 500 total health on your units.","The Tranquil Venue technology allows Mosques to heal nearby units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"heal_with_mosque\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"heal_with_mosque\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"heal_with_mosque\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SulTrackMosqueHealing\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440449,986,1000],[1440449,1440332,"mastery_sultanate_11","","Delhi Sultanate Adept","Win 5 games as the Delhi Sultanate.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440451,987,1000],[1440451,1440332,"mastery_sultanate_12","","Military Economies","Produce 20 units from your Keeps.","The Village Fortresses technology allows Keeps to produce Villagers and Scouts.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"created_from_keep\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"created_from_keep\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"created_from_keep\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":135794}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440454,988,1000],[1440454,1440332,"mastery_sultanate_13","","Towering Threats","Construct the Palace of the Sultan, produce 10 elephants, and destroy 10 enemy buildings.","The elephants produced do not need to come from the Palace of the Sultan, however it does help.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build\",\"type\":\"toggle_counter\"},{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"build\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":135891}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce\",\"type\":\"toggle_counter\"},{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"produce\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"produce\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":136092},{\"type\":\"constant\",\"value\":136093},{\"type\":\"constant\",\"value\":187521}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"destroy\",\"type\":\"toggle_counter\"},{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroy\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"destroy\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":135497}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440457,989,1000],[1440457,1440332,"mastery_sultanate_14","","Spreading the Word","Research Swiftness and then achieve a Sacred Victory.","Swiftness research is available at the Mosque.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"research\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"win_religious\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":200137}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":false,\"name\":\"win_religious\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440459,990,1000],[1440459,1440332,"mastery_sultanate_15","","Delhi Sultanate Master","Win 10 games as the Delhi Sultanate.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1318104,-1,991,1000],[1441725,1441728,"mastery_mongol_02","","Superior Mobility","Train 3 Early Horsemen units before the Feudal Age (II).","The Mongols have the advantage of fast-moving cavalry available during the Dark Age (I).",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train_cavalry\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"train_cavalry\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"train_cavalry\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":129567}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"defeat_with_cavalry\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441734,918,1000],[1441732,1441728,"mastery_mongol_01","","Kettle and Smoke","Use the Improved Production ability to produce 2 Villagers before the Feudal Age (II).","Your Town Center must be within the influence of an Ovoo to access Improved Production for Villagers.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_villager\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"produce_villager\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadpbgtype\"},{\"type\":\"constant\",\"value\":172807}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce_villager\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1441725,917,1000],[1441734,1441728,"mastery_mongol_03","","Mongol Novice","Win a game as the Mongols.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441756,919,1000],[1441738,1441728,"mastery_mongol_08","","The Silk Road","Construct the Silver Tree Landmark and 5 outposts. Gain the Yam speed aura 40 times with your Traders.","Setting up Outposts along your trade route greatly increases the speed of your Traders.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_silvertree\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_silvertree\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":136385}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_outpost\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"construct_outpost\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120897}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ortoo_buff\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"ortoo_buff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"OrtooSpeedAura\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441769,924,1000],[1441745,1441728,"mastery_mongol_05","","Fire and Stone","Accrue 500 Stone by igniting enemy buildings.","Researching Stone Bounty, found in the Ovoo, adds stone as a reward for raiding.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_stone\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_stone\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"DeerStonesStoneBonus\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441747,921,1000],[1441747,1441728,"mastery_mongol_06","","Burnt Offerings","Produce 40 cavalry units using improved production buildings influenced by an Ovoo.","Buildings within the influence of an Ovoo can spend Stone on improved production items. Improved production produces two units instead of one.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce_improved_units\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_improved_units\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"produce_improved_units\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadpbgtype\"},{\"type\":\"constant\",\"value\":172773},{\"type\":\"constant\",\"value\":172774},{\"type\":\"constant\",\"value\":172775},{\"type\":\"constant\",\"value\":172776},{\"type\":\"constant\",\"value\":172888},{\"type\":\"constant\",\"value\":172889},{\"type\":\"constant\",\"value\":172890},{\"type\":\"constant\",\"value\":172777},{\"type\":\"constant\",\"value\":172778},{\"type\":\"constant\",\"value\":172779},{\"type\":\"constant\",\"value\":172880}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":131452}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441749,922,1000],[1441749,1441728,"mastery_mongol_07","","Mongol Apprentice","Win 2 games as the Mongols.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441738,923,1000],[1441752,1441728,"mastery_mongol_13","","The Heavy Load","Accrue 2,000 Stone using your Traders.","Researching Stone Commerce and having 9 or more Traders active allows Traders to supply Stone.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_stone\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"accrue_stone\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":127972}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"stone\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441773,929,1000],[1441754,1441728,"mastery_mongol_10","","Wolves and Rain","Research the Yam Network, then defeat 20 enemies with units affected by the Yam speed aura.","Yam Network allows any friendly unit to be affected by the Yam speed aura.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill_with_ortoo_buff\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_ortoo_network\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_ortoo_network\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":205554}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_with_ortoo_buff\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"kill_with_ortoo_buff\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"within_ortoo_aura\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441765,926,1000],[1441756,1441728,"mastery_mongol_04","","Vacant Steppes","Produce 30 Sheep from Pastures that are influenced by an Ovoo.","Building a Pasture within the influence of an Ovoo will spawn Sheep faster. Gaining an early Food advantage with well-placed Pastures can secure a stable economy.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_sheep\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"produce_sheep\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":168713}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"building_has_ovoo_aura_mon\",\"value\":true}}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441745,920,1000],[1441765,1441728,"mastery_mongol_11","","Mongol Adept","Win 5 games as the Mongols.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441771,927,1000],[1441769,1441728,"mastery_mongol_09","","A Great Assembly","Construct the Kurultai and heal 500 health on your units via the Kurultai.","The Kurultai heals damaged units nearby.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"heal_with_khan_kurultai\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"heal_with_khan_kurultai\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"heal_with_khan_kurultai\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonKurultaiHealAmount\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441754,925,1000],[1441771,1441728,"mastery_mongol_12","","Whistling Arrows","Defeat 40 enemies with units affected by the Khan's Signal Arrows.","Use the Mongol's speed and reach advantage to keep troops enhanced and the Khan alive.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_buff_active\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"kill_buff_active\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"has_khan_arrow_buff_speed_mon\",\"value\":true}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"has_khan_arrow_buff_attack_mon\",\"value\":true}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"has_khan_arrow_buff_defense_mon\",\"value\":true}}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441752,928,1000],[1441773,1441728,"mastery_mongol_14","","Horn and Sinew","Research the Improved Siha Bow Limbs technology, then defeat 40 enemies with Mangudai, and achieve a Landmarks Victory.","The Improved Siha Bow Limbs technology is found in the Archery Range.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"defeat_with_upgraded_mangudai\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_mangudai_archer_damage\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_mangudai_archer_damage\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":205803}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"win_conquest\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_with_upgraded_mangudai\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":false,\"name\":\"defeat_with_upgraded_mangudai\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":129663}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":false,\"name\":\"win_conquest\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1441776,930,1000],[1441776,1441728,"mastery_mongol_15","","Mongol Master","Win 10 games as the Mongols.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1318102,-1,931,1000],[1460288,1440307,"mastery_french_01","","Waste Not","Construct 4 resource drop-off buildings in the Dark Age (I).","Mills, Lumber Camps, and Mining Camps are considered resource drop-off buildings. The French can construct these at a reduced cost.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"construct_buildings\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_buildings\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"construct_buildings\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120894},{\"type\":\"constant\",\"value\":123842},{\"type\":\"constant\",\"value\":120892}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"construct_buildings\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1460290,902,1000],[1460290,1440307,"mastery_french_02","","Wheels of Burden","Research Horticulture, Double Broadax, and Specialized Pick before reaching the Castle Age (III).","Research these technologies in the Mill, Lumber Camp, and Mining Camp, respectively. The French can research economic technologies at a lower cost \u2013 setting the stage for a prosperous economy.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrades\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"research_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":128049},{\"type\":\"constant\",\"value\":128070},{\"type\":\"constant\",\"value\":171822}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_3\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440281,903,1000],[1460332,1440329,"mastery_hre_06","","Ray of Hope","Produce 4 Prelates from Monasteries.","Research Herbal Medicine in the Monastery.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_monk\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_monk\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"produce_monk\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":128986}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":\"monastery\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1440409,967,1000],[1460335,1460334,"mastery_rus_01","","Hunting Grounds","Accumulate 50 bounty by hunting Deer, Sheep, or Boar in the Dark Age (I).","The Rus can achieve special bonuses and Gold by accruing bounty \u2013 which is gained by gathering food from animals.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_bounty\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_bounty\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":true,\"name\":\"accrue_bounty\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RusBounty\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"accrue_bounty\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1460338,932,1000],[1460338,1460334,"mastery_rus_02","","Foresters","Construct 4 Lumber Camps within the range of influence of a Wooden Fortress.","Villagers dropping off harvested Wood to a Lumber Camp within the influence of a Wooden Fortress receive additional Wood for their efforts.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build_lumber_camp\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_lumber_camp\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"build_lumber_camp\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RusInfluencedLumberCamp\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460371,933,1000],[1460371,1460334,"mastery_rus_03","","Rus Novice","Win a game as the Rus.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460394,934,1000],[1460394,1460334,"mastery_rus_04","","On the Wild Side","Accrue 250 Gold from Hunting Cabins in the Dark Age (I).","Choose your placement for Hunting Cabins strategically. The farther into the wilderness \u2013 especially near wooded areas \u2013 the more Gold you will receive. Hunting Cabins are more effective when you have earned a high bounty total.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_gold\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_gold\"},{\"type\":\"constant\",\"value\":250}]}},\"enabled\":true,\"name\":\"accrue_gold\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievRusHuntingCabinGold\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"accrue_gold\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460402,935,1000],[1460402,1460334,"mastery_rus_05","","Birch Barricades","Construct 25 Fortified Palisade Walls with Villagers in the Dark Age (I).","The Rus' Palisade Walls are more effective than that of other civilizations.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build_walls\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_walls\"},{\"type\":\"constant\",\"value\":25}]}},\"enabled\":true,\"name\":\"build_walls\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120738}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_walls\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460440,936,1000],[1460440,1460334,"mastery_rus_06","","Frontier Trading","Use the Golden Gate Landmark to make 5 trades in the Feudal Age (II).","The Rus can use the Golden Gate Landmark to trade resources.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"buy_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"build_landmark\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_landmark\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_landmark\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133425}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"buy_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"buy_resources\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":false,\"name\":\"buy_resources\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2034142},{\"type\":\"constant\",\"value\":2034143},{\"type\":\"constant\",\"value\":2034144},{\"type\":\"constant\",\"value\":2034194},{\"type\":\"constant\",\"value\":2034195},{\"type\":\"constant\",\"value\":2034196}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_landmark\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"buy_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_3\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460461,937,1000],[1460461,1460334,"mastery_rus_07","","Rus Apprentice","Win 2 games as the Rus.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1460470,938,1000],[1460470,1460334,"mastery_rus_08","","Day and Knight","Defeat 15 enemies with Early Knights in the Feudal Age (II).","Rus gain access to Knights earlier than other civilizations \u2013 beat the rush with a rush of your own.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"knight_kills\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"knight_kills\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"knight_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":133050}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":135497}]}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"knight_kills\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_3\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461174,939,1000],[1461174,1460334,"mastery_rus_09","","Divinity","Defeat 20 enemies with units affected by Saint's Blessing.","Warrior Monks are fearsome fighters that do well in the center of battle. While fighting, Warrior Monks trigger Saint's Blessing \u2013 which improves the effectiveness of nearby combatants.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"saints_blessing\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"saints_blessing\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"saints_blessing\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"saints_armour_buff_rus\",\"value\":true}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":135497}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461176,940,1000],[1461176,1460334,"mastery_rus_10","","Mount the Attack","Research Boyar's Fortitude and then defeat 30 enemies with cavalry.","Research Boyar's Fortitude in the Blacksmith.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"cavalry_kills\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrades\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":182860}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"cavalry_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cavalry_kills\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":false,\"name\":\"cavalry_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"cavalry\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461178,941,1000],[1461178,1460334,"mastery_rus_11","","Rus Adept","Win 5 games as the Rus.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461276,942,1000],[1461276,1460334,"mastery_rus_12","","Lay Siege","Research two upgrades from the High Armory and produce 20 siege engines in the Imperial Age (IV).","The High Armory contains unique technologies for Rus siege engines \u2013 which can strengthen your hold on the late game.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"produce_siege\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrades\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"research_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":207446},{\"type\":\"constant\",\"value\":182869},{\"type\":\"constant\",\"value\":207447},{\"type\":\"constant\",\"value\":207448}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_siege\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_siege\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"produce_siege\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":124536},{\"type\":\"constant\",\"value\":165116},{\"type\":\"constant\",\"value\":127727},{\"type\":\"constant\",\"value\":165114},{\"type\":\"constant\",\"value\":130924},{\"type\":\"constant\",\"value\":124534},{\"type\":\"constant\",\"value\":130951},{\"type\":\"constant\",\"value\":124533}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461319,943,1000],[1461319,1460334,"mastery_rus_13","","Black Powder","Research Chemistry and then defeat 30 enemies with Streltsy.","Research Chemistry at the University.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124734}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_units\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":false,\"name\":\"kill_units\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":133018}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461321,944,1000],[1461321,1460334,"mastery_rus_14","","Ours is the Glory","Achieve a Sacred Victory with fully upgraded Warrior Monks.","Construct the Abbey of the Trinity Landmark to gain access to unique Warrior Monk technologies \u2013 Saint's Veneration and Fervor. The Herbal Medicine, Piety, and Divine Light upgrades can be found in the Monastery as well.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"achieve_religious\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrades\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"research_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2122121},{\"type\":\"constant\",\"value\":207449},{\"type\":\"constant\",\"value\":129401},{\"type\":\"constant\",\"value\":129403},{\"type\":\"constant\",\"value\":207442}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"achieve_religious\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"achieve_religious\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"achieve_religious\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1461325,945,1000],[1461325,1460334,"mastery_rus_15","","Rus Master","Win 10 games as the Rus.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1318103,-1,946,1000],[1470814,1470816,"mastery_abbasid_01","","Commerce and Science","Accrue a sum total of 1,000 resources before the first wing of your House of Wisdom is complete.","The resources can be from any source; Food, Wood, Stone or Gold and they add together. The Abbasid Dynasty should be able to maintain peak resource collection while building their Landmark.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"},{\"type\":\"constant\",\"value\":\"gold\"},{\"type\":\"constant\",\"value\":\"stone\"},{\"type\":\"constant\",\"value\":\"wood\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_I\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_I\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1470817,995,1000],[1470817,1470816,"mastery_abbasid_02","","The Path Taken","Research the first technology available from a wing in your House of Wisdom, before reaching the Castle Age (III).","Each of the wings gives you one unique technology to choose from. These are important to your development and should be researched as soon as possible.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"upgrade\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"or\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":200220},{\"type\":\"constant\",\"value\":2108050},{\"type\":\"constant\",\"value\":201795},{\"type\":\"constant\",\"value\":201743}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"upgrade\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470835,996,1000],[1470819,1470816,"mastery_abbasid_05","","Love of Knowledge","Research 30 technologies discounted by the Preservation of Knowledge.","For a technology to count, it must be started after researching Preservation of Knowledge.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"cheaper_research\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":201795}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"cheaper_research\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cheaper_research\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":false,\"name\":\"cheaper_research\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2033115},{\"type\":\"constant\",\"value\":2033123},{\"type\":\"constant\",\"value\":2033119},{\"type\":\"constant\",\"value\":2033127},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":134809},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":196904},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":2033116},{\"type\":\"constant\",\"value\":2033124},{\"type\":\"constant\",\"value\":2033120},{\"type\":\"constant\",\"value\":2033128},{\"type\":\"constant\",\"value\":2033117},{\"type\":\"constant\",\"value\":2033125},{\"type\":\"constant\",\"value\":2033121},{\"type\":\"constant\",\"value\":2033129},{\"type\":\"constant\",\"value\":2033118},{\"type\":\"constant\",\"value\":2033126},{\"type\":\"constant\",\"value\":2033122},{\"type\":\"constant\",\"value\":2033130},{\"type\":\"constant\",\"value\":201795},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":129874},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":2033399},{\"type\":\"constant\",\"value\":2033316},{\"type\":\"constant\",\"value\":2033400}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470821,999,1000],[1470821,1470816,"mastery_abbasid_06","","Culture of Trade","Accrue 5000 gold from your Traders after researching Spice Roads.","Gold accrued only counts once you have researched Spice Roads.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"trader_additional_gold\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":201753}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"trader_additional_gold\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"trader_additional_gold\"},{\"type\":\"constant\",\"value\":5000}]}},\"enabled\":false,\"name\":\"trader_additional_gold\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":127972}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470823,1000,1000],[1470823,1470816,"mastery_abbasid_07","","Abbasid Apprentice","Win 2 games as the Abbasid.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470825,1001,1000],[1470825,1470816,"mastery_abbasid_08","","Expeditious Production","Produce 100 military units after achieving Tier 3 of the Golden Age.","Tier 3 of the Golden Age increases production speed of your units. The production of military units only counts after achieving Tier 3.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"golden_age_tier3\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"produce_military\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":201595}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce_military\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_military\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":false,\"name\":\"produce_military\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":120915},{\"type\":\"constant\",\"value\":127973},{\"type\":\"constant\",\"value\":128987}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470827,1002,1000],[1470827,1470816,"mastery_abbasid_09","","Smell of Defeat","Defeat 15 enemy cavalry units with your Camel Riders.","Camels are designed as anti-cavalry, use Camel Riders in this manner to defeat enemy cavalry.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"cavalry_defeated_with_cavalry\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cavalry_defeated_with_cavalry\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"cavalry_defeated_with_cavalry\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":202620}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":202620},{\"type\":\"constant\",\"value\":202622},{\"type\":\"constant\",\"value\":129652},{\"type\":\"constant\",\"value\":129553},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":120939},{\"type\":\"constant\",\"value\":187521},{\"type\":\"constant\",\"value\":156272},{\"type\":\"constant\",\"value\":136092}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470829,1003,1000],[1470829,1470816,"mastery_abbasid_10","","Heart and Mind","Heal 3000 health on friendly units using your Medical Centers.","After researching Medical Centers, bring injured units nearby to receive healing.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"heal_with_medical_center\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"heal_with_medical_center\"},{\"type\":\"constant\",\"value\":1500}]}},\"enabled\":true,\"name\":\"heal_with_medical_center\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AbbMedicalCenterHealTracking\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470831,1004,1000],[1470831,1470816,"mastery_abbasid_11","","Abbasid Adept","Win 5 games as the Abbasid.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470843,1005,1000],[1470833,1470816,"mastery_abbasid_13","","Resourceful in Warfare","Construct 10 ranged siege units with your melee infantry.","Abbasid melee infantry units can construct ranged siege units in the field.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce_siege_with_melee\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_siege_with_melee\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"produce_siege_with_melee\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120907},{\"type\":\"constant\",\"value\":131031}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":124536},{\"type\":\"constant\",\"value\":124534}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470839,1007,1000],[1470835,1470816,"mastery_abbasid_03","","Abbasid Novice","Win a game as the Abbasid.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470837,997,1000],[1470837,1470816,"mastery_abbasid_04","","Support the Strong","Defeat 30 enemy units with Infantry who are receiving support from Camels.","Research the Camel Support technology and then stand your infantry within radius of a camel to gain the benefit. Infantry include non-cavalry ranged units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"defeat_with_camel_support\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_with_camel_support\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"defeat_with_camel_support\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"defeat_with_camel_support\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_camel_support_active_abb\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470819,998,1000],[1470839,1470816,"mastery_abbasid_14","","No Higher Honor","Win a Wonder Victory after achieving Tier 3 of the Golden Age.","Reaching Tier 3 of the Golden Age indicates a strong economy, culture and military structure is in place. This should make a Wonder victory achievable.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"golden_age_tier3\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"win_condition\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":201595}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":false,\"name\":\"win_condition\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470841,1008,1000],[1470841,1470816,"mastery_abbasid_15","","Abbasid Master","Win 10 games as the Abbasid.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1318106,-1,1009,1000],[1470843,1470816,"mastery_abbasid_12","","Bounty of the Earth","Increase the yield of 18 Berry Bushes and accrue 9000 Food.","The Abbasid Dynasty can increase the Food available per Berry Bush by placing a Mill nearby.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"resource_berrybush_upgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_berrybush_upgraded\"},{\"type\":\"constant\",\"value\":18}]}},\"enabled\":true,\"name\":\"resource_berrybush_upgraded\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SulBerryEnhance\"}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"resource_food_accrued\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_food_accrued\"},{\"type\":\"constant\",\"value\":9000}]}},\"enabled\":true,\"name\":\"resource_food_accrued\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1470833,1006,1000],[1470862,1470871,"cpg_complete_hundred","","The Hundred Years' War Completion",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411655},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411657},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411659},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411661},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411663},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411665},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411667},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411669},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1010,0],[1470864,1470871,"cpg_complete_mongol","","The Mongol Horde Completion",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411637},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411639},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411641},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411643},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411645},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411647},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411649},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411651},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411653},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1012,0],[1470866,1470871,"cpg_complete_moscow","","The Rise of Moscow Completion",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411463},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411465},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411467},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411469},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411471},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411473},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411475},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411477},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1011,0],[1470868,1470871,"cpg_complete_norman","","The Norman Conquest Completion",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1400973},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1400972},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401279},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1402686},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401283},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401285},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401288},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401290},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401292},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401291},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1013,0],[1471943,1464934,"a004_norman_conquest","","The Normans","Complete The Normans campaign.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1400973},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1400972},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401279},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1402686},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401283},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401285},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401288},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401290},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401292},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1401291},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1247111,-1,-1,0],[1471945,1464934,"a005_hundred_years_war","","The Hundred Years War","Complete The Hundred Years War campaign.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411655},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411657},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411659},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411661},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411663},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411665},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411667},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411669},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1247112,-1,-1,0],[1471947,1464934,"a006_mongol_horde","","The Mongol Empire","Complete The Mongol Empire campaign.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411637},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411639},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411641},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411643},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411645},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411647},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411649},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411651},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411653},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1247207,-1,-1,0],[1471949,1464934,"a007_rise_of_moscow","","The Rise of Moscow","Complete The Rise of Moscow campaign.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411463},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411465},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411467},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411469},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411471},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411473},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411475},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1411477},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1247113,-1,-1,0],[1471951,1464934,"a009_counter_raider","","Counter-Raider","Loot the Danish war camp during the North to York mission.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"dane_camp_looted\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"dane_camp_looted\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievDaneCampLooted\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1254730,-1,-1,0],[1471953,1464934,"a058_civ_english","","Hope Is Kindled","Extend the Network of Castles alarm across 12 buildings simultaneously as the English.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"network_of_castles\"},{\"type\":\"constant\",\"value\":12}]}},\"enabled\":true,\"name\":\"network_of_castles\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievNetworkOfCastlesUp\"}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"decrease_network\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Sub\",\"name\":\"network_of_castles\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievNetworkOfCastlesDown\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029898,-1,-1,0],[1471963,1464934,"a059_civ_french","","Lancerlot","Charge an enemy with 50 Royal Knights simultaneously as the French.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"lancer_charge_begins\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"lancer_charge_ends\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"meta_counter\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"lancer_charge_begins\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"FreLancerChargeBegins\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"lancer_charge_ends\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"FreLancerChargeEnds\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1354261,-1,-1,0],[1471965,1464934,"a067_civ_mongol","","Raiding Party","Raid an enemy building in the Dark Age (I) as the Mongols.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"raid_building\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_I\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"raid_building\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"raid_building\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonRaidResourceAdded\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_I\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"raid_building\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_I\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1379065,-1,-1,0],[1471967,1464934,"a068_civ_mongol","","Jagutu-iin Darga","Enhance 100 units with a single Khan Signal Arrow as the Mongols.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"signal_arrow_buff_on\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonSignalArrowActivate\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"signal_arrow_buff_off\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"name\":\"complete_all\",\"amount\":0,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":168622},{\"type\":\"constant\",\"value\":168628},{\"type\":\"constant\",\"value\":168567}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"signal_arrow_buff_on\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"signal_arrow_buff_on\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1379066,-1,-1,0],[1471969,1464934,"a069_civ_mongol","","Long Live the Khan","Win a match without your Khan being killed as the Mongols.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"khan_died\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"win_match\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"khan_died\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"khan_died\",\"trackingEvent\":\"SquadDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":129651}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_match\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_match\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1379067,-1,-1,0],[1471971,1464934,"a070_civ_mongol","","Explore, Expand, Exploit","Accrue 10,000 Stone in a single match as the Mongols.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":10000}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"stone\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1379068,-1,-1,0],[1471977,1464934,"a060_civ_french","","Who Needs Infantry?","Win a match without producing infantry as the French.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"produce_infantry\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_infantry\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"produce_infantry\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120902},{\"type\":\"constant\",\"value\":120904},{\"type\":\"constant\",\"value\":129627},{\"type\":\"constant\",\"value\":131031},{\"type\":\"constant\",\"value\":120907}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1401076,-1,-1,0],[1471980,1464934,"a061_civ_french","","Big Shot","Destroy 1,000 enemy units with gunpowder siege engines as the French.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"gunpowder_unit_kills\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"gunpowder_unit_kills\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gunpowder_unit_kills\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"gunpowder_unit_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":127727},{\"type\":\"constant\",\"value\":165114},{\"type\":\"constant\",\"value\":130924},{\"type\":\"constant\",\"value\":165116}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"gunpowder_unit_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"gunpowder_unit_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_061\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1403329,-1,-1,0],[1472015,1464934,"a062_civ_french","","Do You Deliver?","Accrue 1,000 Food from Traders in a single match as the French.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_food\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_food\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"accrue_food\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":127972}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1446965,-1,-1,0],[1472024,1464934,"a063_civ_rus","","Wild's Bounty","Accrue 2,000 Gold with Hunting Cabins in a single match as the Rus.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_gold\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_gold\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"accrue_gold\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievRusHuntingCabinGold\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1465392,-1,-1,0],[1472036,1464934,"a064_civ_rus","","Big Game Hunter","Earn 500 Gold from bounties in a match as the Rus.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_bounty\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_bounty\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_bounty\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RusBounty\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1465393,-1,-1,0],[1472038,1464934,"a079_civ_chinese","","Be Subtle","Reveal 300 Villagers with a single use of Imperial Spies as the Chinese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"spy_on_enemy_villager\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"spy_on_enemy_villager\"},{\"type\":\"constant\",\"value\":300}]}},\"enabled\":true,\"name\":\"spy_on_enemy_villager\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"spy_on_enemy_villager\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChiSpyRevealVillagers\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"spy_on_enemy_villager_reset\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"name\":\"spy_on_enemy_villager\",\"amount\":0,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":206838}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1470090,-1,-1,0],[1472040,1464934,"a080_civ_chinese","","Great Walls","Construct 1,000 Stone Walls as the Chinese.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"build_great_wall\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"build_great_wall\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_great_wall\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_great_wall\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"build_great_wall\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":144658},{\"type\":\"constant\",\"value\":144659}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_080\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1470279,-1,-1,0],[1472042,1464934,"a081_civ_chinese","","Move Like Wind, Attack Like Fire","Defeat 1,000 enemy units with the Nest of Bees as the Chinese.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"defeat_with_nest_of_bees\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"defeat_with_nest_of_bees\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_with_nest_of_bees\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"defeat_with_nest_of_bees\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"defeat_with_nest_of_bees\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":166606},{\"type\":\"constant\",\"value\":206821}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"defeat_with_nest_of_bees\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"defeat_with_nest_of_bees\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_081\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1470091,-1,-1,0],[1472044,1464934,"a082_civ_chinese","","Four Histories","Establish all of the Dynasties in a single match as the Chinese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"establish_dynasties\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"establish_dynasties\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"establish_dynasties\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":164790},{\"type\":\"constant\",\"value\":158363},{\"type\":\"constant\",\"value\":158364},{\"type\":\"constant\",\"value\":158365}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1470092,-1,-1,0],[1472056,1464934,"a065_civ_rus","","Deforestation","Gather Wood 1,000 times as the Rus.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"accrue_wood\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"accrue_wood\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_wood\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"accrue_wood\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"wood\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_065\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"clientcounter\",\"value\":\"1\"}}}",1465394,-1,-1,0],[1472059,1464934,"a066_civ_rus","","In Memory of Kulikovo","Enhance 10 units with a single Saint's Blessing strike as the Rus.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"saints_blessing_on\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RusBlessingAura\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"saints_blessing_off\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"name\":\"complete_all\",\"amount\":0,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":181465}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"saints_blessing_on\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"saints_blessing_off\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1465395,-1,-1,0],[1472084,1464934,"a075_civ_sultanate","","Herd You Like Elephants","Destroy 100 enemy buildings with your elephants as the Delhi Sultanate.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"elephant_destroy_building\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"elephant_destroy_building\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"elephant_destroy_building\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"elephant_destroy_building\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120888},{\"type\":\"constant\",\"value\":120897},{\"type\":\"constant\",\"value\":120890},{\"type\":\"constant\",\"value\":120894},{\"type\":\"constant\",\"value\":120893},{\"type\":\"constant\",\"value\":123842},{\"type\":\"constant\",\"value\":120892},{\"type\":\"constant\",\"value\":120891},{\"type\":\"constant\",\"value\":132042},{\"type\":\"constant\",\"value\":120886},{\"type\":\"constant\",\"value\":123854},{\"type\":\"constant\",\"value\":120900},{\"type\":\"constant\",\"value\":120899},{\"type\":\"constant\",\"value\":120898},{\"type\":\"constant\",\"value\":120885},{\"type\":\"constant\",\"value\":193144},{\"type\":\"constant\",\"value\":120884},{\"type\":\"constant\",\"value\":120896},{\"type\":\"constant\",\"value\":120901},{\"type\":\"constant\",\"value\":127385},{\"type\":\"constant\",\"value\":127284},{\"type\":\"constant\",\"value\":127285},{\"type\":\"constant\",\"value\":127286},{\"type\":\"constant\",\"value\":156481},{\"type\":\"constant\",\"value\":156488},{\"type\":\"constant\",\"value\":156484},{\"type\":\"constant\",\"value\":199772},{\"type\":\"constant\",\"value\":172143},{\"type\":\"constant\",\"value\":168502},{\"type\":\"constant\",\"value\":2074857}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":187521}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"elephant_destroy_building\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"elephant_destroy_building\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_075\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1517403,-1,-1,0],[1472087,1464934,"a076_civ_sultanate","","Field Construction","Build a Stone Wall, Gate, and Tower using infantry as the Delhi Sultanate.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"construct_with_infantry_stone_wall\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_with_infantry_stone_wall\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_with_infantry_stone_wall\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120739},{\"type\":\"constant\",\"value\":129755}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"construct_with_infantry_stone_wall_gate\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_with_infantry_stone_wall_gate\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_with_infantry_stone_wall_gate\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129064},{\"type\":\"constant\",\"value\":167192}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"construct_with_infantry_stone_wall_tower\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_with_infantry_stone_wall_tower\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_with_infantry_stone_wall_tower\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120890}]},{\"op\":\"not\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1519162,-1,-1,0],[1472089,1464934,"a077_civ_sultanate","","Higher Education","Have 20 Scholars garrisoned in a Madrasa as the Delhi Sultanate.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"garrison_scholars_madrasa\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"garrison_scholars_madrasa\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"garrison_scholars_madrasa\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SulScholarLoadMadrasa\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1519163,-1,-1,0],[1472091,1464934,"a078_civ_sultanate","","Pantomath","Research all technologies in a match as the Delhi Sultanate.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"research_every_upgrade\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_every_upgrade\"},{\"type\":\"constant\",\"value\":84}]}},\"enabled\":true,\"name\":\"research_every_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":134809},{\"type\":\"constant\",\"value\":128105},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":2033399},{\"type\":\"constant\",\"value\":2033316},{\"type\":\"constant\",\"value\":2033400},{\"type\":\"constant\",\"value\":129874},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":172290},{\"type\":\"constant\",\"value\":412759},{\"type\":\"constant\",\"value\":390786},{\"type\":\"constant\",\"value\":2101943}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1519164,-1,-1,0],[1472100,1464934,"a051_civ_abbasid","","The Faithful","Convert 30 enemies without holding a Relic as the Abbasid Dynasty.",null,30,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"convert_one_at_a_time\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"convert_one_at_a_time\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"convert_one_at_a_time\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"convert_one_at_a_time\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AbbSingleUnitConversion\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_051\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1545062,-1,-1,0],[1472103,1464934,"a052_civ_abbasid","","All the World's Knowledge","During a match, research everything in the wings of the Abbasid House of Wisdom.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"research_wing_upgrade\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_wing_upgrade\"},{\"type\":\"constant\",\"value\":12}]}},\"enabled\":true,\"name\":\"research_wing_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":201795},{\"type\":\"constant\",\"value\":201793},{\"type\":\"constant\",\"value\":201794},{\"type\":\"constant\",\"value\":200775},{\"type\":\"constant\",\"value\":199986},{\"type\":\"constant\",\"value\":1622182},{\"type\":\"constant\",\"value\":200220},{\"type\":\"constant\",\"value\":200768},{\"type\":\"constant\",\"value\":200252},{\"type\":\"constant\",\"value\":201743},{\"type\":\"constant\",\"value\":201753},{\"type\":\"constant\",\"value\":201746}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1545084,-1,-1,0],[1472105,1464934,"a053_civ_abbasid","","Shifting Winds","Defeat 1,000 enemy cavalry units with your Camel Riders as the Abbasid Dynasty.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"defeat_cavalry_with_camels\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"defeat_cavalry_with_camels\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_cavalry_with_camels\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"defeat_cavalry_with_camels\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":202620}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":202620},{\"type\":\"constant\",\"value\":202622},{\"type\":\"constant\",\"value\":129652},{\"type\":\"constant\",\"value\":129553},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":120939},{\"type\":\"constant\",\"value\":187521},{\"type\":\"constant\",\"value\":156272}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"defeat_cavalry_with_camels\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"defeat_cavalry_with_camels\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_053\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1546494,-1,-1,0],[1472107,1464934,"a054_civ_abbasid","","A Golden Age","Achieve the third tier of the Golden Age as the Abbasid Dynasty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"golden_age_tier3\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"golden_age_tier3\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":201595}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1546495,-1,-1,0],[1472127,1464934,"a071_civ_hre","","Who Needs Cavalry?","Win a match without producing cavalry as the Holy Roman Empire.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"produce_cavalry\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_cavalry\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"produce_cavalry\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129553},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":120939}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1551908,-1,-1,0],[1472134,1464934,"a072_civ_hre","","Inspired Economics","Have at least 60 simultaneously inspired Villagers as the Holy Roman Empire.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"inspire_on\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"inspire_off\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"complete_all\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":60}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"inspire_on\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"HREInspireActivate\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"inspire_off\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"HREInspireDeactivate\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1563849,-1,-1,0],[1472141,1464934,"a073_civ_hre","","Servants of the Land","Kill 10,000 enemies with Landsknechte.",null,10000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"landsknecht_kills\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"landsknecht_kills\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"landsknecht_kills\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"landsknecht_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":136940},{\"type\":\"constant\",\"value\":168400}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"landsknecht_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"landsknecht_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_073\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1577087,-1,-1,0],[1472143,1464934,"a074_civ_hre","","Swift Site","Begin capturing a Sacred Site immediately upon entering Age III as the Holy Roman Empire.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"holy_site_capturing\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"holy_site_capturing\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievBeginSacredSiteCapture\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"holy_site_capturing\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_III\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_III\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_III\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"CastleAgeUpDelay\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2038881,-1,-1,0],[1472164,1464934,"a038_game_mode","","By Force","Achieve a Landmarks Victory.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1753693,-1,-1,0],[1472166,1464934,"a039_game_mode","","By Faith","Achieve a Sacred Victory.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1753737,-1,-1,0],[1472168,1464934,"a040_game_mode","","By Fortune","Achieve a Wonder Victory.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1753767,-1,-1,0],[1472170,1464934,"a041_game_mode","","Make It Quick","Achieve a Landmarks Victory in the Dark Age (I).",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1753770,-1,-1,0],[1472172,1464934,"a042_game_mode","","Walk the Earth","Achieve a Sacred Victory without losing a religious unit.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"monk_death\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"monk_death\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"monk_death\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"monk_death\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":128986}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1753791,-1,-1,0],[1472174,1464934,"a043_game_mode","","Wonderstruck","Achieve a Wonder Victory without constructing walls.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"construct_wall\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"construct_wall\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_wall\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_wall\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120739},{\"type\":\"constant\",\"value\":129064},{\"type\":\"constant\",\"value\":129755},{\"type\":\"constant\",\"value\":120738}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1753792,-1,-1,0],[1472185,1464934,"a083_gameplay_moment","","Wololottery","Assume control of 25 units in a single conversion.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"monk_conversion_event_on\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonkConversionTracking\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"monk_conversion_event_off\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"name\":\"complete_all\",\"amount\":0,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":192685}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"monk_conversion_event_on\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"monk_conversion_event_off\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":25}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1818017,-1,-1,0],[1472187,1464934,"a084_gameplay_moment","","Having a Blast","Destroy 5 enemies with a single Demolition Ship detonation.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"fireship_detonation\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":193058}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"fireship_detonation_reset_abilitycomplete\",\"trackingEvent\":\"AbilityComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"name\":\"complete_all\",\"amount\":0,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2013822}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"fireship_detonation\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"fireship_detonation_reset_abilitycomplete\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":6}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1818018,-1,-1,0],[1472191,1464934,"a086_gameplay_moment","","Through the Ages","Advance to the next Age 500 times.",null,500,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"age_up\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"age_up\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"age_up\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"age_up\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_086\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1818020,-1,-1,0],[1472193,1464934,"a087_gameplay_moment","","Coast Is Clear","Win a match during which fishing was your only source of gathered Food.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"win_game_fish_only\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"gather_min_fish\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gather_min_fish\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"gather_min_fish\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_shore_fish\"},{\"type\":\"constant\",\"value\":\"gather_deep_water_fish\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game_fish_only\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"gather_min_fish\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"gather_not_fish\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gather_not_fish\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"gather_not_fish\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_berries\"},{\"type\":\"constant\",\"value\":\"gather_farm\"},{\"type\":\"constant\",\"value\":\"gather_herdable\"},{\"type\":\"constant\",\"value\":\"gather_huntable\"},{\"type\":\"constant\",\"value\":\"gather_huntable_danger\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game_fish_only\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"win_game_fish_only\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1818021,-1,-1,0],[1472198,1464934,"a047_vs_ai","","Sub-Human Subduer","Win a 1v1 match against the Easy A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaieasy\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaimedium\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1839216,-1,-1,0],[1472200,1464934,"a048_vs_ai","","Par-Human Potentate","Win a 1v1 match against the Intermediate A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaimedium\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1843337,-1,-1,0],[1472202,1464934,"a049_vs_ai","","High-Human Hero","Win a 1v1 match against the Hard A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1843431,-1,-1,0],[1472204,1464934,"a050_vs_ai","","Super-Human Subjugator","Win a 1v1 match against the Hardest A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1843525,-1,-1,0],[1472232,1472244,"mastery_ftue_training_01","","Learn by Action","Complete an Art of War challenge or a campaign mission.","Any Art of War training challenge or campaign mission counts toward completing this Mastery. You can replay the same mission or challenge to get additional progress.",1,"{\"awardSource\":2,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_basiccombat\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlyeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlysiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_lateeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_latesiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_advancedcombat\"},{\"type\":\"constant\",\"value\":\"ang_chp1_hastings\"},{\"type\":\"constant\",\"value\":\"ang_chp1_york\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bayeux\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"},{\"type\":\"constant\",\"value\":\"ang_chp2_tinchebray\"},{\"type\":\"constant\",\"value\":\"ang_chp3_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp3_wallingford\"},{\"type\":\"constant\",\"value\":\"ang_chp4_dover\"},{\"type\":\"constant\",\"value\":\"ang_chp4_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp4_rochester\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"},{\"type\":\"constant\",\"value\":\"hun_chp2_pontvallain\"},{\"type\":\"constant\",\"value\":\"hun_chp3_orleans\"},{\"type\":\"constant\",\"value\":\"hun_chp3_patay\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"},{\"type\":\"constant\",\"value\":\"hun_chp4_rouen\"},{\"type\":\"constant\",\"value\":\"mon_chp1_juyong\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"},{\"type\":\"constant\",\"value\":\"mon_chp1_zhongdu\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"},{\"type\":\"constant\",\"value\":\"mon_chp2_mohi\"},{\"type\":\"constant\",\"value\":\"mon_chp3_lumen_shan\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1267\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1273\"},{\"type\":\"constant\",\"value\":\"gdm_chp1_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_kulikovo\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_tribute\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_novgorod\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_kazan\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_smolensk\"},{\"type\":\"constant\",\"value\":\"challenge_mission_malian\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"},{\"type\":\"constant\",\"value\":\"abb_m1_tyre\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"},{\"type\":\"constant\",\"value\":\"abb_m4_hattin\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"},{\"type\":\"constant\",\"value\":\"abb_m6_aynjalut\"},{\"type\":\"constant\",\"value\":\"abb_m7_acre\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1472234,1033,1000],[1472234,1472244,"mastery_ftue_training_02","","Tools of Learning","Complete an Art of War challenge or a campaign mission.","Any Art of War training challenge or campaign mission counts toward completing this Mastery. You can replay the same mission or challenge to get additional progress.",1,"{\"awardSource\":2,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_basiccombat\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlyeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlysiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_lateeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_latesiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_advancedcombat\"},{\"type\":\"constant\",\"value\":\"ang_chp1_hastings\"},{\"type\":\"constant\",\"value\":\"ang_chp1_york\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bayeux\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"},{\"type\":\"constant\",\"value\":\"ang_chp2_tinchebray\"},{\"type\":\"constant\",\"value\":\"ang_chp3_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp3_wallingford\"},{\"type\":\"constant\",\"value\":\"ang_chp4_dover\"},{\"type\":\"constant\",\"value\":\"ang_chp4_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp4_rochester\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"},{\"type\":\"constant\",\"value\":\"hun_chp2_pontvallain\"},{\"type\":\"constant\",\"value\":\"hun_chp3_orleans\"},{\"type\":\"constant\",\"value\":\"hun_chp3_patay\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"},{\"type\":\"constant\",\"value\":\"hun_chp4_rouen\"},{\"type\":\"constant\",\"value\":\"mon_chp1_juyong\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"},{\"type\":\"constant\",\"value\":\"mon_chp1_zhongdu\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"},{\"type\":\"constant\",\"value\":\"mon_chp2_mohi\"},{\"type\":\"constant\",\"value\":\"mon_chp3_lumen_shan\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1267\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1273\"},{\"type\":\"constant\",\"value\":\"gdm_chp1_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_kulikovo\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_tribute\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_novgorod\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_kazan\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_smolensk\"},{\"type\":\"constant\",\"value\":\"challenge_mission_malian\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"},{\"type\":\"constant\",\"value\":\"abb_m1_tyre\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"},{\"type\":\"constant\",\"value\":\"abb_m4_hattin\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"},{\"type\":\"constant\",\"value\":\"abb_m6_aynjalut\"},{\"type\":\"constant\",\"value\":\"abb_m7_acre\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1472236,1034,1000],[1472236,1472244,"mastery_ftue_training_03","","New Ways of Thinking","Complete an Art of War challenge or a campaign mission.","Any Art of War training challenge or campaign mission counts toward completing this Mastery. You can replay the same mission or challenge to get additional progress.",1,"{\"awardSource\":2,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_basiccombat\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlyeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlysiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_lateeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_latesiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_advancedcombat\"},{\"type\":\"constant\",\"value\":\"ang_chp1_hastings\"},{\"type\":\"constant\",\"value\":\"ang_chp1_york\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bayeux\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"},{\"type\":\"constant\",\"value\":\"ang_chp2_tinchebray\"},{\"type\":\"constant\",\"value\":\"ang_chp3_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp3_wallingford\"},{\"type\":\"constant\",\"value\":\"ang_chp4_dover\"},{\"type\":\"constant\",\"value\":\"ang_chp4_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp4_rochester\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"},{\"type\":\"constant\",\"value\":\"hun_chp2_pontvallain\"},{\"type\":\"constant\",\"value\":\"hun_chp3_orleans\"},{\"type\":\"constant\",\"value\":\"hun_chp3_patay\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"},{\"type\":\"constant\",\"value\":\"hun_chp4_rouen\"},{\"type\":\"constant\",\"value\":\"mon_chp1_juyong\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"},{\"type\":\"constant\",\"value\":\"mon_chp1_zhongdu\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"},{\"type\":\"constant\",\"value\":\"mon_chp2_mohi\"},{\"type\":\"constant\",\"value\":\"mon_chp3_lumen_shan\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1267\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1273\"},{\"type\":\"constant\",\"value\":\"gdm_chp1_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_kulikovo\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_tribute\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_novgorod\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_kazan\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_smolensk\"},{\"type\":\"constant\",\"value\":\"challenge_mission_malian\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"},{\"type\":\"constant\",\"value\":\"abb_m1_tyre\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"},{\"type\":\"constant\",\"value\":\"abb_m4_hattin\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"},{\"type\":\"constant\",\"value\":\"abb_m6_aynjalut\"},{\"type\":\"constant\",\"value\":\"abb_m7_acre\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1472238,1035,1000],[1472238,1472244,"mastery_ftue_training_04","","Training and Transformation","Complete an Art of War challenge or a campaign mission.","Any Art of War training challenge or campaign mission counts toward completing this Mastery. You can replay the same mission or challenge to get additional progress.",1,"{\"awardSource\":2,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_basiccombat\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlyeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlysiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_lateeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_latesiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_advancedcombat\"},{\"type\":\"constant\",\"value\":\"ang_chp1_hastings\"},{\"type\":\"constant\",\"value\":\"ang_chp1_york\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bayeux\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"},{\"type\":\"constant\",\"value\":\"ang_chp2_tinchebray\"},{\"type\":\"constant\",\"value\":\"ang_chp3_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp3_wallingford\"},{\"type\":\"constant\",\"value\":\"ang_chp4_dover\"},{\"type\":\"constant\",\"value\":\"ang_chp4_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp4_rochester\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"},{\"type\":\"constant\",\"value\":\"hun_chp2_pontvallain\"},{\"type\":\"constant\",\"value\":\"hun_chp3_orleans\"},{\"type\":\"constant\",\"value\":\"hun_chp3_patay\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"},{\"type\":\"constant\",\"value\":\"hun_chp4_rouen\"},{\"type\":\"constant\",\"value\":\"mon_chp1_juyong\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"},{\"type\":\"constant\",\"value\":\"mon_chp1_zhongdu\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"},{\"type\":\"constant\",\"value\":\"mon_chp2_mohi\"},{\"type\":\"constant\",\"value\":\"mon_chp3_lumen_shan\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1267\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1273\"},{\"type\":\"constant\",\"value\":\"gdm_chp1_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_kulikovo\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_tribute\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_novgorod\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_kazan\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_smolensk\"},{\"type\":\"constant\",\"value\":\"challenge_mission_malian\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"},{\"type\":\"constant\",\"value\":\"abb_m1_tyre\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"},{\"type\":\"constant\",\"value\":\"abb_m4_hattin\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"},{\"type\":\"constant\",\"value\":\"abb_m6_aynjalut\"},{\"type\":\"constant\",\"value\":\"abb_m7_acre\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1472242,1036,1000],[1472242,1472244,"mastery_ftue_training_05","","Time to War","Complete an Art of War challenge or a campaign mission.","Any Art of War training challenge or campaign mission counts toward completing this Mastery. You can replay the same mission or challenge to get additional progress.",1,"{\"awardSource\":2,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ftue.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_basiccombat\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlyeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_earlysiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_lateeconomy\"},{\"type\":\"constant\",\"value\":\"challenge_mission_latesiege\"},{\"type\":\"constant\",\"value\":\"challenge_mission_advancedcombat\"},{\"type\":\"constant\",\"value\":\"ang_chp1_hastings\"},{\"type\":\"constant\",\"value\":\"ang_chp1_york\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bayeux\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"},{\"type\":\"constant\",\"value\":\"ang_chp2_tinchebray\"},{\"type\":\"constant\",\"value\":\"ang_chp3_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp3_wallingford\"},{\"type\":\"constant\",\"value\":\"ang_chp4_dover\"},{\"type\":\"constant\",\"value\":\"ang_chp4_lincoln\"},{\"type\":\"constant\",\"value\":\"ang_chp4_rochester\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"},{\"type\":\"constant\",\"value\":\"hun_chp2_pontvallain\"},{\"type\":\"constant\",\"value\":\"hun_chp3_orleans\"},{\"type\":\"constant\",\"value\":\"hun_chp3_patay\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"},{\"type\":\"constant\",\"value\":\"hun_chp4_rouen\"},{\"type\":\"constant\",\"value\":\"mon_chp1_juyong\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"},{\"type\":\"constant\",\"value\":\"mon_chp1_zhongdu\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"},{\"type\":\"constant\",\"value\":\"mon_chp2_mohi\"},{\"type\":\"constant\",\"value\":\"mon_chp3_lumen_shan\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1267\"},{\"type\":\"constant\",\"value\":\"mon_chp3_xiangyang_1273\"},{\"type\":\"constant\",\"value\":\"gdm_chp1_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_kulikovo\"},{\"type\":\"constant\",\"value\":\"gdm_chp2_tribute\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_moscow\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_novgorod\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_kazan\"},{\"type\":\"constant\",\"value\":\"gdm_chp4_smolensk\"},{\"type\":\"constant\",\"value\":\"challenge_mission_malian\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"},{\"type\":\"constant\",\"value\":\"abb_m1_tyre\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"},{\"type\":\"constant\",\"value\":\"abb_m4_hattin\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"},{\"type\":\"constant\",\"value\":\"abb_m6_aynjalut\"},{\"type\":\"constant\",\"value\":\"abb_m7_acre\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029664,-1,1038,1000],[1472482,1430594,"produce_cavalry","","Produce: Cavalry","Produce 30 cavalry in a match.","Produce units of this type from the Stable. Cavalry are fast-moving and effective at shutting down ranged infantry \u2013 if they can close the gap.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"train\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":129655},{\"type\":\"constant\",\"value\":129567},{\"type\":\"constant\",\"value\":129605},{\"type\":\"constant\",\"value\":2033166},{\"type\":\"constant\",\"value\":2033164},{\"type\":\"constant\",\"value\":120938},{\"type\":\"constant\",\"value\":156312},{\"type\":\"constant\",\"value\":193502},{\"type\":\"constant\",\"value\":193505},{\"type\":\"constant\",\"value\":172888},{\"type\":\"constant\",\"value\":172773},{\"type\":\"constant\",\"value\":172777},{\"type\":\"constant\",\"value\":172880},{\"type\":\"constant\",\"value\":136090},{\"type\":\"constant\",\"value\":136091}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/horseman_1.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472484,1430593,"technology_mill","","Technology: Mill","Research 3 technologies from the Mill during a match.","Technology available in the Mill makes Villagers or Scouts more effective at gathering Food.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":128049},{\"type\":\"constant\",\"value\":171292},{\"type\":\"constant\",\"value\":171293},{\"type\":\"constant\",\"value\":203467},{\"type\":\"constant\",\"value\":127933},{\"type\":\"constant\",\"value\":129091},{\"type\":\"constant\",\"value\":202557}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/gristmill.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472518,1430593,"technology_mining_camp","","Technology: Mining Camp","Research 2 technologies from the Mining Camp during a match.","Technology available in the Mining Camp make Stone or Gold gathering more effective.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":171822},{\"type\":\"constant\",\"value\":171823},{\"type\":\"constant\",\"value\":171824}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/stone_gather_1.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472520,1430593,"technology_blacksmith","","Technology: Blacksmith","Research 5 technologies from the Blacksmith during a match.","Technology available in the Blacksmith increases the effectiveness of your army.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"upgrade\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":170824},{\"type\":\"constant\",\"value\":188116},{\"type\":\"constant\",\"value\":188121},{\"type\":\"constant\",\"value\":188122},{\"type\":\"constant\",\"value\":187694},{\"type\":\"constant\",\"value\":187997},{\"type\":\"constant\",\"value\":188010},{\"type\":\"constant\",\"value\":127860},{\"type\":\"constant\",\"value\":128454},{\"type\":\"constant\",\"value\":127847},{\"type\":\"constant\",\"value\":190776},{\"type\":\"constant\",\"value\":190776},{\"type\":\"constant\",\"value\":127845},{\"type\":\"constant\",\"value\":188266},{\"type\":\"constant\",\"value\":188267},{\"type\":\"constant\",\"value\":188268},{\"type\":\"constant\",\"value\":188269},{\"type\":\"constant\",\"value\":188270},{\"type\":\"constant\",\"value\":188271},{\"type\":\"constant\",\"value\":170824},{\"type\":\"constant\",\"value\":199889},{\"type\":\"constant\",\"value\":177939},{\"type\":\"constant\",\"value\":187701},{\"type\":\"constant\",\"value\":187999},{\"type\":\"constant\",\"value\":188015},{\"type\":\"constant\",\"value\":188120},{\"type\":\"constant\",\"value\":188130},{\"type\":\"constant\",\"value\":188131},{\"type\":\"constant\",\"value\":188369},{\"type\":\"constant\",\"value\":188370},{\"type\":\"constant\",\"value\":188383},{\"type\":\"constant\",\"value\":188372},{\"type\":\"constant\",\"value\":188373},{\"type\":\"constant\",\"value\":188382},{\"type\":\"constant\",\"value\":188332},{\"type\":\"constant\",\"value\":191272},{\"type\":\"constant\",\"value\":190777},{\"type\":\"constant\",\"value\":191400},{\"type\":\"constant\",\"value\":188503},{\"type\":\"constant\",\"value\":188502}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/blacksmith.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472526,1430593,"technology_monastery","","Technology: Monastery","Research 3 technologies from the Monastery, Mosque, or Prayer Tent during a match.","Technologies available in the Monastery, Mosque, or Prayer Tent increase the effectiveness of units produced from there.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":129401},{\"type\":\"constant\",\"value\":129403},{\"type\":\"constant\",\"value\":129407},{\"type\":\"constant\",\"value\":211200},{\"type\":\"constant\",\"value\":180214},{\"type\":\"constant\",\"value\":199515},{\"type\":\"constant\",\"value\":193988},{\"type\":\"constant\",\"value\":207442},{\"type\":\"constant\",\"value\":200138},{\"type\":\"constant\",\"value\":200137},{\"type\":\"constant\",\"value\":128451},{\"type\":\"constant\",\"value\":200171},{\"type\":\"constant\",\"value\":207451},{\"type\":\"constant\",\"value\":207449}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/monastery.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472528,1430593,"technology_university","","Technology: University","Research 5 technologies from the University or Madrasa during a match.","Technology available in the University increases the effectiveness of all unit types, but is only available in the Imperial Age (IV).",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124734},{\"type\":\"constant\",\"value\":127863},{\"type\":\"constant\",\"value\":127850},{\"type\":\"constant\",\"value\":128427},{\"type\":\"constant\",\"value\":127838},{\"type\":\"constant\",\"value\":190779},{\"type\":\"constant\",\"value\":220924},{\"type\":\"constant\",\"value\":134545}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/university.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472531,1430593,"upgrade_light_cavalry","","Elite Horsemen","Fully upgrade your Horsemen to Elite Horsemen in a match.","Research all Horseman unit technologies in the Stables.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":124725},{\"type\":\"constant\",\"value\":136266},{\"type\":\"constant\",\"value\":181865}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/horseman_1.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,250],[1472535,1430591,"win_civ_abbasid","","Abbasid Victory","Win a match as the Abbasid Dynasty.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/abbasid.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472537,1430594,"produce_warship","","Produce: Warship","Produce 5 Warships in a match.","Warships are already powerful ships, but their damage can be further upgraded by researching Chemistry in the University.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":193066}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/warship.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472545,1430593,"research_explosives_demo","","Explosives Research","Produce 10 Demolition Ships and research Explosives during a match.","Produce Demolition Ships and research Explosives from the Docks.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":10}]},{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"train\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":193068}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":196883}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/demolition_ship.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472551,1430593,"accrue_gold_naval","","Naval Trade","Accrue 1,000 Gold from Trade Ships during a match.","Produce Trade Ships from the Docks. These ships can trade with other Docks to receive Gold.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":196631}]}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/trade_ship.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472553,1430593,"technology_docks","","Technology: Docks","Research 5 technologies from the Docks during a match.","Research Naval Technology from the Docks.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"upgrade\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":196879},{\"type\":\"constant\",\"value\":196925},{\"type\":\"constant\",\"value\":196905},{\"type\":\"constant\",\"value\":196876},{\"type\":\"constant\",\"value\":196882},{\"type\":\"constant\",\"value\":196881},{\"type\":\"constant\",\"value\":196883},{\"type\":\"constant\",\"value\":196904},{\"type\":\"constant\",\"value\":196903},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":2033749},{\"type\":\"constant\",\"value\":2034334},{\"type\":\"constant\",\"value\":2033826},{\"type\":\"constant\",\"value\":2033833},{\"type\":\"constant\",\"value\":2034072},{\"type\":\"constant\",\"value\":2033835},{\"type\":\"constant\",\"value\":2033747},{\"type\":\"constant\",\"value\":2033748},{\"type\":\"constant\",\"value\":2033472},{\"type\":\"constant\",\"value\":197064},{\"type\":\"constant\",\"value\":197065},{\"type\":\"constant\",\"value\":197066},{\"type\":\"constant\",\"value\":197067},{\"type\":\"constant\",\"value\":197046},{\"type\":\"constant\",\"value\":197043},{\"type\":\"constant\",\"value\":197041},{\"type\":\"constant\",\"value\":229420},{\"type\":\"constant\",\"value\":197044},{\"type\":\"constant\",\"value\":197045},{\"type\":\"constant\",\"value\":197068},{\"type\":\"constant\",\"value\":197069},{\"type\":\"constant\",\"value\":2033834},{\"type\":\"constant\",\"value\":2033746},{\"type\":\"constant\",\"value\":2033745},{\"type\":\"constant\",\"value\":2033746}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/dock.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472555,1430594,"produce_ships","","Naval Force","Produce 20 Ships during a match.","Produce units of this type from the Docks. Ships can traverse the seas to fish, fight, or transport your armies to distant shores.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":193065},{\"type\":\"constant\",\"value\":193066},{\"type\":\"constant\",\"value\":193068},{\"type\":\"constant\",\"value\":193067},{\"type\":\"constant\",\"value\":199133},{\"type\":\"constant\",\"value\":196665},{\"type\":\"constant\",\"value\":193069},{\"type\":\"constant\",\"value\":193920}]}}]}],\"counterVersion\":4,\"fePriority\":20,\"icon\":\"images/daily_quests/dock.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472557,1430593,"accrue_fish","","Fish Collector","Accrue 1,000 Food from Fishing Ships during a match.","Produce Fishing Ships from the Docks. Fishing Ships can harvest fish from the sea.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":193057}]}]}}]}],\"counterVersion\":4,\"fePriority\":40,\"icon\":\"images/daily_quests/fishing_boat.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472559,1430591,"civ_mechanic_eng","","Defend","Construct 2 Keeps during a match as the English.","English Keeps can be upgraded into formidable defensive structures. They can also trigger the Network of Castles, which increases the effectiveness of nearby ranged infantry.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"build\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":166243}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/longbow_mastery.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472561,1430591,"civ_mechanic_fre","","Charge","Produce 15 Royal Knights during a match as the French.","French Royal Knights are unique units that are available in the early ages. These heavily armored cavalry and their fearsome charges can break enemy lines with ease.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133147},{\"type\":\"constant\",\"value\":132279},{\"type\":\"constant\",\"value\":132280}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/chivalry.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472563,1430591,"civ_mechanic_hre","","Inspire","Inspire 20 Villagers during a match as the Holy Roman Empire.","Inspire Villagers with a Prelate to increase their gathering effectiveness. Many Villagers can be inspired simultaneously.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"inspire\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"inspire\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":167866}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/holy_inspiration.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472565,1430591,"civ_mechanic_rus","","Hunt","Accrue 500 bounty from hunting during a match as the Rus.","When the Rus hunt animals in the wild, they earn a bounty. Bounties grant unique bonuses across the civilization.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_bounty\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_bounty\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RusBounty\"}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/hunting_bounty.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472567,1430591,"civ_mechanic_chi","","Govern","Establish a dynasty during a match as the Chinese.","The Chinese can choose to establish a dynasty, granting unique bonuses and unlocking unique units.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"dynasty_reached\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"dynasty_reached\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":158363},{\"type\":\"constant\",\"value\":158364},{\"type\":\"constant\",\"value\":158365}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/ancient_techniques.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472569,1430591,"civ_mechanic_sul","","Military Improvements","Produce 10 military units from buildings garrisoned with Scholars in a match as the Delhi Sultanate.","Research Efficient Production to be able to garrison a Scholar in military production buildings.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_with_scholars\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"produce_with_scholars\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"scholar_production_active_sul\",\"value\":true}}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/improved_sword_steel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472571,1430591,"civ_mechanic_abb","","Enlighten","Construct a Wing from the House of Wisdom during a match as the Abbasid Dynasty.","Construct any of the four Wings from the House of Wisdom. Each Wing gives unique benefits.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_wing\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_wing\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2033115},{\"type\":\"constant\",\"value\":2033116},{\"type\":\"constant\",\"value\":2033117},{\"type\":\"constant\",\"value\":2033118},{\"type\":\"constant\",\"value\":2033119},{\"type\":\"constant\",\"value\":2033123},{\"type\":\"constant\",\"value\":2033127},{\"type\":\"constant\",\"value\":2033120},{\"type\":\"constant\",\"value\":2033124},{\"type\":\"constant\",\"value\":2033128},{\"type\":\"constant\",\"value\":2033121},{\"type\":\"constant\",\"value\":2033125},{\"type\":\"constant\",\"value\":2033129},{\"type\":\"constant\",\"value\":2033122},{\"type\":\"constant\",\"value\":2033126},{\"type\":\"constant\",\"value\":2033130}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/preservation_of_knowledge.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472573,1430591,"civ_mechanic_mon","","Strategize","Use a Signal Arrow ability during a match as the Mongols.","The Khan has the ability to use Signal Arrows to affect nearby allied units. The correct Signal Arrow at just the right moment can turn the tides of battle in the Mongols' favor.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"signal_arrow\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"signal_arrow\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":168622},{\"type\":\"constant\",\"value\":168628},{\"type\":\"constant\",\"value\":168567}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/signal_arrow_duration.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1472697,1464934,"a020_cpg_mon","","Boom Boom Pao","Don't lose any Huihui Pao during the Fall of Xiangyang.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"huihuipao_survives\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"huihuipao_survives\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"huihuipao_survives\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievHuiHuiPaoSurvives\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2030000,-1,-1,0],[1472702,1464934,"a055_civ_english","","Dread Fort","Kill 100 enemies with Keeps as the English.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"keep_kills\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"keep_kills\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"keep_kills\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"keep_kills\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":166243},{\"type\":\"constant\",\"value\":166272},{\"type\":\"constant\",\"value\":166270}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"keep_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"keep_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_055\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029895,-1,-1,0],[1472704,1464934,"a056_civ_english","","Pass the Marshmallows","Use the Setup Camp ability 20 times as the English.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"set_up_camp_used\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"set_up_camp_used\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"set_up_camp_used\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"set_up_camp_used\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2133269}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"set_up_camp_used\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"set_up_camp_used\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_056\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",1256528,-1,-1,0],[1472706,1464934,"a057_civ_english","","We Charge Extra for That","Shutdown a Cavalry Charge with Palings as the English.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"shutdown_charge\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"shutdown_charge\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"shutdown_charge\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"PalingDamage\"}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"shutdown_charge\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"shutdown_charge\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029896,-1,-1,0],[1473076,1430592,"win_victory_sacred","","Victory: Sacred","Achieve a Sacred Victory.","Capture and hold Sacred Sites on the map to achieve a Sacred Victory.",1,"{\"awardSource\":3,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}}]}],\"counterVersion\":4,\"fePriority\":80,\"icon\":\"images/daily_quests/victory_condition_religious.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1473254,1464934,"a085_gameplay_moment","","All Creek, No Paddle","Sink an enemy Transport Ship that is garrisoned to maximum capacity.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"transport_max_garrison_killed\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"transport_max_garrison_killed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"transport_max_garrison_killed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievFullTransportDeath\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2031488,-1,-1,0],[1473518,1464934,"a019_cpg_mon","","Forgot a Batu","Kill double the enemies as Batu when assaulting the bridge in the Battle of Mohi.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"subutai_more_kills\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"subutai_more_kills\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"subutai_more_kills\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievSubutaiBeatsBatu\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2031664,-1,-1,0],[1473523,1464934,"a017_cpg_mon","","Twinkle Hooves","Don't lose any Mangudai during the Battle of the Kalka River.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"horse_archers_survive\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"horse_archers_survive\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"horse_archers_survive\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievHorseArchersSurvive\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2031673,-1,-1,0],[1474250,1464934,"a018_cpg_mon","","Yeah, Well, You Should See the Other Guy","Lose a unit to the Front Gate of Zhangjiakou during the Great Wall mission.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"died_to_gate\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"died_to_gate\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"died_to_gate\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievDiedToZhangjiakouGate\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2032859,-1,-1,0],[1474252,1464934,"a010_cpg_norman","","Chivalry","Enlist the aid of 45 Knights during the Battle of Tinchebray.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"purchase_knights\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"purchase_knights\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievPurchaseKnightsTinchebray\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2032865,-1,-1,0],[1474260,1464934,"a011_cpg_norman","","Siegebreaker","Defeat the siege before the Keep takes damage during the First Battle of Lincoln.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_siege_early\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"defeat_siege_early\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievDefeatSiegeOfLincolnEarly\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2032935,-1,-1,0],[1474264,1464934,"a044_aow_medal","","Precious Medals","Earn a medal in 3 Art of War challenges.",null,3,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"stat_044\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"art_of_war_bronze_medals\",\"art_of_war_silver_medals\",\"art_of_war_gold_medals\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2032943,-1,-1,0],[1474274,1464934,"a045_aow_medal","","Challenge Taker","Earn your first gold medal in an Art of War challenge.",null,1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"art_of_war_gold_medals\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033021,-1,-1,0],[1474276,1464934,"a046_aow_medal","","Record Breaker","Earn a gold medal in 5 Art of War challenges.",null,5,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"stat_046\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"art_of_war_gold_medals\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033024,-1,-1,0],[1474278,1464934,"a088_misc_feature","","Accurate Likeness","Equip your first portrait.",null,1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"edit_profile_image\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033025,-1,-1,0],[1474280,1464934,"a089_misc_feature","","To Remind, To Advise, To Warn","Equip your first monument.",null,1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"edit_monument\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033026,-1,-1,0],[1474282,1464934,"a090_misc_feature","","A Heraldic Achievement","Customize your coat of arms.",null,1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"edit_coat_of_arms\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033027,-1,-1,0],[1474284,1464934,"a036_misc_feature","","Recorded History","View a replay.",null,1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\"},\"tags\":[\"view_replay\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033028,-1,-1,0],[1474286,1464934,"a012_cpg_norman","","Quit Touching Me!","Stop any of the city's walls being destroyed during the Siege of Wallingford.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"walls_not_destroyed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"walls_not_destroyed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievProtectWallsWallingford\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033030,-1,-1,0],[1474307,1464934,"a021_cpg_rus","","Keep the Change","Pay off the Mongols within 3 minutes during the Tribute mission.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"pay_tribute_early\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"pay_tribute_early\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"pay_tribute_early\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievPayMongolTributeEarly\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033329,-1,-1,0],[1474309,1464934,"a022_cpg_rus","","Get Off My Bailey!","Stop the Mongols from entering the outer city during Hold Against the Horde.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"stop_mongol_enter_city\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"stop_mongol_enter_city\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"stop_mongol_enter_city\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievStopMongolEnterCity\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033330,-1,-1,0],[1474311,1464934,"a023_cpg_rus","","Ancient Tower Defense","Kill 50 enemies with Wooden Fortresses during the Great Stand on the Ugra River.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"destroy_with_outposts\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroy_with_outposts\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"destroy_with_outposts\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievOutpostKillsUgra\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033331,-1,-1,0],[1474313,1464934,"a024_cpg_rus","","Classic Conquest","Destroy all enemy units and production buildings during the Siege of Kazan.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"destroy_all_units_and_buildings\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroy_all_units_and_buildings\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"destroy_all_units_and_buildings\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievDestroyAllSiegeOfKazan\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033332,-1,-1,0],[1474546,1464934,"a013_cpg_hundred","","Du Bois Are Back in Town","Win in the arena without losing more than 10 units during the Combat of the Thirty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"no_deaths_in_arena\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"no_deaths_in_arena\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"no_deaths_in_arena\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievNoDeathsInCombat30Arena\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033337,-1,-1,0],[1474586,1464934,"a014_cpg_hundred","","Fill the Coffers","Collect every treasure chest during the Battle of Patay.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"loot_all_chests\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"loot_all_chests\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"loot_all_chests\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievAllGoldChestsPatay\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033383,-1,-1,0],[1474590,1464934,"a015_cpg_hundred","","Battle Royal","Field a Royal siege unit with all the brothers' bonuses during Retake Normandy.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"upgrade_cannons\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade_cannons\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade_cannons\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievUpgradeCannonsNormandy\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033432,-1,-1,0],[1474593,1464934,"a016_cpg_hundred","","Careful Cannons","Win the Battle of Formigny without losing any cannons.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"all_cannons_survive\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"all_cannons_survive\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"all_cannons_survive\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievAllCannonsSurviveFormigny\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033465,-1,-1,0],[1474609,1464934,"a001_mission_zero","","Empires Will Rise","Construct your first Landmark.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"construct_first_landmark\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_first_landmark\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_first_landmark\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":127385},{\"type\":\"constant\",\"value\":127284},{\"type\":\"constant\",\"value\":127285}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"construct_first_landmark\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"construct_first_landmark\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033485,-1,-1,0],[1474613,1464934,"a002_mission_zero","","Kingdoms Will Fall","Defeat 20 enemy units.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"defeat_enemy_units\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"defeat_enemy_units\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_enemy_units\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"defeat_enemy_units\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"none\"}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"defeat_enemy_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"defeat_enemy_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033486,-1,-1,0],[1474615,1464934,"a003_mission_zero","","A New Age Is Upon Us","Complete the Introductory Tutorial.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp0_intro\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"sal_chp3_brokenpromise\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2033487,-1,-1,0],[1513877,1513876,"event_aow_completeadvcomb","","Yours Truly","Complete the Advanced Combat Art of War challenge",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_advancedcombat\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1068,1000],[1513879,1513876,"event_mod_compwithmod_skmp","","Honey, I Shrunk the Trees","Complete a Skirmish or Custom match with a mod active","Subscribe to a mod from the Mods tab, then create a Skirmish or Custom lobby to play it! You can also join a Custom match where a host has selected mods.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"num_mods\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"num_mods\",\"trackingEvent\":\"ModCount\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"none\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]},{\"op\":\"gt\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1069,1000],[1516200,1513876,"event_civ_unlockyuanmingdyn_chi","","Sovereignty","Unlock the Yuan and/or Ming Dynasties as the Chinese","Establishing a Dynasty in a match is a powerful way to specialize your army's strength. You can do so by building both Landmarks for the same Age.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"establish_dynasties\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"establish_dynasties\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"establish_dynasties\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":158364},{\"type\":\"constant\",\"value\":158365}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1070,1000],[1516202,1513876,"event_combat30_complete","","Chivalry is Dead","Play through The Combat of the Thirty mission in The Hundred Years War campaign","Completing the North to York mission in The Normans campaign will unlock The Combat of the Thirty.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp1_combat30\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1071,1000],[1516404,1516401,"event_misc_watchreplay","","Scouting for Intel","Watch a Replay from your or another player\u2019s Profile","You can view a player's replay from the Match History screen on their Profile as long as they have chosen to share it.",1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[\"view_replay\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1073,1000],[1516406,1516401,"event_misc_prod200units_skmp","","Population Boom","Produce 200 or more units in a Skirmish or Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"train\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train\"},{\"type\":\"constant\",\"value\":200}]}},\"enabled\":true,\"name\":\"train\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1074,1000],[1516408,1516401,"event_civ_buildregnitz_deporelic_hre","","For the Empire!","Build the Regnitz Cathedral and place a Relic in an eligible building as the Holy Roman Empire.","You can place a Relic in any Monastery, Dock, Outpost, Stone Wall Tower, and Keep to complete this challenge, but placing a Relic in defenses or a Dock offers extra bonuses in addition to Gold.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"build_regnitz\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_regnitz\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_regnitz\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"build_regnitz\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":134917}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"relic_gathered\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"relic_gathered\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"relic_gathered\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RelicGather\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1075,1000],[1516410,1516401,"event_mod_killking_royalrumble","","This Seems Familiar","Kill a King while playing the Royal Rumble game mode mod","Subscribe to the Royal Rumble mod from the Mods tab and create a Skirmish or Custom match to play it! You can also join a Custom match where the host has selected Royal Rumble.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_enemy_king\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"defeat_enemy_king\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":183804}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1076,1000],[1516459,1531245,"event_win_1v1_anydiff_skmp","","Bullseye!","Win a 1v1 Custom or Skirmish match against any difficulty A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaieasy\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaimedium\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1081,1000],[1516466,1531245,"event_res_10upg_skmp","","Quest for Knowledge","Research 10 upgrades in a Skirmish or Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":134809},{\"type\":\"constant\",\"value\":128105},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":2033399},{\"type\":\"constant\",\"value\":2033316},{\"type\":\"constant\",\"value\":2033400},{\"type\":\"constant\",\"value\":129874},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":172290},{\"type\":\"constant\",\"value\":412759},{\"type\":\"constant\",\"value\":390786}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"subtract_abbasid_age_up\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"upgrade\",\"amount\":1,\"type\":\"change_named_counter\"},{\"op\":\"Increment\",\"name\":\"abb_age_tracking\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2033115},{\"type\":\"constant\",\"value\":2033116},{\"type\":\"constant\",\"value\":2033117},{\"type\":\"constant\",\"value\":2033118}]}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"upgrade\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gt\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"abb_age_tracking\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"abb_age_tracking\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1082,1000],[1516468,1531245,"event_civ_build3ramswithinf_befcastle_abb","","I'm In Your Base","Build 3 Rams using only infantry before reaching the Castle Age as the Abbasid Dynasty","Abbasid infantry units are able to construct Rams in the field, provided you have enough resources.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"produce_siege_with_melee\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_siege_with_melee\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"produce_siege_with_melee\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"infantry\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":124535}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"produce_siege_with_melee\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1083,1000],[1516470,1516461,"event_paris_def10unitswithspringald","","Spring In Your Step","Defeat 10 enemy units with Springalds during The Siege of Paris mission in The Hundred Years War campaign","Completing the The Combat of the Thirty mission in The Hundred Years War campaign will unlock The Siege of Paris.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_units\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"kill_units\",\"trackingEvent\":\"SquadKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":194228}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1084,1000],[1517319,1517318,"event_aow_earnmedal","","Up You Go!","Earn a Bronze, Silver, or Gold medal in any Art of War challenge",null,1,"{\"awardSource\":1,\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[\"art_of_war_bronze_medals\",\"art_of_war_silver_medals\",\"art_of_war_gold_medals\"],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1086,1000],[1517322,1517318,"event_misc_constwonder_skmp","","Wonderful","Construct a Wonder in a Skirmish or Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"constructWonder\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"constructWonder\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":127286}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1087,1000],[1517337,1531245,"event_civ_destrstonewallwithwareleph_sul","","No One Can Stop Me","Destroy a Stone Wall with War Elephants as the Delhi Sultanate",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killer_elephant\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"killer_elephant\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"stone_wall\"},{\"type\":\"constant\",\"value\":\"stone_gate\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"war_elephant\"},{\"type\":\"constant\",\"value\":\"elephant_archer\"},{\"type\":\"constant\",\"value\":\"elephant_spearman\"},{\"type\":\"constant\",\"value\":\"elephant_handcannon\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1088,1000],[1517343,1517318,"event_kalka_winlosenot25","","Keeping Them Alive","Complete the Kalka River mission without losing 25 units",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"completemission\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"lostunits\"},{\"type\":\"constant\",\"value\":25}]}},\"enabled\":true,\"name\":\"lostunits\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"completemission\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp1_kalka_river\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1089,1000],[1519792,1531245,"event_naval_def10villwithdemo_skmp","","Titan of the Tides","Defeat 10 enemy Villagers with Demolition Ships in a Skirmish or Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"villagers_killed\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villagers_killed\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"villagers_killed\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"villager\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1121,1000],[1519794,1519802,"event_ugra_completegreatstand","","That's A Moray!","Complete the Great Stand on the Ugra River mission",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"gdm_chp3_ugra\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1122,1000],[1519798,1519802,"event_aow_build3tc_lateecon","","Ahead of Yourself","Build 3 additional Town Centers in the Late Economy Art of War mission",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"build\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120899}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_lateeconomy\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1124,1000],[1519800,1519802,"event_naval_winallgoldtradeship","","Risk Taker, Money Maker","Win a match where all Gold earned from trading comes from Trade Ships",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":200}]}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gold_from_land\"},{\"type\":\"constant\",\"value\":1}]}]}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":196631}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"accrue_resources\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"gold_from_land\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gold_from_land\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"gold_from_land\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":127972}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1125,1000],[1519836,1519835,"event_defeat_10unitswithoutposts","","Protection from the Sky","Kill 10 units with Outposts",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroynavaloutpost\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"destroynavaloutpost\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120897}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1106,1000],[1519906,1531245,"event_naval_defeatdockwithwarship","","Destruction of Production","Destroy an enemy Dock with a Warship",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"building_destroyed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"building_destroyed\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"naval_production_building\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"naval_warship\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1116,1000],[1519908,1519916,"event_mohi_complunder15min_interdiff","","A Mohi Minute","Complete The Battle of Mohi campaign mission on Intermediate difficulty in under 15 minutes","Your fastest elapsed time for each mission can be viewed on the Campaign tab. Note that the Show Game Duration option in Settings displays your total time, including cinematics.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"mission_completed_in_time\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"mission_completed_in_time\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MissionCompletedInTime\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1117,1000],[1519910,1519916,"event_mod_matchmodx3","","Tinkerer","Play a match with a modded Game Mode on a modded Crafted or Generated Map using a Tuning Pack","Subscribe to a mod from the Mods tab, then create a Skirmish or Custom lobby to play it! You can also join a Custom match where a host has selected mods.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"num_mods\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"num_mods\",\"trackingEvent\":\"ModCount\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1118,1000],[1519912,1531245,"event_win_sacredvic1v1_hardestai","","Robot Religion","Achieve a Sacred Victory in a 1v1 match against the Hardest A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"ai_total\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"human_count\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"player_total\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"match_type\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ai_total\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"human_count\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"player_total\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"match_type\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1119,1000],[1519914,1519916,"event_aow_goldnolossbuilding_bascomb","","Rock, Paper, Torch","Earn a Gold medal without losing a building in the Basic Combat Art of War mission",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gold_medal_no_lost_buildings\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"gold_medal_no_lost_buildings\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"EventChallengeCompleted\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_basiccombat\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1120,1000],[1519939,1531245,"event_res_additionsailsupg_mp","","Get Your Sails On","Research the Additional Sails upgrade in a Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_addsails\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_addsails\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":196905}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1107,1000],[1519941,1531245,"event_defeat_buildingindarkage_skmp","","Special Orders","Destroy an enemy building in the Dark Age during a Multiplayer or Skirmish match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroybuilding_dark\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"destroybuilding_dark\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"not_in_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"destroybuilding_dark\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"not_in_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1108,1000],[1519957,1519835,"event_chaos_lootroutiers","","Loot 'Em","Loot the Routiers' camp during the France in Chaos mission",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"loot_routierscamp\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"loot_routierscamp\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"RoutiersLooted\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp2_cocherel\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1109,1000],[1519959,1531245,"event_res_throughallage_mp","","Aging Up","Progress through every Age in a Multiplayer match","Each time you Age up, your civilization's language evolves with it",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"toageiv\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"toageiv\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1110,1000],[1519971,1519834,"event_formigny_completeonharddiff","","To the North!","Conquer the North by playing through the Formigny mission on Hard difficulty",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"formignyhard\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"formignyhard\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"FormignyVictoryHard\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp4_formigny\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1111,1000],[1519973,1531245,"event_defeat_2scouts_mp","","Kill the Messengers","Kill 2 Scout units in a Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killscouts\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"killscouts\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"scout\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1112,1000],[1519981,1531245,"event_misc_garrison10villtc","","Get to Safety","Garrison 10 Villagers in your Town Center",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"garrison_tc\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"garrison_tc\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievGarrison10VillTC\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1113,1000],[1519987,1531245,"event_naval_prod5warship_mp","","Making It Big","Produce 5 Warships in a Multiplayer match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killwithorca\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"killwithorca\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"naval_warship\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1115,1000],[1519989,1531245,"event_civ_1v2_sk_mon","","All By Myself","Win a 1v2 Skirmish as the Mongols, facing two Easy A.I. opponents.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winmongols\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winmongols\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaieasy\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaimedium\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":3}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1114,1000],[1520550,1520552,"mastery_malian_01","","Commune of Wealth","Generate 1,000 Gold resources from an Open Pit Gold Mine with 4 Houses within its influence","Constructing an Open Pit Mine over a Gold Deposit passively generates Gold. Constructing Houses within influence of the Open Pit Mine, however, further strengthens this bonus.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"goldproducedfromOpenPit\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"goldproducedfromOpenPit\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MalHouseInfluencedOpenPit\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1520554,1138,1000],[1520554,1520552,"mastery_malian_02","","Tip of the Spear","Kill 20 Horsemen with Donso.","Donso have better defensive capabilities than other Spearmen thanks to their shield, and are able to deal damage at range with their javelin throw.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"killhorsemanwithdonso\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killhorsemanwithdonso\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"killhorsemanwithdonso\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":129553},{\"type\":\"constant\",\"value\":120903},{\"type\":\"constant\",\"value\":127409},{\"type\":\"constant\",\"value\":127410}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2312560},{\"type\":\"constant\",\"value\":2523437},{\"type\":\"constant\",\"value\":2753585},{\"type\":\"constant\",\"value\":2380219}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520556,1139,1000],[1520556,1520552,"mastery_malian_03","","Malian Novice","Win a game as the Malians.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520558,1148,1000],[1520558,1520552,"mastery_malian_04","","Grazing Herds","Generate 3,000 Food from Cattle Ranches.","Use the Mill to produce Cattle. Cattle will generate Food over time when assigned to the Ranch building.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"foodfromranch\"},{\"type\":\"constant\",\"value\":3000}]}},\"enabled\":true,\"name\":\"foodfromranch\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MalRanchFoodProduction\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520560,1149,1000],[1520560,1520552,"mastery_malian_05","","Barrage","Defeat 20 ranged units with Javelin Throwers or Mansa Javelineers.","Javelin Throwers have more range than most other ranged units - making them a great counter. However, they aren't very fast-moving and are susceptible to cavalry.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killfromjavelin\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"killfromjavelin\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2062115},{\"type\":\"constant\",\"value\":2062101},{\"type\":\"constant\",\"value\":2062102},{\"type\":\"constant\",\"value\":9000326},{\"type\":\"constant\",\"value\":9000327},{\"type\":\"constant\",\"value\":9000328}]},{\"op\":\"in\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"ranged\"},{\"type\":\"constant\",\"value\":\"cavalry_tower_elephant\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520576,1140,1000],[1520562,1520552,"mastery_malian_12","","Pick Your Poison","Defeat 20 enemies with Poisoned Arrows.","Malian ranged infantry can be upgraded with Poisoned Arrows, which applies damage over time to enemies.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedbypoison\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"killedbypoison\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2382624},{\"type\":\"constant\",\"value\":2704061},{\"type\":\"constant\",\"value\":2472749}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"killedbypoison\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"poisonarrowupgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"poisonarrowupgraded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"poisonarrowupgraded\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2064213}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520564,1145,1000],[1520564,1520552,"mastery_malian_13","","Underbrush","Construct the Fort of the Huntress and kill 40 units with Musofadi Gunners.","Musofadi Gunners excel at hit-and-run tactics - and their ambush damage when attacking from a stealth forest can be the start of a favorable fight. First-strike ambush bonus provides will be applied to stats.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedbystealthgunner\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":false,\"name\":\"killedbystealthgunner\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2981612}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"killedbystealthgunner\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"buildcastleage4\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"buildcastleage4\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"buildcastleage4\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2063110}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520566,1146,1000],[1520566,1520552,"mastery_malian_14","","All-Nighter","Throw all three Festivals with the Griot Bara in Age IV.","The Griot Bara Landmark can establish Festivals that the entire Malian civilization benefits from. Each Festival has its own unique effects.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"FestivalDone\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"foodfestival\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"foodfestival\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"foodfestival\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2062644}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"FestivalDone\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"festivalmilitary\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"festivalmilitary\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"festivalmilitary\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2062645}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"FestivalDone\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"siegefestival\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"siegefestival\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"siegefestival\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2062641}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"FestivalDone\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"FestivalDone\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520568,1147,1000],[1520568,1520552,"mastery_malian_15","","Malian Master","Win 10 games as the Malians.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101988,-1,1092,1000],[1520570,1520552,"mastery_malian_09","","All That Glitters","Produce 20 Freeborn Warrior and 20 Mansa Musofadi Warrior units from the Farimba Garrison.","The Farimba Garrison unlocks one of three unique units in the Castle Age. A second of the three units can be unlocked in the Imperial Age.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"produce_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"farimbaspawn_spearman\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"farimbaspawn_spearman\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":2062447}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":9000332},{\"type\":\"constant\",\"value\":9000333}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_counter\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"produce_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[{\"op\":\"Increment\",\"name\":\"produce_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"farimbaspawn_musofadi\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"farimbaspawn_musofadi\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":2062447}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":9000329},{\"type\":\"constant\",\"value\":9000329},{\"type\":\"constant\",\"value\":9000329}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520578,1143,1000],[1520572,1520552,"mastery_malian_08","","Toll Road","Gather 500 Gold from Traders passing by Toll Outposts.","Malian Outposts act as a Toll Outpost, which gathers Gold from nearby Traders while they are on route gathering Gold.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"goldfrom_tolloutpost\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"goldfrom_tolloutpost\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MalTollOutpostGoldTracking\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520570,1142,1000],[1520574,1520552,"mastery_malian_07","","Malian Apprentice","Win 2 games as the Malians.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520572,1095,1000],[1520576,1520552,"mastery_malian_06","","Healing Around","Research the Local Knowledge technology and when revealed from stealth heal 500 total health on your Musofadi units.","Musofadi units can be upgraded with the Local Knowledge technology.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"upgraded_localknowledge\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"healmusofadi_instealth\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgraded_localknowledge\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgraded_localknowledge\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2064215}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"healmusofadi_instealth\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":false,\"name\":\"healmusofadi_instealth\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MalMusofadiHealTracking\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520574,1141,1000],[1520578,1520552,"mastery_malian_10","","Haywire","Upgrade Sofa Horsemen with the Imported Armor upgrade and kill 50 units.","While the Malians do not have access to Knights - Sofa Horsemen can be upgraded to cover that role in later ages.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"sofakillwitharmor\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"updateto_importedarmor\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"updateto_importedarmor\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"updateto_importedarmor\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2064205}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"sofakillwitharmor\"},{\"type\":\"constant\",\"value\":50}]}},\"enabled\":false,\"name\":\"sofakillwitharmor\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2247099},{\"type\":\"constant\",\"value\":2898644},{\"type\":\"constant\",\"value\":2154487}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520580,1144,1000],[1520580,1520552,"mastery_malian_11","","Malian Adept","Win 5 games as the Malians.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1520562,1091,1000],[1521701,1486045,"mastery_ottoman_01","","Trade & Bustle","Construct a Sultanhani Trade Network and garrison Traders within it to maximum capacity.","The Ottomans can garrison Traders within their Sultanhani Trade Network Landmark to produce Gold. The Ottomans take time to reach their stride, so an early economic advantage is crucial.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"garrison_traders\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"garrison_traders\"},{\"type\":\"constant\",\"value\":6}]}},\"enabled\":true,\"name\":\"garrison_traders\",\"trackingEvent\":\"Garrison\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"GarrisonBuilding\"},{\"type\":\"constant\",\"value\":2055467}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1521703,1152,1000],[1521703,1486045,"mastery_ottoman_02","","Eat, Drink, & Be Berry","Construct a Twin Minaret Medrese and harvest 2,000 Food.","Cultivation of the surrounding lands was a staple of Ottoman supremacy. An additional Food source can make the difference in military production as you reach Age II.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_medrese\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"gather_food\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_medrese\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_medrese\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2055468}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"gather_food\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gather_food\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":false,\"name\":\"gather_food\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521705,1153,1000],[1521705,1486045,"mastery_ottoman_03","","Ottoman Novice","Win a game as the Ottomans.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521707,1154,1000],[1521707,1486045,"mastery_ottoman_04","","By Wing and Hoof","Defeat 10 ranged enemies with Sipahis affected by Fortitude.","Sipahis were renowned for their agility and maneuverability. This especially works in their favor when flanking enemy ranged units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_with_sipahi_buff\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_with_sipahi_buff\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"kill_with_sipahi_buff\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"sipahi_has_stamina_bonus\",\"value\":true}}]},{\"op\":\"in\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"ranged\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2104668}]}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521709,1155,1000],[1521709,1486045,"mastery_ottoman_05","","Grand Council","Research 5 Imperial Council bonuses before reaching Age IV.","You can gain experience towards Viziers, which allows you to research unique upgrades with the Imperial Council. Not all bonuses can be achieved in a single game, so you will need to prioritize accordingly.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"council_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"council_upgrades\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"council_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":9000566},{\"type\":\"constant\",\"value\":2059828},{\"type\":\"constant\",\"value\":2063087},{\"type\":\"constant\",\"value\":2059346},{\"type\":\"constant\",\"value\":2059331},{\"type\":\"constant\",\"value\":2059527},{\"type\":\"constant\",\"value\":2059627},{\"type\":\"constant\",\"value\":2059610},{\"type\":\"constant\",\"value\":2073116},{\"type\":\"constant\",\"value\":9000512},{\"type\":\"constant\",\"value\":9000336},{\"type\":\"constant\",\"value\":9000513}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"council_upgrades\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_IV\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_IV\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_IV\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521720,1156,1000],[1521720,1486045,"mastery_ottoman_06","","Bards of Battle","Have 10 Mehters playing their war drums simultaneously.","Mehters can apply unique bonuses. Choosing the right bonus at the right time can be the difference between victory and defeat.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"mehter_buffs_activated\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"mehter_buffs_deactivated\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"mehter_buffs_activated\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"mehter_buffs_activated\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2074302},{\"type\":\"constant\",\"value\":2074304},{\"type\":\"constant\",\"value\":2074303}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mehter_buffs_deactivated\",\"trackingEvent\":\"AbilityComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"mehter_buffs_activated\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2074302},{\"type\":\"constant\",\"value\":2074304},{\"type\":\"constant\",\"value\":2074303}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521722,1157,1000],[1521722,1486045,"mastery_ottoman_07","","Ottoman Apprentice","Win 2 games as the Ottomans.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521724,1158,1000],[1521724,1486045,"mastery_ottoman_08","","Military Training","Construct at least 3 Military Schools and produce 100 units from them.","The Military School can produce units passively, allowing you to focus your economy more freely.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"military_school_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"military_school_units\"},{\"type\":\"constant\",\"value\":100}]},{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_military_schools\"},{\"type\":\"constant\",\"value\":3}]}]}},\"enabled\":true,\"name\":\"military_school_units\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":2058834}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"construct_military_schools\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_military_schools\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"construct_military_schools\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2058834}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521726,1159,1000],[1521726,1486045,"mastery_ottoman_09","","Bullet Hail","Repair 5 siege units with Janissaries.","Janissaries are adept at picking off enemy cavalry, but their ability to repair siege units in the field should not be discounted.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"repair_with_janissary\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"repair_with_janissary\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"repair_with_janissary\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2059266},{\"type\":\"constant\",\"value\":2034633}]},{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":202469}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521732,1160,1000],[1521732,1486045,"mastery_ottoman_10","","Swift Winds","Research the Imperial Fleet upgrade, then construct 10 Cannon Ships.","The Imperial Fleet upgrade, researched in the Docks, reduces the train time and improves the move speed of cannon ships.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"ships_alive\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ships_alive\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":false,\"name\":\"ships_alive\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2057467},{\"type\":\"constant\",\"value\":2034645}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"ships_alive\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"ships_upgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ships_upgraded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"ships_upgraded\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2101765}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521736,1161,1000],[1521736,1486045,"mastery_ottoman_11","","Ottoman Adept","Win 5 games as the Ottomans.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521738,1162,1000],[1521738,1486045,"mastery_ottoman_12","","On the Move","Construct the Sea Gate Castle Landmark and have 5 Keeps providing Trade Protection.","All Ottoman Castles provide this bonus to Traders and Trade Ships, and the Sea Gate Castle Landmark is no exception.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"trade_protection\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"trade_protection\"},{\"type\":\"constant\",\"value\":6}]}},\"enabled\":true,\"name\":\"trade_protection\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2062057}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"destroyedKeep\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"landmark_built\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"landmark_built\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"landmark_built\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2055472}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"destroyedKeep\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"name\":\"trade_protection\",\"amount\":-1,\"type\":\"change_named_counter\"},{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2034590}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521741,1163,1000],[1521741,1486045,"mastery_ottoman_13","","School of Thought","Construct the Istanbul Observatory then produce 100 units.","Universities provide an increase to unit production speed for nearby military production buildings. This Landmark, however, further increases that bonus.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"produce_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"construct_landmark\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_landmark\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"construct_landmark\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2055471}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"produce_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produce_units\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":false,\"name\":\"produce_units\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"none\"}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521743,1164,1000],[1521743,1486045,"mastery_ottoman_14","","Bombastic","Destroy 3 enemy Keeps with the Great Bombard.","The Great Bombard has unparalleled damage at a far range. However, it is revealed to enemies when it prepares to fire. Be on the lookout and protect your Great Bombards from counterattack.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"destroy_with_bombard\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroy_with_bombard\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"destroy_with_bombard\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2058831}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120888}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1521745,1165,1000],[1521745,1486045,"mastery_ottoman_15","","Ottoman Master","Win 10 games as the Ottomans.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102076,-1,1166,1000],[1525081,1464934,"a091_civ_ottoman","","Ottoman Expansion","Win a match as the Ottomans.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winottoman\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winottoman\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101940,-1,-1,0],[1525083,1464934,"a092_civ_ottoman","","Transcontinental Empire","Win 20 matches as the Ottomans.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"winottoman20\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"winottoman20\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winottoman20\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winottoman20\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_099\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101976,-1,-1,0],[1525085,1464934,"a093_civ_ottoman","","Regimented Training","Have 5 Military Schools active at the same time as the Ottomans.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"buildingmilitaryschool\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"metacounter_school\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2058834}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"buildingmilitaryschool\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"destroyedmilitaryschools\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"destroyedmilitaryschools02\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"metacounter_school\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"metacounter_school\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"destroyedmilitaryschools02\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"metacounter_school\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2058834}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102071,-1,-1,0],[1525087,1464934,"a101_civ_malian","","Tax Collector","Generate tax from 5 Toll Outposts on a single trip as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"tradergottaxed\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"tradergottaxed\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MalTraderMaxedTaxed\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102074,-1,-1,0],[1525091,1464934,"a109_civ_ottoman","","The Ottoman Arts","Earn a gold medal in the Ottoman Art of War challenge.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ottomangoldart\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"ottomangoldart\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"OttomansArtGold\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101977,-1,-1,0],[1525093,1464934,"a105_civ_malian","","Aerial Poisoned Attacks","Defeat 500 units with Poisoned Arrow as the Malians.",null,500,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"killedbypoison\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"killedbypoison\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedbypoison\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"killedbypoison\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2382624},{\"type\":\"constant\",\"value\":2704061},{\"type\":\"constant\",\"value\":2472749}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"killedbypoison\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"poisonarrowupgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"poisonarrowupgraded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"poisonarrowupgraded\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2064213}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_112\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101992,-1,-1,0],[1525095,1464934,"a098_civ_ottoman","","Trojan Horses","Garrison units into 3 Trebuchets as the Ottomans.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"garrisontrebott\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"garrisontrebott\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievUnitInsideTrebuOtt\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101984,-1,-1,0],[1525097,1464934,"a095_civ_ottoman","","A Wonderful Cannon","Destroy a Wonder with a Great Bombard as the Ottomans.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"bombardkiller\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"bombardkiller\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"bombardkiller\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":127286}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2058831}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102072,-1,-1,0],[1525103,1464934,"a110_civ_malian","","The Malian Arts","Earn a gold medal in the Malian Art of War challenge.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"maliangoldart\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"maliangoldart\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MaliansArtGold\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_malian\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102077,-1,-1,0],[1525105,1464934,"a100_civ_malian","","Trans-Saharan Empire","Win 20 matches as the Malians.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"win20malians\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"win20malians\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win20malians\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win20malians\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_107\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101989,-1,-1,0],[1525107,1464934,"a097_civ_ottoman","","Hell of a Beat","Defeat 500 enemies with units affected by Mehteran as the Ottomans.",null,500,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"mehteranboss\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"mehteranboss\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"mehteranboss\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"mehteranboss\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelint\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_int_property\":\"active_ott_aura_type\",\"value\":0}}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_104\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101990,-1,-1,0],[1525109,1464934,"a104_civ_malian","","All Mine","Gather Gold 1,000 times from Open Pit Mines as the Malians.",null,1000,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"goldproducedfromOpenPit\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"goldproducedfromOpenPit\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"goldproducedfromOpenPit\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"goldproducedfromOpenPit\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2076058},{\"type\":\"constant\",\"value\":2067413}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_111\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101993,-1,-1,0],[1525111,1464934,"a103_civ_malian","","Just a Prick","Defeat a Heavy Cavalry unit with a Poisoned Arrow as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedbypoison\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"killedbypoison\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2382624},{\"type\":\"constant\",\"value\":2704061},{\"type\":\"constant\",\"value\":2472749}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":129601},{\"type\":\"constant\",\"value\":120905},{\"type\":\"constant\",\"value\":127155},{\"type\":\"constant\",\"value\":136092},{\"type\":\"constant\",\"value\":136551}]}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"killedbypoison\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"poisonarrowupgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"poisonarrowupgraded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"poisonarrowupgraded\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2064213}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102075,-1,-1,0],[1525201,1464934,"a094_civ_ottoman","","Mobile Strikes","Defeat 100 ranged units with a Sipahi unit as the Ottomans.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"sipahikiller\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"sipahikiller\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"sipahikiller\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"sipahikiller\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120902},{\"type\":\"constant\",\"value\":124966},{\"type\":\"constant\",\"value\":124967},{\"type\":\"constant\",\"value\":202622},{\"type\":\"constant\",\"value\":202623},{\"type\":\"constant\",\"value\":202624},{\"type\":\"constant\",\"value\":120904},{\"type\":\"constant\",\"value\":127147},{\"type\":\"constant\",\"value\":129627},{\"type\":\"constant\",\"value\":127726},{\"type\":\"constant\",\"value\":129652},{\"type\":\"constant\",\"value\":129653},{\"type\":\"constant\",\"value\":129654},{\"type\":\"constant\",\"value\":136885},{\"type\":\"constant\",\"value\":2062106},{\"type\":\"constant\",\"value\":2062087},{\"type\":\"constant\",\"value\":2062088}]},{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2034634},{\"type\":\"constant\",\"value\":2034635},{\"type\":\"constant\",\"value\":2034636}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_101\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101980,-1,-1,0],[1525203,1464934,"a096_civ_ottoman","","Sound Advice","Unlock 7 Imperial Council upgrades in a single match as the Ottomans.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"upgradingitall\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgradingitall\"},{\"type\":\"constant\",\"value\":7}]}},\"enabled\":true,\"name\":\"upgradingitall\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":9000566},{\"type\":\"constant\",\"value\":2059828},{\"type\":\"constant\",\"value\":2063087},{\"type\":\"constant\",\"value\":2059346},{\"type\":\"constant\",\"value\":2059331},{\"type\":\"constant\",\"value\":2059527},{\"type\":\"constant\",\"value\":2059627},{\"type\":\"constant\",\"value\":2059610},{\"type\":\"constant\",\"value\":2073116},{\"type\":\"constant\",\"value\":9000512},{\"type\":\"constant\",\"value\":9000336},{\"type\":\"constant\",\"value\":9000513}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101991,-1,-1,0],[1525205,1464934,"a099_civ_malian","","Malian Rise","Win a match as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_malian\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_malian\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2102073,-1,-1,0],[1525207,1464934,"a102_civ_malian","","From the Shadows","Attack 100 enemies with invisible Musofadi Warriors or Gunners in a single match as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"attackingstealth\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":true,\"name\":\"attackingstealth\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievAttackfromStealthMal\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101979,-1,-1,0],[1525209,1464934,"a106_civ_malian","","All in the Ranch","Garrison 20 Cattle in Ranches at the same time as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cattlegarrison\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"cattlegarrison\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCattleGarrisonMal\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2101983,-1,-1,0],[1525309,1525307,"event_naval_gather1997fish_skmp","","Fishing Since 1997","Gather 1997 Fish as a Food Source in a Skirmish or Multiplayer match.","Age of Empires was originally released in 1997 by Ensemble Studios.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gatherlotsfish\"},{\"type\":\"constant\",\"value\":1997}]}},\"enabled\":true,\"name\":\"gatherlotsfish\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_shore_fish\"},{\"type\":\"constant\",\"value\":\"gather_deep_water_fish\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1178,1000],[1525311,1525307,"event_win_50popmax_skmp","","Reduced Pop Cap","Win a Multiplayer or Skirmish match by never exceeding a population of 50.","In the original Age of Empires, the maximum population cap in Single Player was 50 units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_population\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_population\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_population\",\"trackingEvent\":\"PlayerAddEntity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"population\",\"value\":\"PersonnelPop\"},{\"type\":\"constant\",\"value\":51}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winit\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1179,1000],[1525313,1525307,"event_win_norepairs_skmp","","This Is Fine","Win a Multiplayer or Skirmish match without repairing any structures with Villagers.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"wingame\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"villagerrepair\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villagerrepair\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"villagerrepair\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":127793}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"wingame\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1182,1000],[1525315,1525307,"event_civ_win_skmp_ott","","Victory: Ottomans","Win a Skirmish or Multiplayer match as the Ottomans.","The Ottoman civilization was first introduced in Age of Empires III.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"winitottoman\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1183,1000],[1525317,1531245,"event_defeat_25usingcalvalry","","25th Anniversary","Defeat 25 enemy units only using Cavalry.","2022 is the 25th anniversary of the Age of Empires franchise.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"countinghorseman\"},{\"type\":\"constant\",\"value\":25}]}},\"enabled\":true,\"name\":\"countinghorseman\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"cavalry\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1184,1000],[1525319,1525308,"event_win_loseless5vill_skmp","","Up-rezzed Villager","Win a Multiplayer or Skirmish match without losing more than 5 Villagers.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"killedvillager\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedvillager\"},{\"type\":\"constant\",\"value\":6}]}},\"enabled\":true,\"name\":\"killedvillager\",\"trackingEvent\":\"SquadDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120915}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1185,1000],[1525321,1531245,"event_win_noprodsiegeornaval","","Rock Paper Scissors","Win a Multiplayer or Skirmish match in which you don't produce any Siege or Naval units.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"builtsiegenaval\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"builtsiegenaval\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"builtsiegenaval\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_unit\"},{\"type\":\"constant\",\"value\":\"siege\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"builtonfield\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"builtonfield\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"builtonfield\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"infantry\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"siege\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1186,1000],[1525323,1525308,"event_mod_win1v1royalrumble","","What An Opening","Win a 1v1 Royal Rumble match.","Age of Empires II: Age of Kings was originally released in 1999. The opening cutscene shows 2 kings playing a Chess game representing their units on the battlefield.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"counttotal\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"counttotal\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"defeat_enemy_king\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"defeat_enemy_king\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":183804}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"counttotal\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"counttotal\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"in\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1187,1000],[1525325,1531245,"event_res_4upgbefage4","","All Four It","Research at least 4 technologies before reaching Age IV in a match.","Age of Empires IV was released in 2021.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrading\"},{\"type\":\"constant\",\"value\":4}]}},\"enabled\":true,\"name\":\"upgrading\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":127325},{\"type\":\"constant\",\"value\":171001},{\"type\":\"constant\",\"value\":127329},{\"type\":\"constant\",\"value\":127331},{\"type\":\"constant\",\"value\":171002},{\"type\":\"constant\",\"value\":134809},{\"type\":\"constant\",\"value\":128105},{\"type\":\"constant\",\"value\":127370},{\"type\":\"constant\",\"value\":185626},{\"type\":\"constant\",\"value\":127371},{\"type\":\"constant\",\"value\":196902},{\"type\":\"constant\",\"value\":196982},{\"type\":\"constant\",\"value\":2033399},{\"type\":\"constant\",\"value\":2033316},{\"type\":\"constant\",\"value\":2033400},{\"type\":\"constant\",\"value\":129874},{\"type\":\"constant\",\"value\":108171},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":172290},{\"type\":\"constant\",\"value\":412759},{\"type\":\"constant\",\"value\":390786}]}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"age_4\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"upgrading\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"age_4\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":2025673},{\"type\":\"constant\",\"value\":2059824}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1188,1000],[1525327,1525308,"event_civ_win_skmp_mal","","Victory: Malians","Win a Skirmish or Multiplayer match as the Malians.","The Malians were first introduced in the Age of Empires II HD: African Kingdoms.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"winitmalian\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1189,1000],[1525329,1525307,"event_naval_load16elephtranspship","","Room For More","Load 16 Elephant units into a Transport Ship.","If you have an Ottoman ally, you could load up to 25 Elephant units on a Grand Galley ship.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"elephantonatransport\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"elephantonatransport\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ElephantsOnaBoat\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1180,1000],[1525331,1525307,"event_civ_dest5buildwithwarship_fre","","Paris Burning","Destroy 5 buildings with a French Warship.","In Age of Empires III, leading a scrappy crew of Caribbean buccaneers, Elizabet Ramsey sails aboard her flagship, Paris Burning.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"destroystructures\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroystructures\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"destroystructures\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":193084}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1181,1000],[1525539,1525538,"event_civ_prod20sheep_mon","","So Cute","Produce 20 Sheep from Pastures.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"somanysheep\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"somanysheep\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":168713}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1190,1000],[1525541,1525538,"event_liegnitz_defpolishbefbohemian","","Do It Fast","Defeat the Polish army before the Bohemian army arrives in the Battle of Liegnitz mission.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"battle\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"battle\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"DefeatPolishFastLiegnitz\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp2_liegnitz\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1191,1000],[1525543,1531245,"event_defeat_winwithonlymelee_skmp","","Up Close","Defeat units with only melee units and win a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"onlyswords\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"onlyswords\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"onlyswords\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"ranged\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1192,1000],[1525545,1525538,"event_win_2v2withnogaiafood_qm","","Just Gatherer","Win a 2v2 Quick Match without using animals as a food source.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win2v2\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"justplay\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"justplay\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"justplay\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_huntable\"},{\"type\":\"constant\",\"value\":\"gather_herdable\"},{\"type\":\"constant\",\"value\":\"gather_huntable_danger\"},{\"type\":\"constant\",\"value\":\"gather_luxury\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"win2v2\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":21},{\"type\":\"constant\",\"value\":221},{\"type\":\"constant\",\"value\":576},{\"type\":\"constant\",\"value\":588}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1193,1000],[1525547,1531245,"event_win_sacvic2v2plavsintai_cm_khill","","Protect Them All","Achieve a Sacred Victory with another player against Intermediate A.I. in a 2v2 Custom match on King of the Hill.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"king_of_hill\"}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaimedium\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1194,1000],[1526513,1526523,"event_misc_prod40vill_skmp","","Growing Up So Fast","Produce 40 or more Villagers in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"Villagersborn\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"Villagersborn\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"Villagersborn\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":120908}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1221,250],[1526515,1531245,"event_naval_dest5boatwithspringship_skmp","","Making Waves","Destroy 5 Naval units using Springald Ships in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"NavalExploded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"NavalExploded\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"NavalExploded\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"springald_ship\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"naval_unit\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1222,1000],[1526517,1526523,"event_civ_buildaddtc_skmp_chi","","Keep Rebuilding","Build an additional Town Center in a Skirmish or Multiplayer match as the Chinese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"newTC\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"newTC\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"newTC\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":137295}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1223,500],[1526519,1531245,"event_civ_build8naval_skmp_mal","","Lucky Water Rabbit","Build 8 Naval units in a Skirmish or Multiplayer match as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"newFleet\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"newFleet\"},{\"type\":\"constant\",\"value\":8}]}},\"enabled\":true,\"name\":\"newFleet\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_unit\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1224,500],[1526521,1526523,"event_aow_surv18min_ottchall","","Follow the Tracks","Survive at least 18 minutes in the Ottomans Art of War Challenge.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"ottoman18min\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"OttomansArtTimer\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"challenge_mission_ottoman\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1225,1000],[1526776,1430591,"civ_mechanic_mal","","Foodbank","Generate 1,000 Food from the Ranch in a Multiplayer match as the Malians.","Use the Mill to produce Cattle. Cattle will generate Food over time when assigned to the Ranch building.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"foodfromranch\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"foodfromranch\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2074126}]}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/building_cattle_ranch.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526778,1430591,"civ_mechanic_02_mal","","Mining","Build an Open Pit Mine in a Multiplayer or Skirmish match as the Malians.","Constructing an Open Pit Mine over a Gold Deposit passively generates Gold. Constructing Houses within influence of the Open Pit Mine, however, further strengthens this bonus.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"openpit\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"openpit\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2067413},{\"type\":\"constant\",\"value\":2076058}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/building_pit_mine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526780,1430591,"civ_mechanic_ott","","Military Schools","Build 2 Military Schools in a Multiplayer or Skirmish match as the Ottomans.","The Military School can produce units passively, allowing you to focus your economy more freely.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"milschool\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"milschool\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2058834}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/military_school.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526782,1430591,"civ_mechanic_02_ott","","Bombarding","Destroy a Keep or an Outpost with a Great Bombard in a Multiplayer or Skirmish match as the Ottomans.","The Great Bombard has unparalleled damage at a far range. However, it is revealed to enemies when it prepares to fire. Be on the lookout and protect your Great Bombards from counterattack.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"bombarded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"bombarded\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120888},{\"type\":\"constant\",\"value\":120897}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2058831}]}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/great_bombard.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526822,1430591,"win_civ_mal","","Malians Victory","Win a match as the Malians.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/malian.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526824,1430591,"win_civ_ott","","Ottomans Victory","Win a match as the Ottomans.","Win in Standard, Ranked, Skirmish or Custom matches.",1,"{\"awardSource\":2,\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/ottoman.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526826,1430591,"civ_mechanic_02_abb","","Camels","Produce 10 Camel units in a Multiplayer or Skirmish match as the Abbasid Dynasty.","Camels are designed as anti-cavalry, use Camel Riders in this manner to defeat enemy cavalry.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"camelunits\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"camelunits\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":200044},{\"type\":\"constant\",\"value\":200045},{\"type\":\"constant\",\"value\":199996},{\"type\":\"constant\",\"value\":199997},{\"type\":\"constant\",\"value\":199998}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/camel_support.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526828,1430591,"civ_mechanic_02_chi","","Firelancers","Produce 10 Firelancer units in a Multiplayer or Skirmish match as the Chinese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"firelancersunits\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"firelancersunits\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":156272},{\"type\":\"constant\",\"value\":156273}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/firelancer.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526830,1430591,"civ_mechanic_02_eng","","Longbowmen Palings","Produce 10 Longbowmen units and use their Palings ability in a Multiplayer or Skirmish match as the English.","Longbowmen can place down Palings to slow down cavalry units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"pailingplaced\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"longbowmenspawn\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"longbowmenspawn\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":166278},{\"type\":\"constant\",\"value\":166279},{\"type\":\"constant\",\"value\":166280}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"pailingplaced\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":false,\"name\":\"pailingplaced\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2025568}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/braced_palings.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526834,1430591,"civ_mechanic_02_fre","","Guild Hall","Build the Guild Hall and accumulate 500 Wood in any game mode as the French.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_resources\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"accrue_resources\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievFreGuildHallResources\"}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/lumber_camp.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526836,1430591,"civ_mechanic_02_hre","","Landsknechte Attack","Defeat 20 units with Landsknecht units in a Multiplayer or Skirmish match as the Holy Roman Empire.","The Landsknecht can be produced from the Barracks upon reaching the Castle Age (III).",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"Landsknechte_attack\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"Landsknechte_attack\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":136940},{\"type\":\"constant\",\"value\":168400},{\"type\":\"constant\",\"value\":205390}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/landskrecht.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526838,1430591,"civ_mechanic_02_mon","","Sheep Production","Produce 10 Sheep with Pastures in a Multiplayer or Skirmish match as the Mongols.","Construct Pastures instead of Farms to raise Sheep for Food \u2014 Pastures produce Sheep quicker when within the influence of an Ovoo.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"pastures_up\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"pastures_up\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":168713}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/building_pasture_mon.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526840,1430591,"civ_mechanic_02_rus","","Streltsy","Produce 5 Streltsy units in a Multiplayer or Skirmish match as the Rus.","Streltsy can be produced from an Archery Range after reaching the Imperial Age.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"Streltsy_spawn\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"Streltsy_spawn\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133018}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/streltsy.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526842,1430591,"civ_mechanic_02_sul","","Elephant Herd","Defeat 10 units with Elephant units in a Multiplayer or Skirmish match as the Delhi Sultanates.","The elephants produced do not need to come from the Palace of the Sultan, however it does help.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"elephantherd\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"elephantherd\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":136092},{\"type\":\"constant\",\"value\":136551},{\"type\":\"constant\",\"value\":136093},{\"type\":\"constant\",\"value\":136205}]}}]}],\"counterVersion\":4,\"fePriority\":60,\"icon\":\"images/daily_quests/elephant_armor.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,300],[1526864,1526863,"event_bremule_recapgrainville_anydiff","","Together for Life","Recapture Grainville in the Battle of Brémule mission on any difficulty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"grainville\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"grainville\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"grainville\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"GrainvilleConquered\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"ang_chp2_bremule\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1243,500],[1526866,1526863,"event_civ_inc10berryaccrue3000_abb_sul","","Fruitful","Increase the yield of 10 Berry Bushes then accrue 3,000 Food as the Abbasid Dynasty or as the Delhi Sultanates.","Constructing a Mill near Berry Bushes increases the amount of Food available.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"resource_food_accrued\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"resource_berrybush_upgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_berrybush_upgraded\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"resource_berrybush_upgraded\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"SulBerryEnhance\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"resource_food_accrued\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_food_accrued\"},{\"type\":\"constant\",\"value\":3000}]}},\"enabled\":false,\"name\":\"resource_food_accrued\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1244,500],[1526868,1526863,"event_misc_2v1friendvsaiany_mp","","Always Together","Play a 2v1 Multiplayer match with a friend against any AI difficulty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winorlose\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountai\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountfriendally\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1245,500],[1526870,1526863,"event_misc_last10min8v8_mp_dontuse","","Take Them On","Last at least 10 minutes in a 8 players Free For All Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"survive10\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"gamelength\"},{\"type\":\"constant\",\"value\":600}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":8}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":8}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":8}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1246,500],[1526872,1526863,"event_win_1v1landmvic_mp","","Buckle Up","Win a 1v1 Multiplayer match that results in a Landmarks Victory.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"winconquest\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountai\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1247,250],[1526886,1526907,"event_civ_anatoupg1000gold_skmp_ott","","Increased Mining","Research the Anatolian Hills Imperial Council upgrade then Accrue 1000 Gold as the Ottomans in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"minegold\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgradedanatolian\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgradedanatolian\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgradedanatolian\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2073116}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"minegold\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"minegold\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":false,\"name\":\"minegold\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2039321}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1253,500],[1526889,1526907,"event_civ_ranch500food_skmp_mal","","Cattle Harvester","Accrue 500 Food from the Ranch in a match as the Malians in a Skirmish or Multiplayer match.","Use the Mill to produce Cattle. Cattle will generate Food over time when assigned to the Ranch building.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"foodfromranch\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"foodfromranch\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"foodfromranch\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2074126}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1254,250],[1526891,1526907,"event_civ_defeat10withvill_skmp_eng","","Stop the Attack","Defeat 10 enemy units using Villagers when playing as the English in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"killedbyvillager\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedbyvillager\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"killedbyvillager\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":166317}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1255,500],[1526893,1526907,"event_civ_granary500food_any_chi","","Gathering Speed","Accrue 500 Food from the Granary as the Chinese in a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"granaryfood\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"granaryfood\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"granaryfood\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ChineseGranaryChallenge\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1256,250],[1526895,1526907,"event_paris_allvillsurv_anydiff","","Save the Villagers","Play the Siege of Paris mission and make sure all Villagers survive the initial attack on any difficulty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"parisvillager\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"parisvillager\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"parisvillager\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ParisVillagerRetreat\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"hun_chp1_paris\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1257,500],[1526897,1526907,"event_civ_insp25vill_any_hre","","Feeling Inspired","Have at least 25 simultaneously inspired Villagers as the Holy Roman Empire in any game mode.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"inspire_on\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"inspire_off\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"complete_all\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":25}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"inspire_on\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"HREInspireActivate\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"inspire_off\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"HREInspireDeactivate\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1258,750],[1526899,1526907,"event_civ_resallimprovedgather_skmp_mon","","Improved Villagers","Research all the Age I and Age II Improved Gather Technologies when playing as the Mongols in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"improvedVillagers\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"improvedVillagers\"},{\"type\":\"constant\",\"value\":6}]}},\"enabled\":true,\"name\":\"improvedVillagers\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":172000},{\"type\":\"constant\",\"value\":169038},{\"type\":\"constant\",\"value\":203469},{\"type\":\"constant\",\"value\":171295},{\"type\":\"constant\",\"value\":169035},{\"type\":\"constant\",\"value\":171825}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1259,1000],[1526901,1531245,"event_civ_kill1boarusingvill_any_rus","","Such a Boar","Hunt and Kill 1 Boar using Villagers when playing as the Rus in any game mode.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"boarkilled\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"boarkilled\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"boarkilled\",\"trackingEvent\":\"AnimalKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":129273},{\"type\":\"constant\",\"value\":107463}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1260,500],[1526903,1526907,"event_civ_prod10villfromkeep_any_sul","","Safer Town Center","Research the Village Fortresses upgrade then Produce 10 Villagers from a Keep as the Delhi Sultanates in any game mode.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"produceVillager\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"researchedTC\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"researchedTC\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"researchedTC\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":200170}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"produceVillager\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":false,\"name\":\"produceVillager\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":135965}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":135794}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1261,500],[1526905,1526907,"event_civ_winbuild5outpost_skmp_abb","","Protect the Villagers","Build 5 Outposts and Win a Skirmish or Multiplayer match as the Abbasid Dynasty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"wincheck\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"buildoutposts\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"buildoutposts\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"buildoutposts\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":199623}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"wincheck\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"wincheck\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":199703}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1262,500],[1527571,1527574,"event_win_enchantedbiome_skmp","","Get in the Grove","Win a Multiplayer or Skirmish match on the Enchanted Grove biome.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"in\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"ancient_spires\"},{\"type\":\"constant\",\"value\":\"confluence\"},{\"type\":\"constant\",\"value\":\"lipany\"},{\"type\":\"constant\",\"value\":\"mongolian_heights\"},{\"type\":\"constant\",\"value\":\"mountain_pass\"},{\"type\":\"constant\",\"value\":\"oasis\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1264,1000],[1527576,1527574,"event_civ_wintradeonlywoodafterage2_fre","","On a Limb","Win a Multiplayer or Skirmish match where Wood is only obtained through trading after reaching Age II as the French.","You must reach Age II for completion to be registered.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"GuildHall\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_wood\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"accrue_wood\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"wood\"}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"win_game\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"GuildHall\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"GuildHall\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"GuildHall\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievFreGuildHallResources_Wood\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1265,1000],[1527578,1527574,"event_res_lumberpresupg2000wood","","Regrowth","Research the Lumber Preservation upgrade from the Lumber Mill and gather 2,000 Wood.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":171836}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_wood\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"accrue_wood\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_wood\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"meta_counter\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1266,1000],[1527580,1527574,"event_mod_winthickwoods_skmp","","Hinterlands","Win a Skirmish or Multiplayer match using the Thick Woods mod.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"modpublishedid\"},{\"type\":\"constant\",\"value\":\"51913\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1267,1000],[1527582,1527574,"event_civ_millupg15farms_skmp_eng","","Seedlings","Construct 15 Farms and research all Mill upgrades in a Multiplayer or Skirmish match as the English.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"build_farms\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_farms\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"build_farms\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":132042}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"research_upgrades\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrades\"},{\"type\":\"constant\",\"value\":7}]}},\"enabled\":true,\"name\":\"research_upgrades\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":202557},{\"type\":\"constant\",\"value\":128049},{\"type\":\"constant\",\"value\":171292},{\"type\":\"constant\",\"value\":171293},{\"type\":\"constant\",\"value\":203467},{\"type\":\"constant\",\"value\":127933},{\"type\":\"constant\",\"value\":129091}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"meta_counter\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":106553}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1268,1000],[1527584,1527574,"event_res_tithe2000woodrelic_skmp","","Wood Please","Research the Tithe Barns upgrade and accrue 2,000 Wood from Relics in a Multiplayer or Skirmish game.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_upgrade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_upgrade\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_upgrade\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":129407}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_wood\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_wood\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"accrue_wood\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120896},{\"type\":\"constant\",\"value\":156488},{\"type\":\"constant\",\"value\":134917},{\"type\":\"constant\",\"value\":133429},{\"type\":\"constant\",\"value\":134923},{\"type\":\"constant\",\"value\":134924},{\"type\":\"constant\",\"value\":193147},{\"type\":\"constant\",\"value\":134927},{\"type\":\"constant\",\"value\":135887}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"wood\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1269,1000],[1527586,1527574,"event_defeat_enchantedstag_skmp","","Deerly Departed","Kill the Enchanted Stag in a Multiplayer or Skirmish game.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_deer\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_deer\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"kill_deer\",\"trackingEvent\":\"AnimalKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2123253},{\"type\":\"constant\",\"value\":2126968}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1272,1000],[1527717,1403394,"m01_tyre","","The Defense of Tyre",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m1_tyre\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527719,1403394,"m02_egypt","","Into Egypt",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527721,1403394,"m03_redsea","","Raiders of the Red Sea",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527723,1403394,"m04_hattin","","The Horns of Hattin",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m4_hattin\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527725,1403394,"m05_mansurah","","The Battle of Mansurah",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527727,1403394,"m06_aynjalut","","The Battle of Ayn Jalut",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m6_aynjalut\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527729,1403394,"m07_acre","","The Siege of Acre",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m7_acre\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527731,1403394,"m08_cyprus","","The Invasion of Cyprus",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"mission_complete\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1527855,1531245,"event_win_nofishanml_skmp","","Animal Kingdom","Win a Skirmish or Multiplayer match in which you haven't killed any animals or Fish.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"wingame\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"wingame\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"killedanimals\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killedanimals\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"killedanimals\",\"trackingEvent\":\"AnimalKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"animal\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"wingame\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"fished\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"fished\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"fished\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_deep_water_fish\"},{\"type\":\"constant\",\"value\":\"gather_shore_fish\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1297,750],[1527858,1531245,"event_civ_10cow_befageiv_mp_mal","","Cute Cattle","Produce 10 Cattle before you reach the Castle Age(III) in a Multiplayer match playing as the Malians.","Use the Mill to produce Cattle. Cattle will generate Food over time when assigned to the Ranch building.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"cattleproduction\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"castleage\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"castleage\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"castleage\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"cattleproduction\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"castleage\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cattleproduction\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"cattleproduction\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2059965}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1298,500],[1527860,1531245,"event_misc_2v1friend_20farms_mp","","Make It Grow","Play with a friend on your team in a 2v1 Multiplayer match and have 20 of your own simultaneous Farms.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"buildfarms\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"buildfarms\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"buildfarms\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":132042}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"farmdestroyed\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"},{\"op\":\"Add\",\"name\":\"buildfarms\",\"amount\":-1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":132042}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountfriendally\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":3}]},{\"op\":\"gte\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1299,250],[1527862,1531245,"event_misc_1000fish_fishboat_skmp","","What Is Out There?","Gather 1000 Fish as a Food Source with Fishing Boats in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"gettingfish\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gettingfish\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_fishing_ship\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1300,500],[1527864,1531245,"event_win_2v2marshland_skmp","","Watch Out","Win a 2v2 Multiplayer or Skirmish match while playing on the map Marshland.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"savanna_woodlands\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":52}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":4}]},{\"op\":\"and\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"and\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1301,500],[1528303,1403394,"m01_rebellion","","Rebellion in Normandy",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"sal_chp1_rebellion\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1528305,1403394,"m02_valesdun","","The Battle of Val-ès-Dunes",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"sal_chp1_valesdun\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1528307,1403394,"m03_womanswork","","A Township in Brittany",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"sal_chp2_womanswork\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1528309,1403394,"m05_dinan","","The Siege of Dinan",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"sal_chp2_dinan\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1528311,1403394,"m06_brokenpromise","","The Norman Invasion",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"ObjectiveComplete\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"sal_chp3_brokenpromise\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,0],[1531085,1513876,"event_misc_collect1000food_ranked","","Come the Spoils","Collect 1000 Food in a Ranked Season match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":1},{\"type\":\"constant\",\"value\":214},{\"type\":\"constant\",\"value\":2},{\"type\":\"constant\",\"value\":220},{\"type\":\"constant\",\"value\":3},{\"type\":\"constant\",\"value\":226},{\"type\":\"constant\",\"value\":4},{\"type\":\"constant\",\"value\":232}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1072,1000],[1531091,1516461,"event_res_reachimpage_ranked","","The Long Haul","Reach the Imperial Age (IV) in a Ranked match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"reach_age_4\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_4\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_4\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":1},{\"type\":\"constant\",\"value\":214},{\"type\":\"constant\",\"value\":2},{\"type\":\"constant\",\"value\":220},{\"type\":\"constant\",\"value\":3},{\"type\":\"constant\",\"value\":226},{\"type\":\"constant\",\"value\":4},{\"type\":\"constant\",\"value\":232}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1085,1000],[1531096,1517318,"event_win_ranked","","For the Win","Win a Ranked Season match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"rankedseason_win\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"rankedseason_win\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":1},{\"type\":\"constant\",\"value\":214},{\"type\":\"constant\",\"value\":2},{\"type\":\"constant\",\"value\":220},{\"type\":\"constant\",\"value\":3},{\"type\":\"constant\",\"value\":226},{\"type\":\"constant\",\"value\":4},{\"type\":\"constant\",\"value\":232}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1090,1000],[1531115,1531245,"event_misc_herdsheepx5tc_ranked","","None For You","Herd Sheep to a building 5 times in a Ranked match",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"herd_gaia\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"herd_gaia\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":166647},{\"type\":\"constant\",\"value\":2033495}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":1},{\"type\":\"constant\",\"value\":214},{\"type\":\"constant\",\"value\":2},{\"type\":\"constant\",\"value\":220},{\"type\":\"constant\",\"value\":3},{\"type\":\"constant\",\"value\":226},{\"type\":\"constant\",\"value\":4},{\"type\":\"constant\",\"value\":232}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1123,1000],[1532836,1531245,"kill_10_ships_skirmish","","No Point Fighting the Tide","Destroy 10 enemy ships in a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"killships\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killships\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"killships\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"naval_unit\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1333,1000],[1535141,1531245,"win_skirmish_water_map","","Day at the Beach","Win a Multiplayer or Skirmish match on a water map.","Water maps are marked with an anchor icon in map selection.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"in\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"archipelago\"},{\"type\":\"constant\",\"value\":\"boulder_bay\"},{\"type\":\"constant\",\"value\":\"continental\"},{\"type\":\"constant\",\"value\":\"four_lakes\"},{\"type\":\"constant\",\"value\":\"megarandom\"},{\"type\":\"constant\",\"value\":\"nagari\"},{\"type\":\"constant\",\"value\":\"oasis\"},{\"type\":\"constant\",\"value\":\"team_islands\"},{\"type\":\"constant\",\"value\":\"waterholes\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1334,1000],[1535169,1531245,"event_misc_build20stwall_skmp","","Siege Engineering","Build 20 Stone Wall segments in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"stone_wall\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"stone_wall\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"stone_wall\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"stone_wall\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1335,250],[1535175,1531245,"event_win_taunt_mp","","Hey! Over Here!","Win a Multiplayer match with at least one friend on your team in which you used a Taunt.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"winning\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"tauntused\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"tauntused\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"tauntused\",\"trackingEvent\":\"Taunt\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winning\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"winning\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"custom\":true}}}]},{\"op\":\"gte\",\"values\":[{\"type\":\"playercountfriendally\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"gte\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1336,250],[1535182,1531245,"event_civ_10tolloutp_def5wtolloutp_mal","","Future's So Bright I Gotta Wear Shades","Construct 10 Toll Outposts, then defeat 5 units with Toll Outposts as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"killwithoutpost\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"outpostdied\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"outpostconstructed\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"outpostconstructed\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"outpostconstructed\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2668497}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"killwithoutpost\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"killwithoutpost\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":false,\"name\":\"killwithoutpost\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2668497}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"outpostdied\",\"trackingEvent\":\"EntityDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Sub\",\"name\":\"outpostconstructed\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2668497}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1337,750],[1535399,1531245,"event_win_const5dock_skmp","","Rising Tide","Win a Multiplayer or Skirmish match in which you constructed 5 Docks.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"winning\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"dockscompleted\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"dockscompleted\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"dockscompleted\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_production_building\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winning\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"winning\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1338,500],[1535405,1531245,"event_civ_ressiegeelep_cons10towele_sul","","Pack Your Trunks","Research the Howdahs technology, then produce 10 Tower Elephants as the Delhi Sultanate.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"prodtowereleph\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgraded\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgraded\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgraded\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":200139}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"prodtowereleph\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"prodtowereleph\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":false,\"name\":\"prodtowereleph\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"cavalry_tower_elephant\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1339,750],[1535507,1531245,"research_extended_lines_gather_2000_fish","","Feed Him for a Lifetime","Research Extended Lines and use Fishing Boats to gather 2000 Fish.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"accrue_fish\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"research_lines\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_lines\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_lines\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2033745},{\"type\":\"constant\",\"value\":2034793}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accrue_fish\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accrue_fish\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":false,\"name\":\"accrue_fish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":193057}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1343,1000],[1535574,1531245,"research_swivel_cannon","","Water Fight!","Research Swivel Cannon for Springald Ships.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"research_swivel\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"research_swivel\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"research_swivel\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2101653},{\"type\":\"constant\",\"value\":2101974}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1344,500],[1535579,1531245,"build_keep_skirmish_win","","Castles in the Sand","Build a standard Keep in any Multiplayer or Skirmish match and win the match.","Build a standard Keep, not landmarks.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_castle\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"win_match\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_castle\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_castle\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120888}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"win_match\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1345,1000],[1535636,1531245,"raze_10_buildings_skirmish","","All Your Base...","Raze 10 buildings in a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"raze_building\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"raze_building\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1346,1000],[1535641,1531245,"herd_sheep_7_french_skirmish","","Feeling Sheepish","Herd Sheep to a building 7 times in a Multiplayer or Skirmish match as the French.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"herd_gaia\"},{\"type\":\"constant\",\"value\":7}]}},\"enabled\":true,\"name\":\"herd_gaia\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":166647},{\"type\":\"constant\",\"value\":2033495}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1348,1000],[1535738,1531245,"reach_200_population_skirmish","","Wouldn't Be a Party Without You","Reach 200 unit population in a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"reach_population\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_population\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_population\",\"trackingEvent\":\"PlayerAddEntity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"population\",\"value\":\"PersonnelPop\"},{\"type\":\"constant\",\"value\":200}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,1347,1000],[1536388,1531245,"custom_sea_monster_recieve_effect","","Delivering Snacks","Receive the Dragon Turtle's Bounty with a Fishing Boat in a Skirmish or Multiplayer match.","Monsters can be found on maps marked with a monster icon in map selection. Stay close to the monsters to receive their gift.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"grantbuff\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"grantbuff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonsterGrantBuffSea\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1362,1000],[1536391,1531245,"custom_land_monster_recieve_effect","","Pass the Bouncer","Receive the Wild Man's Boon with a Villager in a Skirmish or Multiplayer match.","Monsters can be found on maps marked with a monster icon in map selection. Stay close to the monsters to receive their gift.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"grantbuff\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"grantbuff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonsterGrantBuffLand\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,1363,1000],[1538024,1531874,"event_civ_raid5build_any_mon","","Burning Down","Raid at least 5 enemy buildings as the Mongols in any game mode.","Mongols specialize in raiding the land and gain resources from destroying enemy structures. This allows them both to stay on the offense and to build up their economy.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"raid_building\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"raid_building\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"raid_building\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonRaidResourceAdded\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1350,250],[1538043,1531874,"event_misc_2000woodbefage2_blkfor_skmp","","Early Woodcutter","Accrue 2000 Wood before reaching the Feudal Age (II) while playing on the Black Forest map in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"accruewood\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"feudalage\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"accruewood\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"accruewood\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_wood\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"accruewood\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"feudalage\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"feudalage\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"feudalage\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"black_forest\"}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1351,750],[1538242,1531874,"event_civ_buildpagoda_skmp_chi","","Late Bloomer","Construct a Pagoda in a Multiplayer or Skirmish match as the Chinese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"pagodabuild\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"pagodabuild\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"pagodabuild\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"pagoda_chi\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266},{\"type\":\"constant\",\"value\":2121950}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":137266}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1356,250],[1538256,1531874,"event_win_onlyanimalfood_skmp","","Bad Fruits","Win a Skirmish or Multiplayer match where Food is gathered only from animals.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"winit\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winit\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"onlyanimals\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"onlyanimals\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"onlyanimals\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_farm\"},{\"type\":\"constant\",\"value\":\"gather_berries\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1357,1000],[1538260,1531874,"event_win_2v2ageupimpage_qm","","Colorful Town Center","Win a 2v2 Quick Match in which you reach the Imperial Age (IV).",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"imperialage\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"imperialage\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"imperialage\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108173}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":21},{\"type\":\"constant\",\"value\":221},{\"type\":\"constant\",\"value\":576},{\"type\":\"constant\",\"value\":588}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1358,750],[1539197,1674374,"event_misc_1000pumpkins_skmp","","It Bites","Accrue 1000 Food in the Hallow's Hearth biome in a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"pumpkinsharvest\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"pumpkinsharvest\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"pumpkinsharvest\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_berries\"}]}},{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_farm\"}]}},{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_herdable\"}]}},{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_huntable\"}]}},{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_huntable_danger\"}]}},{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_shore_fish\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmapbiome\"},{\"type\":\"constant\",\"value\":2129619}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1359,500],[1539725,1674374,"event_civ_attack30withinvmusofadi_mal","","Like Ghosts","Attack 30 enemies with invisible Musofadi Warriors or Gunners in a single match as the Malians.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"attackingstealth\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":true,\"name\":\"attackingstealth\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievAttackfromStealthMal\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1364,500],[1539935,1674374,"event_win_100villprod_skmp","","Scary Villagers","Win a Skirmish or Multiplayer match in which you produced 100 Villagers.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"Villagersborn\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"win_match\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"Villagersborn\"},{\"type\":\"constant\",\"value\":100}]}},\"enabled\":true,\"name\":\"Villagersborn\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":120908}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"win_match\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1366,500],[1540848,1674374,"event_def_3wolveswithranged_skmp","","Scary Wolves","Defeat 3 Wolves with ranged units in a Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"wolveskilledbyranged\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"wolveskilledbyranged\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"wolveskilledbyranged\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":184247},{\"type\":\"constant\",\"value\":127483}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"ranged\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1379,750],[1540881,1674374,"event_misc_gather500foodsheep_1v1_mp","","Is that a Sheep?","Gather 500 Food from Sheep in a 1v1 Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"500sheep\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"500sheep\"},{\"type\":\"constant\",\"value\":500}]}},\"enabled\":true,\"name\":\"500sheep\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_herdable\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountai\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1380,250],[1540917,1674374,"event_win_2v2withfriend_mp","","Spooky Singer","Win a 2v2 Multiplayer match with a friend on your team.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winfriend\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true}}}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountfriendally\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":4}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1384,750],[1541355,1674374,"event_win_hallowshearthbiome_mp","","Threatening","Win a Multiplayer match on a map using the Hallow's Hearth biome.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winbiome\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmapbiome\"},{\"type\":\"constant\",\"value\":2129619}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1385,750],[1541371,1674374,"event_def_20deers_prairie_any","","Oh Doe You Didn't","Hunt 20 Deer on the Prairie map in any game mode.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"deerkilled\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"deerkilled\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"deerkilled\",\"trackingEvent\":\"AnimalKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":106849},{\"type\":\"constant\",\"value\":129274},{\"type\":\"constant\",\"value\":211903}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"dunes\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1386,500],[1541379,1674374,"event_civ_buildnotredame_win_mp_fre","","Don't Touch It","Build the Notre Dame Wonder and Win a Multiplayer match as the French.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"builtnotredame\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"builtnotredame\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"builtnotredame\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":177439}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winit\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":131384}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1387,1000],[1541800,1531873,"event_win_wondervict_skmp","","Take your Time","Play a Skirmish or Multiplayer match that results in a Wonder victory.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"winwonder\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"winwonder\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":0},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Wonder\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1393,750],[1541894,1531873,"event_win_1v1less15min_sk_agst_jpn","","Wrap It Up","Win a 1v1 Skirmish match in less than 15 minutes against the Japanese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"gt\",\"values\":[{\"type\":\"gamelength\"},{\"type\":\"constant\",\"value\":900}]}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"skirmish\":true}}}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountai\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"enemyraceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1403,1000],[1542033,1531873,"event_civ_convert40_skmp_mon","","Welcoming","Convert 40 units in a Skirmish or Multiplayer match while playing as the Mongols.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"convert_units\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"convert_units\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"convert_units\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonkConversionTracking\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":129267}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1395,750],[1542035,1531873,"event_kiev_deftraderswithvill_any","","Stop Them","Defeat 2 enemy Traders using your Villagers in the Siege of Kiev mission on any difficulty.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"traderkilled\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"traderkilled\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"traderkilled\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":120908}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":127972}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"mon_chp2_kiev\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1396,250],[1542037,1531873,"event_win_3v1with2friendvshardai_cm","","Friendly Game","Win a 3v1 Custom Match with 2 friends on your team against one Hard A.I.","This challenge requires you to complete it with other players that are on your Friends List.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win3v1\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountfriendally\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":3}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":3}]},{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]}]},{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":0}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1397,750],[1542225,1542040,"event_civ_winmangospringbomb_mp_rus","","All Unique","Win a Multiplayer match in which you produced a Counterweight Trebuchet, a Springald, and a Bombard unit while playing as the Rus.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"winit\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"winit\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"allconditions\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"allconditions\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"allconditions\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"allconditions\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"bombard_count\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"bombard_count\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"bombard_count\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133015}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"allconditions\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"springald_count\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"springald_count\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"springald_count\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133033}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"allconditions\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"ribauldequin_count\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"ribauldequin_count\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"ribauldequin_count\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":133028}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":133008}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1398,750],[1542287,1542040,"event_misc_2v2empirewars_mp","","Long Trip","Play a 2v2 Empire Wars Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winorlose\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1},{\"type\":\"constant\",\"value\":0}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":4}]},{\"op\":\"gte\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":2}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"startingcondition\"},{\"type\":\"constant\",\"value\":\"empire_wars\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1399,500],[1542380,1542040,"event_prod15early","","Off to a Good Start","Produce 15 or more units before reaching Age II in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"train_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"train_units\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"train_units\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"none\"}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"reach_age_2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"train_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108171}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1400,500],[1542386,1542040,"event_misc_usetaunt_mp","","Say It","Use a Taunt during a Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"tauntused\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"tauntused\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"tauntused\",\"trackingEvent\":\"Taunt\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1401,250],[1542449,1542040,"event_win_annihivict_v1intermai_sk","","Destroy It All","Win a Skirmish match that results in a Landmarks Victory against a single Intermediate A.I.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"winconquest\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Conquest\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"constant\",\"value\":52}]},{\"op\":\"and\",\"requirements\":[{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaimedium\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaihard\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaiexpert\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat1\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat2\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercountaicheat3\"},{\"type\":\"constant\",\"value\":1}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounthuman\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"eq\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1402,1000],[1553466,1549192,"mastery_byzantines_03","","Byzantine Novice","Win a game as the Byzantines.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1557325,1428,1000],[1553468,1549192,"mastery_byzantines_07","","Byzantine Apprentice","Win 2 games as the Byzantines.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1557323,1432,1000],[1553470,1549192,"mastery_byzantines_11","","Byzantine Adept","Win 5 games as the Byzantines.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1563622,1423,1000],[1553472,1549192,"mastery_byzantines_15","","Byzantine Master","Win 10 games as the Byzantines.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1427,1000],[1553644,1549192,"mastery_byzantines_01","","Burn the Midnight Oil","Construct 3 Olive Groves, then harvest 300 Oil.","The Winery Landmark further improves the effectiveness of nearby Olive Groves.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"harvestoil\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"olivegroves\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"olivegroves\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"olivegroves\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2104744}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"harvestoil\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"harvestoil\"},{\"type\":\"constant\",\"value\":300}]}},\"enabled\":false,\"name\":\"harvestoil\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_farm\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1554420,1418,1000],[1554420,1549192,"mastery_byzantines_02","","Conveyance","Use Cisterns to improve the gathering rate of 15 Villagers simultaneously.","Each Cistern connected to your Aqueduct network improves the gathering bonus of every Cistern in the network.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cisterns\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"cistern_aura_start\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ByzCisternGatheringAuraStart\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cisterns\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"cistern_aura_stop\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Decrement\",\"name\":\"meta_counter\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ByzCisternGatheringAuraStop\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"cistern_aura_start\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"cistern_aura_stop\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"meta_counter\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"meta_counter\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"meta_counter\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1553466,1419,1000],[1557323,1549192,"mastery_byzantines_08","","Surefire Victory","Defeat 5 enemy units using Greek Fire.","Cheirosiphons along with upgraded Dromons and Trebuchets use Greek Fire.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"greekfire\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"greekfire\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"greekfire\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_in_greek_fire\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1559097,1420,1000],[1557325,1549192,"mastery_byzantines_04","","Shared Interests","Construct 2 buildings within the influence of a Cistern before reaching the Feudal Age (II).","Buildings constructed within the influence of Cisterns enjoy increases to gathering rate, unit production, research speed, and fire armor.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"cisterns\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"age2\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"age2\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"age2\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":108173},{\"type\":\"constant\",\"value\":108171}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cisterns\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"cisterns\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"cistern_influence_bonus_active_byz\",\"value\":true}}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2104742},{\"type\":\"constant\",\"value\":2104743}]}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1557327,1429,1000],[1557327,1549192,"mastery_byzantines_05","","Combat Streak","Construct the Imperial Hippodrome and activate a Triumph that lasts at least 45 seconds.","To increase Triumph time, use more Supply Points.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"triumph\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"triumph\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"triumph\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievHippoTriumphByz\"}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"triumph\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"landmarkconstantinople\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"landmarkconstantinople\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"landmarkconstantinople\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2104742}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1557329,1430,1000],[1557329,1549192,"mastery_byzantines_06","","Pointy End","Defeat 1 enemy unit with Villagers using Akritoi Defense.","This ability can be used from any Cistern. Nearby Villagers equip spears for a short time.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"villagerkillakritai\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villagerkillakritai\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"villagerkillakritai\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"akritoi_buff_active_byz\",\"value\":true}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":4050206}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1553468,1431,1000],[1557511,1535075,"mastery_japanese_01","","Senmaida","Improve your Town Center to Daimyo Manor and Produce a Bannerman.","Use Stone to improve your Town Center, improving the production of Farms, and unlocking Bannermen.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"build_bannerman\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgrade_manor\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade_manor\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade_manor\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2126951}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_bannerman\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_bannerman\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"build_bannerman\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2143512},{\"type\":\"constant\",\"value\":2143513},{\"type\":\"constant\",\"value\":2143514},{\"type\":\"constant\",\"value\":2127061},{\"type\":\"constant\",\"value\":2143515},{\"type\":\"constant\",\"value\":2143516},{\"type\":\"constant\",\"value\":2127064},{\"type\":\"constant\",\"value\":2145966},{\"type\":\"constant\",\"value\":2145967}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2029668,1560991,1443,1000],[1559097,1549192,"mastery_byzantines_09","","Shields Up","Defeat 15 units with Limitanei while Shield Wall is active.","The Limitanei can use a Shield Wall ability to take less damage from enemy ranged units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"shields\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"shields\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"shields\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"spearman_shield_wall_byz\",\"value\":true}}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1559519,1421,1000],[1559519,1549192,"mastery_byzantines_10","","Bear Down","Produce 15 Cataphracts and then trample enemy units 20 times.","Cataphracts have a devastating Trample ability which damages enemies in their path.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"trampled\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"cataphract\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"cataphract\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"cataphract\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":6524854},{\"type\":\"constant\",\"value\":5603854}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"trampled\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"trampled\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"trampled\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievTrampleUnitsByz\"}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1553470,1422,1000],[1560991,1535075,"mastery_japanese_02","","Honor-Bound","Defeat 5 enemy units with a Samurai before Age III.","Samurai armor has a chance to deflect a portion of incoming ranged or melee damage.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_with_samurai\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_with_samurai\"},{\"type\":\"constant\",\"value\":5}]}},\"enabled\":true,\"name\":\"kill_with_samurai\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":135497}]},{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2121968},{\"type\":\"constant\",\"value\":2121967},{\"type\":\"constant\",\"value\":2124176},{\"type\":\"constant\",\"value\":2124177}]}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"kill_with_samurai\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"reach_age_3\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_age_3\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1563494,1444,1000],[1563494,1535075,"mastery_japanese_03","","Japanese Novice","Win a game as the Japanese.","Win one game in any type of match including campaign.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_japanese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1563620,1445,1000],[1563620,1535075,"mastery_japanese_04","","By Night and Naginata","Defeat 15 enemy infantry units with Onna-Bugeisha.","Onna-Bugeisha are a fast unit with a longer range melee weapon.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_infantry\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_infantry\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":true,\"name\":\"kill_infantry\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"infantry\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2127199},{\"type\":\"constant\",\"value\":2127200},{\"type\":\"constant\",\"value\":2127201}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1563655,1446,1000],[1563622,1549192,"mastery_byzantines_12","","Terror-Stricken","Produce 10 Varangian Guards and then defeat 15 enemies while berserking.","Varangian Guard are available in the Castle Age.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"berserking\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"varangianunits\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"varangianunits\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"varangianunits\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":6061865},{\"type\":\"constant\",\"value\":4797900}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"berserking\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"berserking\"},{\"type\":\"constant\",\"value\":15}]}},\"enabled\":false,\"name\":\"berserking\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":6061865},{\"type\":\"constant\",\"value\":4797900}]},{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"is_berserking_byz\",\"value\":true}}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1563661,1424,1000],[1563655,1535075,"mastery_japanese_05","","Duplicitous","Construct the Koka Township and Produce 10 Shinobi.","Shinobi can use their Spy ability to take on the appearance of an enemy Villager. Use it to gather intelligence on your opponent's plans!",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_koka\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"build_shinobi\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_koka\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_koka\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2122033}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_shinobi\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_shinobi\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":false,\"name\":\"build_shinobi\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2121981}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1565510,1447,1000],[1563661,1549192,"mastery_byzantines_13","","Fielding the Whole Gang","Construct a Mercenary House next to a neutral Trade Post, sign a contract, and fully upgrade the contract units to Elite.","Building a Mercenary House adjacent to a Trade Post unlocks the ability to choose a Mercenary Contract, which in turn unlocks new units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"checkallrequirements\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"fieldingmercs\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"fieldingmercs\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"fieldingmercs\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievFieldAllMercsByz\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"checkallrequirements\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"checkallrequirements\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"checkallrequirements\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"checkallrequirements\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"contract_signed\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"contract_signed\"},{\"type\":\"constant\",\"value\":2}]}},\"enabled\":true,\"name\":\"contract_signed\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2118862},{\"type\":\"constant\",\"value\":2118863},{\"type\":\"constant\",\"value\":2146757},{\"type\":\"constant\",\"value\":2146758}]}}]},{\"completeRule\":{\"actions\":[{\"op\":\"Add\",\"name\":\"checkallrequirements\",\"amount\":1,\"type\":\"change_named_counter\"},{\"enabled\":false,\"name\":\"contractsigned\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"contractsigned\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"contractsigned\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2132800},{\"type\":\"constant\",\"value\":2132801},{\"type\":\"constant\",\"value\":2132802},{\"type\":\"constant\",\"value\":2146746},{\"type\":\"constant\",\"value\":2146747},{\"type\":\"constant\",\"value\":2146748}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1563663,1425,1000],[1563663,1549192,"mastery_byzantines_14","","Rain of Fire","Research the Greek Fire Trebuchet and then destroy 20 buildings using Trebuchets.","The Greek Fire Trebuchet can be researched from the Siege Workshop.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"destroywithfire\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgradegreekfire\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgradegreekfire\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgradegreekfire\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2104321}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"destroywithfire\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroywithfire\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":false,\"name\":\"destroywithfire\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":5899171},{\"type\":\"constant\",\"value\":2108710}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"building\"}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1553472,1426,1000],[1565510,1535075,"mastery_japanese_06","","All a Quiver","Defeat 10 enemy Spearmen with Yumi Ashigaru.","Strong against light armored melee infantry, Yumi Ashigaru can be built from Age II onwards.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_spearmen\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_spearmen\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"kill_spearmen\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"spearman\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":3427645},{\"type\":\"constant\",\"value\":8329353},{\"type\":\"constant\",\"value\":7635493}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1565559,1448,1000],[1565559,1535075,"mastery_japanese_07","","Japanese Apprentice","Win 2 games as the Japanese.","Win five games in any type of match including campaign.",2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_japanese.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1596743,1450,1000],[1596743,1535075,"mastery_japanese_08","","Encouraged Growth","Use Shinto Priests to place a Yorishiro into any building to provide special bonuses. Yorishiro are produced by the Floating Gate Landmark in Age (III).","Construct the Floating Gate Landmark to generate Yorishiro and acquire the ability to construct Shinto Shrines.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"place_object\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"place_object\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"place_object\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ShintoDepositSacredObject\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1596994,1451,1000],[1596994,1535075,"mastery_japanese_09","","Deflection","Research Do-maru Armor and defeat 30 enemy units with Mounted Samurai.","The Do-maru armor upgrade can be researched in Age IV at the Stables.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"kill_units\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgrade_marudo\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade_marudo\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade_marudo\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2127554}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"kill_units\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_units\"},{\"type\":\"constant\",\"value\":30}]}},\"enabled\":false,\"name\":\"kill_units\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2551890},{\"type\":\"constant\",\"value\":6253564}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1607148,1452,1000],[1601835,1535075,"mastery_japanese_11","","Japanese Adept","Win 5 games as the Japanese.","Win five games in any type of match including campaign.",5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1601883,1454,1000],[1601883,1535075,"mastery_japanese_12","","Safeguard","Construct the Castle of the Crow Landmark and trade with the Treasure Caravan 3 times during Age IV.","After building this Landmark, a Treasure Caravan will periodically appear on the map and come to trade at the Landmark. Protect them as they make their journey!",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_masumoto\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"trader_arrives\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_masumoto\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_masumoto\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":2122037}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"trader_arrives\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"trader_arrives\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":false,\"name\":\"trader_arrives\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"JapanTreasureTraderArrives\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1606099,1455,1000],[1604564,1464934,"a111_civ_byz","","Win for the Empire","Win a match as the Byzantines.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_byzantine\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_byzantine\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144868,-1,-1,0],[1604582,1464934,"a112_civ_byz","","Protecting Constantinople","Win 20 matches as the Byzantines.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"win20byzantines\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"win20byzantines\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win20byzantines\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win20byzantines\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_119\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144869,-1,-1,0],[1604644,1464934,"a113_civ_byz","","Unsinkable","Construct a Transport Ship with a Varangian Guard and garrison it to maximum capacity as the Byzantines.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"garrison_varangian\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"build_transport_ship\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_transport_ship\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"build_transport_ship\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":3526826},{\"type\":\"constant\",\"value\":2122656}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"varangian_guard\"}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"garrison_varangian\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"garrison_varangian\"},{\"type\":\"constant\",\"value\":16}]}},\"enabled\":false,\"name\":\"garrison_varangian\",\"trackingEvent\":\"Garrison\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"GarrisonBuilding\"},{\"type\":\"constant\",\"value\":3526826},{\"type\":\"constant\",\"value\":2122656}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144870,-1,-1,0],[1606099,1535075,"mastery_japanese_13","","Not So Fast","Increase the movement speed of 40 Onna-Musha using a Kabura-ya Whistling Arrow.","Onna-Musha and the Kabura-ya Whistling Arrow are available in the Archery range in Age III.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"upgrade_kabura\",\"type\":\"toggle_counter\"},{\"enabled\":true,\"name\":\"apply_buff\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade_kabura\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade_kabura\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2127409}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"apply_buff\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"apply_buff\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":false,\"name\":\"apply_buff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"KaburyaArrowTriggered\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1607213,1456,1000],[1606952,1464934,"a114_civ_byz","","Getting Some Help","Recruit 60 mercenaries from a Mercenary House in a single match as the Byzantines.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"build_mercs\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_mercs\"},{\"type\":\"constant\",\"value\":60}]}},\"enabled\":true,\"name\":\"build_mercs\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawner\"},{\"type\":\"constant\",\"value\":2104751}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144928,-1,-1,0],[1607000,1464934,"a115_civ_byz","","Bulwark","Defeat 200 enemies with Limitanei while Shield Wall is active as the Byzantines.",null,200,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"shields\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"shields\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"shields\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"shields\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitystatemodelbool\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":{\"statemodel_bool_property\":\"spearman_shield_wall_byz\",\"value\":true}}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_122\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144931,-1,-1,0],[1607002,1464934,"a116_civ_byz","","Let There Be Fire","Destroy 50 buildings with Cheirosiphons as the Byzantines.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"name\":\"destroy_with_cheiro\",\"type\":\"uncomplete_counter\"},{\"op\":\"Set\",\"name\":\"destroy_with_cheiro\",\"amount\":0,\"type\":\"change_named_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"destroy_with_cheiro\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"destroy_with_cheiro\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"ram_greek_fire\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_123\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144932,-1,-1,0],[1607004,1464934,"a117_civ_byz","","Overflow","Build 10 Cisterns in a single match as the Byzantines.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"construct_cistern\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"construct_cistern\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"construct_cistern\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":2104734}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144933,-1,-1,0],[1607006,1464934,"a118_civ_byz","","Let It Flow","Accrue 2,000 Olive Oil in a single match as the Byzantines.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"gather_oil\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gather_oil\"},{\"type\":\"constant\",\"value\":2000}]}},\"enabled\":true,\"name\":\"gather_oil\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"merc_byz\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2144934,-1,-1,0],[1607148,1535075,"mastery_japanese_10","","Give Strength","Use the Conversion ability with a Buddhist Monk and inspire 10 of your nearby units.","Inspired allies will have increased damage for a short time.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"inspire\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"inspire\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"inspire\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"BuddhistConvertBuff\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1601835,1453,1000],[1607213,1535075,"mastery_japanese_14","","Iron Rations","Defeat 20 enemy units with Ozutsu.","The Tanegashima Gunsmith Landmark produces Ozutsu units.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_with_ozutsu\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_with_ozutsu\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"kill_with_ozutsu\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":135497}]},{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2143839},{\"type\":\"constant\",\"value\":2124339}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,1608271,1457,1000],[1608271,1535075,"mastery_japanese_15","","Japanese Master","Win 10 games as the Japanese.","Win ten games in any type of match including campaign.",10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_game\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"automatch_vs_players\":true,\"automatch_vs_ai\":true,\"_1_vs_1\":true,\"_2_vs_2\":true,\"_3_vs_3\":true,\"_4_vs_4\":true,\"vs_easy_ai\":true,\"vs_normal_ai\":true,\"vs_hard_ai\":true,\"vs_expert_ai\":true,\"automatch_ranked\":true,\"automatch_unranked\":true,\"singleplayer\":true,\"multiplayer\":true,\"skirmish\":true,\"campaign\":true,\"custom\":true,\"ffa4\":true,\"ffa8\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1458,1000],[1610279,1464934,"a127_cpg_abb","","The Sultans","Complete The Sultans Ascend campaign.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527717},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527719},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527721},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527723},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527725},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527727},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527729},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527731},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145095,-1,-1,0],[1610313,1464934,"a128_cpg_abb","","Master Naval Trader","Have 20 Trade Ships trading simultaneously during the Raiders of the Red Sea.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"20_active_trade_ships\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"20_active_trade_ships\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"20_active_trade_ships\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievActiveTradersRedSea\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m3_redsea\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145096,-1,-1,0],[1610317,1464934,"a129_cpg_abb","","In the Lead by a Quarter Nile","Capture all Control Points during Into Egypt.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"capture_all_points\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"capture_all_points\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"capture_all_points\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievAllControlPointsIntoEgypt\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m2_egypt\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145097,-1,-1,0],[1610319,1464934,"a130_cpg_abb","","Saving the Day Early","Eliminate all 3 enemy leaders within 30 seconds of each other during the Battle of Mansurah.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"kill_all_leaders\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_all_leaders\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"kill_all_leaders\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievKillLeadersMansurah\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m5_mansurah\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145098,-1,-1,0],[1610351,1464934,"a131_cpg_abb","","Rescue","Rescue all the prisoners during the Invasion of Cyprus.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"rescue_prisoners\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"rescue_prisoners\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"rescue_prisoners\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievRescuePrisonersCyprus\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"map\"},{\"type\":\"constant\",\"value\":\"abb_m8_cyprus\"}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145099,-1,-1,0],[1621834,1464934,"a119_civ_jpn","","A First for the Emperor","Win a match as the Japanese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win_japanese\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win_japanese\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145523,-1,-1,0],[1621926,1464934,"a120_civ_jpn","","Established Lands","Win 20 matches as the Japanese.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"win20japanese\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"win20japanese\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"win20japanese\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"win20japanese\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_127\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145524,-1,-1,0],[1621944,1464934,"a121_civ_jpn","","Protecting Us","Heal 20 units using Shinto Priest units in a single match as the Japanese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"shinto_heal\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"shinto_heal\"},{\"type\":\"constant\",\"value\":20}]}},\"enabled\":true,\"name\":\"shinto_heal\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2124341}]},{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":156535}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145525,-1,-1,0],[1623079,1464934,"a122_civ_jpn","","Daimyo Mastery","Spend Stone to research all Town Center upgrades as the Japanese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"upgrade02\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgrade01\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade01\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"upgrade01\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2126951}]}}]},{\"completeRule\":{\"actions\":[{\"enabled\":true,\"name\":\"upgrade03\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"upgrade02\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade02\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"upgrade02\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2122005}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"upgrade03\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrade03\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":false,\"name\":\"upgrade03\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":2122006}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145529,-1,-1,0],[1623127,1464934,"a123_civ_jpn","","Exchange Rates","Convert Stone to Gold at a Forge 250 times in a single match as the Japanese.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"convert_gold\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"convert_gold\"},{\"type\":\"constant\",\"value\":250}]}},\"enabled\":true,\"name\":\"convert_gold\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"JpnAchieveTurnStoneToGold\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145545,-1,-1,0],[1623369,1464934,"a124_civ_jpn","","Shinobi Mastermind","Use Sabotage to disable 50 buildings with Shinobi units as the Japanese.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"sabotage_buildings\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"sabotage_buildings\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"sabotage_buildings\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"sabotage_buildings\",\"trackingEvent\":\"AbilityComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":2127420}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_131\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145548,-1,-1,0],[1623477,1464934,"a125_civ_jpn","","Gunpowder Mastery","Defeat 50 siege units using Ozutsu units as the Japanese.",null,50,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"kill_siege\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"kill_siege\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"kill_siege\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"kill_siege\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":2124339},{\"type\":\"constant\",\"value\":2143839}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"siege\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_132\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145551,-1,-1,0],[1623509,1464934,"a126_civ_jpn","","Successful Gatherer","Enhance 10 resource drop-off buildings by depositing a Yorishiro as the Japanese.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"op\":\"Set\",\"name\":\"buff_dropoff\",\"amount\":0,\"type\":\"change_named_counter\"},{\"name\":\"buff_dropoff\",\"type\":\"uncomplete_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"buff_dropoff\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"buff_dropoff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"ShintoSacredBuffDropoff\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"stat_133\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2109886}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",2145553,-1,-1,0],[1637965,1470871,"cpg_complete_abbasid","","Sultans Ascend Campaign Completion",null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527717},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527719},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527721},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527723},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527725},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527727},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527729},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527731},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1468,0],[1660524,1470871,"cpg_chapter02_complete_abbasid","","Sultans Ascend Chapter 2 Completion","Complete Chapter 2 of the Sultans Ascend - Egypt, Red Sea, and Hattin",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527719},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527721},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527723},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1472,0],[1660526,1470871,"cpg_chapter03_complete_abbasid","","Sultans Ascend Chapter 3 Completion","Complete Chapter 3 of the Sultans Ascend - Mansurah, Ayn Jalut, and Acre",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527725},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527727},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527729},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1473,0],[1683344,1674374,"event_civ_maphighview_mp_hre","","Don't Get Caught","Win a Multiplayer match on the map High View against the Holy Roman Empire.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"winhre\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"generatedmap\"},{\"type\":\"constant\",\"value\":\"highview\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"enemyraceid\"},{\"type\":\"constant\",\"value\":134522}]},{\"op\":\"not\",\"values\":[{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":52},{\"type\":\"constant\",\"value\":55}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1383,750],[1687650,1470871,"cpg_chapter01_complete_abbasid","","Sultans Ascend Chapter 1 Completion","Complete Chapter 1 of the Sultans Ascend - Tyre",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527717},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1479,0],[1687652,1470871,"cpg_chapter04_complete_abbasid","","Sultans Ascend Chapter 4 Completion","Complete Chapter 4 of the Sultans Ascend - Cyprus",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"challengeprogressstatus\",\"value\":1527731},{\"type\":\"constant\",\"value\":\"PS_Completed\"}]}]}},\"enabled\":true,\"name\":\"\",\"trackingEvent\":\"Win\",\"triggerRules\":[]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"none\"},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1480,0],[1705560,1513876,"event_win_3_skmp","","Year of the Dragon","Win 3 Skirmish or Multiplayer matches.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"number_of_wins\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,500],[1705562,1531872,"event_misc_build1wonder_skmp","",null,null,null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"wonderbuilt\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"and\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"wonderbuilt\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"wonderbuilt\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"wonder\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,-1,500],[1705644,1705559,"lunarfaire_2024_build1wonder_skmp","","Bi Xi","Build a wonder in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"wonderbuilt\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"wonder_imperial_age\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1497,500],[1705648,1705559,"lunarfaire_2024_win_3_skmp","","Year of the Dragon","Win 3 Skirmish or Multiplayer matches.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"number_of_wins\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1498,500],[1705650,1705559,"lunarfaire_2024_prod20tradeship_skmp","","Rain Drop","Build 20 Trade Ships in Skirmish or Multiplayer matches.",null,20,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"tradeshipsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":196631}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1499,250],[1705652,1705559,"lunarfaire_2024_build9econ_skmp","","Lantern","Build 9 non-landmark Economic buildings in Skirmish or Multiplayer matches.",null,9,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"econbuilding\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"economy_building\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1500,250],[1705654,1705559,"lunarfaire_2024_novillslostbyagex","","Nian","Reach Castle Age(III) without losing a villager in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"age_3\",\"type\":\"toggle_counter\"},{\"enabled\":false,\"name\":\"villslost\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villslost\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"villslost\",\"trackingEvent\":\"SquadDied\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":120915}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"not\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"villslost\"},{\"type\":\"constant\",\"value\":1}]}],\"values\":[{\"type\":\"counter\",\"value\":\"version\"}]}},\"enabled\":true,\"name\":\"age_3\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":108172},{\"type\":\"constant\",\"value\":2025667}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1501,1000],[1705656,1705559,"lunarfaire_2024_prod3scouts_skmp","","Dragon Eye","Produce 3 Scouts in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"scoutsmade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"scoutsmade\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"scoutsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"scout\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1502,250],[1705658,1705559,"lunarfaire_2024_prod33siege_skmp","","Dragon in the Clouds","Produce 33 Siege Engines in Skirmish or Multiplayer matches.",null,33,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":false,\"name\":\"siegemade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"siege\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"siegemade\",\"trackingEvent\":\"SquadSpawn\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"siege\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1503,250],[1705660,1705559,"lunarfaire_2024_800fish_skmp","","Koi Border","Gather fish with ships 80 times in Skirmish or Multiplayer matches.",null,80,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"naval_fishing_ship\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1504,500],[1705662,1705559,"lunarfaire_2024_prod81traders_skmp","","Scale Pattern","Produce 81 traders in Skirmish or Multiplayer matches.",null,81,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"tradeshipsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1505,250],[1705664,1705559,"lunarfaire_2024_3000goldtrade_skmp","","Scale Shape","Perform 300 trades with Traders in Skirmish or Multiplayer matches.",null,300,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1506,500],[1705666,1705559,"lunarfaire_2024_2sacredvic_skmp","","Dragon","Win 2 Sacred Victories in Skirmish or Multiplayer matches.",null,2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1507,1000],[1705861,1705863,"womensweek_2024_build10keeps_skmp","","Everlasting","Build 10 Keeps in a single Multiplayer or Skirmish match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"enabled\":false,\"name\":\"build_keep\",\"type\":\"toggle_counter\"},{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"build_keep\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"build_keep\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":120888}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1508,1000],[1705864,1705863,"womensweek_2024_prod100palaceguard_skmp","","Each 1, Worth 100","Produce 100 Palace Guards in Multiplayer or Skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"palace_guard_spawned\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":137571},{\"type\":\"constant\",\"value\":137572},{\"type\":\"constant\",\"value\":2138265},{\"type\":\"constant\",\"value\":2654478},{\"type\":\"constant\",\"value\":7363634}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1509,500],[1705916,1705863,"womensweek_2024_signal40_skmp","","On My Signal","Affect 40 units with a single signal arrow in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"signal_arrow_buff_on\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"name\":\"complete_all\",\"amount\":1,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonSignalArrowActivate\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"signal_arrow_buff_off\",\"trackingEvent\":\"AbilityExecuted\",\"triggerRules\":[{\"actions\":[{\"op\":\"Set\",\"name\":\"complete_all\",\"amount\":0,\"type\":\"change_named_counter\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"abilitytype\"},{\"type\":\"constant\",\"value\":168622},{\"type\":\"constant\",\"value\":168628},{\"type\":\"constant\",\"value\":168567}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"complete_all\"},{\"type\":\"constant\",\"value\":40}]}},\"enabled\":true,\"name\":\"complete_all\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_starting\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":false,\"name\":\"signal_arrow_buff_on\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsStarting\"}]}}]},{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"none\"}},\"enabled\":true,\"name\":\"cine_is_ending\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"enabled\":true,\"name\":\"signal_arrow_buff_on\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"AchievCineIsEnding\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1510,750],[1723777,1725276,"template_prodsquads_singleskmp","","Dragon Eye","Produce 3 Scouts in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"scoutsmade\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"scoutsmade\"},{\"type\":\"constant\",\"value\":3}]}},\"enabled\":true,\"name\":\"scoutsmade\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"scout\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1502,250],[1723779,1725276,"template_prodsquads_multiskmp","","Each 1, Worth 100","Produce 100 Palace Guards in Multiplayer or Skirmish matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"palace_guard_spawned\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"entitytype\",\"value\":\"Spawnee\"},{\"type\":\"constant\",\"value\":137571},{\"type\":\"constant\",\"value\":137572},{\"type\":\"constant\",\"value\":2138265},{\"type\":\"constant\",\"value\":2654478},{\"type\":\"constant\",\"value\":7363634}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1509,500],[1725272,1725276,"template_buildentity_bytype_multiskmp","","Lantern","Build 9 non-landmark Economic buildings in Skirmish or Multiplayer matches.",null,9,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"eventbuilding\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"economy_building\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1500,250],[1725274,1725276,"template_turninresource_multiskmp","","Scale Shape","Perform 300 trades with Traders in Skirmish or Multiplayer matches.",null,300,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1506,500],[1725277,1725276,"template_winsbytype_multiskmp","","Dragon","Win 2 Sacred Victories in Skirmish or Multiplayer matches.",null,2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"winreason\"},{\"type\":\"constant\",\"value\":\"Religious\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1507,1000],[1725279,1725276,"template_matchesbytype_multiskmp","","Dragon","Win 2 Sacred Victories in Skirmish or Multiplayer matches.",null,2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"play_game\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":0}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1507,1000],[1725281,1725276,"template_upgrades_bytype_multiskmp","","Lantern","Build 9 non-landmark Economic buildings in Skirmish or Multiplayer matches.",null,2,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"upgrades_tracked\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"},{\"enabled\":false,\"name\":\"upgrades_tracked\",\"type\":\"toggle_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":188122}]},{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":188268}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1500,250],[1725284,1725283,"springtournie_2024_playranked_mp","","A Banner Day","Play 3 Skirmish or Multiplayer matches.",null,3,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"play_game\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":0}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1516,1000],[1725406,1725283,"springtournie_2024_winagame_skmp","","Winners All","Win a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"win_game\",\"trackingEvent\":\"Win\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1521,1000],[1725408,1725283,"springtournie_2024_prodknights_skmp","","Chivalry","Produce 300 Knights in Skirmish or Multiplayer matches.",null,300,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"knights_produced\",\"trackingEvent\":\"BuildItemComplete\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"knight\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1520,500],[1725410,1725283,"springtournie_2024_armorupgrades_multiskmp","","Armored Up","Complete all armor upgrades at the blacksmith in a Skirmish or Multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"upgrades_tracked\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":188122}]}},{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"upgradetype\"},{\"type\":\"constant\",\"value\":188268}]}},{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"upgrades_tracked\"},{\"type\":\"constant\",\"value\":2}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1522,250],[1725412,1725283,"springtournie_2024_stonemines_multiskmp","","Diamonds","Build 10 Mining Camps in Skirmish or Multiplayer matches.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"eventbuilding\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"stone_mining_camp\"},{\"type\":\"constant\",\"value\":\"ger\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true,\"custom\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1523,250],[1725414,1725283,"springtournie_2024_berrypicking_multiskmp","","Roses","Harvest food from berries 100 times in Skirmish or Multiplayer matches.",null,100,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"gettingfish\",\"trackingEvent\":\"ResourceGathererAtCapacity\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"unitrole\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"gather_berries\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1524,500],[1725416,1725276,"template_killwithsquadbytype_multiskmp","","Each 1, Worth 100","Produce 100 Palace Guards in Multiplayer or Skirmish matches.",null,250,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"palace_guard_spawned\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"military\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"squadtypeextsquadtype\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"cavalry\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1509,500],[1725448,1725283,"springtournie_2024_eliminatewithinfantry_multiskmp","","Melee","Eliminate 250 enemy military units with melee infantry in Skirmish or Multiplayer matches.",null,250,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"melee_infantry_kills\",\"trackingEvent\":\"EntityKilled\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Target\"},{\"type\":\"constant\",\"value\":\"military\"}]},{\"op\":\"in\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"melee_infantry\"},{\"type\":\"constant\",\"value\":\"light_melee_infantry\"},{\"type\":\"constant\",\"value\":\"shaolin_monk\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,1525,500],[5005048,5005071,"summersights_2024_build60farms_skmp","","Fields of Plenty.","Build 60 farms in skirmish or multiplayer matches.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"farms_build\"},{\"type\":\"constant\",\"value\":60}]}},\"enabled\":true,\"name\":\"farms_build\",\"trackingEvent\":\"EntityBuild\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Standard\"},{\"type\":\"constant\",\"value\":\"farm\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,5005064,1000],[5005049,5005071,"summersights_2024_earn1000gold_skmp","","Hoarder","Earn 1000 gold using traders in a skirmish or multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"gold_gained_trade\"},{\"type\":\"constant\",\"value\":1000}]}},\"enabled\":true,\"name\":\"gold_gained_trade\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"trade_cart\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"gold\"}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,5005066,1000],[5005050,5005071,"summersights_2024_have4000food_skmp","","Summer Harvest.","Have at least 4000 food in a skirmish or multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"resource_gain\"},{\"type\":\"constant\",\"value\":4000}]}},\"enabled\":true,\"name\":\"resource_gain\",\"trackingEvent\":\"ResourceProduced\",\"triggerRules\":[{\"actions\":[{\"op\":\"Add\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"resourcetype\"},{\"type\":\"constant\",\"value\":\"food\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,5005062,1000],[5005051,5005071,"summersights_2024_reach200pop_skmp","","Everyone\u2019s Invited.","Reach a population of 200 in a skirmish or multiplayer match.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"reach_population\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"reach_population\",\"trackingEvent\":\"PlayerAddEntity\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"population\",\"value\":\"PersonnelPop\"},{\"type\":\"constant\",\"value\":200}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,5005065,1000],[5005096,5005077,"mapmonsters_2024_befirsttodiscoverwildman_skmp","","Wildman Sighting","Be the first to discover the wild man in a skirmish or multiplayer match.","Monsters can be found in the Map Monsters game mode. Send your villagers and boats to search for them to collect their bounty.",1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"grantbuff\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"grantbuff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonsterGrantBuffLand\"}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"grantbuff\"},{\"type\":\"constant\",\"value\":1}]}},\"enabled\":true,\"name\":\"grantbuff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"eq\",\"requirements\":[{\"op\":\"and\"}],\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonsterGrantBuffLand\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":0}}}",-1,-1,2002,1000],[5005097,5005077,"mapmonsters_2024_earn4seamonsterboons_skmp","","Fishing for Compliments","Earn the Sea Monster\u2019s boon 4 times.","Monsters can be found in the Map Monsters game mode. Send your villagers and boats to search for them to collect their bounty.",4,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"grantbuff\",\"trackingEvent\":\"CustomEvent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"eq\",\"values\":[{\"type\":\"customevent\"},{\"type\":\"constant\",\"value\":\"MonsterGrantBuffSea\"}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"not\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeid\"},{\"type\":\"constant\",\"value\":17},{\"type\":\"constant\",\"value\":-2},{\"type\":\"constant\",\"value\":18},{\"type\":\"constant\",\"value\":55}]}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2006,1000],[5005098,5005077,"mapmonsters_2024_fullyupgradedock_skmp","","Ship Shape","Fully upgrade your dock technology.",null,1,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"values\":[{\"type\":\"clientcounter\",\"value\":\"core_dock\"},{\"type\":\"constant\",\"value\":12}]}},\"enabled\":true,\"name\":\"core_dock\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"trade_dock\"}]},{\"op\":\"none\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393},{\"type\":\"constant\",\"value\":2101234},{\"type\":\"constant\",\"value\":136150}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]}],\"values\":[{\"type\":\"clientcounter\",\"value\":\"byz_dock\"},{\"type\":\"constant\",\"value\":10}]}},\"enabled\":true,\"name\":\"byz_dock\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"trade_dock\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2101234}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]}],\"values\":[{\"type\":\"clientcounter\",\"value\":\"mal_dock\"},{\"type\":\"constant\",\"value\":13}]}},\"enabled\":true,\"name\":\"mal_dock\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"trade_dock\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":2058393}]}]}}]},{\"completeRule\":{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"gte\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]}],\"values\":[{\"type\":\"clientcounter\",\"value\":\"delhi_dock\"},{\"type\":\"constant\",\"value\":11}]}},\"enabled\":true,\"name\":\"delhi_dock\",\"trackingEvent\":\"Upgraded\",\"triggerRules\":[{\"actions\":[{\"op\":\"Increment\",\"type\":\"change_counter\"}],\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"typeextunitclass\",\"value\":\"Source\"},{\"type\":\"constant\",\"value\":\"trade_dock\"}]},{\"op\":\"eq\",\"values\":[{\"type\":\"raceid\"},{\"type\":\"constant\",\"value\":136150}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]},{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2004,1000],[5005099,5005077,"mapmonsters_2024_play5games_skmp","","Better Together","Complete 5 team games in skirmish or multiplayer.",null,5,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"play_game\",\"trackingEvent\":\"WinOrLose\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"or\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":1}]},{\"op\":\"eq\",\"values\":[{\"type\":\"result\"},{\"type\":\"constant\",\"value\":0}]}]}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"and\",\"requirements\":[{\"op\":\"gte\",\"values\":[{\"type\":\"playercounttotal\"},{\"type\":\"constant\",\"value\":3}]},{\"op\":\"gte\",\"values\":[{\"type\":\"teamsize\"},{\"type\":\"constant\",\"value\":2}]},{\"op\":\"gte\",\"values\":[{\"type\":\"totalteams\"},{\"type\":\"constant\",\"value\":2}]}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2007,1000],[5005100,5005077,"mapmonsters_2024_trade10timesdiplomacy_skmp","","Street Party","Trade with another player 10 times using the diplomacy menu.",null,10,"{\"awardSource\":1,\"clientCounters\":[{\"completeRule\":{\"actions\":[],\"requirement\":{\"op\":\"and\"}},\"enabled\":true,\"name\":\"tribute_sent\",\"trackingEvent\":\"TributeSent\",\"triggerRules\":[{\"actions\":[{\"type\":\"complete_challenge\"}],\"requirement\":{\"op\":\"and\"}}]}],\"counterVersion\":4,\"platformStatKey\":\"\",\"requirement\":{\"op\":\"and\",\"requirements\":[{\"op\":\"eq\",\"values\":[{\"type\":\"activeugccount\"},{\"type\":\"constant\",\"value\":0}]},{\"op\":\"in\",\"values\":[{\"type\":\"matchtypeflags\"},{\"type\":\"constant\",\"value\":{\"mode\":\"any\",\"flags\":{\"multiplayer\":true,\"skirmish\":true}}}]}]},\"tags\":[],\"updateRule\":{\"updateType\":\"delta\",\"value\":{\"type\":\"constant\",\"value\":1}}}",-1,-1,2003,1000]],"IioWiGWvynY2M/cv9zoV6Lpdq8BDnuXqySvAvxT0uNGWRr2j+MpyoZPB0O4NOX1vpXPQiXbK6I5tb7d1DHxBYe8tJdcfDrA5tYEKG+nJRGqITsHoASx+Ilox8C6sbTRNlTZ9zC35KiDolrmcZmULGFdYwqFvU+MR2TneuT/DHY0XyVTGnH0JKJ/otK7jU/R+FMX50dxtp7catLIt7rJsbuKoTS9Ux9nKAXR9aQL1YtyDcf5LHXoovSM/4XH/pCiPNrJ9BGBGkAiMn3TLhfiXiZSBlE160COakgGo4OIBCpx4TXQjPiKJDh4SSh7EruICgoc6pI1FiqUbCs0LlOXz4g=="] \ No newline at end of file diff --git a/server/resources/responses/age4/itemBundleItems.json b/server/resources/responses/age4/itemBundleItems.json new file mode 100644 index 00000000..dfc26ec9 --- /dev/null +++ b/server/resources/responses/age4/itemBundleItems.json @@ -0,0 +1 @@ +{"result":0,"itemBundles":[{"itemBundleID":"907","items":[{"id":1412,"definitionID":452388,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"908","items":[{"id":1414,"definitionID":453131,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"909","items":[{"id":1416,"definitionID":452389,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1341","items":[{"id":564,"definitionID":457342,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1340","items":[{"id":563,"definitionID":457340,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1338","items":[{"id":556,"definitionID":457339,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1337","items":[{"id":555,"definitionID":457338,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1458","items":[{"id":1469,"definitionID":457939,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1470,"definitionID":457999,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1336","items":[{"id":554,"definitionID":456785,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1457","items":[{"id":1468,"definitionID":457938,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1335","items":[{"id":553,"definitionID":457337,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1456","items":[{"id":1466,"definitionID":457937,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1334","items":[{"id":545,"definitionID":457336,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1455","items":[{"id":1463,"definitionID":458020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1464,"definitionID":457936,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1333","items":[{"id":544,"definitionID":456786,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1454","items":[{"id":1460,"definitionID":457935,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1461,"definitionID":457998,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1453","items":[{"id":1458,"definitionID":457934,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1331","items":[{"id":1297,"definitionID":454662,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1298,"definitionID":454341,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1299,"definitionID":456303,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1300,"definitionID":454687,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1301,"definitionID":454686,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1302,"definitionID":454688,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1303,"definitionID":454685,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1452","items":[{"id":1456,"definitionID":457933,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"910","items":[{"id":1417,"definitionID":452637,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"911","items":[{"id":1415,"definitionID":452390,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"912","items":[{"id":1418,"definitionID":452391,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1419,"definitionID":453132,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"913","items":[{"id":1420,"definitionID":452392,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1421,"definitionID":453110,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"914","items":[{"id":1423,"definitionID":452393,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"915","items":[{"id":1425,"definitionID":452394,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"916","items":[{"id":1427,"definitionID":451935,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1428,"definitionID":453133,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"917","items":[{"id":1484,"definitionID":452405,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1339","items":[{"id":557,"definitionID":457345,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"918","items":[{"id":1486,"definitionID":452642,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"919","items":[{"id":1487,"definitionID":452406,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1110","items":[{"id":124,"definitionID":454208,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1231","items":[{"id":470,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":471,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":472,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":473,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":474,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":475,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":476,"definitionID":454730,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":477,"definitionID":454740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1473","items":[{"id":1325,"definitionID":458025,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1230","items":[{"id":486,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":487,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":488,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":489,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":490,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":491,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":492,"definitionID":454729,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":493,"definitionID":454739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1351","items":[{"id":664,"definitionID":457561,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1472","items":[{"id":1324,"definitionID":458024,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1350","items":[{"id":663,"definitionID":457560,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1107","items":[{"id":121,"definitionID":454204,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1228","items":[{"id":494,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":495,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":496,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":497,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":498,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":499,"definitionID":454727,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1106","items":[{"id":120,"definitionID":454193,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1227","items":[{"id":458,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":459,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":460,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":461,"definitionID":454726,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1348","items":[{"id":551,"definitionID":457348,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1226","items":[{"id":222,"definitionID":454696,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1347","items":[{"id":552,"definitionID":457449,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1468","items":[{"id":1327,"definitionID":457997,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1225","items":[{"id":211,"definitionID":454705,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":212,"definitionID":454706,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1346","items":[{"id":549,"definitionID":456787,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1224","items":[{"id":209,"definitionID":454703,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":210,"definitionID":454704,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1345","items":[{"id":548,"definitionID":457347,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1223","items":[{"id":207,"definitionID":454701,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":208,"definitionID":454702,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1344","items":[{"id":547,"definitionID":457346,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1222","items":[{"id":205,"definitionID":454699,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":206,"definitionID":454700,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1343","items":[{"id":546,"definitionID":457343,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"920","items":[{"id":1490,"definitionID":452407,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1221","items":[{"id":203,"definitionID":454697,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":204,"definitionID":454698,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1342","items":[{"id":565,"definitionID":457341,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"921","items":[{"id":1492,"definitionID":451944,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"922","items":[{"id":1495,"definitionID":452408,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"923","items":[{"id":1498,"definitionID":453137,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"924","items":[{"id":1499,"definitionID":452409,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"925","items":[{"id":1489,"definitionID":452638,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"926","items":[{"id":1491,"definitionID":452410,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"927","items":[{"id":1493,"definitionID":452411,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1494,"definitionID":453138,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1109","items":[{"id":123,"definitionID":454194,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"928","items":[{"id":1496,"definitionID":452412,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1497,"definitionID":452506,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1108","items":[{"id":122,"definitionID":454207,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1229","items":[{"id":478,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":479,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":480,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":481,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":482,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":483,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":484,"definitionID":454728,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":485,"definitionID":454738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"929","items":[{"id":1500,"definitionID":452559,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1000","items":[{"id":1331,"definitionID":453073,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1121","items":[{"id":135,"definitionID":454197,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1242","items":[{"id":223,"definitionID":454892,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1363","items":[{"id":550,"definitionID":457618,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1120","items":[{"id":134,"definitionID":454227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1362","items":[{"id":543,"definitionID":457619,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1480","items":[{"id":1326,"definitionID":458026,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1118","items":[{"id":132,"definitionID":454196,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1117","items":[{"id":131,"definitionID":454224,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1238","items":[{"id":504,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":505,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":506,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":507,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":508,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":509,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":510,"definitionID":454737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":511,"definitionID":454742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1359","items":[{"id":654,"definitionID":457615,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1116","items":[{"id":130,"definitionID":454211,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1237","items":[{"id":512,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":513,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":514,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":515,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":516,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":517,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":518,"definitionID":454736,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":519,"definitionID":454742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1358","items":[{"id":667,"definitionID":457581,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1479","items":[{"id":1323,"definitionID":458023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1115","items":[{"id":129,"definitionID":454210,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1236","items":[{"id":528,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":529,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":530,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":531,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":532,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":533,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":534,"definitionID":454735,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":535,"definitionID":454742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1357","items":[{"id":666,"definitionID":457580,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1114","items":[{"id":128,"definitionID":454195,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1235","items":[{"id":520,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":521,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":522,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":523,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":524,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":525,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":526,"definitionID":454734,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":527,"definitionID":454742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1356","items":[{"id":665,"definitionID":457579,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1113","items":[{"id":127,"definitionID":454205,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1234","items":[{"id":536,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":537,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":538,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":539,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":540,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":541,"definitionID":454733,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":542,"definitionID":454742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"930","items":[{"id":1501,"definitionID":452414,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1112","items":[{"id":126,"definitionID":454209,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1233","items":[{"id":500,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":501,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":502,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":503,"definitionID":454732,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"931","items":[{"id":1502,"definitionID":453102,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1503,"definitionID":453139,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1111","items":[{"id":125,"definitionID":454223,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1232","items":[{"id":462,"definitionID":454720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":463,"definitionID":454721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":464,"definitionID":454722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":465,"definitionID":454723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":466,"definitionID":454724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":467,"definitionID":454725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":468,"definitionID":454731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":469,"definitionID":454741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"932","items":[{"id":18,"definitionID":452415,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"933","items":[{"id":19,"definitionID":451936,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"934","items":[{"id":20,"definitionID":452416,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"935","items":[{"id":21,"definitionID":452417,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"936","items":[{"id":22,"definitionID":451940,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"937","items":[{"id":23,"definitionID":452418,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"938","items":[{"id":24,"definitionID":453140,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"939","items":[{"id":25,"definitionID":452419,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1119","items":[{"id":133,"definitionID":454212,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1011","items":[{"id":1332,"definitionID":453068,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1132","items":[{"id":156,"definitionID":454221,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":157,"definitionID":454231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":158,"definitionID":454203,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":159,"definitionID":454202,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":160,"definitionID":454201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":161,"definitionID":454226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":162,"definitionID":454225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":163,"definitionID":454206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1253","items":[{"id":437,"definitionID":454972,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":438,"definitionID":454973,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1374","items":[{"id":614,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":615,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":616,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":617,"definitionID":457730,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":618,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":619,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":620,"definitionID":457731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":621,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2100","items":[{"id":1129,"definitionID":6005209,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1130,"definitionID":6005199,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1131,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1132,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1133,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1134,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1135,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1136,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1010","items":[{"id":1328,"definitionID":453067,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1131","items":[{"id":148,"definitionID":454222,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":149,"definitionID":454232,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":150,"definitionID":454203,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":151,"definitionID":454202,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":152,"definitionID":454201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":153,"definitionID":454226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":154,"definitionID":454225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":155,"definitionID":454206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1373","items":[{"id":609,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":610,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":611,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":612,"definitionID":457725,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":613,"definitionID":457731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1130","items":[{"id":144,"definitionID":454206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":145,"definitionID":454225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":146,"definitionID":454201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":147,"definitionID":454217,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1372","items":[{"id":603,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":604,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":605,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":606,"definitionID":457720,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":607,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":608,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1371","items":[{"id":595,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":596,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":597,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":598,"definitionID":457722,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":599,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":600,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":601,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":602,"definitionID":457716,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1370","items":[{"id":587,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":588,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":589,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":590,"definitionID":457721,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":591,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":592,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":593,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":594,"definitionID":457715,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1008","items":[{"id":1336,"definitionID":453079,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1129","items":[{"id":143,"definitionID":454216,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1007","items":[{"id":1348,"definitionID":453078,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1128","items":[{"id":142,"definitionID":454200,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1006","items":[{"id":1345,"definitionID":453077,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1346,"definitionID":453118,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1127","items":[{"id":141,"definitionID":454215,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1369","items":[{"id":579,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":580,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":581,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":582,"definitionID":457723,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":583,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":584,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":585,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":586,"definitionID":457717,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1005","items":[{"id":1342,"definitionID":453076,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1343,"definitionID":453123,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1126","items":[{"id":140,"definitionID":454199,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1247","items":[{"id":217,"definitionID":454897,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1368","items":[{"id":571,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":572,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":573,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":574,"definitionID":457724,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":575,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":576,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":577,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":578,"definitionID":457718,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1004","items":[{"id":1341,"definitionID":453075,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1125","items":[{"id":139,"definitionID":454228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1246","items":[{"id":216,"definitionID":454896,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1367","items":[{"id":567,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":568,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":569,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":570,"definitionID":457719,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"940","items":[{"id":26,"definitionID":452648,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1003","items":[{"id":1337,"definitionID":451945,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1124","items":[{"id":138,"definitionID":454214,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1245","items":[{"id":215,"definitionID":454895,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1366","items":[{"id":656,"definitionID":457622,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"941","items":[{"id":27,"definitionID":452420,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1002","items":[{"id":1335,"definitionID":453074,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1123","items":[{"id":137,"definitionID":454198,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1244","items":[{"id":214,"definitionID":454894,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"942","items":[{"id":28,"definitionID":452421,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":29,"definitionID":453141,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1001","items":[{"id":1333,"definitionID":453122,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1122","items":[{"id":136,"definitionID":454213,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1243","items":[{"id":213,"definitionID":454893,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1364","items":[{"id":655,"definitionID":457620,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"943","items":[{"id":30,"definitionID":452422,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":31,"definitionID":453116,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"944","items":[{"id":32,"definitionID":452423,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"945","items":[{"id":33,"definitionID":452424,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"946","items":[{"id":34,"definitionID":452507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":35,"definitionID":453142,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"947","items":[{"id":1352,"definitionID":452435,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"948","items":[{"id":1354,"definitionID":452643,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"949","items":[{"id":1356,"definitionID":452436,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1009","items":[{"id":1338,"definitionID":453119,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1339,"definitionID":453124,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005044","items":[{"id":951,"definitionID":5005032,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":952,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":953,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":954,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":955,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":956,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":957,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005045","items":[{"id":958,"definitionID":5005033,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":959,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":960,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":961,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":962,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":963,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":964,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005046","items":[{"id":965,"definitionID":5005034,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":966,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":967,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":968,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":969,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":970,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":971,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005047","items":[{"id":972,"definitionID":5005035,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":973,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":974,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":975,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":976,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":977,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1143","items":[{"id":1465,"definitionID":454283,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1264","items":[{"id":430,"definitionID":454955,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1385","items":[{"id":661,"definitionID":458034,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2111","items":[{"id":1222,"definitionID":6005215,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1223,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1224,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1225,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1226,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1227,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1228,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1142","items":[{"id":1462,"definitionID":454263,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1384","items":[{"id":660,"definitionID":457659,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2110","items":[{"id":1219,"definitionID":6005214,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1220,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1221,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1141","items":[{"id":1485,"definitionID":454252,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1262","items":[{"id":455,"definitionID":454991,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":456,"definitionID":454990,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1383","items":[{"id":659,"definitionID":457658,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1140","items":[{"id":1483,"definitionID":454281,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1261","items":[{"id":453,"definitionID":454989,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":454,"definitionID":454988,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1260","items":[{"id":451,"definitionID":454987,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":452,"definitionID":454986,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1380","items":[{"id":658,"definitionID":457656,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2108","items":[{"id":1107,"definitionID":6005212,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1139","items":[{"id":1476,"definitionID":454278,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2107","items":[{"id":1162,"definitionID":6005204,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1163,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1164,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1165,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1166,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1167,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1168,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1138","items":[{"id":1473,"definitionID":454250,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1259","items":[{"id":449,"definitionID":454985,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":450,"definitionID":454984,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2106","items":[{"id":1169,"definitionID":6005205,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1170,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1171,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1172,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1173,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1174,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1175,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1258","items":[{"id":447,"definitionID":454983,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":448,"definitionID":454982,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1379","items":[{"id":657,"definitionID":457655,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2105","items":[{"id":1183,"definitionID":6005207,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1184,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1185,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1186,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1187,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1188,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1189,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"950","items":[{"id":1358,"definitionID":452437,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1257","items":[{"id":445,"definitionID":454981,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":446,"definitionID":454980,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1378","items":[{"id":646,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":647,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":648,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":649,"definitionID":457726,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":650,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":651,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":652,"definitionID":457731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1499","items":[{"id":776,"definitionID":458301,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2104","items":[{"id":1176,"definitionID":6005206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1177,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1178,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1179,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1180,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1181,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1182,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"951","items":[{"id":1360,"definitionID":451937,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1135","items":[{"id":180,"definitionID":454218,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":181,"definitionID":454202,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":182,"definitionID":454201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":183,"definitionID":454226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":184,"definitionID":454225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":185,"definitionID":454206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1256","items":[{"id":443,"definitionID":454979,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":444,"definitionID":454978,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1377","items":[{"id":638,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":639,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":640,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":641,"definitionID":457728,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":642,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":643,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":644,"definitionID":457731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":645,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1498","items":[{"id":779,"definitionID":458300,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2103","items":[{"id":1190,"definitionID":6005208,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1191,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1192,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1193,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1194,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"952","items":[{"id":1361,"definitionID":452438,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1013","items":[{"id":1334,"definitionID":452445,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1134","items":[{"id":172,"definitionID":454220,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":173,"definitionID":454230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":174,"definitionID":454203,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":175,"definitionID":454202,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":176,"definitionID":454201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":177,"definitionID":454226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":178,"definitionID":454225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":179,"definitionID":454206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1255","items":[{"id":441,"definitionID":454977,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":442,"definitionID":454976,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1376","items":[{"id":630,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":631,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":632,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":633,"definitionID":457727,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":634,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":635,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":636,"definitionID":457731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":637,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1497","items":[{"id":768,"definitionID":458299,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2102","items":[{"id":1159,"definitionID":6005203,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1160,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1161,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"953","items":[{"id":1363,"definitionID":453125,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1012","items":[{"id":1330,"definitionID":453069,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1133","items":[{"id":164,"definitionID":454219,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":165,"definitionID":454202,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":166,"definitionID":454201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":167,"definitionID":454226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":168,"definitionID":454225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":169,"definitionID":454206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":170,"definitionID":454203,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":171,"definitionID":454229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1254","items":[{"id":439,"definitionID":454974,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":440,"definitionID":454975,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1375","items":[{"id":622,"definitionID":457710,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":623,"definitionID":457708,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":624,"definitionID":457712,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":625,"definitionID":457729,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":626,"definitionID":457713,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":627,"definitionID":457711,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":628,"definitionID":457731,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":629,"definitionID":457714,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1496","items":[{"id":774,"definitionID":458298,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2101","items":[{"id":1121,"definitionID":6005196,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1122,"definitionID":6005198,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1123,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1124,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1125,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1126,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1127,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1128,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"954","items":[{"id":1365,"definitionID":452439,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"955","items":[{"id":1368,"definitionID":453109,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"956","items":[{"id":1371,"definitionID":452440,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"957","items":[{"id":1373,"definitionID":452441,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1374,"definitionID":453126,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"958","items":[{"id":1375,"definitionID":452442,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1376,"definitionID":451943,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005040","items":[{"id":926,"definitionID":5005028,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":927,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":928,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":929,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":930,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":931,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":932,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"959","items":[{"id":1378,"definitionID":452443,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005041","items":[{"id":933,"definitionID":5005029,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":934,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":935,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":936,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":937,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":938,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005042","items":[{"id":939,"definitionID":5005030,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":940,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":941,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":942,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":943,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2109","items":[{"id":1110,"definitionID":6005213,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005043","items":[{"id":944,"definitionID":5005031,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":945,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":946,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":947,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":948,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":949,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":950,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1033","items":[{"id":1429,"definitionID":452640,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1154","items":[{"id":2,"definitionID":454285,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1396","items":[{"id":672,"definitionID":457697,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2001","items":[{"id":1291,"definitionID":6005069,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1292,"definitionID":6005068,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1293,"definitionID":6005067,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2122","items":[{"id":1207,"definitionID":6005237,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1153","items":[{"id":1,"definitionID":454301,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1395","items":[{"id":671,"definitionID":457696,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2121","items":[{"id":1286,"definitionID":6005225,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1287,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1288,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1289,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1290,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1152","items":[{"id":1504,"definitionID":454284,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2120","items":[{"id":1279,"definitionID":6005224,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1280,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1281,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1282,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1283,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1284,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1285,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1272","items":[{"id":436,"definitionID":454962,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1393","items":[{"id":669,"definitionID":457694,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1392","items":[{"id":681,"definitionID":457693,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1270","items":[{"id":457,"definitionID":454956,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1391","items":[{"id":680,"definitionID":457583,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1390","items":[{"id":679,"definitionID":457584,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2119","items":[{"id":1272,"definitionID":6005223,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1273,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1274,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1275,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1276,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1277,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1278,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2118","items":[{"id":1265,"definitionID":6005222,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1266,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1267,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1268,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1269,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1270,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1271,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1149","items":[{"id":1480,"definitionID":454262,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2117","items":[{"id":1258,"definitionID":6005221,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1259,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1260,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1261,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1262,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1263,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1264,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"960","items":[{"id":1380,"definitionID":452444,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1148","items":[{"id":1478,"definitionID":454251,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1269","items":[{"id":435,"definitionID":454960,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2116","items":[{"id":1255,"definitionID":6005220,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1256,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1257,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"961","items":[{"id":1382,"definitionID":453105,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1383,"definitionID":453127,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1147","items":[{"id":1479,"definitionID":454256,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1268","items":[{"id":434,"definitionID":454961,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1389","items":[{"id":678,"definitionID":457582,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2115","items":[{"id":1250,"definitionID":6005219,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1251,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1252,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1253,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1254,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"962","items":[{"id":1442,"definitionID":452395,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1146","items":[{"id":1477,"definitionID":454255,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1267","items":[{"id":433,"definitionID":454959,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2114","items":[{"id":1243,"definitionID":6005218,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1244,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1245,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1246,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1247,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1248,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1249,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"842","items":[{"id":1322,"definitionID":451922,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"963","items":[{"id":1444,"definitionID":452634,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1145","items":[{"id":1474,"definitionID":454254,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1475,"definitionID":454287,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1266","items":[{"id":432,"definitionID":454958,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1387","items":[{"id":653,"definitionID":457692,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2113","items":[{"id":1236,"definitionID":6005217,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1237,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1238,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1239,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1240,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1241,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1242,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"843","items":[{"id":1321,"definitionID":451949,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"964","items":[{"id":1447,"definitionID":452396,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1144","items":[{"id":1467,"definitionID":454253,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1265","items":[{"id":431,"definitionID":454957,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1386","items":[{"id":662,"definitionID":457691,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2112","items":[{"id":1229,"definitionID":6005216,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1230,"definitionID":6005226,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1231,"definitionID":6005227,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1232,"definitionID":6005228,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1233,"definitionID":6005229,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1234,"definitionID":6005231,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1235,"definitionID":6005230,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"965","items":[{"id":1449,"definitionID":452397,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"966","items":[{"id":1451,"definitionID":451939,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"967","items":[{"id":1422,"definitionID":452398,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"968","items":[{"id":1424,"definitionID":453134,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"969","items":[{"id":1426,"definitionID":452399,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1165","items":[{"id":15,"definitionID":454300,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2012","items":[{"id":983,"definitionID":6005079,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2133","items":[{"id":1212,"definitionID":6005247,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1164","items":[{"id":14,"definitionID":454299,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2011","items":[{"id":981,"definitionID":6005078,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2132","items":[{"id":1211,"definitionID":6005248,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1163","items":[{"id":12,"definitionID":454297,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":13,"definitionID":454304,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2010","items":[{"id":979,"definitionID":6005077,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2131","items":[{"id":1215,"definitionID":6005244,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1041","items":[{"id":1309,"definitionID":453187,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0}]},{"itemBundleID":"1162","items":[{"id":10,"definitionID":454294,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":11,"definitionID":453463,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2130","items":[{"id":1214,"definitionID":6005243,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1040","items":[{"id":1313,"definitionID":453188,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0},{"id":1314,"definitionID":453114,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0},{"id":1315,"definitionID":453194,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0},{"id":1316,"definitionID":453190,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0}]},{"itemBundleID":"1161","items":[{"id":9,"definitionID":454292,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1160","items":[{"id":8,"definitionID":454303,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2009","items":[{"id":982,"definitionID":6005076,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2008","items":[{"id":980,"definitionID":6005075,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2129","items":[{"id":1213,"definitionID":6005245,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"970","items":[{"id":1430,"definitionID":453111,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1039","items":[{"id":1310,"definitionID":452635,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0},{"id":1311,"definitionID":453195,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0},{"id":1312,"definitionID":453191,"durabilityType":0,"durability":1,"metadata":"{\"dlc\":1}","permissionFlags":0,"permissionMask":0}]},{"itemBundleID":"2007","items":[{"id":894,"definitionID":6005074,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2128","items":[{"id":1217,"definitionID":6005246,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"971","items":[{"id":1432,"definitionID":452400,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1038","items":[{"id":1440,"definitionID":453157,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1441,"definitionID":453101,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1159","items":[{"id":7,"definitionID":454290,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2006","items":[{"id":895,"definitionID":6005071,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2127","items":[{"id":1205,"definitionID":6005242,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"972","items":[{"id":1434,"definitionID":452401,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1435,"definitionID":453135,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1158","items":[{"id":6,"definitionID":453462,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2005","items":[{"id":896,"definitionID":6005073,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2126","items":[{"id":1210,"definitionID":6005241,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"973","items":[{"id":1436,"definitionID":452402,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1437,"definitionID":453107,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1036","items":[{"id":1438,"definitionID":453115,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1157","items":[{"id":5,"definitionID":454289,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1399","items":[{"id":675,"definitionID":457700,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2004","items":[{"id":897,"definitionID":6005070,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2125","items":[{"id":1209,"definitionID":6005240,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"974","items":[{"id":1439,"definitionID":452403,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1035","items":[{"id":1433,"definitionID":452641,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1156","items":[{"id":4,"definitionID":454302,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1398","items":[{"id":674,"definitionID":457699,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2003","items":[{"id":898,"definitionID":5005088,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2124","items":[{"id":1203,"definitionID":6005239,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"975","items":[{"id":1443,"definitionID":452404,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1034","items":[{"id":1431,"definitionID":453108,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1155","items":[{"id":3,"definitionID":454286,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1397","items":[{"id":673,"definitionID":457698,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2002","items":[{"id":899,"definitionID":6005072,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"976","items":[{"id":1445,"definitionID":452514,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1446,"definitionID":453136,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"977","items":[{"id":36,"definitionID":452425,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"978","items":[{"id":37,"definitionID":452504,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"979","items":[{"id":38,"definitionID":452426,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005036","items":[{"id":900,"definitionID":5005024,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":901,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":902,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":903,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":904,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005037","items":[{"id":905,"definitionID":5005025,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":906,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":907,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":908,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":909,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":910,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":911,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005038","items":[{"id":912,"definitionID":5005026,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":913,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":914,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":915,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":916,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":917,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":918,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005039","items":[{"id":919,"definitionID":5005027,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":920,"definitionID":5005018,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":921,"definitionID":5005019,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":922,"definitionID":5005020,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":923,"definitionID":5005021,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":924,"definitionID":5005022,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":925,"definitionID":5005023,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1176","items":[{"id":220,"definitionID":454345,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1297","items":[{"id":558,"definitionID":455208,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2023","items":[{"id":1039,"definitionID":6005099,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1040,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1041,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1042,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1043,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1044,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1045,"definitionID":6005157,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1175","items":[{"id":219,"definitionID":454344,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2022","items":[{"id":1032,"definitionID":6005098,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1033,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1034,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1035,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1036,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1037,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1038,"definitionID":6005159,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1174","items":[{"id":218,"definitionID":454343,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2021","items":[{"id":1025,"definitionID":6005097,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1026,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1027,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1028,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1029,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1030,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1031,"definitionID":6005160,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2020","items":[{"id":1021,"definitionID":6005096,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1022,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1023,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1024,"definitionID":6005156,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"980","items":[{"id":39,"definitionID":452427,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"981","items":[{"id":40,"definitionID":451941,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"982","items":[{"id":41,"definitionID":452428,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"983","items":[{"id":42,"definitionID":453143,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"984","items":[{"id":43,"definitionID":452429,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"985","items":[{"id":44,"definitionID":451942,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"986","items":[{"id":45,"definitionID":452430,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1166","items":[{"id":16,"definitionID":454305,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":17,"definitionID":453464,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2013","items":[{"id":978,"definitionID":6005080,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"987","items":[{"id":46,"definitionID":452431,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":47,"definitionID":453144,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"988","items":[{"id":48,"definitionID":452432,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":49,"definitionID":453112,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"989","items":[{"id":50,"definitionID":452433,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1066","items":[{"id":74,"definitionID":453317,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1187","items":[{"id":195,"definitionID":454355,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1186","items":[{"id":194,"definitionID":454354,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1185","items":[{"id":193,"definitionID":454353,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1063","items":[{"id":114,"definitionID":453313,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":115,"definitionID":453314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":116,"definitionID":453315,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":117,"definitionID":453320,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":118,"definitionID":453321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":119,"definitionID":453326,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1184","items":[{"id":192,"definitionID":454352,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2031","items":[{"id":1091,"definitionID":6005107,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1092,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1093,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1094,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1095,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1096,"definitionID":6005161,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1062","items":[{"id":106,"definitionID":453312,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":107,"definitionID":453314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":108,"definitionID":453315,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":109,"definitionID":453316,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":110,"definitionID":453320,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":111,"definitionID":453321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":112,"definitionID":453326,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":113,"definitionID":453335,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1183","items":[{"id":191,"definitionID":454351,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2030","items":[{"id":1084,"definitionID":6005106,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1085,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1086,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1087,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1088,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1089,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1090,"definitionID":6005165,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1061","items":[{"id":98,"definitionID":453311,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":99,"definitionID":453314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":100,"definitionID":453315,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":101,"definitionID":453316,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":102,"definitionID":453320,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":103,"definitionID":453321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":104,"definitionID":453326,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":105,"definitionID":453334,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1182","items":[{"id":190,"definitionID":454350,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1060","items":[{"id":90,"definitionID":453310,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":91,"definitionID":453314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":92,"definitionID":453315,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":93,"definitionID":453316,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":94,"definitionID":453320,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":95,"definitionID":453321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":96,"definitionID":453326,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":97,"definitionID":453333,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1181","items":[{"id":189,"definitionID":454348,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1180","items":[{"id":188,"definitionID":454347,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"990","items":[{"id":51,"definitionID":452434,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"991","items":[{"id":52,"definitionID":452508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":53,"definitionID":453145,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2029","items":[{"id":1077,"definitionID":6005105,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1078,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1079,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1080,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1081,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1082,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1083,"definitionID":6005164,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2028","items":[{"id":1070,"definitionID":6005104,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1071,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1072,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1073,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1074,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1075,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1076,"definitionID":6005163,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1059","items":[{"id":82,"definitionID":453309,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":83,"definitionID":453314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":84,"definitionID":453315,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":85,"definitionID":453316,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":86,"definitionID":453320,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":87,"definitionID":453321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":88,"definitionID":453326,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":89,"definitionID":453332,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2027","items":[{"id":1063,"definitionID":6005103,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1064,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1065,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1066,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1067,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1068,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1069,"definitionID":6005162,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"995","items":[{"id":1317,"definitionID":453070,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1058","items":[{"id":78,"definitionID":453308,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":79,"definitionID":453321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":80,"definitionID":453314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":81,"definitionID":453326,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1179","items":[{"id":187,"definitionID":454346,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2026","items":[{"id":1059,"definitionID":6005102,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1060,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1061,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1062,"definitionID":6005161,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"996","items":[{"id":1318,"definitionID":453117,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1178","items":[{"id":186,"definitionID":454349,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1299","items":[{"id":560,"definitionID":455210,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2025","items":[{"id":1053,"definitionID":6005101,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1054,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1055,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1056,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1057,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1058,"definitionID":6005156,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"997","items":[{"id":1319,"definitionID":453071,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1177","items":[{"id":221,"definitionID":454342,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1298","items":[{"id":559,"definitionID":455206,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2024","items":[{"id":1046,"definitionID":6005100,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1047,"definitionID":6005081,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1048,"definitionID":6005084,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1049,"definitionID":6005083,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1050,"definitionID":6005082,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1051,"definitionID":6005085,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1052,"definitionID":6005158,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"998","items":[{"id":1320,"definitionID":453072,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"999","items":[{"id":1329,"definitionID":453120,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1190","items":[{"id":198,"definitionID":454358,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1077","items":[{"id":63,"definitionID":453331,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1198","items":[{"id":292,"definitionID":454366,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":293,"definitionID":454376,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":294,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":295,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":296,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":297,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":298,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":299,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":300,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":301,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":302,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":303,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":304,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":305,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":306,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":307,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":308,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":309,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2045","items":[{"id":1001,"definitionID":6005109,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2166","items":[{"id":1218,"definitionID":6005282,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1076","items":[{"id":62,"definitionID":453330,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1197","items":[{"id":274,"definitionID":454365,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":275,"definitionID":454375,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":276,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":277,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":278,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":279,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":280,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":281,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":282,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":283,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":284,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":285,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":286,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":287,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":288,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":289,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":290,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":291,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2044","items":[{"id":1004,"definitionID":6005111,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2165","items":[{"id":1216,"definitionID":6005283,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1075","items":[{"id":61,"definitionID":453329,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1196","items":[{"id":310,"definitionID":454364,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":311,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":312,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":313,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":314,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":315,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":316,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":317,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":318,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":319,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":320,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":321,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":322,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":323,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":324,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":325,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2043","items":[{"id":1007,"definitionID":6005108,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2164","items":[{"id":1204,"definitionID":6005281,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1074","items":[{"id":60,"definitionID":453328,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1195","items":[{"id":224,"definitionID":454363,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":225,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":226,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":227,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":228,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":229,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":230,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":231,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":232,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":233,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":234,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":235,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":236,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":237,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2163","items":[{"id":1206,"definitionID":6005279,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1073","items":[{"id":59,"definitionID":453327,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1194","items":[{"id":202,"definitionID":454362,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2162","items":[{"id":1208,"definitionID":6005280,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1072","items":[{"id":58,"definitionID":453325,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1193","items":[{"id":201,"definitionID":454361,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1071","items":[{"id":57,"definitionID":453324,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1192","items":[{"id":200,"definitionID":454360,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1070","items":[{"id":56,"definitionID":453323,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1191","items":[{"id":199,"definitionID":454359,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"883","items":[{"id":1398,"definitionID":452375,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"884","items":[{"id":1401,"definitionID":452639,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"885","items":[{"id":1403,"definitionID":452376,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1069","items":[{"id":55,"definitionID":453322,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"886","items":[{"id":1405,"definitionID":452377,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1068","items":[{"id":54,"definitionID":453319,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1189","items":[{"id":197,"definitionID":454357,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"887","items":[{"id":1407,"definitionID":451938,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1067","items":[{"id":75,"definitionID":453318,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1188","items":[{"id":196,"definitionID":454356,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"888","items":[{"id":1409,"definitionID":452378,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"889","items":[{"id":1411,"definitionID":453128,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1080","items":[{"id":77,"definitionID":453440,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005066","items":[{"id":988,"definitionID":5005058,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1088","items":[{"id":71,"definitionID":453447,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2056","items":[{"id":1018,"definitionID":6005121,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2177","items":[{"id":1394,"definitionID":6005297,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1087","items":[{"id":70,"definitionID":453446,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2055","items":[{"id":1017,"definitionID":6005123,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1086","items":[{"id":69,"definitionID":453445,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2054","items":[{"id":1016,"definitionID":6005120,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2175","items":[{"id":1200,"definitionID":6005284,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1085","items":[{"id":68,"definitionID":453444,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2053","items":[{"id":1003,"definitionID":6005118,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1084","items":[{"id":67,"definitionID":453449,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2052","items":[{"id":1011,"definitionID":6005117,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2173","items":[{"id":1199,"definitionID":6005291,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1083","items":[{"id":66,"definitionID":453443,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2051","items":[{"id":1010,"definitionID":6005116,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2172","items":[{"id":1201,"definitionID":6005290,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1082","items":[{"id":65,"definitionID":453442,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2050","items":[{"id":1002,"definitionID":6005115,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2171","items":[{"id":1202,"definitionID":6005289,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"890","items":[{"id":1413,"definitionID":452379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1081","items":[{"id":64,"definitionID":453441,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2170","items":[{"id":1196,"definitionID":6005288,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"891","items":[{"id":1385,"definitionID":452636,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"892","items":[{"id":1387,"definitionID":452380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"893","items":[{"id":1389,"definitionID":453129,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1390,"definitionID":452381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"894","items":[{"id":1392,"definitionID":452382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1393,"definitionID":451934,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"895","items":[{"id":1395,"definitionID":452383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2049","items":[{"id":1009,"definitionID":6005114,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"896","items":[{"id":1397,"definitionID":452384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2048","items":[{"id":1006,"definitionID":6005113,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2169","items":[{"id":1198,"definitionID":6005287,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"897","items":[{"id":1399,"definitionID":453130,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1400,"definitionID":453113,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1079","items":[{"id":76,"definitionID":453439,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2047","items":[{"id":1005,"definitionID":6005112,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2168","items":[{"id":1197,"definitionID":6005286,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1199","items":[{"id":256,"definitionID":454367,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":257,"definitionID":454377,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":258,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":259,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":260,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":261,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":262,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":263,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":264,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":265,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":266,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":267,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":268,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":269,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":270,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":271,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":272,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":273,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2046","items":[{"id":1008,"definitionID":6005110,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2167","items":[{"id":1195,"definitionID":6005285,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005062","items":[{"id":984,"definitionID":5005052,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005063","items":[{"id":985,"definitionID":5005061,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005064","items":[{"id":986,"definitionID":5005054,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"5005065","items":[{"id":987,"definitionID":5005056,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1091","items":[{"id":1471,"definitionID":453455,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1472,"definitionID":454282,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2180","items":[{"id":1381,"definitionID":6005301,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1090","items":[{"id":73,"definitionID":453450,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2067","items":[{"id":994,"definitionID":6005134,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2188","items":[{"id":878,"definitionID":6005312,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2066","items":[{"id":996,"definitionID":6005142,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2065","items":[{"id":1000,"definitionID":6005131,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2186","items":[{"id":876,"definitionID":6005311,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2064","items":[{"id":999,"definitionID":6005133,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2185","items":[{"id":1294,"definitionID":6005306,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1295,"definitionID":6005307,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1296,"definitionID":6005308,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1095","items":[{"id":1488,"definitionID":453454,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2063","items":[{"id":997,"definitionID":6005130,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2184","items":[{"id":1391,"definitionID":6005305,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2062","items":[{"id":1019,"definitionID":6005128,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2183","items":[{"id":1388,"definitionID":6005304,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2061","items":[{"id":1020,"definitionID":6005127,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2182","items":[{"id":1386,"definitionID":6005302,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1092","items":[{"id":1481,"definitionID":453461,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1482,"definitionID":454288,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2060","items":[{"id":1015,"definitionID":6005126,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2181","items":[{"id":1384,"definitionID":6005303,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2059","items":[{"id":1014,"definitionID":6005125,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2058","items":[{"id":1013,"definitionID":6005124,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2179","items":[{"id":1379,"definitionID":6005300,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1089","items":[{"id":72,"definitionID":453448,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2057","items":[{"id":1012,"definitionID":6005122,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2178","items":[{"id":1396,"definitionID":6005298,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2070","items":[{"id":991,"definitionID":6005137,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2191","items":[{"id":872,"definitionID":6005313,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2078","items":[{"id":1098,"definitionID":6005170,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2199","items":[{"id":871,"definitionID":6005318,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2077","items":[{"id":1099,"definitionID":6005168,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2198","items":[{"id":877,"definitionID":6005322,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2076","items":[{"id":1097,"definitionID":6005167,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2197","items":[{"id":870,"definitionID":6005321,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2075","items":[{"id":1304,"definitionID":6005144,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1305,"definitionID":6005145,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1306,"definitionID":6005146,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1307,"definitionID":6005148,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1308,"definitionID":6005150,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2196","items":[{"id":869,"definitionID":6005320,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2074","items":[{"id":989,"definitionID":6005132,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2195","items":[{"id":875,"definitionID":6005319,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2073","items":[{"id":993,"definitionID":6005140,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2194","items":[{"id":873,"definitionID":6005317,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2072","items":[{"id":992,"definitionID":6005139,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2193","items":[{"id":874,"definitionID":6005316,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2071","items":[{"id":998,"definitionID":6005138,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2192","items":[{"id":867,"definitionID":6005315,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2069","items":[{"id":990,"definitionID":6005136,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2068","items":[{"id":995,"definitionID":6005135,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2189","items":[{"id":868,"definitionID":6005314,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2081","items":[{"id":1100,"definitionID":6005166,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2080","items":[{"id":1101,"definitionID":6005172,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2089","items":[{"id":1108,"definitionID":6005178,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2088","items":[{"id":1106,"definitionID":6005177,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2087","items":[{"id":1104,"definitionID":6005176,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2086","items":[{"id":1103,"definitionID":6005175,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2083","items":[{"id":1109,"definitionID":6005174,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2082","items":[{"id":1105,"definitionID":6005173,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2079","items":[{"id":1102,"definitionID":6005171,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2092","items":[{"id":1116,"definitionID":6005182,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2091","items":[{"id":1113,"definitionID":6005186,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2090","items":[{"id":1111,"definitionID":6005185,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2099","items":[{"id":1145,"definitionID":6005195,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1146,"definitionID":6005201,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1147,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1148,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1149,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1150,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1151,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1152,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2098","items":[{"id":1137,"definitionID":6005194,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1138,"definitionID":6005200,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1139,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1140,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1141,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1142,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1143,"definitionID":6005191,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1144,"definitionID":6005192,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2097","items":[{"id":1153,"definitionID":6005193,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1154,"definitionID":6005202,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1155,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1156,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1157,"definitionID":6005189,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1158,"definitionID":6005190,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2096","items":[{"id":1117,"definitionID":6005193,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1118,"definitionID":6005197,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1119,"definitionID":6005187,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1120,"definitionID":6005188,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2095","items":[{"id":1112,"definitionID":6005184,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2094","items":[{"id":1115,"definitionID":6005183,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"2093","items":[{"id":1114,"definitionID":6005181,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1503","items":[{"id":769,"definitionID":458305,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1502","items":[{"id":770,"definitionID":458304,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1501","items":[{"id":775,"definitionID":458303,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1500","items":[{"id":773,"definitionID":458302,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1509","items":[{"id":893,"definitionID":458376,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1508","items":[{"id":889,"definitionID":458372,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1507","items":[{"id":771,"definitionID":458309,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1506","items":[{"id":777,"definitionID":458308,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1505","items":[{"id":778,"definitionID":458307,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1504","items":[{"id":772,"definitionID":458306,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1512","items":[{"id":891,"definitionID":458375,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1511","items":[{"id":890,"definitionID":458373,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1510","items":[{"id":892,"definitionID":458374,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1519","items":[{"id":885,"definitionID":458448,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1518","items":[{"id":884,"definitionID":458449,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1517","items":[{"id":883,"definitionID":458447,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1516","items":[{"id":888,"definitionID":458441,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1515","items":[{"id":780,"definitionID":458440,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1525","items":[{"id":886,"definitionID":458446,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1403","items":[{"id":670,"definitionID":457695,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1524","items":[{"id":887,"definitionID":458445,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1402","items":[{"id":668,"definitionID":457702,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1523","items":[{"id":881,"definitionID":458444,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1401","items":[{"id":677,"definitionID":457661,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1522","items":[{"id":880,"definitionID":458443,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1400","items":[{"id":676,"definitionID":457701,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1521","items":[{"id":882,"definitionID":458442,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1520","items":[{"id":879,"definitionID":458451,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1409","items":[{"id":718,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":719,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":720,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":721,"definitionID":457783,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":722,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":723,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1408","items":[{"id":710,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":711,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":712,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":713,"definitionID":457785,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":714,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":715,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":716,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":717,"definitionID":457774,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1529","items":[{"id":801,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":802,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":803,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":804,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":805,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":806,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":807,"definitionID":458493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":808,"definitionID":458505,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1407","items":[{"id":686,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":687,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":688,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":689,"definitionID":457787,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":690,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":691,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":692,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":693,"definitionID":457776,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1528","items":[{"id":793,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":794,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":795,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":796,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":797,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":798,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":799,"definitionID":458495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":800,"definitionID":458504,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1406","items":[{"id":682,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":683,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":684,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":685,"definitionID":457782,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1527","items":[{"id":785,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":786,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":787,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":788,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":789,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":790,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":791,"definitionID":458496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":792,"definitionID":458503,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1526","items":[{"id":781,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":782,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":783,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":784,"definitionID":458491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1415","items":[{"id":761,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":762,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":763,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":764,"definitionID":457790,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":765,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":766,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":767,"definitionID":457777,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1536","items":[{"id":852,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":853,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":854,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":855,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":856,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":857,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":858,"definitionID":458507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":859,"definitionID":458500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1414","items":[{"id":753,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":754,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":755,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":756,"definitionID":457792,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":757,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":758,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":759,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":760,"definitionID":457777,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1535","items":[{"id":844,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":845,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":846,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":847,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":848,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":849,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":850,"definitionID":458507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":851,"definitionID":458499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1413","items":[{"id":745,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":746,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":747,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":748,"definitionID":457791,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":749,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":750,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":751,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":752,"definitionID":457777,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1534","items":[{"id":836,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":837,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":838,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":839,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":840,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":841,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":842,"definitionID":458507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":843,"definitionID":458501,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1412","items":[{"id":737,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":738,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":739,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":740,"definitionID":457793,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":741,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":742,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":743,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":744,"definitionID":457777,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1533","items":[{"id":828,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":829,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":830,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":831,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":832,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":833,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":834,"definitionID":458507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":835,"definitionID":458502,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1411","items":[{"id":729,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":730,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":731,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":732,"definitionID":457794,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":733,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":734,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":735,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":736,"definitionID":457777,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1532","items":[{"id":823,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":824,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":825,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":826,"definitionID":458507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":827,"definitionID":458497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1410","items":[{"id":724,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":725,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":726,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":727,"definitionID":457789,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":728,"definitionID":457777,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1531","items":[{"id":817,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":818,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":819,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":820,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":821,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":822,"definitionID":458492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1530","items":[{"id":809,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":810,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":811,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":812,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":813,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":814,"definitionID":458512,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":815,"definitionID":458494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":816,"definitionID":458506,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1419","items":[{"id":1344,"definitionID":457808,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1418","items":[{"id":1340,"definitionID":457798,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1417","items":[{"id":702,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":703,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":704,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":705,"definitionID":457784,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":706,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":707,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":708,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":709,"definitionID":457773,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1416","items":[{"id":694,"definitionID":457737,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":695,"definitionID":457738,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":696,"definitionID":457740,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":697,"definitionID":457786,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":698,"definitionID":457739,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":699,"definitionID":457741,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":700,"definitionID":457742,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":701,"definitionID":457775,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1537","items":[{"id":860,"definitionID":458509,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":861,"definitionID":458490,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":862,"definitionID":458510,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":863,"definitionID":458508,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":864,"definitionID":458511,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":865,"definitionID":458507,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":866,"definitionID":458498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1426","items":[{"id":1377,"definitionID":457806,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1425","items":[{"id":1372,"definitionID":457805,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1424","items":[{"id":1369,"definitionID":457804,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1370,"definitionID":457996,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1302","items":[{"id":566,"definitionID":455205,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1423","items":[{"id":1366,"definitionID":457807,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1367,"definitionID":457814,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1301","items":[{"id":562,"definitionID":455207,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1422","items":[{"id":1364,"definitionID":457803,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1300","items":[{"id":561,"definitionID":455209,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1421","items":[{"id":1362,"definitionID":457809,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1420","items":[{"id":1359,"definitionID":457802,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1429","items":[{"id":1349,"definitionID":457800,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1428","items":[{"id":1347,"definitionID":457799,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1427","items":[{"id":1350,"definitionID":457812,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":1351,"definitionID":457815,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1432","items":[{"id":1357,"definitionID":457813,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1431","items":[{"id":1355,"definitionID":457801,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1430","items":[{"id":1353,"definitionID":457810,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"400000000","items":[]},{"itemBundleID":"1451","items":[{"id":1455,"definitionID":457932,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1450","items":[{"id":1453,"definitionID":457931,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1206","items":[{"id":341,"definitionID":454374,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":342,"definitionID":454379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":343,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":344,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":345,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":346,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":347,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":348,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":349,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":350,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":351,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":352,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":353,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":354,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":355,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":356,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":357,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":358,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1448","items":[{"id":1459,"definitionID":457930,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1205","items":[{"id":359,"definitionID":454373,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":360,"definitionID":454379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":361,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":362,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":363,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":364,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":365,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":366,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":367,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":368,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":369,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":370,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":371,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":372,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":373,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":374,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":375,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":376,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1447","items":[{"id":1457,"definitionID":457929,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1204","items":[{"id":395,"definitionID":454372,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":396,"definitionID":454379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":397,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":398,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":399,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":400,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":401,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":402,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":403,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":404,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":405,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":406,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":407,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":408,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":409,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":410,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":411,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":412,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1446","items":[{"id":1454,"definitionID":457927,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1203","items":[{"id":377,"definitionID":454371,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":378,"definitionID":454379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":379,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":380,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":381,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":382,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":383,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":384,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":385,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":386,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":387,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":388,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":389,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":390,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":391,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":392,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":393,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":394,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1445","items":[{"id":1452,"definitionID":457926,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1202","items":[{"id":413,"definitionID":454370,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":414,"definitionID":454379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":415,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":416,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":417,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":418,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":419,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":420,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":421,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":422,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":423,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":424,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":425,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":426,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":427,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":428,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":429,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1444","items":[{"id":1450,"definitionID":457925,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1201","items":[{"id":326,"definitionID":454369,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":327,"definitionID":454379,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":328,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":329,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":330,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":331,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":332,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":333,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":334,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":335,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":336,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":337,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":338,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":339,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":340,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1443","items":[{"id":1448,"definitionID":457924,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"1200","items":[{"id":238,"definitionID":454368,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":239,"definitionID":454378,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":240,"definitionID":454380,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":241,"definitionID":454381,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":242,"definitionID":454382,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":243,"definitionID":454383,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":244,"definitionID":454384,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":245,"definitionID":454385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":246,"definitionID":454491,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":247,"definitionID":454492,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":248,"definitionID":454493,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":249,"definitionID":454494,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":250,"definitionID":454495,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":251,"definitionID":454496,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":252,"definitionID":454497,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":253,"definitionID":454498,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":254,"definitionID":454499,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33},{"id":255,"definitionID":454500,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"902","items":[{"id":1402,"definitionID":452385,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"903","items":[{"id":1404,"definitionID":452646,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"904","items":[{"id":1406,"definitionID":452386,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"905","items":[{"id":1408,"definitionID":452387,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]},{"itemBundleID":"906","items":[{"id":1410,"definitionID":452505,"durabilityType":0,"durability":1,"metadata":"","permissionFlags":33,"permissionMask":33}]}],"dataSignature":"C5V8/l4U2qkLdZKkRiPrUWSesF+m8ZbJbEcWYq0QpVmLDst0AS9IjUwllBjJ7QV/xu7LNPPUHJxrGgbZEbQ6q0qcQTxumM8Zy72FhiEzybfwbJ8L54if/DFn6ehJ5dpCKCYU1RJ3p+uJJpW9a6mN8duyAkDNJUJXbXdAc4MVaLkzw1KglvnV28QTM1k5863+0RccZYy0JlgD0XmIP040evWNDm4Zn9Y4q72tNASaV9mQ76UFg3U6No11Py8PDf6cyMMwQloe15BmAxzjR+qp2/OiIwnUulVBx5pEnJ5/O82ES4D+Rv8ayQXxbkdHKoZfhinzWlmxu+H4yXdd/wNAxA=="} diff --git a/server/resources/responses/age4/itemDefinitions.json b/server/resources/responses/age4/itemDefinitions.json new file mode 100644 index 00000000..17d5e358 --- /dev/null +++ b/server/resources/responses/age4/itemDefinitions.json @@ -0,0 +1 @@ + {"result":0,"itemCategories":[{"categoryID":0,"name":"All","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":1,"name":"Currency","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":2,"name":"Special","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":3,"name":"ClanPurchase","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":4,"name":"Race","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":5,"name":"ItemPack","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":6,"name":"CommunityEventUnlock","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":7,"name":"CurrencyOverwrite","categoryGroup":"SystemItemCategory","metadata":""},{"categoryID":1023330,"name":"English","categoryGroup":"Races","metadata":""},{"categoryID":1023331,"name":"Mongol","categoryGroup":"Races","metadata":""},{"categoryID":1116654,"name":"French","categoryGroup":"Races","metadata":""},{"categoryID":1168965,"name":"Rus","categoryGroup":"Races","metadata":""},{"categoryID":1255168,"name":"Hre","categoryGroup":"Races","metadata":""},{"categoryID":1276792,"name":"Sultanate","categoryGroup":"Races","metadata":""},{"categoryID":1286642,"name":"Chinese","categoryGroup":"Races","metadata":""},{"categoryID":1397006,"name":"Portrait","localizedName":"Portrait","categoryGroup":"","metadata":""},{"categoryID":1397008,"name":"Mastery_French","localizedName":"French Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1405268,"name":"Coat_Of_Arms","localizedName":"Coat of Arms","categoryGroup":"","metadata":""},{"categoryID":1405715,"name":"Frame","localizedName":"Coat of Arms - Frame","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1405716,"name":"Background","localizedName":"Coat of Arms - Background","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1405717,"name":"Pattern","localizedName":"Coat of Arms - Pattern","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1405718,"name":"Sigil","localizedName":"Coat of Arms - Sigil","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1405719,"name":"Title","localizedName":"Coat of Arms - Title","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1405720,"name":"Sigil_Frame","localizedName":"Coat of Arms - Sigil Frame","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1407415,"name":"Sigil_Colour","localizedName":"Coat of Arms - Color","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1408204,"name":"Monument","localizedName":"Monument","categoryGroup":"","metadata":""},{"categoryID":1412123,"name":"Fun_Fact","localizedName":"Fun Fact","categoryGroup":"Masteries","metadata":""},{"categoryID":1418039,"name":"Mastery_Rus","localizedName":"Rus Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1418040,"name":"Mastery_English","localizedName":"English Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1418059,"name":"Mastery_Hre","localizedName":"Holy Roman Empire Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1418060,"name":"Mastery_Sultanate","localizedName":"Sultanate Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1418061,"name":"Mastery_Mongol","localizedName":"Mongol Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1418062,"name":"Mastery_Chinese","localizedName":"Chinese Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1418063,"name":"Campaign","localizedName":"Campaign","categoryGroup":"Portraits","metadata":""},{"categoryID":1418067,"name":"Default","localizedName":"Humble Beginnings","categoryGroup":"Portraits","metadata":""},{"categoryID":1431929,"name":"Activity_Feed_Portrait","localizedName":"Portrait","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1431931,"name":"Activity_Feed_Coat_Of_Arms","localizedName":"Coat of Arms","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1431932,"name":"Activity_Feed_Monument","localizedName":"Monument","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1431933,"name":"Activity_Feed_Hands_On_History","localizedName":"Hands on History","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1431934,"name":"Activity_Feed_Illuminated_History","localizedName":"Path of History","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1431935,"name":"Activity_Feed_Narrative_Txt","localizedName":"Narrative Text","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1450297,"name":"Frame_Colour","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1450298,"name":"Pattern_Colour","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1450299,"name":"Sigil_Frame_Colour","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1450300,"name":"Outline_Colour","localizedName":"Outline Color","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1469049,"name":"Abbasid","categoryGroup":"Races","metadata":""},{"categoryID":1470779,"name":"Mastery_Abbasid","localizedName":"Abbasid Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1486044,"name":"Ottoman","categoryGroup":"Races","metadata":""},{"categoryID":1502191,"name":"Default_Coat_Of_Arms_Part","categoryGroup":"Coat_Of_Arms","metadata":""},{"categoryID":1503940,"name":"Hidden","categoryGroup":"","metadata":""},{"categoryID":1505261,"name":"Malian","categoryGroup":"Races","metadata":""},{"categoryID":1520600,"name":"Mastery_Malian","localizedName":"Malian Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1525066,"name":"Taunt","categoryGroup":"","metadata":""},{"categoryID":1525068,"name":"Activity_Feed_Taunt","localizedName":"Taunt","categoryGroup":"Activity_Feed","metadata":""},{"categoryID":1525497,"name":"Mastery_Ottoman","localizedName":"Ottoman Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1526177,"name":"Japanese","categoryGroup":"Races","metadata":""},{"categoryID":1527735,"name":"Chinese_Ha_01","categoryGroup":"Races","metadata":""},{"categoryID":1527879,"name":"Upgrade_Item","localizedName":"Item","categoryGroup":"Upgrade","metadata":""},{"categoryID":1527880,"name":"Upgrade_Artifact","localizedName":"Artifact","categoryGroup":"Upgrade","metadata":""},{"categoryID":1527881,"name":"Layout","categoryGroup":"","metadata":""},{"categoryID":1530698,"name":"Layout_Byz","categoryGroup":"Upgrade","metadata":""},{"categoryID":1530700,"name":"Layout_Jpn","categoryGroup":"Upgrade","metadata":""},{"categoryID":1530701,"name":"Layout_Eng","categoryGroup":"Upgrade","metadata":""},{"categoryID":1530702,"name":"Layout_Chi","categoryGroup":"Upgrade","metadata":""},{"categoryID":1530919,"name":"Layout_Default","categoryGroup":"Upgrade","metadata":""},{"categoryID":1531277,"name":"Xp3","categoryGroup":"Xp","metadata":""},{"categoryID":1548726,"name":"Mastery_Byzantine","localizedName":"Byzantine Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1548727,"name":"Mastery_Japanese","localizedName":"Japanese Mastery","categoryGroup":"Portraits","metadata":""},{"categoryID":1565508,"name":"Byzantine","categoryGroup":"Races","metadata":""},{"categoryID":1672705,"name":"Abbasid_Ha_01","categoryGroup":"Races","metadata":""},{"categoryID":1673072,"name":"French_Ha_01","categoryGroup":"Races","metadata":""},{"categoryID":1673073,"name":"Hre_Ha_01","categoryGroup":"Races","metadata":""},{"categoryID":5000004,"name":"Templar","categoryGroup":"Races","metadata":""},{"categoryID":5000005,"name":"Lancaster","categoryGroup":"Races","metadata":""},{"categoryID":6000001,"name":"Cyprus","categoryGroup":"Xp","metadata":""},{"categoryID":6000002,"name":"Xp5","categoryGroup":"Xp","metadata":""},{"categoryID":6000003,"name":"Japanese_Ha_Sen","categoryGroup":"Races","metadata":""},{"categoryID":6000004,"name":"Sultanate_Ha_Tug","categoryGroup":"Races","metadata":""},{"categoryID":6000005,"name":"Mongol_Ha_Gol","categoryGroup":"Races","metadata":""},{"categoryID":6000006,"name":"Byzantine_Ha_Mac","categoryGroup":"Races","metadata":""},{"categoryID":6000009,"name":"Mastery_Crucible","categoryGroup":"Portraits","metadata":""}],"itemDefinitions":[{"id":450847,"name":"Racebps\\English","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_britons.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_britons.png\",\"image\":\"images/backgrounds/loading/flags/english_bg.png\",\"imagesmall\":\"images/civ_flags/flag_english.png\",\"race_id\":106553,\"ui_priority\":11,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023330],"localizedName":"English","localizedDescription":"Exceptional early infantry provide the English with a powerful punch backed up by reliable Food production from the fields."},{"id":451704,"name":"Racebps\\Mongol","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_mongols.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_mongols.png\",\"image\":\"images/backgrounds/loading/flags/mongol_bg.png\",\"imagesmall\":\"images/civ_flags/flag_mongol.png\",\"race_id\":129267,\"ui_priority\":13,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023331],"localizedName":"Mongols","localizedDescription":"Masters of mobility and mounted warfare, the Mongols can easily relocate their camps. They gain economic benefits from setting up near Stone Outcroppings and from raiding enemy buildings. Enemies must deal with cavalry attacks from the opening moments of play."},{"id":451762,"name":"Racebps\\French","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_french.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_french.png\",\"image\":\"images/backgrounds/loading/flags/french_bg.png\",\"imagesmall\":\"images/civ_flags/flag_french.png\",\"race_id\":131384,\"ui_priority\":6,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1116654],"localizedName":"French","localizedDescription":"The French deploy powerful cavalry units and can boost production in fortified positions. Enemies must be prepared to withstand the charges of powerful Royal Knights and other armored units."},{"id":451770,"name":"Racebps\\Rus","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_rus.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_rus.png\",\"image\":\"images/backgrounds/loading/flags/rus_bg.png\",\"imagesmall\":\"images/civ_flags/flag_rus.png\",\"race_id\":133008,\"ui_priority\":15,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1168965],"localizedName":"Rus","localizedDescription":"The Rus derive great benefit from the countryside. They are able to gather resources more readily from hunting and forestry and can field strong combat units. Enemies face strong early game fortifications and a diverse economy that cannot easily be disrupted."},{"id":451806,"name":"Racebps\\Hre","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_holy_roman_empirel.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_holy_roman_empirel.png\",\"image\":\"images/backgrounds/loading/flags/hre_bg.png\",\"imagesmall\":\"images/civ_flags/flag_hre.png\",\"race_id\":134522,\"ui_priority\":8,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1255168],"localizedName":"Holy Roman Empire","localizedDescription":"Prelates enhance the economy of the Holy Roman Empire, while powerful infantry units form the core of its military. Enemies must face an opponent able to rapidly recover from attacks and field strong counterattacks."},{"id":451840,"name":"Racebps\\Sultanate","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_sultinates.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_sultinates.png\",\"image\":\"images/backgrounds/loading/flags/sultanates_bg.png\",\"imagesmall\":\"images/civ_flags/flag_sultanates.png\",\"race_id\":136150,\"ui_priority\":10,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1276792],"localizedName":"Delhi Sultanate","localizedDescription":"The Delhi Sultanate stays many steps ahead of their enemies with great networks of scholars. Fully realized, they field the intimidating War Elephant and trample those in their path."},{"id":451848,"name":"Racebps\\Chinese","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_chinese.png\",\"image\":\"images/backgrounds/loading/flags/chinese_bg.png\",\"imagesmall\":\"images/civ_flags/flag_chinese.png\",\"race_id\":137266,\"ui_priority\":4,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1286642],"localizedName":"Chinese","localizedDescription":"The Chinese can shift their focus across the ages, deploying many unique units and building rapidly. Enemies must continually adapt if they want to keep up."},{"id":451893,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M02_Txt_Doomsday","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_book.png\",\"imagesmall\":\"images/text_collectibles/eng_book_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Domesday Book","localizedDescription":"William won England by the sword and was merciless in replacing the Anglo-Saxon barons with a more loyal Norman nobility. His \"Harrying of the North\" killed thousands. But it was a land survey that truly cemented his rule.\r\n\r\nIn 1085, William sent out surveyors across England to record the land holdings of everyone in his kingdom. So thorough was the survey, it was said to be as if God were recording the state of the world on Judgment Day.\r\n\r\nThe resulting Domesday Book became the basis for land rulings for the next eight centuries.\r\n\r\nAlthough William\u2019s heirs would fall into conflict over the throne, the Domesday Book enshrined his people as the ruling class."},{"id":451894,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M02_Hoh_Crossbows","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_hohcrossbows.png\",\"video\":\"ang_hoh_crossbows\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Crossbow"},{"id":451895,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M01_Txt_Novastella","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_hastings.png\",\"imagesmall\":\"images/text_collectibles/eng_hastings_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Nova Stella, Novus Rex!","localizedDescription":"In April 1066, a bright star with a long, streaked tail appeared in the night sky and burned for weeks.\r\n\r\nIts appearance coincided with the imminent invasion of England by William of Normandy.\r\n\r\nTo William\u2019s soldiers, waiting eagerly to set sail from Normandy, it seemed that the star\u2019s tail pointed directly at the Saxon king\u2019s castle in England.\r\n\r\nThis was a divine guarantee of victory. It inspired the Normans\u2019 rallying cry: \u201cNova stella, novus rex!\u201d A new star, a new king.\r\n\r\nBy the time the star passed, the Saxons\u2019 King Harold lay dead, killed at the Battle of Hastings. And William the Conqueror became King of England.\r\n\r\nThat long-tailed star is depicted on the Bayeux Tapestry\u2026 and we know it today as Halley\u2019s Comet."},{"id":451896,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M01_Hoh_Castle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_hohcastlebuilding.png\",\"video\":\"ang_hoh_castle_building\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Building a Castle"},{"id":451898,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M04_Hoh_Mail_Making","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_hohmailmaking.png\",\"video\":\"ang_hoh_mail_making\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Mail Making"},{"id":451899,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M04_Txt_Taking_Caen","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_caen.png\",\"imagesmall\":\"images/text_collectibles/eng_caen_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Taking of Caen","localizedDescription":"In Henry I\u2019s quest to retake Normandy from his brother, he burned the city of Bayeux and beset the countryside with war. \r\n\r\nBut it would be a backroom deal with the lords of Caen that would secure this great stronghold for England. \r\n\r\nHenry had such immense wealth that he was able to buy the loyalty of his brother\u2019s barons. One such defector captured the lords of Caen and brought them to Henry. \r\n\r\nHenry made a deal with his prisoners: give up the fortress of Caen without a fight and, in return for betraying their Duke, receive lands and riches from the English king. Remembering the fate of Bayeux, none refused. \r\n\r\nCaen became an important stepping stone in Henry\u2019s conquest of Normandy."},{"id":451900,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M05_Txt_Louis_The_Fat","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_fat.png\",\"imagesmall\":\"images/text_collectibles/eng_fat_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Louis VI of France","localizedDescription":"Louis VI was a beloved king of France. Bright and valiant from a young age, he possessed a fierce sense of duty to the kingdom.\r\n\r\nBut his reign was marred by regular assaults from his own barons. Time and again they attacked his lands, and each time Louis defeated them, earning him the moniker of Louis \"the Fighter\".\r\n\r\nAfter years of thwarted resistance, the nobles accepted Louis as king and united under him against the English invaders.\r\n\r\nIn his later years, Louis indulged in the pleasures of food and wine, and despite his reputation as a warrior king, he became known by another nickname, Louis \"the Fat\".\r\n\r\nHe is still remembered fondly as a king who defended the poor and the pious and who, against the odds, united a country in turmoil."},{"id":451901,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M06_Txt_Empress_Flight","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_matilda.png\",\"imagesmall\":\"images/text_collectibles/eng_matilda_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Empress's Flight","localizedDescription":"In the deep winter of 1142, the Empress Matilda \u2013 facing capture by her rival, King Stephen \u2013 was forced to make a daring flight from the tower of Oxford Castle.\r\n\r\nUnder cover of night, she descended the tower\u2019s walls by rope, aided by a few loyal soldiers. Finding the gaps in Stephen\u2019s dwindling siege forces, the group fled unseen with Matilda wearing white for cover against the snow.\r\n\r\nCrossing the frozen River Thames, Matilda then trudged miles through heavy snow, before finding refuge at her stronghold of Wallingford.\r\n\r\nShortly after her escape, she slipped away to her court at Rouen, where she was free to plan the next phase of her challenge for England\u2019s throne."},{"id":451902,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M07_Txt_Henry_Fitzempress","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_angevin.png\",\"imagesmall\":\"images/text_collectibles/eng_angevin_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Angevin Empire","localizedDescription":"When King Stephen died, Matilda\u2019s son, Henry, ascended the throne of England. He became the first king to rule over what is now known as \u201cThe Angevin Empire\u201d.\r\n\r\nHenry was an active and ambitious ruler, determined to expand and protect the heart of his empire. He personally traveled the extents of his lands, making deals, crushing rebellions and annexing new territory.\r\n\r\nHenry acted so swiftly and with such audacity that the king of France described him as \u201cseeming rather to fly than to go by horse or ship.\u201d\r\n\r\nBut just as Henry\u2019s ancestors had struggled to maintain their power, so the Angevin Kings would rule for only two more generations before the empire fractured, once again leading England to war."},{"id":451903,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M08_Txt_Dover_Castle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_dover.png\",\"imagesmall\":\"images/text_collectibles/eng_dover_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Key to England","localizedDescription":"Rising high above Dover\u2019s white cliffs stands one of England\u2019s largest castles. First built by William the Conqueror to prevent another invasion, it defended England for centuries.\r\n\r\nEvery part of its construction \u2013 from its soaring watchtowers, its overhanging firing platforms, its reinforced keep, deep ditches and concentric walls \u2013 was designed to impress, impose and stand strong.\r\n\r\nBut in 1216, Dover held back the French siege due to more than just its construction. The castle\u2019s commander, Hubert de Burgh, inspired a die-hard English resistance in the face of a full French invasion. His men defended their fortress and their king with unwavering determination.\r\n\r\nDe Burgh described the castle as \u201cthe key to England\u201d, and thanks to its design and the tenacity of its garrison, it remained firmly locked."},{"id":451904,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M10_Txt_Lady_Nicola","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/eng_nicola.png\",\"imagesmall\":\"images/text_collectibles/eng_nicola_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Nicola, Sheriff of Lincolnshire","localizedDescription":"In the upheaval of civil war, Lincoln Castle became a critical fortification in the fight for England\u2019s crown. At the forefront of its defense was an unlikely figure \u2013 an aging woman.\r\n\r\nLady Nicola de la Haye lived in a time when husbands were the gatekeepers of their wives\u2019 power. Yet, through grit and loyalty, Nicola became an admired \u2013 and even feared \u2013 custodian of Lincoln.\r\n\r\nShe personally planned and directed the defense of the castle through two sieges and regular attacks, staunchly holding her position against the odds.\r\n\r\nKing John and his heir, Henry III, owed their crowns to Nicola. They spoke of her fondly as \u201cour beloved and faithful Nicola de la Haye\u201d."},{"id":451905,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M05_Hoh_Falconry","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_hohfalconry.png\",\"video\":\"ang_hoh_falconry\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Falconry & Hawking"},{"id":451906,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M06_Hoh_Trebuchet","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_hohtrebuchet.png\",\"video\":\"ang_hoh_trebuchet\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Trebuchet"},{"id":451907,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M07_Hoh_Paint_Pigment","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_hohpaintpigment.png\",\"video\":\"ang_hoh_paint_pigment\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Medieval Paint"},{"id":451922,"name":"Pack_Inventory_Item\\Pack_Guaranteed_Item","imageData":"","metaData":"{\"items\":{\"and\":[{\"min\":1,\"max\":1,\"itemReward_id\":1404370}]},\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[5]},{"id":451923,"name":"Generic_Inventory_Item\\Coat_Of_Arms","imageData":"","metaData":"{\"eslots\":{\"0\":{\"cat\":1405716},\"1\":{\"cat\":1405715},\"2\":{\"cat\":1450297},\"3\":{\"cat\":1405717},\"4\":{\"cat\":1450298},\"5\":{\"cat\":1405720},\"6\":{\"cat\":1450299},\"7\":{\"cat\":1405718},\"8\":{\"cat\":1407415},\"9\":{\"cat\":1405719},\"10\":{\"cat\":1450300}},\"att\":{\"sigil_pos\":{\"val\":\"\",\"source\":1,\"mtype\":1,\"vtype\":0}},\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1405268]},{"id":451924,"name":"Coat_Of_Arms_Part\\Background\\Banner_Top_00_Default","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/banner_top.png\",\"ui_priority\":1000}","available":0,"version":0,"level":1,"categoryIDs":[1405716,1502191]},{"id":451925,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_00_Default","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/banner/banner_pointed.png\",\"icon2\":\"images/coat_of_arms/banner/outline_pointed.png\",\"image\":\"images/coat_of_arms/banner/mask_pointed.png\",\"ui_priority\":9000}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1502191],"localizedName":"Pointed banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon."},{"id":451927,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_00_Default","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/sigil/sigil_shape_iv.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_iv.png\",\"ui_priority\":9000}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1502191],"localizedName":"Age of Empires IV","localizedDescription":"A sigil denoting the number four."},{"id":451928,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Sigil_Frame_00_Default","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_round.png\",\"ui_priority\":9000}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1502191],"localizedName":"Round sigil frame","localizedDescription":"A framing device for your sigil to rest upon."},{"id":451929,"name":"Coat_Of_Arms_Part\\Title\\Default_Title","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1405719,1502191]},{"id":451934,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_3_pointed.png\",\"icon2\":\"images/coat_of_arms/banner/outline_3_pointed.png\",\"image\":\"images/coat_of_arms/banner/mask_3_pointed.png\",\"ui_priority\":500}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931],"localizedName":"Swallow Tail & Tongue banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for completing English Mastery 12."},{"id":451935,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_pointed_dagged.png\",\"icon2\":\"images/coat_of_arms/banner/outline_pointed_dagged.png\",\"image\":\"images/coat_of_arms/banner/mask_pointed_dagged.png\",\"ui_priority\":490}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931],"localizedName":"Pointed Dag banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for completing French Mastery 15."},{"id":451936,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_rounded.png\",\"icon2\":\"images/coat_of_arms/banner/outline_rounded.png\",\"image\":\"images/coat_of_arms/banner/mask_rounded.png\",\"ui_priority\":470}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931],"localizedName":"Rounded banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for completing Rus Mastery 2."},{"id":451937,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/chevron.png\",\"ui_priority\":470}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Chevron Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Chinese Mastery 5."},{"id":451938,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/vertical_3_stripe.png\",\"ui_priority\":500}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Double Stripe Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing English Mastery 5."},{"id":451939,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/vertical_1_stripe.png\",\"ui_priority\":480}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Single Stripe Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Holy Roman Empire Mastery 5."},{"id":451940,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_boar.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_boar.png\",\"ui_priority\":280}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Boar's Head","localizedDescription":"The Boar was a symbol of courage, and a fierce combatant.\r\n\r\nGranted for completing Rus Mastery 5."},{"id":451941,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_crescent.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_crescent.png\",\"ui_priority\":340}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Crescent Moon","localizedDescription":"From its use in Sassanid Persia, the Crescent also found its way into iconography after the Muslim conquest of Persia.\r\n\r\nGranted for completing Delhi Sultanate Mastery 5."},{"id":451942,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_crossedsabres.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_crossedsabres.png\",\"ui_priority\":330}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Curved Swords","localizedDescription":"Many Islamic societies embraced the scimitar for their Coat of Arms.\r\n\r\nGranted for completing Delhi Sultanate Mastery 9."},{"id":451943,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Sigil_Frame_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_diamond2.png\",\"ui_priority\":500}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931],"localizedName":"Star sigil frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for completing Chinese Mastery 12."},{"id":451944,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Sigil_Frame_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_diamond.png\",\"ui_priority\":490}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931],"localizedName":"Diamond sigil frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for completing Mongol Mastery 5."},{"id":451945,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Sigil_Frame_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_sun.png\",\"ui_priority\":480}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931],"localizedName":"Sun Frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for completing Abbasid Mastery 9."},{"id":451946,"name":"Coat_Of_Arms_Part\\Title\\Test_Title_1","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1405719]},{"id":451947,"name":"Coat_Of_Arms_Part\\Title\\Test_Title_2","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1405719]},{"id":451948,"name":"Coat_Of_Arms_Part\\Title\\Test_Title_3","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1405719]},{"id":451949,"name":"Pack_Inventory_Item\\Pack_Chance_Item","imageData":"","metaData":"{\"items\":{\"and\":[{\"min\":1,\"max\":1,\"itemReward_id\":1407447}]},\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[5]},{"id":451951,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_008","imageData":"","metaData":"{\"ui_priority\":30}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Slate Blue"},{"id":451952,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_002","imageData":"","metaData":"{\"ui_priority\":90}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Medium Slate Blue"},{"id":451953,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_009","imageData":"","metaData":"{\"ui_priority\":20}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Rose"},{"id":451954,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_001","imageData":"","metaData":"{\"ui_priority\":100}","available":0,"version":0,"level":1,"categoryIDs":[1450297,1502191],"localizedName":"Steel Blue"},{"id":451960,"name":"Monument\\Default_Monument","imageData":"","metaData":"{\"icon\":\"images/monuments/monument_town_bell.png\",\"ui_priority\":9000}","available":0,"version":0,"level":1,"categoryIDs":[1408204],"localizedName":"Town Bell","localizedDescription":"Granted for owning Age of Empires IV."},{"id":452284,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M01_Ih_Tapestry","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Bayeux Tapestry"},{"id":452285,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M09_Ih_Magna_Carta","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Magna Carta"},{"id":452286,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M03_Ih_Henry1","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Henry I"},{"id":452287,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M06_Ih_Matilda","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Matilda","localizedDescription":"Matilda text goes here"},{"id":452288,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M07_Ih_White_Ship","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The White Ship"},{"id":452289,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M10_Ih_William_Marshall","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"William Marshal"},{"id":452291,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M01_Hoh_Horse_Archers","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_hohhorsearchers.png\",\"video\":\"gdm_hoh_horse_archers\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Horse Archers"},{"id":452292,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M01_Ih_Moscow_And_Mongols","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Moscow and the Mongols"},{"id":452293,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M01_Txt_Tbd1","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_tourney.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_tourney_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"A Tournament of War","localizedDescription":"The Combat of the Thirty was a bloody counterpart to the pageantry of knightly jousts but also a return to form.\r\n\r\nBy 1350 jousts were focused on showmanship over actual combat. Grand pavilions hid knights ahead of dramatic reveals. An opening day parade displayed combatants in heraldic glory. Knights wielded blunted arms and competed for a rich purse.\r\n\r\nBut tournaments started as training for war. In earlier centuries, jousts were only part of the tourney. Brutal melees with keen-edged weapons were just as important. Injury and even death were common. The most dangerous of these tourneys opposed national groups of knights \u2013 especially French and English \u2013 which often devolved into pitched battle.\r\n\r\nThis was the tradition revived for the Combat of the Thirty."},{"id":452294,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M02_Ih_Tribute","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Tribute"},{"id":452295,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M02_Hoh_Forts_Kremlins","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_hohfortsandkremlins.png\",\"video\":\"gdm_hoh_forts_and_kremlins\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Forts & Kremlins"},{"id":452296,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M02_Txt_Tbd2","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_ushkuinniki.png\",\"imagesmall\":\"images/text_collectibles/rus_ushkuinniki_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Ushkuinniki","localizedDescription":"Stalking the trade routes of medieval Russia were bands of roaming pirates, known as ushkuinniki. Although they were few in number, their attacks would shake the very foundation of Mongol-Rus relations.\r\n\r\nTime and again, these bandits seized vital silver shipments, captured entire towns and controlled river transport; they raided merchants for their booty and sold it on for profit.\r\n\r\nSoon, the flow of silver all but dried up, spelling disaster for the Rus princes. As they began to miss their tribute payments to the Horde, the threat of Mongol retribution drew ever closer.\r\n\r\nThe desperate princes tried again and again to stop the bandit raids and reestablish safe trade routes. But their efforts failed to keep favor with the Khan\u2026 whose patience would not hold out much longer."},{"id":452297,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M03_Hoh_Swords_Sabers","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_hohswordsandsabers.png\",\"video\":\"gdm_hoh_swords_and_sabers\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Swords & Sabers"},{"id":452298,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M03_Txt_Tbd3","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_donskoy.png\",\"imagesmall\":\"images/text_collectibles/rus_donskoy_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Saint Dmitry Donskoy","localizedDescription":"Grand Prince Dmitry did not always have easy relations with the hierarchs of the Orthodox Church. But his great victory at Kulikovo made of him a national hero, one credited even today with turning the tide in the struggle for Rus independence from the Golden Horde.\r\n\r\nLegends grew around the battle, including the story that the venerable abbot Sergey of Radonezh blessed the prince and sent his two bravest monks into battle with Dmitry to inspire the troops and provide spiritual legitimacy to the fight.\r\n\r\nStill, the Russian Orthodox Church did not soon forget Dmitry's conflicts with the religious leaders of his own time. It was only in 1988, some six-hundred years after his great victory, that the church made Dmitry Donskoy a saint \u2013 giving him religious stature to match his historical and cultural importance."},{"id":452299,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M04_Hoh_Face_Of_Battle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_hohfaceofbattle.png\",\"video\":\"gdm_hoh_face_of_battle\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Face of Battle"},{"id":452300,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M05_Ih_Lord_Of_All_Rus","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Lord of All Rus"},{"id":452301,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M04_Txt_Tbd4","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_empire.png\",\"imagesmall\":\"images/text_collectibles/rus_empire_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Empire Falters","localizedDescription":"The vast and powerful Mongol Empire had held Muscovy in its grip for almost two centuries. But despite its might, the Empire was not immune to civil war.\r\n\r\nGenghis Khan\u2019s grandsons in the east had fought bitterly for the title of Great Khan. And later, in the west, competing branches of the family squabbled for supremacy over Russia, Persia and the Crimea.\r\n\r\nKhan Tokhtamysh of the Golden Horde became embroiled in a long series of violent conflicts with his former supporter, Timur, the dominant Khan in the middle east.\r\n\r\nTimur was strong and the war was devastating for Tokhtamysh. He lost his army, his capital and was eventually forced to flee.\r\n\r\nAs the remnants of the Golden Horde fought with neighboring khanates, the time had come for Muscovy to seize upon the weakness of its long-standing overlords."},{"id":452302,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M06_Hoh_Harvest","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_hohharvest.png\",\"video\":\"gdm_hoh_harvest\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Harvest"},{"id":452303,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M05_Txt_Tbd5","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_marfa.png\",\"imagesmall\":\"images/text_collectibles/rus_marfa_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Marfa the Mayoress","localizedDescription":"Marfa \u201cthe Mayoress\u201d of Novgorod is recorded by history both as a legendary people\u2019s hero\u2026 and a treasonous heretic.\r\n\r\nAs Novgorod withstood a decade of attempts to bring it under Muscovite control, it was Marfa \u2013 the widow of Novgorod's mayor \u2013 who was elevated as the charismatic leader of the republic, standing in defiance to the rule of the all-powerful tyrant of Moscow, Ivan III.\r\n\r\nMeanwhile, the Russian Orthodox church feared the spread of Catholicism into Muscovy, and so balked at Novgorod\u2019s friendly dealings with western lords. The church needed a real world demon on which to blame this devilry. Marfa, being a wealthy and powerful woman, became their target.\r\n\r\nAfter Novgorod finally fell to Moscow, Marfa was exiled, her lands confiscated, and she faded from the historical record.\r\n\r\nLittle is known about the real Marfa, but her twin legends live on in folklore."},{"id":452304,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M07_Ih_Reign_Of_Elena","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Reign of Elena"},{"id":452305,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M06_Txt_Tbd6","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_cannon.png\",\"imagesmall\":\"images/text_collectibles/rus_cannon_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Cannon Yard","localizedDescription":"Across the banks of the Ugra River, the Mongol army stared down the barrels of Ivan III\u2019s formidable array of cannons\u2026 and retreated. It was the final stand \u2013 a display of might \u2013 that shook Muscovy free from its conquerors.\r\n\r\nUnder Ivan III, Rus firepower advanced ever more rapidly.\r\n\r\nWhere before, the Rus had adopted the simple guns of their neighbors and used them only to defend against sieges, Moscow now had its own cannon yard \u2013 a great foundry where huge cannons were cast in bronze and mobilized with carriage wheels.\r\n\r\nNow they could be brought to the battlefield, their power shattering stone walls and bringing cities to their knees.\r\n\r\nMuscovite cannons would continue evolving to enormous scales and stand as an imposing symbol of the military might of the Rus."},{"id":452306,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M07_Txt_Tbd7","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_power.png\",\"imagesmall\":\"images/text_collectibles/rus_power_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Prosperity and Power","localizedDescription":"In 1498 at the Cathedral of the Assumption, one of the most grandiose spectacles of the age took place \u2013 the coronation of Ivan III\u2019s grandson, Dmitry Ivanovich as Grand Prince of Moscow and heir to Ivan's title of Grand Prince of All Rus.\r\n\r\nThe building was adorned with gleaming cupola domes, it boasted an innovative blend of traditional and Renaissance architecture, and inside an imposing wall of richly painted religious icons loomed over the congregation. The lavishness of the ceremony was designed by Ivan III's ministers to establish beyond doubt Moscow\u2019s place as the center of Rus power.\r\n\r\n\"Dmitry the Grandson\" eventually lost his place as heir to his uncle Vasily, and would spend the rest of his days in prison. Nevertheless, Ivan continued to use elaborate ceremony and ornate monuments to celebrate Moscow's ascendancy.\r\n\r\nThis legacy of power and spectacle would earn him the posthumous moniker of \"Ivan the Great.\""},{"id":452307,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M08_Txt_Tbd8","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_ivantheterrible.png\",\"imagesmall\":\"images/text_collectibles/rus_ivantheterrible_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Ivan the Terrible","localizedDescription":"Ivan IV\u2019s victory over the Kazan Khanate marked the beginning of Russian expansion across Asia. To commemorate this great battle, Ivan commissioned the construction of the most elaborate monument the world had yet seen \u2013 St. Basil\u2019s Cathedral in Moscow.\r\n\r\nBut as Ivan campaigned farther and farther beyond his own domain, the cost of maintaining his spending was passed to the Rus people. Crippling taxation soon bred discontent in the provinces.\r\n\r\nCertain that rebellion was festering, Ivan dispatched his fearsome private police to hunt down his political opponents. And, convinced of their treachery, he also ordered the arrest or murder of any relatives who might one day challenge his own sons\u2019 right to the throne.\r\n\r\nA generation later, Muscovy was left with no viable heirs. The centuries-long dynasty that began with Daniel of Moscow had come to a calamitous end."},{"id":452308,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M08_Ih_Ivan_Terrible","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Ivan the Terrible"},{"id":452309,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M08_Hoh_Strelsy","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_hohstreltsy.png\",\"video\":\"gdm_hoh_streltsy\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Streltsy"},{"id":452310,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M01_Hoh_Warhorse","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hohwarhorse.png\",\"video\":\"hun_hoh_warhorse\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Warhorse"},{"id":452311,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M01_Ih_Chivalry","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Chivalry"},{"id":452312,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M02_Txt_Tbd2","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_blackprince.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_blackprince_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Edward, The Black Prince","localizedDescription":"Inspiring admiration and terror alike, Edward, the \"Black Prince\" of England was the preeminent warrior of his lifetime.\r\n\r\nAt the Battle of Poitiers in 1356, Edward faced a far superior French force but used keen tactics to turn the tide. He lured enemy knights into unsupported charges, then deployed his longbowmen and knights against weakened flanks. By day\u2019s end, he had destroyed the enemy force and captured the French king.\r\n\r\nAlthough Edward\u2019s genteel treatment of his prisoner won him a reputation for chivalry, to the common people of France, he was a monster. The Black Prince was infamous for the brutality of his raids across the countryside, burning and pillaging hundreds of towns without mercy.\r\n\r\nFor good or ill, the Black Prince was the model for English knighthood in the Hundred Years War."},{"id":452313,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M02_Ih_Black_Death","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Black Death"},{"id":452314,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M03_Hoh_Chevauchee","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hohchevauchee.png\",\"video\":\"hun_hoh_chevauchee\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Chevauchée"},{"id":452315,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M03_Ih_Black_Monday","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Black Monday"},{"id":452316,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M03_Txt_Tbd3","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_routiers.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_routiers_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Les Routiers","localizedDescription":"Even in periods of truce, France suffered raiding and pillaging. Mercenary companies and individual soldiers \u2013 recruited across Europe and then dismissed without having gained enough booty \u2013 would go about taking what they wished from the population.\r\n\r\nIn the 1360s, more than fifteen thousand of these routiers were looting and pillaging across the kingdom, going so far as besieging Avignon to extract a ransom from the Pope. When King Jean sent his armies against the most feared mercenary group, they crushed the overstretched royal forces.\r\n\r\nEven the Pope calling a crusade against the brigands failed to stop their predations. Only by paying off these predators and sending them to fight wars abroad was France finally rid of them long enough to regain its strength."},{"id":452317,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M04_Hoh_Armor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hoharmor.png\",\"video\":\"hun_hoh_armor\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Plate Armor"},{"id":452318,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M04_Hoh_Arrow_Making","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hoharrowmaking.png\",\"video\":\"hun_hoh_arrow_making\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Arrow Making"},{"id":452319,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M04_Txt_Tbd4","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_bertrand.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_bertrand_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Bertrand du Guesclin","localizedDescription":"The hero of Cocherel and Pontvallain, Bertrand du Guesclin was one of the greatest knights in France, but he won his victories by abandoning the dogma of chivalric warfare.\r\n\r\nDu Guesclin preferred not to be drawn into pitched battles and focused instead on cutting off supply routes and setting ambushes. The English forces who suffered under his raiding called him the \u201cBlack Dog of Brocéliande\u201d.\r\n\r\nHis pragmatism was vividly on display when he personally put an end to a dynastic duel between Pedro and Enrique of Castille. Stepping into the battle of brothers, he held Pedro down so Enrique could deliver the killing blow.\r\n\r\nThis less-than-chivalrous act secured Castille as an ally and earned du Guesclin the rank of Constable of France."},{"id":452320,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M05_Hoh_Campaign_Life","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hohcampaignlife.png\",\"video\":\"hun_hoh_campaign_life\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Campaign Life"},{"id":452321,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M05_Txt_Tbd5","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_defiance.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_defiance_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Defiance","localizedDescription":"\"You may tear me limb from limb. You may separate my soul from my body. But I will tell you nothing more.\"\r\n\r\nJeanne d'Arc spoke these words exactly two years after lifting the siege of Orléans. She had spent the last year in enemy custody and was reaching the end of her trial for heresy.\r\n\r\nA pro-English bishop had interrogated her for weeks. She had answered his questions, told him of the saints who visited her and the mission they had given her. She had denied his accusations of witchcraft and idolatry.\r\n\r\nNow, he had called her back to the trial chamber, where he had arrayed implements of torture.\r\n\r\nNineteen years old, worn down by battle, imprisonment and interrogation, Jeanne stared down the torturers of the Inquisition.\r\n\r\nThe tools went unused and the bishop seethed in embarrassment.\r\n\r\nDespite her defiance, Jeanne would be dead within a month."},{"id":452322,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M06_Surgery","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hohsurgery.png\",\"video\":\"hun_hoh_surgery\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Medieval Surgery"},{"id":452323,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M06_Ih_Agingcourt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Agincourt"},{"id":452324,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M06_Txt_Tbd6","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_kings.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_kings_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Cathedral of Kings","localizedDescription":"If Charles the Dauphin was to become King of France, he must be crowned at Reims.\r\n\r\nCenturies earlier, Clovis, the first Frankish king, was baptized at Reims with oil from a holy ampule said to have been delivered by the Holy Spirit. The Archbishop of Reims still held that ampule, and with it the ability to sanctify the Dauphin as king.\r\n\r\nBut Reims stood deep in English-held territory, and Charles turned again to Jeanne d'Arc. She led him through enemy territory, freeing town after town. At Reims, the people welcomed the pair. With his miraculous savior beside him, the Dauphin knelt at the cathedral's altar and arose as King Charles VII of France.\r\n\r\nAnd with that, his need for Jeanne came to an end\u2026."},{"id":452325,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M07_Ih_Bureau_Brothers","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Bureau Brothers"},{"id":452326,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M08_Hoh_Guns","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hohmedievalguns.png\",\"video\":\"hun_hoh_medieval_guns\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Medieval Guns"},{"id":452327,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M07_Txt_Tbd7","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_compagnies_dordonnance.png\",\"imagesmall\":\"images/text_collectibles/fre_compagnies_dordonnance_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Compagnies d\u2019ordonnance","localizedDescription":"In 1448, the power of French cannons assured victory at Rouen. But it had been sweeping changes in the organization of French fighters that eventually gave France the advantage in the Hundred Years War.\r\n\r\nThe heavy and slow chivalric knight of centuries past was no longer effective on a changing battlefield. So, in the reign of Charles V, France had adopted a new military tactic: a guerrilla force of paid, full-time soldiers.\r\n\r\nBy enlisting roving routiers into a permanent standing army, a well-organized, disciplined and deadly military emerged, ready to do whatever it took to wear down the enemy.\r\n\r\nThese highly effective \u201cCompagnies d\u2019ordonnance\u201d, now armed with new gunpowder technologies, were Charles VII\u2019s best hope of finally winning the war."},{"id":452328,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M08_Hoh_Manuscripts","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_hohmanuscript.png\",\"video\":\"hun_hoh_manuscript\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Illuminated Manuscripts"},{"id":452329,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M08_Txt_Tbd8","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/fre_hy_castillon.png\",\"imagesmall\":\"images/text_collectibles/fre_hy_castillon_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Castillon: End of the War","localizedDescription":"The French victory at Formigny had finally ousted the English from Normandy. But the English retained a foothold in Gascony: the city of Castillon.\r\n\r\nIn 1453, Charles VII once again employed his vast artillery forces and besieged the city. With some 300 cannons and handguns, his army was poised to end the war.\r\n\r\nMeanwhile, the English commander at Castillon was under pressure to order a direct charge at the massing French forces. Against his better judgment, he succumbed to the goading and ordered the charge.\r\n\r\nHis gamble ended in disaster.\r\n\r\nThe English were met with an unrelenting barrage of French firepower \u2013 each cannon shot knocking down a dozen men. Reinforcements trickled in, but they, too, fell to the merciless onslaught.\r\n\r\nThe Hundred Years War had come to a resounding end, and Charles could begin rebuilding his resilient nation."},{"id":452330,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M01_Hoh_Drums","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohwardrums.png\",\"video\":\"mon_hoh_drums\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Drums & Signal Arrows"},{"id":452331,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M01_Ih_Covenant","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Covenant (Genghis Khan)"},{"id":452332,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M02_Txt_Tbd1","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_kurultai.png\",\"imagesmall\":\"images/text_collectibles/mon_kurultai_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Kurultai","localizedDescription":"In 1206, at a gathering of tribes known as a \"kurultai,\" the young Mongol chieftain, Temujin, would be confirmed as Genghis Khan, ruler of the newly united Mongol nation.\r\n\r\nA kurultai was a pivotal event that affected the fate of the whole Mongol realm. At these meetings khans were chosen, traitors were sentenced, and wars were set in motion.\r\n\r\nFrom every corner of the steppe, peoples under Mongol rule gathered at the heart of the Mongolian homeland to have their say.\r\n\r\nThere were festivities too: the sports of wrestling, archery and horse racing would be played alongside the politics of parliament.\r\n\r\nKurultais would endure to the end of the Mongol Empire and would leave their indelible mark on the future of the Horde."},{"id":452333,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M02_Ih_Secret_History","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Secret History of the Mongols"},{"id":452334,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M03_Txt_Tbd2","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_banner.png\",\"imagesmall\":\"images/text_collectibles/mon_banner_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Spirit Banner","localizedDescription":"To a Mongol warrior, the horse was a supreme animal. Its power, spirit and endurance were vital to his survival, and in leading him to victory.\r\n\r\nAs worshipers of the Eternal Blue Sky, Mongol warriors believed they could harness the power of nature by raising a personal banner of horsehair to capture the force of the wind. Black hairs were used in times of war, and white for peace.\r\n\r\nOver a warrior's life time, his banner would be infused with his spirit, and become the guardian of his soul in death.\r\n\r\nThe warrior would be remembered by his descendants and kept close to his family through the reverence of his spirit banner."},{"id":452335,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M03_Hoh_Mongol_Bow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohmongolbow.png\",\"video\":\"mon_hoh_mongol_bow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Making the Mongol Bow"},{"id":452336,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M04_Hoh_Mongol_Horses","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohmongolhorse.png\",\"video\":\"mon_hoh_mongol_horses\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Mongol Horse"},{"id":452337,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M04_Hoh_Yam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohyam.png\",\"video\":\"mon_hoh_yam\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Yam"},{"id":452338,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M04_Txt_Tbd3","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_felt.png\",\"imagesmall\":\"images/text_collectibles/mon_felt_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The People of the Felt Walls","localizedDescription":"At the heart of the Mongols\u2019 nomadic way of life was a home of simple construction. A \u201cger\u201d was round tent of wood and felt that was quick to dismantle and transport.\r\n\r\nThe ger was the domain of Mongol women. Inside its walls, they were in command. Here, they gave birth and schooled their children, provided food to passing travelers and even had authority over their khan.\r\n\r\nWomen made the ger\u2019s felt walls by hand-pressing wool into blankets. Mongols believed that through her graft and nurture, a woman\u2019s soul would become a part of the felt she had crafted.\r\n\r\nAnd so, when her blankets were passed to her daughters, she would still be with them, ingrained in the very fabric of their homes."},{"id":452339,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M05_Ih_Khutulun","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Khutulun: Warrior Princess"},{"id":452340,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M05_Hoh_Nomadic_Life","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohnomadmusic.png\",\"video\":\"mon_hoh_nomadic_music\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Nomad Music"},{"id":452341,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M05_Txt_Tbd4","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_warriors.png\",\"imagesmall\":\"images/text_collectibles/mon_warriors_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Warriors on Campaign","localizedDescription":"The arrival of the Mongols in Europe was a calamity for which the west was grossly unprepared. In the years since Genghis Khan\u2019s rise, the Mongol military had perfected his strategies, and invaded with unstoppable ferocity.\r\n\r\nCampaigns were planned years in advance; scouts would survey the terrain, burning farmland as they went \u2013 the cleared land would create a highway of pasture for the forthcoming army and their animals.\r\n\r\nUsing a decimal system of organization, a Mongol army could be tens of thousands strong and still communicate effectively, move swiftly and feed every one of its warriors for years at a time.\r\n\r\nThrough discipline, practice and endurance, the Mongol army remained ready for action and poised for conquest."},{"id":452342,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M06_Hoh_Multi_Crossbow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohmultibowcrossbow.png\",\"video\":\"mon_hoh_multi_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"The Multibow Crossbow"},{"id":452343,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M06_Ih_Early_Adopters","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Early Adopters"},{"id":452344,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M06_Txt_Tbd5","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_subutai.png\",\"imagesmall\":\"images/text_collectibles/mon_subutai_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"General Subutai","localizedDescription":"During Genghis Khan\u2019s early reign, he appointed a young boy as his loyal door guard, seeing potential in his dedication. The boy remained at the khan\u2019s side and grew up learning his strategies. He would rise to become one of Genghis Khan\u2019s \u201cDogs of War\u201d, an elite group of his most accomplished generals. His name was Subutai.\r\n\r\nWar after war, Subutai demonstrated his shrewd ability to judge an enemy\u2019s weakness and exploit it. His unconventional methods led the Mongols to easy victories across Asia and into Europe.\r\n\r\nHe used spies, smokescreens and feigned retreats to confuse and exhaust his enemies. He coordinated sudden, multi-pronged assaults across vast distances with devastating results.\r\n\r\nSubutai remains a legendary figure for both his brutality and his cunning."},{"id":452346,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M07_Txt_Tbd6","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_queen.png\",\"imagesmall\":\"images/text_collectibles/mon_queen_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Queens of the Empire","localizedDescription":"The pre-empire life of Mongol women was one of constant peril, where prominent wives were prizes to be won or stolen.\r\n\r\nBut when Genghis Khan united the Mongol nation, he transformed the position of women from possessions to equals \u2013 a reflection of his belief in the spiritual balance between male and female.\r\n\r\nHis wives and daughters would rule the conquered territories as queens, while their husbands and sons went away on campaign.\r\n\r\nSoon, almost the entire empire was ruled by Mongol queens.\r\n\r\nHowever, after Genghis Khan\u2019s death, it would be his own sons that would cause this delicate balance to topple.\r\n\r\nThe position of women once again became uncertain as they were forced from power, violated, murdered, and chased into hiding. And so the khanates descended into rivalry\u2026."},{"id":452347,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M08_Hoh_Lance","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_hohheavycavalry.png\",\"video\":\"mon_hoh_heavy_cavalry\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431933],"localizedName":"Mongol Heavy Cavalry"},{"id":452348,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M08_Txt_Tbd7","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_silkroad.png\",\"imagesmall\":\"images/text_collectibles/mon_silkroad_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Silk Road","localizedDescription":"In 1227, Genghis Khan had died attempting to maintain control over the most critical trade route in the known world, the Silk Road.\r\n\r\nA vast route, connecting China to the Mediterranean, whoever controlled the Silk Road had power over the world\u2019s economy.\r\n\r\nExotic fabrics, metals, medicines and animal products flowed east and west, as did the traditions and expertise of the peoples under the empire. Civilizations mingled and prospered.\r\n\r\nAt the height of Mongol power, the Silk Road became an information highway. Its rapid postal system delivered messages and military intelligence across the continent.\r\n\r\nBut as the empire began to fracture, so too did its control over the Silk Road. This vital corridor would continue to be contested for generations to come."},{"id":452349,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M09_Ih_Xanadu","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/cp103_bayeux_placeholder.png\",\"video\":\"hoh_crossbow\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Silk Road"},{"id":452350,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M09_Txt_Tbd8","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/mon_capitals.png\",\"imagesmall\":\"images/text_collectibles/mon_capitals_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Mongol Capitals","localizedDescription":"In just two centuries of conquest and adaptation, the Mongol way of life evolved dramatically. Traditionally a nomadic population, they adopted permanent structures, and even capital cities.\r\n\r\nThe old Mongolian capital at Karakorum grew from a collection of gers into a walled city with its own palace, its courtyard built around a gleaming silver fountain that dispensed mare's milk and wine.\r\n\r\nGenghis Khan\u2019s descendants captured the Rus lands and chose Sarai as the capital of the Golden Horde.\r\n\r\nAnd the great city of Zhongdu became Khanbaliq, the \u201cCity of the Khan\u201d, the seat of Kublai Khan\u2019s own Yuan Dynasty.\r\n\r\nDespite embracing the grandeur of cities and the comfort of indoor living, the Mongols\u2019 nomadic heritage would always be close at hand. Within the city walls, a ring of traditional gers could be found, standing as a link to the roots of their legacy."},{"id":452351,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M01_Txt_Tbd1","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/rus_daniel.png\",\"imagesmall\":\"images/text_collectibles/rus_daniel_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Daniel of Moscow","localizedDescription":"In the 13th century, Moscow had fallen to the Mongol invasion and rebuilt itself from the ashes. But of all the Rus principalities, Moscow was still one of the smallest and least powerful. That is, until a new prince came to the throne.\r\n\r\n1272 saw Daniel Alexandrovich, the youngest son of the Rus hero Alexander Nevsky, assume full power as Prince of Moscow.\r\n\r\nFrom humble beginnings, Daniel increased Moscow\u2019s influence through diplomatic alliances and strong city defenses. An exemplar for peaceful solutions, he is known only to have participated in one battle.\r\n\r\nBy the end of Daniel\u2019s reign, he controlled the length of the Moskva River, igniting Moscow\u2019s ascendancy from city to state.\r\n\r\nDaniel\u2019s descendants would in turn rise to become the most powerful princes of the Rus domain, cementing Moscow\u2019s dynastic claim to rule."},{"id":452352,"name":"Generic_Inventory_Item\\Test_Mastery\\Test_Fun_Fact_A","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Slave King","localizedDescription":"From destitute beginnings, Aibak, a Turkic slave boy, underwent an unlikely rise. Sold into a sultan's household, Aibak proved himself clever and measured, and won the sultan's favor. Later, after many military victories and the death of the sultan, Aibak was proclaimed leader of the nascent Delhi Sultanate that he helped bring about. His dynasty is known as \"Mamluk\", meaning \"slave.\""},{"id":452353,"name":"Generic_Inventory_Item\\Test_Mastery\\Test_Fun_Fact_B","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Law of Archery","localizedDescription":"King Edward III brought about the Archery Law of 1363 which commanded that all male subjects practice archery for two hours every Sunday under the supervision of the local clergy."},{"id":452354,"name":"Generic_Inventory_Item\\Test_Mastery\\Test_Fun_Fact_C","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"No More","localizedDescription":"England used to be the native home of brown bears, but they became extinct around the 11th century."},{"id":452355,"name":"Generic_Inventory_Item\\Test_Mastery\\Test_Fun_Fact_D","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Daily Ablutions","localizedDescription":"Medieval English people believed in the motto, \u201ccleanliness is next to Godliness,\u201d and if they could, would bathe regularly in public baths."},{"id":452356,"name":"Generic_Inventory_Item\\Test_Mastery\\Test_Fun_Fact_E","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Summer Dreams","localizedDescription":"Summer was a difficult time for villagers who often ran out of grain before the new crop could be harvested, so had to resort to old rye. Unfortunately, stored rye could be infected with ergot, a fungus that caused hallucinations, gangrene and even death."},{"id":452373,"name":"Racebps\\Campaign\\Lithuania","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_grand_duchy_of_lithuania.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_grand_duchy_of_lithuania.png\",\"imagesmall\":\"images/civ_flags/flag_grand_duchy_of_lithuania.png\",\"race_id\":182910,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1255168],"localizedName":"Lithuania"},{"id":452375,"name":"Player_Portrait\\English_01_Farmer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_1_farmer.png\",\"ui_priority\":800,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"English Farmer","localizedDescription":"Granted for completing English Mastery 1."},{"id":452376,"name":"Player_Portrait\\English_02_Stonetools","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_2_tools.png\",\"ui_priority\":799,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Stone Tools","localizedDescription":"Granted for completing English Mastery 3."},{"id":452377,"name":"Player_Portrait\\English_03_Deer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_3_deer.png\",\"ui_priority\":798,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Deer","localizedDescription":"Granted for completing English Mastery 4."},{"id":452378,"name":"Player_Portrait\\English_04_Fish","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_4_basket.png\",\"ui_priority\":797,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Fish","localizedDescription":"Granted for completing English Mastery 6."},{"id":452379,"name":"Player_Portrait\\English_05_Firearrow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_5_seige.png\",\"ui_priority\":796,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Fire Arrow","localizedDescription":"Granted for completing English Mastery 8."},{"id":452380,"name":"Player_Portrait\\English_06_Eleanor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_6_eleanor.png\",\"ui_priority\":795,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Eleanor of Aquitaine","localizedDescription":"Granted for completing English Mastery 10."},{"id":452381,"name":"Player_Portrait\\English_07_Longbowman","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_7_bowman.png\",\"ui_priority\":794,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"English Longbowman","localizedDescription":"Granted for completing English Mastery 11."},{"id":452382,"name":"Player_Portrait\\English_08_Nicola","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_8-nicola.png\",\"ui_priority\":793,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Nicola de la Haie","localizedDescription":"Granted for completing English Mastery 12."},{"id":452383,"name":"Player_Portrait\\English_09_Jester","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_9_jester.png\",\"ui_priority\":792,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"Jester","localizedDescription":"Granted for completing English Mastery 13."},{"id":452384,"name":"Player_Portrait\\English_10_William","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/eng_10_william.png\",\"ui_priority\":791,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418040,1431929],"localizedName":"William the Conqueror","localizedDescription":"Granted for completing English Mastery 14."},{"id":452385,"name":"Player_Portrait\\French_01_Coin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_1_coin.png\",\"ui_priority\":750,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Coin","localizedDescription":"Granted for completing French Mastery 1."},{"id":452386,"name":"Player_Portrait\\French_02_Wolf","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_2_wolf.png\",\"ui_priority\":749,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"Wolf","localizedDescription":"Granted for completing French Mastery 3."},{"id":452387,"name":"Player_Portrait\\French_03_Rider","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_3_rider.png\",\"ui_priority\":748,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Rider","localizedDescription":"Granted for completing French Mastery 4."},{"id":452388,"name":"Player_Portrait\\French_04_Crossbow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_4_crossbowman.png\",\"ui_priority\":747,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Crossbow","localizedDescription":"Granted for completing French Mastery 6."},{"id":452389,"name":"Player_Portrait\\French_05_Cavalry","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_5_cavalry.png\",\"ui_priority\":746,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Armored Cavalry","localizedDescription":"Granted for completing French Mastery 8."},{"id":452390,"name":"Player_Portrait\\French_06_Lancer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_6_lancer.png\",\"ui_priority\":745,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Lancer","localizedDescription":"Granted for completing French Mastery 10."},{"id":452391,"name":"Player_Portrait\\French_07_Blacksmith","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_7_blacksmith.png\",\"ui_priority\":744,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Blacksmith","localizedDescription":"Granted for completing French Mastery 11."},{"id":452392,"name":"Player_Portrait\\French_08_Blanche","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_8-blanche.png\",\"ui_priority\":743,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"Blanche de Castile","localizedDescription":"Granted for completing French Mastery 12."},{"id":452393,"name":"Player_Portrait\\French_09_Courtier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_9_courtier.png\",\"ui_priority\":742,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"French Courtier","localizedDescription":"Granted for completing French Mastery 13."},{"id":452394,"name":"Player_Portrait\\French_10_Joanofarc","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/fre_10_joanofar.png\",\"ui_priority\":741,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1397008,1431929],"localizedName":"Jeanne d'Arc","localizedDescription":"Granted for completing French Mastery 14."},{"id":452395,"name":"Player_Portrait\\Hre_01_Scythe","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_1_scythe.png\",\"ui_priority\":700,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Scythe","localizedDescription":"Granted for completing Holy Roman Empire Mastery 1."},{"id":452396,"name":"Player_Portrait\\Hre_02_Shield","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_2_shield.png\",\"ui_priority\":699,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Holy Roman Empire Shield","localizedDescription":"Granted for completing Holy Roman Empire Mastery 3."},{"id":452397,"name":"Player_Portrait\\Hre_03_Citizen","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_3_citizen.png\",\"ui_priority\":698,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Holy Roman Empire Citizen","localizedDescription":"Granted for completing Holy Roman Empire Mastery 4."},{"id":452398,"name":"Player_Portrait\\Hre_04_Mace","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_4_mace.png\",\"ui_priority\":697,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Mace","localizedDescription":"Granted for completing Holy Roman Empire Mastery 6."},{"id":452399,"name":"Player_Portrait\\Hre_05_Champion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_5_champion.png\",\"ui_priority\":696,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Holy Roman Empire Champion","localizedDescription":"Granted for completing Holy Roman Empire Mastery 8."},{"id":452400,"name":"Player_Portrait\\Hre_06_Beguine","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_6_beguine.png\",\"ui_priority\":695,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Beguine Sister","localizedDescription":"Granted for completing Holy Roman Empire Mastery 10."},{"id":452401,"name":"Player_Portrait\\Hre_07_Cardinal","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_7_deacon.png\",\"ui_priority\":694,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Holy Roman Empire Prelate","localizedDescription":"Granted for completing Holy Roman Empire Mastery 11."},{"id":452402,"name":"Player_Portrait\\Hre_08_Relic","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_8_relic.png\",\"ui_priority\":693,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Relic","localizedDescription":"Granted for completing Holy Roman Empire Mastery 12."},{"id":452403,"name":"Player_Portrait\\Hre_09_Landsknecht","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_9_landsknecht.png\",\"ui_priority\":692,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Landsknecht","localizedDescription":"Granted for completing Holy Roman Empire Mastery 13."},{"id":452404,"name":"Player_Portrait\\Hre_10_Charlesv","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hre_10_charlesv.png\",\"ui_priority\":691,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418059,1431929],"localizedName":"Charles V","localizedDescription":"Granted for completing Holy Roman Empire Mastery 14."},{"id":452405,"name":"Player_Portrait\\Mongol_01_Sheep","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_1_sheep.png\",\"ui_priority\":550,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Sheep","localizedDescription":"Granted for completing Mongol Mastery 1."},{"id":452406,"name":"Player_Portrait\\Mongol_02_Empress","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_2_empress.png\",\"ui_priority\":549,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Mongol Empress","localizedDescription":"Granted for completing Mongol Mastery 3."},{"id":452407,"name":"Player_Portrait\\Mongol_03_Traveler","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_3_traveler.png\",\"ui_priority\":548,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Mongol Traveler","localizedDescription":"Granted for completing Mongol Mastery 4."},{"id":452408,"name":"Player_Portrait\\Mongol_04_Cap","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_4_scout.png\",\"ui_priority\":547,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Mongol Cap","localizedDescription":"Granted for completing Mongol Mastery 6."},{"id":452409,"name":"Player_Portrait\\Mongol_05_Heavyfootman","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_5_footman.png\",\"ui_priority\":546,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Mongol Footman","localizedDescription":"Granted for completing Mongol Mastery 8."},{"id":452410,"name":"Player_Portrait\\Mongol_06_Signalarrow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_6_signalarrow.png\",\"ui_priority\":545,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Signal Arrow","localizedDescription":"Granted for completing Mongol Mastery 10."},{"id":452411,"name":"Player_Portrait\\Mongol_07_Horsearcher","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_7_horsearcher.png\",\"ui_priority\":544,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Mongol Horse Archer","localizedDescription":"Granted for completing Mongol Mastery 11."},{"id":452412,"name":"Player_Portrait\\Mongol_08_Khutulun","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_8_khutulun.png\",\"ui_priority\":543,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Khutulun","localizedDescription":"Granted for completing Mongol Mastery 12."},{"id":452414,"name":"Player_Portrait\\Mongol_10_Genghiskhan","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_10_genghiskhan.png\",\"ui_priority\":541,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"Genghis Khan","localizedDescription":"Granted for completing Mongol Mastery 14."},{"id":452415,"name":"Player_Portrait\\Rus_01_Forester","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_1_forester.png\",\"ui_priority\":500,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Rus Forester","localizedDescription":"Granted for completing Rus Mastery 1."},{"id":452416,"name":"Player_Portrait\\Rus_02_Boar","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_2_boar.png\",\"ui_priority\":499,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Boar","localizedDescription":"Granted for completing Rus Mastery 3."},{"id":452417,"name":"Player_Portrait\\Rus_03_Elena","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_3_elena.png\",\"ui_priority\":498,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Elena Glinskaya","localizedDescription":"Granted for completing Rus Mastery 4."},{"id":452418,"name":"Player_Portrait\\Rus_04_Scout","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_4_druzarcher.png\",\"ui_priority\":497,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Rus Scout","localizedDescription":"Granted for completing Rus Mastery 6."},{"id":452419,"name":"Player_Portrait\\Rus_05_Olga","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_5_olga.png\",\"ui_priority\":496,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Olga of Kiev","localizedDescription":"Granted for completing Rus Mastery 8."},{"id":452420,"name":"Player_Portrait\\Rus_06_Horsearcher","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_6_horsearcher.png\",\"ui_priority\":495,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Rus Horse Archer","localizedDescription":"Granted for completing Rus Mastery 10."},{"id":452421,"name":"Player_Portrait\\Rus_07_Streltsy","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_7_strelsty.png\",\"ui_priority\":494,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Rus Streltsy","localizedDescription":"Granted for completing Rus Mastery 11."},{"id":452422,"name":"Player_Portrait\\Rus_08_Druzhina","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_8_druzhina.png\",\"ui_priority\":493,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Druzhina Knight","localizedDescription":"Granted for completing Rus Mastery 12."},{"id":452423,"name":"Player_Portrait\\Rus_09_Monk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_9_monk.png\",\"ui_priority\":492,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Rus Warrior Monk","localizedDescription":"Granted for completing Rus Mastery 13."},{"id":452424,"name":"Player_Portrait\\Rus_10_Ivantheterrible","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/rus_10_ivan.png\",\"ui_priority\":491,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418039,1431929],"localizedName":"Ivan the Terrible","localizedDescription":"Granted for completing Rus Mastery 14."},{"id":452425,"name":"Player_Portrait\\Sultanate_01_Coin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_1_coin.png\",\"ui_priority\":600,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Coin","localizedDescription":"Granted for completing Delhi Sultanate Mastery 1."},{"id":452426,"name":"Player_Portrait\\Sultanate_02_Villager","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_2_builder.png\",\"ui_priority\":599,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Villager","localizedDescription":"Granted for completing Delhi Sultanate Mastery 3."},{"id":452427,"name":"Player_Portrait\\Sultanate_03_Sword","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_3_sword.png\",\"ui_priority\":598,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Sword","localizedDescription":"Granted for completing Delhi Sultanate Mastery 4."},{"id":452428,"name":"Player_Portrait\\Sultanate_04_Manatarms","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_4_manatarms.png\",\"ui_priority\":597,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Man-At-Arms","localizedDescription":"Granted for completing Delhi Sultanate Mastery 6."},{"id":452429,"name":"Player_Portrait\\Sultanate_05_Literature","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_5_literature.png\",\"ui_priority\":596,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Healer","localizedDescription":"Granted for completing Delhi Sultanate Mastery 8."},{"id":452430,"name":"Player_Portrait\\Sultanate_06_Cavalier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_6_cavalier.png\",\"ui_priority\":595,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Cavalier","localizedDescription":"Granted for completing Delhi Sultanate Mastery 10."},{"id":452431,"name":"Player_Portrait\\Sultanate_07_Scholar","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_7_scholar.png\",\"ui_priority\":594,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Delhi Sultanate Scholar","localizedDescription":"Granted for completing Delhi Sultanate Mastery 11."},{"id":452432,"name":"Player_Portrait\\Sultanate_08_Elephant","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_8_elephant.png\",\"ui_priority\":593,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"War Elephant","localizedDescription":"Granted for completing Delhi Sultanate Mastery 12."},{"id":452433,"name":"Player_Portrait\\Sultanate_09_Razia","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_9_razia.png\",\"ui_priority\":592,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Razia Sultana","localizedDescription":"Granted for completing Delhi Sultanate Mastery 13."},{"id":452434,"name":"Player_Portrait\\Sultanate_10_Mubarak","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/sul_10_mubarak.png\",\"ui_priority\":591,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418060,1431929],"localizedName":"Mubarak","localizedDescription":"Granted for completing Delhi Sultanate Mastery 14."},{"id":452435,"name":"Player_Portrait\\Chinese_01_Scout","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_1_scout.png\",\"ui_priority\":650,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Chinese Scout","localizedDescription":"Granted for completing Chinese Mastery 1."},{"id":452436,"name":"Player_Portrait\\Chinese_02_Repeater","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_2_repeater.png\",\"ui_priority\":649,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Zhuge Nu Repeater Crossbow","localizedDescription":"Granted for completing Chinese Mastery 3."},{"id":452437,"name":"Player_Portrait\\Chinese_03_Siege","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_3_siege.png\",\"ui_priority\":648,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Chinese Siege","localizedDescription":"Granted for completing Chinese Mastery 4."},{"id":452438,"name":"Player_Portrait\\Chinese_04_Worker","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_4_worker.png\",\"ui_priority\":647,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Chinese Worker","localizedDescription":"Granted for completing Chinese Mastery 6."},{"id":452439,"name":"Player_Portrait\\Chinese_05_Grenadier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_5_grenadier.png\",\"ui_priority\":646,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Chinese Grenadier","localizedDescription":"Granted for completing Chinese Mastery 8."},{"id":452440,"name":"Player_Portrait\\Chinese_06_Firelancer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_6_firelancer.png\",\"ui_priority\":645,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Chinese Firelancer","localizedDescription":"Granted for completing Chinese Mastery 10."},{"id":452441,"name":"Player_Portrait\\Chinese_07_Gunpowder","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_7_gunpowder.png\",\"ui_priority\":644,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Chinese Gunpowder","localizedDescription":"Granted for completing Chinese Mastery 11."},{"id":452442,"name":"Player_Portrait\\Chinese_08_Liu","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_8_liu.png\",\"ui_priority\":643,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Empress Liu","localizedDescription":"Granted for completing Chinese Mastery 12."},{"id":452443,"name":"Player_Portrait\\Chinese_09_Nestofbees","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_9_bees.png\",\"ui_priority\":642,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Nest of Bees","localizedDescription":"Granted for completing Chinese Mastery 13."},{"id":452444,"name":"Player_Portrait\\Chinese_10_Hongwu","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/chi_10_hongwu.png\",\"ui_priority\":641,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418062,1431929],"localizedName":"Emperor Hongwu","localizedDescription":"Granted for completing Chinese Mastery 14."},{"id":452445,"name":"Player_Portrait\\Campaign_Nor_Matilda","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/cpg_nor_reward_matilda.png\",\"ui_priority\":5000,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929],"localizedName":"Empress Matilda","localizedDescription":"Granted for completing the Norman Conquest campaign."},{"id":452448,"name":"Racebps\\Campaign\\Poland","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_kingdom_of_poland.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_kingdom_of_poland.png\",\"imagesmall\":\"images/civ_flags/flag_kingdom_of_poland.png\",\"race_id\":186603,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1255168],"localizedName":"Poland"},{"id":452449,"name":"Racebps\\Campaign\\Bohemia","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_kingdom_of_bohemia.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_kingdom_of_bohemia.png\",\"imagesmall\":\"images/civ_flags/flag_kingdom_of_bohemia.png\",\"race_id\":186624,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1255168],"localizedName":"Bohemia"},{"id":452450,"name":"Racebps\\Campaign\\Hungary","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_kingdom_of_hungary.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_kingdom_of_hungary.png\",\"imagesmall\":\"images/civ_flags/flag_kingdom_of_hungary.png\",\"race_id\":187558,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1255168],"localizedName":"Hungary"},{"id":452451,"name":"Racebps\\Campaign\\Novgorod","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_novgorod_republic.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_novgorod_republic.png\",\"imagesmall\":\"images/civ_flags/flag_novgorod_republic.png\",\"race_id\":187855,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1168965],"localizedName":"Novgorod"},{"id":452482,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_001","imageData":"","metaData":"{\"ui_priority\":100}","available":0,"version":0,"level":1,"categoryIDs":[1450300,1502191],"localizedName":"Goldenrod"},{"id":452483,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_005","imageData":"","metaData":"{\"ui_priority\":60}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Clay Red"},{"id":452484,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_001","imageData":"","metaData":"{\"ui_priority\":100}","available":0,"version":0,"level":1,"categoryIDs":[1450298,1502191],"localizedName":"Clay Red"},{"id":452485,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_010","imageData":"","metaData":"{\"ui_priority\":10}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Fire Brick"},{"id":452486,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_001","imageData":"","metaData":"{\"ui_priority\":100}","available":0,"version":0,"level":1,"categoryIDs":[1407415,1502191],"localizedName":"White"},{"id":452487,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_002","imageData":"","metaData":"{\"ui_priority\":90}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Light Yellow"},{"id":452488,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_002","imageData":"","metaData":"{\"ui_priority\":90}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Medium Slate Blue"},{"id":452489,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_008","imageData":"","metaData":"{\"ui_priority\":30}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Desert Sand"},{"id":452504,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_square_dagged.png\",\"icon2\":\"images/coat_of_arms/banner/outline_square_dagged.png\",\"image\":\"images/coat_of_arms/banner/mask_square_dagged.png\",\"ui_priority\":480}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931],"localizedName":"Squared Dag banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for completing Sultanate Mastery 2."},{"id":452505,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_fleur_de_lis.png\",\"ui_priority\":490}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Fleur-de-Lis Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing French Mastery 5."},{"id":452506,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_checkered.png\",\"ui_priority\":450}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Checkered Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Mongol Mastery 12."},{"id":452507,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/quad_right.png\",\"ui_priority\":440}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Right Quadrant Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Rus Mastery 15."},{"id":452508,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/quad_left.png\",\"ui_priority\":460}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Left Quadrant Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Delhi Sultanate Mastery 15."},{"id":452513,"name":"Racebps\\Campaign\\A_Different_Kind_Of_Rus","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_chinese.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_chinese.png\",\"race_id\":195982,\"ui_priority\":6,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1168965]},{"id":452514,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_diamond.png\",\"ui_priority\":475}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Diamond Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Holy Roman Empire Mastery 15."},{"id":452515,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_010","imageData":"","metaData":"{\"ui_priority\":10}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Light Orange"},{"id":452516,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_007","imageData":"","metaData":"{\"ui_priority\":40}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Royal Blue"},{"id":452517,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_004","imageData":"","metaData":"{\"ui_priority\":70}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Spring Green"},{"id":452518,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_003","imageData":"","metaData":"{\"ui_priority\":80}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Pale Green"},{"id":452519,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_005","imageData":"","metaData":"{\"ui_priority\":60}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Aquamarine"},{"id":452520,"name":"Coat_Of_Arms_Part\\Sigil_Colour\\Sigil_Color_006","imageData":"","metaData":"{\"ui_priority\":50}","available":0,"version":0,"level":1,"categoryIDs":[1407415],"localizedName":"Sky Blue"},{"id":452522,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_001","imageData":"","metaData":"{\"ui_priority\":100}","available":0,"version":0,"level":1,"categoryIDs":[1450299,1502191],"localizedName":"Steel Blue"},{"id":452523,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_003","imageData":"","metaData":"{\"ui_priority\":80}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Purple"},{"id":452524,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_004","imageData":"","metaData":"{\"ui_priority\":70}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Medium Orchid"},{"id":452525,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_005","imageData":"","metaData":"{\"ui_priority\":60}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Orchid"},{"id":452526,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_006","imageData":"","metaData":"{\"ui_priority\":50}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Brick"},{"id":452527,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_007","imageData":"","metaData":"{\"ui_priority\":40}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Tawny"},{"id":452529,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_009","imageData":"","metaData":"{\"ui_priority\":20}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Sea Green"},{"id":452530,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_010","imageData":"","metaData":"{\"ui_priority\":10}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Cerulean"},{"id":452532,"name":"Coat_Of_Arms_Part\\Frame_Colour\\Frame_Color_008","imageData":"","metaData":"{\"ui_priority\":30}","available":0,"version":0,"level":1,"categoryIDs":[1450297],"localizedName":"Desert Sand"},{"id":452534,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_002","imageData":"","metaData":"{\"ui_priority\":90}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Yellow"},{"id":452535,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_003","imageData":"","metaData":"{\"ui_priority\":80}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Yellow Green"},{"id":452536,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_004","imageData":"","metaData":"{\"ui_priority\":70}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Bright Green"},{"id":452538,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_006","imageData":"","metaData":"{\"ui_priority\":50}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Sea Foam"},{"id":452539,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_007","imageData":"","metaData":"{\"ui_priority\":40}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Deep Sky Blue"},{"id":452540,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_009","imageData":"","metaData":"{\"ui_priority\":20}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Bright Red"},{"id":452541,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_010","imageData":"","metaData":"{\"ui_priority\":10}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Crimson"},{"id":452543,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_004","imageData":"","metaData":"{\"ui_priority\":70}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Yellow Green"},{"id":452544,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_007","imageData":"","metaData":"{\"ui_priority\":40}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Teal"},{"id":452545,"name":"Coat_Of_Arms_Part\\Outline_Colour\\Outline_Color_008","imageData":"","metaData":"{\"ui_priority\":30}","available":0,"version":0,"level":1,"categoryIDs":[1450300],"localizedName":"Medium Blue"},{"id":452546,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_002","imageData":"","metaData":"{\"ui_priority\":90}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Sandstone"},{"id":452547,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_003","imageData":"","metaData":"{\"ui_priority\":80}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Olive"},{"id":452548,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_005","imageData":"","metaData":"{\"ui_priority\":60}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Green"},{"id":452549,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_006","imageData":"","metaData":"{\"ui_priority\":50}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Clover Green"},{"id":452550,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_008","imageData":"","metaData":"{\"ui_priority\":30}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Dark Cerulean"},{"id":452551,"name":"Coat_Of_Arms_Part\\Pattern_Colour\\Pattern_Color_009","imageData":"","metaData":"{\"ui_priority\":20}","available":0,"version":0,"level":1,"categoryIDs":[1450298],"localizedName":"Magenta"},{"id":452552,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_004","imageData":"","metaData":"{\"ui_priority\":70}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Medium Orchid"},{"id":452553,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_003","imageData":"","metaData":"{\"ui_priority\":80}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Purple"},{"id":452554,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_005","imageData":"","metaData":"{\"ui_priority\":60}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Orchid"},{"id":452555,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_006","imageData":"","metaData":"{\"ui_priority\":50}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Brick"},{"id":452556,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_007","imageData":"","metaData":"{\"ui_priority\":40}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Tawny"},{"id":452557,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_009","imageData":"","metaData":"{\"ui_priority\":20}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Sea Green"},{"id":452558,"name":"Coat_Of_Arms_Part\\Sigil_Frame_Colour\\Sigil_Frame_Color_010","imageData":"","metaData":"{\"ui_priority\":10}","available":0,"version":0,"level":1,"categoryIDs":[1450299],"localizedName":"Cerulean"},{"id":452559,"name":"Player_Portrait\\Mongol_09_Stupa","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/mon_9_stupa-.png\",\"ui_priority\":542,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418061,1431929],"localizedName":"White Stupa","localizedDescription":"Granted for completing Mongol Mastery 13."},{"id":452595,"name":"Player_Portrait\\Default_01_Shield","imageData":"","metaData":"{\"icon\":\"images/portraits/crd_default_portrait.png\",\"ui_priority\":8000,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418067],"localizedName":"Default Portrait","localizedDescription":"Granted for owning Age of Empires IV."},{"id":452634,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_crossedswords.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_crossedswords.png\",\"ui_priority\":410}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Straight Swords","localizedDescription":"An age old emblem of honor in battle.\r\n\r\nGranted for completing Holy Roman Empire Mastery 2."},{"id":452635,"name":"Coat_Of_Arms_Part\\Sigil\\Excl_Gamepass_Sigil_Stag","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_deer.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_deer.png\",\"ui_priority\":8004}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Prancing Stag","localizedDescription":"The hunting of a stag was symbolic for the pursuit of wisdom.\r\n\r\nGranted for having an Xbox Game Pass for PC or Xbox Game Pass Ultimate subscription."},{"id":452636,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_deerhead.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_deerhead.png\",\"ui_priority\":470}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Stag's Head","localizedDescription":"An emblem of one who will fight if provoked.\r\n\r\nGranted for completing English Mastery 9."},{"id":452637,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_fleurdelis.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_fleurdelis.png\",\"ui_priority\":430}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Fleur-de-Lis","localizedDescription":"A stylized lily that has long been a symbol of purity.\r\n\r\nGranted for completing French Mastery 9."},{"id":452638,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_horse.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_horse.png\",\"ui_priority\":300}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Rearing Horse","localizedDescription":"This sigil indicates one who is ready for battle.\r\n\r\nGranted for completing Mongol Mastery 9."},{"id":452639,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_lion.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_lion.png\",\"ui_priority\":500}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Royal Lion","localizedDescription":"The noblest of all the wild beasts, the symbol of strength and valor.\r\n\r\nGranted for completing English Mastery 2."},{"id":452640,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_mingsun.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_mingsun.png\",\"ui_priority\":210}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Sun","localizedDescription":"The epitome of yang in Chinese culture.\r\n\r\nGranted for completing Training Mastery 1."},{"id":452641,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_pickandhammer.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_pickandhammer.png\",\"ui_priority\":190}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Hammer & Pick","localizedDescription":"This symbol represents the traditional tools of the miner.\r\n\r\nGranted for completing Training Mastery 3."},{"id":452642,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sheep2.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sheep2.png\",\"ui_priority\":310}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Gazing Sheep","localizedDescription":"A symbol of humility, peace, and innocence.\r\n\r\nGranted for completing Mongol Mastery 2."},{"id":452643,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sickle.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sickle.png\",\"ui_priority\":370}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Sickle","localizedDescription":"A curved blade used for harvesting, or reaping, grain crops or forage.\r\n\r\nGranted for completing Chinese Mastery 2."},{"id":452644,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sword.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sword.png\",\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Sword Hilt","localizedDescription":"A symbol of power, protection, authority, strength, and courage."},{"id":452645,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sheep1.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sheep1.png\",\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Sheep","localizedDescription":"Sheep were the most common source for wool in medieval Europe."},{"id":452646,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_16","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_wheat.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_wheat.png\",\"ui_priority\":440}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Sheaf of Wheat","localizedDescription":"A symbol of plenty.\r\n\r\nGranted for completing French Mastery 2."},{"id":452648,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_17","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_axe.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_axe.png\",\"ui_priority\":270}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Hand Ax","localizedDescription":"The first axes used as weapons were probably the same axes that were used as tools.\r\n\r\nGranted for completing Rus Mastery 9."},{"id":452649,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_01_Empty","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/pattern/none.png\",\"ui_priority\":990}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1502191],"localizedName":"No pattern","localizedDescription":"An empty field."},{"id":452658,"name":"Racebps\\Abbasid","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_abbasid.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_abbasid.png\",\"image\":\"images/backgrounds/loading/flags/abbasid_bg.png\",\"imagesmall\":\"images/civ_flags/flag_abbasid.png\",\"race_id\":199703,\"ui_priority\":2,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1469049],"localizedName":"Abbasid Dynasty","localizedDescription":"The Abbasid Dynasty pursues a flourishing Golden Age by concentrating structures around their House of Wisdom, allowing them to unlock significant economic advantages. The House of Wisdom also drives progress through the Ages and grants access to advanced technology. Abbasid camel units are expert at countering enemy cavalry."},{"id":452833,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The White Camel","localizedDescription":"The status of a Mongol woman was in part denoted by the animal that pulled her cart. Genghis Khan's mother was therefore instantly recognized as someone of importance by her exotic draft animal: a gleaming white camel."},{"id":452834,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Spill No Blood","localizedDescription":"The spilling of blood in the ger was an act of disrespect to the earth. And so, when Genghis Khan was wounded by an arrow in the neck, one of his loyal soldiers kept the blood from the ground by swallowing it until his stomach was full."},{"id":452835,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Joroo Gait","localizedDescription":"The best Mongol horses for long-distance travel moved with a smooth gait, as though gliding, making it easier for Yam riders to swiftly deliver their messages over vast distances. On these \"joroo\" horses, Mongol warriors would outride their opponents time and again."},{"id":452836,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Arrow Storm","localizedDescription":"Due to their prowess as horse archers, Mongol armies could devastate an enemy at speed and at range. Encircling their opponent, Mongol archers would fire a storm of arrows down into the killing zone, softening the enemy before finishing them at close range."},{"id":452837,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"God Mountain","localizedDescription":"For Genghis Khan, Mount Burkhan Khaldun represented the sacred heart of Mongolia. Its forests had hidden him from enemies; it was the source of three great rivers; and it reached high up into the Eternal Blue Sky. He would return there in times of desperation for guidance from the spirits."},{"id":452838,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Feigned Retreat","localizedDescription":"Perceiving no dishonor in turning away from battle, Mongols used the \"feigned retreat\" tactic to devastating effect against the chivalry-oriented armies of Europe. In chasing down their invaders, European knights would be unwittingly lured into a calculated ambush by sharp-eyed horse archers."},{"id":452839,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Pax Mongolica","localizedDescription":"As the Mongol Empire stabilized, trade routes were made more secure than ever before. Under this new regime of relative peace, the east-west flow of goods flourished into the lifeblood of the empire."},{"id":452840,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Sheep Dung","localizedDescription":"Sheep dung was in plentiful supply on the steppe, and when dried, it could be burned as cooking fuel. In this form it saved the life of a young Genghis Khan. Stranded far from home, he slaughtered a wild horse and cooked its flesh over a fire of sheep dung."},{"id":452841,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Ismail's Trebuchet","localizedDescription":"At the Battle of Xiangyang, Kublai Khan employed the expertise of Ismail, a siege engineer from the Ilkhanate of Persia. His Great Trebuchet hurled a barrage of 100 kg boulders. They shattered the walls with such force it was said they \"shook the city like a clap of thunder\"."},{"id":452842,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Wrestling Vest","localizedDescription":"In honor of the champion wrestler princess, Khutulun, male Mongolian wrestlers wear an open-fronted shirt to prove that they are in fact men. Khutulun was never bested on the mat by any man, and since her time, no man would be unknowingly beaten by a woman again."},{"id":452843,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Firing from the Saddle","localizedDescription":"Mongol riders could fire arrows with stunning precision by timing their shots with the rhythm of the gallop. When all four hooves were off the ground, the horse glided smoothly for a moment. At one with their animal, a skillful archer could then fire off a straight shot, untroubled by shuddering impacts."},{"id":452844,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Hunting with Whistling Arrows","localizedDescription":"Whistling arrows were not only used to transmit commands during battle \u2013 they could be used in hunting too. An adept hunter would fire a whistling arrow over the head of his target. While the animal was distracted by this unusual noise, the hunter could quickly loose the killing shot."},{"id":452845,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Magic for War","localizedDescription":"Early Mongols believed in the magic of their shamans to manipulate the weather. Prior to battle, the shaman would place rocks known as \"rain stones\" into water. When a powerful rainstorm did appear and scatter the enemy, it seemed to confirm the shaman's work. The Mongols could then pick their moment to strike at a confounded enemy."},{"id":452846,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Tender Flesh","localizedDescription":"Moving swiftly, Mongol armies traveled light. Their horses grazed on the land and those brought in reserve could be slaughtered for food. Warriors placed pouches of raw horseflesh under their saddles, using the pounding action of horse and rider to tenderize the meat. At the end of a long ride, a succulent meal awaited."},{"id":452862,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Paper Money","localizedDescription":"As Chinese commerce flourished under the Song Dynasty, merchants and tax collectors had to carry ever weightier hauls of coins. But with improvements in printing techniques, the world's first paper money was introduced. Its lighter weight solved the haulage problem, but its ease of production would soon cause problems with inflation and counterfeiting."},{"id":452863,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Mu Guiying","localizedDescription":"The legendary Song Dynasty general, Mu Guiying, is said to have made her reputation as a shrewd military leader when she discovered a way to defeat the \"Heavenly Gate Formation\". Rather than charge this unbreakable formation head-on, she destroyed the enemy's supplies, quickly starving them into submission. Her prize: to choose her own husband."},{"id":452864,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Repeating Crossbow","localizedDescription":"When facing a raid on their village, medieval Chinese peasants had an ingenious weapon to hand. The Repeating Crossbow could fire off a rapid volley of poison-tipped bolts as the enemy closed in. Although short range and low in power, the sheer number of bolts fired could be enough to repel the invaders."},{"id":452865,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Town Planning","localizedDescription":"Ancient Chinese cities were carefully organized into what we would recognize as a grid system. But converse to modern cities, public buildings were at the outskirts and private dwellings in the center. A system of concentric walls and gates prevented those without the proper permission from entering the inner sanctums."},{"id":452866,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Scholar-officials","localizedDescription":"The position of Imperial Scholar-official was a prestigious post. Qualifying men were appointed to service by the Emperor himself. This perceived prestige resulted in stark social divisions among Chinese families. A whole strata of wealthy elite families raised their sons for one key event: taking the civil service entrance exam."},{"id":452867,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Thirty-Six Stratagems","localizedDescription":"Ancient Chinese proverbs were often used as military strategies, providing generals with sage wisdom in the midst of battle. They ranged from how to crush a weak enemy, to luring a strong enemy into a weak position. And if all else failed, the 36th stratagem advised retreat: \"Run away to fight another day.\""},{"id":452868,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Prized Crop","localizedDescription":"During the Song Dynasty, new strains of rice were developed that could ripen quickly and survive in drought conditions. Quick-ripening rice was ready for harvest within months, allowing a second crop to be planted and harvested in the same year. As production boomed, so did the power of Central China."},{"id":452869,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Legendary Blade","localizedDescription":"The \"Moon Blade\" or \"Guandao\" was a traditional Chinese pole weapon. It carried almost mystical status, said to have been invented by a legendary Chinese general who easily wielded its hefty weight. Over time, its blade was made ever heavier, and the ability to handle it became an arduous entry test for the military."},{"id":452870,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Astronomical Clock","localizedDescription":"Song era scientists made huge leaps in the Chinese understanding of celestial mechanics. This knowledge, along with advances in engineering technology, was poured into the magnificent water-powered astronomical clocktower in Kaifeng. It displayed the time, date, phase of the moon, and even the positions of the planets."},{"id":452871,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Live Fire","localizedDescription":"Alongside other surprising tactics, the Chinese sometimes used an unusual delivery method to bring fire upon their enemies. Live animals, such as birds and oxen, were laden with fireballs or delayed incendiaries and sent into enemy territory. The confusion and destruction they wrought weakened the enemy, making them ripe for attack."},{"id":452872,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The First Firearm","localizedDescription":"The Chinese Fire Lance was the predecessor to all firearms. The discovery of gunpowder quickly led to flamethrowers and explosive weapons that confused and terrified China's enemies on the battlefield. The Fire Lance is said to have been the only Chinese weapon that the Mongols truly feared."},{"id":452873,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Pagoda Lore","localizedDescription":"Pagodas of the Song Dynasty were thought to be imbued with supernatural properties. But early wooden pagodas could succumb to natural disasters, and their demise was considered a judgment on some recent human failing. Often rebuilt later in stone, these hardier structures were hoped to bring better fortunes."},{"id":452874,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Defense by Flame","localizedDescription":"The Chinese not only used incendiary weapons to attack their enemies, but also in defense of their cities. Traction trebuchets were loaded with barbed fire balls \u2013 spiky, flaming projectiles that would hook into the wooden struts of the enemy's siege towers and continue burning, with luck, until the towers collapsed."},{"id":452875,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Child Emperor","localizedDescription":"After more than three centuries of rule, the Song Dynasty came to an end at the hands of the Mongols. In a desperate attempt to keep the dynasty alive, the seven-year-old Zhao Bing was installed as Emperor. But his ill-fated reign lasted less than a year. Hunted down by the Mongols, he met an early end."},{"id":452877,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Build and Control","localizedDescription":"The Normans needed castles to secure their lands, and so built them in great numbers. Using earth and wood, an imposing structure could be built in a matter of weeks. But wood could easily succumb to the elements, so the Normans later replaced these with the stone castles that still survive today."},{"id":452878,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Falconry for Status","localizedDescription":"Originally a means of hunting, medieval falconry became a craze. The nobility would gather for lavish parties to compare their magnificent birds of prey. Soon enough, birds became a status symbol and laws prohibited the ownership of a bird considered above one's social standing. The penalty for owning the wrong bird: to lose your hands."},{"id":452879,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Cost of Stone","localizedDescription":"Transporting stone in the Middle Ages was a costly business. In 1376 an alabaster table was hauled over 100 miles to Windsor Castle by 20 men, 10 carts and 80 horses over 17 days. The haulage alone cost a whopping £20 \u2013 roughly the annual salary of an army constable."},{"id":452880,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Assize of Arms","localizedDescription":"By the time of Henry II, England had endured countless invasions and civil wars. To be ready for any further challenges to his rule, Henry proclaimed his \"Assize of Arms\", which obligated all able Englishmen to take up arms in his name when commanded. He created, in essence, an enforced militia."},{"id":452881,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Boom and Bust","localizedDescription":"Temperatures warmed across Europe in the Early Middle Ages and food production boomed. And with advances in agricultural technology, more and more wild lands were cleared for farming. But with rapid population growth came the rise of disease. The plague would soon resurface and spread freely through the breeding ground of a more dense population."},{"id":452882,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Traitor's Fate","localizedDescription":"In 1090 a traitor begged for mercy on the battlements of Rouen castle. Henry, son of William the Conqueror, gave no pause before delivering his sentence. Ignoring the traitor\u2019s pleas, Henry pushed him to his death. Ten years later, Henry became King of England and secured his rule by making gruesome examples of thieves and betrayers."},{"id":452883,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Marketplace","localizedDescription":"The medieval market was a vibrant gathering place for commerce and socialization. Tax records show that the 12,000-square-yard market at Stow-on-the-Wold, which still operates today, had a telling trade as its top medieval money maker: the art of brewing."},{"id":452884,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Death of Indulgence","localizedDescription":"Henry I was fond of life's indulgences. A successful ruler, he often held gut-busting banquets in a lavishly adorned dining hall. But Henry's appetite would be his demise. While on campaign, he succumbed to food poisoning. Against the advice of his doctor, he is said to have consumed \"a surfeit of lampreys\" and died days later."},{"id":452885,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Projectile Horrors","localizedDescription":"Siege engines like catapults and trebuchets were terrifying sights for those under attack. In addition to wall-crushing boulders, some armies would hurl the equivalent of bioweapons, launching dead bodies and excrement into walled towns. In an age of rudimentary sanitation and before antibiotics, disease would run rife, softening the population and hastening their surrender."},{"id":452886,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Magna Carta","localizedDescription":"England\u2019s Magna Carta was created as a peace treaty to end a bitter civil war. Rebel barons had captured London, forcing King John to negotiate peace terms that would hold the monarch to the law of the land. It has since influenced founding and human rights charters throughout history, including the United States\u2019 Constitution."},{"id":452887,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Longbows of Agincourt","localizedDescription":"At Agincourt in northern France, Henry V's longbowmen faced the might of France's heavily armored knights. Although outnumbered, the archers would turn their prowess into a legendary victory. As the French cavalry charged through the mud-laden field, the English loosed a thousand arrows per second. The fallen clogged the field, and, stuck in the bog, the remaining knights were easy pickings for the English infantry."},{"id":452888,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The 70-year-old Knight","localizedDescription":"At the Battle of Lincoln in 1217, the king's regent William Marshal led a desperate army into battle. He was 70 years old, and no stranger to poor odds. Charging headlong at the enemy and taking many soldiers for ransom, he ensured peace for the kingdom and secured his legendary status."},{"id":452889,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Coin Clipping","localizedDescription":"13th Century coins were made of soft metals like silver. This made it easy to clip off small pieces and use them to make counterfeit coins. With the influx of coins, the currency value dropped, and the practice was outlawed on pain of death. Later coins were made of harder metals and bore anti-counterfeiting designs."},{"id":452890,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Trial by Ordeal","localizedDescription":"To determine the guilt of a medieval criminal, the accused would endure a Trial by Ordeal. They could be bound and thrown into water, forced to hold a red-hot iron, or fight another to the death. Those who healed and survived were considered innocent in the eyes of God, and escaped an even more gruesome execution."},{"id":452892,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Jacquerie Revolt","localizedDescription":"In 1358, two weeks of bloody revolts raged throughout France. Crippled by taxation, struggling through famine, and victim to chevauchée raids, the peasantry of France arose against the lords who were supposed to protect them. Although brief, the revolt would be remembered as one of the most brutal class wars in French history."},{"id":452893,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Black Death","localizedDescription":"In the mid-fourteenth century, the plague arrived in France. Victims\u2019 skin erupted in pus-filled buboes which turned black. They developed acute fever, then began vomiting blood. Death soon followed. In a few years, a quarter of France's population had died. But even such a cataclysm could only pause the Hundred Years War, and both sides soon took up arms again."},{"id":452894,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Protection Money","localizedDescription":"As the French countryside repeatedly came under attack from free companies of \"Routiers\", some people fled to cities, monasteries, or underground tunnels. Other towns were given the chance to protect themselves by paying large sums of \"patis\" to the mercenaries. This was an expensive choice, but paying up could spare a whole community from pillaging and violence."},{"id":452895,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Black Monday","localizedDescription":"On Easter Monday, 1360, the French town of Chartres came under siege from England's Edward III. But that night, as winds rose and temperatures dropped, the town faced a storm of devastating proportions. Outside the walls, the English and their horses were struck down in their thousands by enormous hailstones. Chartres seemed to have received divine deliverance. Submitting to this apparent judgement on his war, Edward hastily signed a peace treaty."},{"id":452896,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A War of Treaties","localizedDescription":"The Hundred Years War did not rage continuously. More than a dozen treaties and truces were made in attempts at peace. Each time, rulers might hand over lands, promise a daughter in marriage, or recognize their opponent as their lord. But the war would resume, only ending when all of France belonged to the French."},{"id":452897,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Dash for Glory","localizedDescription":"On 25th October 1415, the Battle of Agincourt raged in a mud-choked field. Desperate for acclaim, the French knight Anthony of Brabant, raced too quickly into battle, leaving his coat-of-arms behind. Overwhelmed by arrow fire, Brabant was quickly taken captive by the English. But lacking the heraldry to identify him as a noble, instead of being ransomed, he was executed."},{"id":452898,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Battle of Bows","localizedDescription":"At Crécy in 1346, France's ally, Genoa, sent their crossbowmen to face England's longbows. But rain had muddied the field, hampering their ability to reload. Crossbow stirrups would be held down by the foot as the archer drew back the string, but now they simply sunk into the mud. The Genoese retreated under rapid arrow fire, and were later hunted by the French as traitors."},{"id":452899,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Champagne Fairs","localizedDescription":"In the High Middle Ages, the county of Champagne was home to a year-round cycle of flourishing international trade fairs. Traders from all over Europe would converge to sell prized goods such as furs, silks, spices, and textiles. As cultures mingled, Champagne became a powerful center of information. To not attend the fairs was to fall behind your neighbors."},{"id":452900,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Staying in the Saddle","localizedDescription":"As knights of the Middle Ages donned heavier and more protective armor, they needed increased support in the saddle. The front and back of the saddle became higher and more sturdy. With rigid wooden or metal frames, they would lock the knight into his seat, allowing him to ride on, even after taking a blow."},{"id":452901,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"King of Glass","localizedDescription":"King Charles VI suffered from distressing delusions. He attacked his own men, forgot that he was king, and believed that his body was made of glass. After defeat to England at Agincourt, Charles signed a treaty that disinherited his own son from the throne of France. The future Charles VII would fight the war to win it back."},{"id":452902,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Pavise","localizedDescription":"After heavy defeats to the English longbows at Poitiers and Crécy, France made increasing use of the \"pavise\" \u2013 a convex, wooden, body-covering shield that planted into the ground and protected archers and crossbowmen as they reloaded. The pavise became so critical on the battlefield that France protected the trees used to make them."},{"id":452903,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Position of Honor","localizedDescription":"A knight's battle lance was a solid, piercing spike that could kill in a single blow. And every knight wanted the chance to use it. Charging the enemy in straight lines, riding side by side, each lancer had the honor of occupying the front line. When victory was won using this \"en haie\" formation, each knight could claim his glory."},{"id":452904,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Bureau Brothers","localizedDescription":"In the final battles of the Hundred Years War, King Charles VII appointed two self-taught gunpowder experts to lead his new artillery division. Jean and Gaspard Bureau brought their cannons and their devastating tactics to the field. Arranging their guns in interlocking formations, they covered all angles of attack. Their bow-wielding English opponents were quickly defeated, leading to victory for France."},{"id":452905,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Retrial of Jeanne d'Arc","localizedDescription":"Despite maintaining her innocence, Jeanne d'Arc was burned at the stake for heresy in 1431. But in a retrial 25 years later, she would emerge a martyr. The proceedings of her original trial were scrutinized and found unlawful; over a hundred witnesses attested to her piety. She was finally declared innocent \u2013 \"washed clean of any taint of infamy.\""},{"id":452907,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Multitude of States","localizedDescription":"At its height in the 13th century, the Holy Roman Empire held a complex collection of hundreds of territories, ranging from small knightly estates to the large kingdom of Bohemia. Centered on modern-day Germany, its borders spanned from the North Sea to the Mediterranean. While each territory could govern its own affairs, all were \u2013 to varying degrees \u2013 dependent upon the backing of the emperor himself."},{"id":452908,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Empress Matilda","localizedDescription":"Daughter of England's Henry I, Matilda was uniquely prepared for rule. At 12, she became the Holy Roman Empress, and grew up learning how to command. In the years when her husband, Heinrich V, was at war, she governed the realm in his stead. After his death, she would use her experience to fight for the crown of England."},{"id":452909,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Fearsome Hedgehog","localizedDescription":"The Landsknecht soldiers were a highly successful fighting force. Wielding long pikes, halberds, arquebus guns, and double-handed broadswords, they would group up in tight rectangular formations and advance steadily into enemy ranks. Their circular defensive formation was an almost impenetrable ring of pikes pointing out from the center, known as \"igel\", meaning \"hedgehog\"."},{"id":452910,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Edict of Salerno","localizedDescription":"In 1241, the Emperor Frederick II made a declaration that forever changed the medical profession. Frederick saw a problem: physicians could prescribe, prepare, and sell medicines of their own making, resulting in high prices for patients. The Edict of Salerno legally separated the work of doctors from that of pharmacists. Prices were lowered for all, and the poor would be treated for free."},{"id":452911,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Shifting Empire","localizedDescription":"The name of the empire changed over time. Charlemagne had seen himself as reviving the Roman Empire of Augustus and Constantine \u2013 the first Roman and the first Christian emperors, respectively. By the end of the twelfth century, it was increasingly referred to as the \"Holy Roman Empire\", and from 1495 was known as the \"Holy Roman Empire of the German Nation\"."},{"id":452912,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Emperor of Falconry","localizedDescription":"Medieval Europe was gripped by an enthusiasm for falconry, and the emperor Frederick II became a renowned expert in the art, even authoring his own book on the topic. So blinding was his obsession that he left the Siege of Parma in order to go hawking. In his absence, the enemy took control of his camp, burnt it to the ground, and looted his treasure."},{"id":452913,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Fair Wage","localizedDescription":"The Holy Roman Empire raised its army of Landsknechte \u2013 \"land servants\" \u2013 through payment, rather than feudal obligation. But in times of peace, the mercenaries would sometimes go unpaid and resort to pillaging for a living. In 1527 the Landsknechte sacked and destroyed Rome, demanding to be paid what they were owed. They eventually left, but only after the pope had paid a large ransom."},{"id":452914,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Cologne Cathedral","localizedDescription":"Built on the site of an ancient Roman temple and taking over 600 years to construct, Cologne Cathedral was intended as a home for the relics of the Three Kings. It later came to house many of the empire's most prized religious treasures. Its intricate Gothic architecture, imposing scale and imperial artifacts make it one of the most visited medieval sites in Europe today."},{"id":452915,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Relics of the Holy Roman Empire","localizedDescription":"The possession of holy relics bolstered the legitimacy of the emperor. Some relics even came to symbolize the empire itself. The imperial cross contained a fragment of what was believed to be the \"True Cross\" from the Crucifixion. The \"Holy Lance\" was believed to have pierced Christ's side. From 1356, these relics and other insignia of the realm were displayed when an imperial assembly occurred, and during an emperor\u2019s coronation."},{"id":452916,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Court of Science and Art","localizedDescription":"Emperor Frederick II was a keen student of science and an enthusiastic experimenter. In 1224, he founded a university at Naples, one of Europe\u2019s oldest. His court became a magnet for philosophers, scientists and poets, famous for their writings on astronomy, natural philosophy and mathematics, and for the invention of the sonnet."},{"id":452917,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Walk to Canossa","localizedDescription":"Emperor Heinrich IV was in trouble with the pope. Their long argument over the emperor's powers left Heinrich excommunicated, and at risk of losing his kingdom. Seeking reconciliation, Heinrich made a 500-mile trek across the Alps to Canossa Castle in Italy. At the gates, he did his penance, kneeling for three days without food at the height of a blizzard, and was finally absolved."},{"id":452918,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Crusades","localizedDescription":"Spanning generations of Holy Roman Emperors, the campaigns known as the crusades would preoccupy Europe for centuries. The earliest crusades aimed to claim the Holy Land of Jerusalem from its Muslim inhabitants. However, after nearly 200 years, the last crusaders were expelled from Acre in 1291. But crusades were continued to be fought across Europe against those considered enemies of Christianity \u2013 with the last being called against Napoleon."},{"id":452919,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Fighting Style","localizedDescription":"Heavily influence by Renaissance style, the Landsknecht fighters were not only fearsome, but flamboyant. Donning hats topped with bird feathers, large puffy sleeves and hose legs of different colors, they made a striking impression on the battlefield. But however elaborate their dress, their strength and organization made them a force to be reckoned with."},{"id":452920,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"End of the Empire","localizedDescription":"By the 17th century, the empire's power was beginning to wane. Many of its territories broke away and became independent. In this weakened state, the final blow was delivered. The empire was defeated by Napoleon. In 1806, Emperor Francis II had no choice but to abdicate. A millennium after the first medieval Roman emperor had been crowned, the Holy Roman Empire came to an end."},{"id":452922,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Wolf Hunt","localizedDescription":"Wolves had long been regarded as dangerous creatures with mystical properties, and by the 11th century, wolf hunting was widely practiced. Teams of \"beaters\" with wolfhounds would flush a wolf from the forest towards mounted hunters, poised for the kill. Whether in the name of protection, payment, or medicinal ingredients, wolves were a compelling target for medieval hunters."},{"id":452923,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Battle on the Ice","localizedDescription":"In 1242, on the frozen surface of Lake Peipus, the Rus prince Alexander Nevsky mustered an army to face the invading forces of northern Europe. The enemy charged over the ice, but found their heavy armor cumbersome in the slippery conditions, and retreated after taking many losses. Alexander defended the western Rus frontier many times, and was later made a saint."},{"id":452924,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Fur Trade","localizedDescription":"Russia's cold northern forests were inhabited by many creatures with thick and durable coats. Small mammals such as ermine, fox, and squirrel were hunted for the booming fur trade. But the most prized fur was sable. Desired for its deep colors, softness and scarcity, it fetched a princely sum. It was so precious it could even be offered in tribute."},{"id":452925,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Moscow Kremlin","localizedDescription":"Moscow's Kremlin changed dramatically during the Middle Ages. Its walls were repeatedly refortified following raids from the steppe, and several devastating fires. Each reconstruction saw it grow in size, power and grandeur. New palaces and cathedrals were added, rising ever higher and gleaming with golden domes. From humble beginnings it became the powerful center of the new capital."},{"id":452926,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Crowded Winter","localizedDescription":"Medieval Rus peasants eked out a harsh existence. During the frigid six-month winter, villagers would bring their livestock inside to live with them in their modest huts. But life in close quarters could leave both animals and people vulnerable to disease. Many animals would be lost, but enough might survive the deep freeze to repopulate the pasture in the spring."},{"id":452927,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Rivals for the Throne","localizedDescription":"Under Mongol suzerainty, the Rus principalities paid vast amounts of tribute to the Golden Horde, mostly in silver. The khan would appoint the most generous and capable prince as Grand Prince of all Rus. Rival princes fought bitterly for this title, and for the khan's approval, even resorting to murdering one another."},{"id":452928,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Monk and the Mongol","localizedDescription":"Legend has it that moments before the Battle of Kulikovo, a duel of two champions shook the field. The Muscovite warrior monk Alexander Peresvet faced off against against a Mongol \"giant\". But as the two clashed head-on, both warriors struck one another, falling to their deaths before the battle had even begun."},{"id":452929,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Trading Square","localizedDescription":"Moscow's medieval market or \"torg\" was located beside its Kremlin, on the site known today as Red Square. It housed row upon row of traders of various crafts, from locally made clothing and metal products to exotic foreign imports. In the winter, there were so many stalls that they sometimes spilled out onto the frozen surface of the Moskva River."},{"id":452930,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Wandering Town","localizedDescription":"The Russian Gulyay-Gorod was an important defensive fortification. Mounted on wheels, large wooden shields could be maneuvered around a battlefield. They often protected the more vulnerable troops, such as the Streltsy musketeers, whose weapons took a long time to reload. These \"wandering towns\" were a simple way to maintain a strong position."},{"id":452931,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Reign of Elena","localizedDescription":"Ivan IV inherited the throne at the age of just 3. His mother, Elena Glinskaya, capably ruled Muscovy in his place. But there were those who sought to remove her, and only 5 years into her regency, she was found dead. Raised amid such deadly intrigue, her orphaned son would become the fearsome tsar known today as \"Ivan the Terrible.\""},{"id":452932,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Rise and Fall of the Streltsy","localizedDescription":"Streltsy musketeers provided Moscow with great victories thanks to the power of gunpowder. Often recruited from villages, they received good pay and a higher status. But government overspending saw the money run dry. The Streltsy rebelled time and again, but were put down, some enduring imprisonment and torture. Eventually, the surviving musketeers submitted and joined the standing army."},{"id":452933,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Boyars","localizedDescription":"The boyars were an elite class of noble landowners in medieval Russia. Gathering in a special council, they advised the tsar on important state matters and approved certain laws. In exchange for this influence, they provided military service to the tsar. At the height of their power, the boyars were a commanding force in both politics and warfare."},{"id":452934,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Tsar and the Church","localizedDescription":"The medieval Russian Orthodox Church made saints of a number of Muscovite princes. The descendants of Dmitry Donskoy were enshrined as the only line of legitimate rulers, and were considered divinely appointed. The church cemented the tsar's authority, saying, \"In body, the king is a man, but in power he is as God.\""},{"id":452935,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Fear and Control","localizedDescription":"Ivan IV \"the Terrible\" is remembered for gruesome deeds. Exaggerated concerns over security drove him to secure his own rule by eliminating his rivals. It's said that he threw one contender to the dogs, and made another commit suicide by drinking poison. To his harsh acts were added even bloodier legends, such as Ivan blinding the architects of St. Basil's Cathedral so that they could not build anything so beautiful for anyone else."},{"id":452936,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Natural Defenses","localizedDescription":"Some Indian fortresses took advantage of the local wildlife as part of their defensive strategy. Where a moat surrounded the complex, the waters could be infested with crocodiles and venomous snakes. Tangled vines and other plants might choke the surface, making the moat a deadly choice of entry for any invader."},{"id":452937,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Razia Sultana","localizedDescription":"Granddaughter of the first Delhi sultan, Razia was raised at court, observing the mechanisms of rule. Her father recognized her as heir, and she became the first female sultan (or sultana) of Delhi in 1236. Despite ruling competently for 4 years, not all accepted a woman in control. She was deposed and then killed as she fought to regain power, but is remembered as a rare example of female imperial rule."},{"id":452938,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Knowledge is Power","localizedDescription":"Madrasas were schools found throughout the medieval Muslim world, resulting in exceptionally high literacy rates, unrivaled since antiquity. In the Delhi Sultanate, madrasas taught not only religion and law (as in the rest of the Muslim world) but a wide range of subjects, from science and mathematics to accountancy and public administration. Their students thus gained valuable skills that enabled them to be influential members of society."},{"id":452939,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Fight Fire with Fire","localizedDescription":"From the time of Genghis Khan, the Mongols and their descendants had attempted, over and over, to invade the Indian subcontinent. They repeatedly plundered northern India, including sacking Delhi in 1303, but never managed a full-scale invasion. The Delhi Sultanate had developed a strong and swift military, just as skilled as that of the Mongols. Time after time, they repelled the Mongol incursions."},{"id":452940,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Domes of Power","localizedDescription":"The domed buildings of the Delhi Sultanate were a striking sign of the advance of Muslim rule in northern India. Domes symbolized royalty, power, and a connection to the heavens. They were often used in mosques and the elaborate tombs of sultans. Great domes would soon be a common feature of Muslim-controlled cities across India."},{"id":452941,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Thunderous Force","localizedDescription":"Medieval war elephants were akin to \"living tanks\". They could besiege a fortress, ramming gates and tearing down parapets. Poison-tipped swords were strapped to their tusks and maces to their trunks. Warriors riding on their backs rained down arrows from their high vantage point, making elephants a terrifying feature of armies across Eurasia."},{"id":452942,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Refugee Scholars","localizedDescription":"In the thirteenth century, Delhi received an unexpected influx of highly educated scholars and scribes. The Mongols had ravaged Muslim cities across Transoxiana, Persia and Iraq, and their intellectuals sought refuge under the Sultanate. In the decades that followed, Delhi saw a flourishing of cultural and scholarly activity, a blending of local and faraway medicine, and a prolific period of architectural creativity."},{"id":452943,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Thwarting the Escalade Attack","localizedDescription":"As castle designs advanced, some defensive walls were strengthened with a wide, sloping base, known as a \"talus\". While costly, the talus was a highly effective defense against invasion by ladder. It forced the base of the ladder further away from the wall, limiting the number of men it could hold. Attackers could then be easily picked off from above."},{"id":452944,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Sharpest Blades","localizedDescription":"Indian wootz steel was the envy of the world. The sultanate\u2019s metal-working craftsmanship produced sharper blades than any other, and they were put to use in a large variety of fearsome weapons \u2013 from the short, curved blade of the \u201cdashnah\u201d dagger to the half-moon blade of the \u201cnachakh,\u201d a battleax used especially by cavalrymen."},{"id":452945,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Fallen Giants","localizedDescription":"It was said that the medieval Delhi Sultanate wielded an army of some 3,000 war elephants. Used to terrify and trample the enemy, an effective elephant corps could decide a quick victory. But if the commander's beast fell, troops and animals alike descended into panic and were routed. Thus, war elephants were both a strength and a weakness."},{"id":452946,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Prolific Poet","localizedDescription":"Thirteenth-century Delhi was a cultural melting pot. From this profusion of creativity came the most celebrated poet and Sufi mystic of the era, Amir Khusrau. As the poet at court, Khusrau wrote prolifically on the great deeds of the sultans he served, and on the enduring subjects of love and loss. His works are remembered as some of the greatest contributions to Indo-Persian culture."},{"id":452947,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Revered Beast","localizedDescription":"Despite the often brutal treatment that newly captured elephants endured, many came to bond closely with their handlers. Some were known to charge into danger in order to defend their dismounted drivers in battle. Others carried their dead bodies back from the field. The most heroic and favored animals were honored in great monuments after their deaths."},{"id":452948,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Fertile Jewel","localizedDescription":"The Indian subcontinent was blessed with richly fertile lands that produced an abundance of crops. Their export brought great wealth to India. And with the arrival of Muslim rule in the north came the introduction of new agricultural technologies, which served to further boost productivity. But such enrichment would make India an irresistible target for invasion for centuries to come."},{"id":452949,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Guns of Babur","localizedDescription":"The fall of the Delhi Sultanate arrived in 1526 to the sound of gunfire. The sultan's large army and 1,000 war elephants were no match for the artillery of the invading conqueror, Babur. The blasts of his cannons startled the elephants into a devastating stampede, and the last Delhi sultan died on the field. Babur became the first emperor of the new Mughal Empire."},{"id":452950,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Mighty Camel","localizedDescription":"By the time of the Abbasids, camels had long been used as a reliable form of transport, linking settlements and cities across the arid extents of the empire. They were also sometimes used in warfare, allowing access via desert routes to new territories targeted for conquest. Their endurance and high vantage points made them ideal mounts for maintaining the empire."},{"id":452951,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"An Enduring Dynasty","localizedDescription":"At its greatest extent, the Abbasid Caliphate controlled lands stretching from northern Africa to western Asia, across fertile ground and desert, and was home to rich cities, key trade routes and gleaming centers of knowledge. The Abbasids would endure for nearly 800 years through succession crises, wars, and the loss of their great capital."},{"id":452952,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Round City of Baghdad","localizedDescription":"The original \"Round City\" of Baghdad was a wonder of its time. Caliph Al-Mansur laid the first brick in July 762 for the city that would become the new caliphal court. It would be a perfect circle, ringed with towering walls and having converging avenues leading to the magnificent Palace of the Golden Gate. The million-strong city became the heart of the Golden Age of Islam."},{"id":452953,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"From Alchemy to Chemistry","localizedDescription":"The Islamic Golden Age was a time of intensive scientific discovery. Experimentation was considered the path to mastery of the sciences, and in particular, alchemy. As alchemists refined many chemical processes and discovered new substances, the first known classification of chemicals emerged \u2013 a precursor to today's periodic table. The modern word chemistry derives from the Arabic al-kimiya (alchemy)."},{"id":452954,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Mill Power","localizedDescription":"The Abbasid era saw many advancements in the humble grain mill. Ingenious new gear designs emerged, allowing more efficient capture of wind and water power. Water wheels were placed in front of dams or in underground irrigation tunnels to make best use of available water flow. By harnessing nature's energy more and more effectively, food production boomed across the Islamic world."},{"id":452955,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Baghdad at its Height","localizedDescription":"The flourishing of Baghdad in the late eighth and early ninth centuries was overseen by two Abbasid caliphs, Harun al-Rashid and his son, al-Mamun. Harun patronized scholars, poets and artists. Meanwhile al-Mamun sponsored a research library known as the \"House of Wisdom\", where an army of translators produced Arabic versions of works of classical and eastern learning. During this period Baghdad was a beacon of culture and splendor."},{"id":452956,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Medieval Metallurgy","localizedDescription":"We know much about swordsmithing in the Abbasid period thanks to the metallurgist al-Kindi. He traveled the sword markets of the Middle East and recorded the various techniques and designs he saw. He notes that the finest swords, a variant of the type known as \u201cwhite swords,\u201d were produced at Kufa in Iraq. According to al-Kindi, these were the sharpest and most hard-wearing swords in existence."},{"id":452957,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Great Mosque of Samarra","localizedDescription":"The 9th century caliph, Al-Mutawakkil, admired great architecture and built an immense mosque now known as the Great Mosque of Samarra. It held 80,000 worshipers and its striking conical minaret spiraled 52 meters into the sky. The mosque was richly decorated with mosaics, carvings and geometric designs, but met its end at the hands of the Mongols in 1278. Today, only the outer walls and the minaret survive."},{"id":452958,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Diplomacy by Elephant","localizedDescription":"The Holy Roman emperor Charlemagne and the Abbasid caliph Harun al-Rashid exchanged a number of embassies, which included exchanges of gifts. The most striking of these gifts was an elephant, known as Abul-Abbas, who traveled by boat and land from Baghdad to Germany. He was the wonder of the empire and became one of the most famous elephants in history."},{"id":452959,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The End of an Age","localizedDescription":"In 1258, the thunderous force of the Mongol invasion arrived at the gates of Baghdad. When the caliph refused to surrender, the Mongols breached the walls and sacked the city. Thousands of books were thrown into the river, mosques were destroyed, and the population slaughtered. The caliph himself was rolled up in a carpet and trampled to death by horses, in line with a Mongol tradition that forbade the spilling of royal blood. The Golden Age of Islam was over."},{"id":452960,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Mathematical World","localizedDescription":"From cryptanalysis to chess strategies, medieval Islamic mathematicians are credited with devising a wealth of numerical theorems. The written numerals we use today came to us from India via the court of the caliphs of Baghdad. Even the word algorithm is itself derived from the name of al-Khwarizmi, a 9th-century Persian Muslim mathematician who is credited with the formalization of algebra. Thus the Muslim world gave us many mathematical concepts and methods without which today\u2019s computing would not be possible."},{"id":452961,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Glass and Optics","localizedDescription":"The development of the scientific method in the medieval Islamic world birthed many advances in optics. Refinement of glassworking led to the first magnifying glasses, pinhole cameras and even observatories. An oculist, Ammar al-Mawsili, was able to make a hollow glass tube \u2013 the first syringe \u2013 and used it to suck the cataracts from patients' eyes."},{"id":452962,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Age of Automation","localizedDescription":"The Abbasid world was captivated by the possibilities of automated devices. The first automatic musical instruments were invented, including a programmable drum machine. The palace in Baghdad boasted a gleaming gold and silver tree, populated by mechanical singing birds that flapped their wings. The Abbasids' European neighbors marveled at these wonders, and soon began incorporating automation technology into their own inventions."},{"id":452963,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_15","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Ceremonial Dynasty","localizedDescription":"After the sack of Baghdad, the remaining Abbasids moved to Cairo, Egypt. But here, they would have to submit to the rule of the Mamluk Sultanate. While the sultan remained in control, the caliph would be the spiritual leader. Although the Abbasids no longer wielded any real power, their influence would endure until the end of the sultanate in 1517."},{"id":452964,"name":"Generic_Inventory_Item\\Chinese_Masteries\\Fun_Fact_Chinese_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"A Unique Architecture","localizedDescription":"The desire to create large interior spaces led to architectural innovations that gave traditional Chinese buildings their distinctive shapes. The \"dougong\" system of interlocking brackets spreads the weight of roof beams, so that fewer interior pillars are required. This way, rooms can be divided by light fabrics or even left entirely open."},{"id":452965,"name":"Generic_Inventory_Item\\English_Masteries\\Fun_Fact_English_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Scorched Earth","localizedDescription":"After his conquest of England, William the Conqueror used brutal methods to gain the obedience of his new subjects. His men burned the farmlands of northern England, and then salted the soil to stunt the growth of future crops. The population was decimated, and those left alive are said to have resorted to cannibalism."},{"id":452966,"name":"Generic_Inventory_Item\\French_Masteries\\Fun_Fact_French_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Cost of the Chevauchées","localizedDescription":"In the early Hundred Years War, France funded its military by heavily taxing the peasantry. Realizing this, the English brought unfettered destruction on French agricultural lands and slaughtered the rural people. These \"chevauchées\" stifled France's spending and weakened its resistance to the English invasion. And, as so often happened, the peasants paid the price."},{"id":452967,"name":"Generic_Inventory_Item\\Hre_Masteries\\Fun_Fact_Hre_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Renovatio imperii Romanorum","localizedDescription":"In 800 CE, Charlemagne, king of the Franks, became emperor. He saw this as continuing the Roman Empire, and was its first medieval western ruler. Being crowned by the pope lent legitimacy to the emperor\u2019s claim. Using the slogan \"Renewal of the Roman Empire\" to declare his intentions, Charlemagne and future emperors would seek to seize power over Rome itself."},{"id":452968,"name":"Generic_Inventory_Item\\Rus_Masteries\\Fun_Fact_Rus_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Forest Provides","localizedDescription":"Russia's vast forested plains made wood abundantly available to rural settlers, who used it for everything from buildings to cutlery. Simple interlocking joinery meant that nails weren't required, so construction was cheap and fast. Wood did have one drawback, however: fire. But thanks to rapid construction techniques, a burned village could be quickly rebuilt, time and again."},{"id":452969,"name":"Generic_Inventory_Item\\Mongol_Masteries\\Fun_Fact_Mongol_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Leaving Home","localizedDescription":"When a Mongol daughter left the family ger to marry, her mother would sniff one cheek to remember the smell of her daughter, saying that when she returned she would sniff the other cheek and complete the traditional 2-cheek greeting."},{"id":452970,"name":"Generic_Inventory_Item\\Abbasid_Masteries\\Fun_Fact_Abbasid_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Fertile Crescent","localizedDescription":"Between the rivers Tigris and Euphrates, and arcing around to the Nile was a crescent of fertile land that supported flourishing populations for millennia before the time of the Abbasids. It was here that the world's first cities arose, and learning and innovation advanced rapidly. From this \"cradle of civilization\" the Golden Age of Islam was born."},{"id":452977,"name":"Generic_Inventory_Item\\Sultanate_Masteries\\Fun_Fact_Sultanate_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Slave King","localizedDescription":"From destitute beginnings, Aibak, a Turkic slave boy, underwent an unlikely rise. Sold into a sultan's household, Aibak proved himself clever and measured, and won the sultan's favor. Later, after many military victories and the death of the sultan, Aibak was proclaimed leader of the nascent Delhi Sultanate that he helped bring about. His dynasty is known as \"Mamluk\", meaning \"slave.\""},{"id":453015,"name":"Racebps\\Campaign\\Danes","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_danes.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_danes.png\",\"imagesmall\":\"images/civ_flags/flag_danes.png\",\"race_id\":205592,\"ui_priority\":1,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023330],"localizedName":"Danes"},{"id":453016,"name":"Racebps\\Campaign\\Saxons","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_anglo_saxon_england.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_anglo_saxon_england.png\",\"imagesmall\":\"images/civ_flags/flag_anglo_saxon_england.png\",\"race_id\":205674,\"ui_priority\":1,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023330],"localizedName":"Anglo-Saxons"},{"id":453018,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M01_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp101_hastings1066.png\",\"video\":\"cp101_hastings1066\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Norman Conquest"},{"id":453019,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M02_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp102_york1069.png\",\"video\":\"cp102_york1069\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"North to York"},{"id":453020,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M03_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp103_bayeux1105.png\",\"video\":\"cp103_bayeux1105\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Possession"},{"id":453021,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M04_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_ecam1106tinchebray.png\",\"video\":\"ang_ecam1106tinchebray\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Tinchebray"},{"id":453022,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M05_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_ecam1119bremule.png\",\"video\":\"ang_ecam1119bremule\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Brémule"},{"id":453023,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M06_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp104_lincoln1141.png\",\"video\":\"cp104_lincoln1141\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Anarchy"},{"id":453024,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M07_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_ecam1153wallingford.png\",\"video\":\"ang_ecam1153wallingford\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Siege of Wallingford"},{"id":453025,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M08_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp105_dover1216.png\",\"video\":\"cp105_dover1216\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Rebellion"},{"id":453026,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M09_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/ang_ecam1215rochester.png\",\"video\":\"ang_ecam1215rochester\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Siege of Rochester"},{"id":453027,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M10_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp106_lincoln1217.png\",\"video\":\"cp106_lincoln1217\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Second Battle of Lincoln"},{"id":453028,"name":"Generic_Inventory_Item\\Norman_Campaign\\Norman_M10_Cp_Conclusion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/normans/cp107_conclusion1217.png\",\"video\":\"cp107_conclusion1217\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Norman Legacy"},{"id":453029,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M01_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/cp401_kalkariver1223.png\",\"video\":\"cp401_kalkariver1223\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Shock and Awe"},{"id":453030,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M02_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/cp402_greatwall1213.png\",\"video\":\"cp402_greatwall1211\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Great Wall"},{"id":453031,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M03_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_ecam1215zhongdu.png\",\"video\":\"mon_ecam1215zhongdu\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Zhongdu"},{"id":453032,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M04_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/cp403_siegeofkiev1240.png\",\"video\":\"cp403_siegeofkiev1240\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Western Conquest"},{"id":453033,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M05_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_ecam1241liegnitz.png\",\"video\":\"mon_ecam1241liegnitz\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Liegnitz"},{"id":453034,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M06_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_ecam1241mohi.png\",\"video\":\"mon_ecam1241mohi\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Mohi"},{"id":453035,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M07_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/cp404_songfortress1267.png\",\"video\":\"cp404_songfortress1267\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Domination"},{"id":453036,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M08_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_ecam1260lumenshan.png\",\"video\":\"mon_ecam1260lumenshan\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Blockade at Lumen Shan"},{"id":453037,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M09_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/mon_ecam1273xiangyang.png\",\"video\":\"mon_ecam1273xiangyang\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Fall of Xiangyang"},{"id":453038,"name":"Generic_Inventory_Item\\Mongol_Campaign\\Mon_M09_Cp_Conclusion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/mongol/cp405_mongolcampaignend1279.png\",\"video\":\"cp405_mongolcampaignend1279\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Legacy of the Mongols"},{"id":453039,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M01_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/cp301_moscow1238.png\",\"video\":\"cp301_moscow1238\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Fort to City"},{"id":453040,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M02_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/cp302_moscow1375.png\",\"video\":\"cp302_moscow1375\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"City to State"},{"id":453041,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M04_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/cp303_moscow1382.png\",\"video\":\"cp303_moscow1382\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"State to Empire"},{"id":453042,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M07_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/cp304_lithuania1500.png\",\"video\":\"cp304_lithuania1500\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Empire to Superpower"},{"id":453043,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M08_Cp_Conclusion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/cp305_moscowconclusion1552.png\",\"video\":\"cp305_moscowconclusion1552\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Legacy of Muscovy"},{"id":453044,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M03_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_ecam1380kulikovo_2.png\",\"video\":\"gdm_ecam1380kulikovo\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Kulikovo"},{"id":453045,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M05_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_ecamnovgorod.png\",\"video\":\"gdm_ecamnovgorod\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Fall of the Novgorod Republic"},{"id":453046,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M06_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_ecam1480ugra.png\",\"video\":\"gdm_ecam1480ugra\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Great Stand on the Ugra River"},{"id":453047,"name":"Generic_Inventory_Item\\Moscow_Campaign\\Gdm_M08_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/rise_of_moscow/gdm_ecam1552kazan.png\",\"video\":\"gdm_ecam1552kazan\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Siege of Kazan"},{"id":453048,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M01_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/cp201_brittany1351.png\",\"video\":\"cp201_brittany1351\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Chivalry"},{"id":453049,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M02_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/cp202_paris1360.png\",\"video\":\"cp202_paris1360\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Siege of Paris"},{"id":453050,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M03_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/cp203_chaos1360s.png\",\"video\":\"cp203_chaos1360s\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Disorder"},{"id":453051,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M05_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/cp204_orleans1429.png\",\"video\":\"cp204_orleans1429\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Desperation"},{"id":453052,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M07_Cp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/cp205_normandy1448.png\",\"video\":\"cp205_normandy1448\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"Ascendancy"},{"id":453053,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M08_Cp_Conclusion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/cp206_hundredyearswarend.png\",\"video\":\"cp206_hundredyearswarend\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"War's End"},{"id":453054,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M08_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_ecam1450formigny.png\",\"video\":\"hun_ecam1450formigny\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Formigny"},{"id":453055,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M06_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_ecam1429patay.png\",\"video\":\"hun_ecam1429patay\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Patay"},{"id":453056,"name":"Generic_Inventory_Item\\Hundred_Campaign\\Hun_M04_Ecam","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/hundred_years_war/hun_ecam1370pontvallain.png\",\"video\":\"hun_ecam1370pontvallain\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431934],"localizedName":"The Battle of Pontvallain"},{"id":453067,"name":"Player_Portrait\\Campaign_100_Jean","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/cpg_100_reward_jean.png\",\"ui_priority\":4999,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929],"localizedName":"Jean Bureau","localizedDescription":"Granted for completing the Hundred Years' War campaign."},{"id":453068,"name":"Player_Portrait\\Campaign_Moscow_Dmitri","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/cpg_moscow_reward_dmitri.png\",\"ui_priority\":4997,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929],"localizedName":"Dmitry Donskoy","localizedDescription":"Granted for completing the Rise of Moscow campaign."},{"id":453069,"name":"Player_Portrait\\Campaign_Mon_Khan","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/cpg_mon_reward_khan.png\",\"ui_priority\":4998,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929],"localizedName":"Kublai Khan","localizedDescription":"Granted for completing the Mongol Horde campaign."},{"id":453070,"name":"Player_Portrait\\Abbasid_01_Windmill","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_1-windmill.png\",\"ui_priority\":450,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Windmill","localizedDescription":"Granted for completing Abbasid Mastery 1."},{"id":453071,"name":"Player_Portrait\\Abbasid_02_Camel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_2-camel.png\",\"ui_priority\":449,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Camel","localizedDescription":"Granted for completing Abbasid Mastery 3."},{"id":453072,"name":"Player_Portrait\\Abbasid_03_Engineer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_3-engineer.png\",\"ui_priority\":448,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Abbasid Engineer","localizedDescription":"Granted for completing Abbasid Mastery 4."},{"id":453073,"name":"Player_Portrait\\Abbasid_04_Ship","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_4-ship.png\",\"ui_priority\":447,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Abbasid Ship","localizedDescription":"Granted for completing Abbasid Mastery 6."},{"id":453074,"name":"Player_Portrait\\Abbasid_05_Mameluke","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_5-marmeluke.png\",\"ui_priority\":446,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Camel Rider","localizedDescription":"Granted for completing Abbasid Mastery 8."},{"id":453075,"name":"Player_Portrait\\Abbasid_06_Iman","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_6-iman.png\",\"ui_priority\":445,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Imam","localizedDescription":"Granted for completing Abbasid Mastery 10."},{"id":453076,"name":"Player_Portrait\\Abbasid_07_Ulayya","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_7-ulayya.png\",\"ui_priority\":444,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Ulayya bint al-Mahdi","localizedDescription":"Granted for completing Abbasid Mastery 11."},{"id":453077,"name":"Player_Portrait\\Abbasid_08_Sailor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_8-sailor.png\",\"ui_priority\":443,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Abbasid Sailor","localizedDescription":"Granted for completing Abbasid Mastery 12."},{"id":453078,"name":"Player_Portrait\\Abbasid_09_Saint","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_9-saint.png\",\"ui_priority\":442,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Rabia al-Adawiyya","localizedDescription":"Granted for completing Abbasid Mastery 13."},{"id":453079,"name":"Player_Portrait\\Abbasid_10_Abbas","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/abb_10-abbas.png\",\"ui_priority\":441,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779],"localizedName":"Abbas ibn Abd al-Muttalib","localizedDescription":"Granted for completing Abbasid Mastery 14."},{"id":453097,"name":"Racebps\\Campaign\\Normans","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_normans.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_normans.png\",\"imagesmall\":\"images/civ_flags/flag_normans.png\",\"race_id\":221744,\"ui_priority\":1,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023330],"localizedName":"Normans","localizedDescription":"Exceptional early infantry provide the English with a powerful punch backed up by reliable Food production from the fields."},{"id":453101,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_18","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_bagofgold.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_bagofgold.png\",\"ui_priority\":170}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Money Bag","localizedDescription":"Ivan I of Moscow, also known as \"Ivan the Moneybag\" was a Grand Duke of Moscow who was famous for being generous with his wealth.\r\n\r\nGranted for completing Training Mastery 5."},{"id":453102,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_21","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_falcon.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_falcon.png\",\"ui_priority\":290}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Falcon","localizedDescription":"Falcons are the consummate hunters of the avian world, able to spot, chase and kill prey quietly and efficiently.\r\n\r\nGranted for completing Mongol Mastery 15."},{"id":453103,"name":"Coat_Of_Arms_Part\\Sigil\\Excl_Insider_Sigil_Fish","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/sigil/sigil_shape_fish.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_fish.png\",\"ui_priority\":8006}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1502191],"localizedName":"Dual Fish","localizedDescription":"The consumption, preparation, storage and cooking of fish was an important part of life in the medieval period.\r\n\r\nGranted for joining the Age Insider Program."},{"id":453104,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_23","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_forkandshovel.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_forkandshovel.png\",\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Pitchfork & Shovel","localizedDescription":"Forks were used to prepare the ground for seeding and covering, while shovels were useful for digging ditches, preparing gardens, irrigation and even ploughing fields."},{"id":453105,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_24","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_handcannon.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_handcannon.png\",\"ui_priority\":350}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Hand Cannon","localizedDescription":"The handcannon was widely used in China from the 13th century and later throughout Eurasia during the 14th century.\r\n\r\nGranted for completing Chinese Mastery 15."},{"id":453106,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_25","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_knife.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_knife.png\",\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Dagger","localizedDescription":"In the Late Middle Ages, knives that emphasized thrusting became increasingly popular, some commonly referred to as daggers, no longer had a cutting edge."},{"id":453107,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_26","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_maces.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_maces.png\",\"ui_priority\":390}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Footman Maces","localizedDescription":"A mace is a blunt weapon that uses a heavy head, often with flanges or knobs, to penetrate heavy armor.\r\n\r\nGranted for completing Holy Roman Empire Mastery 12."},{"id":453108,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_27","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_manatarms.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_manatarms.png\",\"ui_priority\":200}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Pole Weapons","localizedDescription":"Because pole weapons were adapted from agricultural tools, and were made of relatively little metal, they were cheap to make and readily available.\r\n\r\nGranted for completing Training Mastery 2."},{"id":453109,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_28","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_recurvebow.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_recurvebow.png\",\"ui_priority\":360}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Recurve Bow","localizedDescription":"During the Middle Ages composite recurve bows were used in the drier European countries; the all-wooden straight longbow was the normal form in wetter areas.\r\n\r\nGranted for completing Chinese Mastery 9."},{"id":453110,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_20","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_crossbow.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_crossbow.png\",\"ui_priority\":420}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Crossbow","localizedDescription":"A crossbow consists of a bow-like device called a prod, mounted on a tiller, which is similar to the stock of a long gun. Crossbows shoot projectiles called bolts or quarrels.\r\n\r\nGranted for completing French Mastery 12."},{"id":453111,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_30","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_ship1.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_ship1.png\",\"ui_priority\":400}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Sailing Ship","localizedDescription":"During the early Middle Ages Mediterranean ship builders began to build ship frames first, and then fasten planks to the frame. This construction was faster and cheaper, making it easier to experiment with new ship types.\r\n\r\nGranted for completing Holy Roman Empire Mastery 9."},{"id":453112,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_31","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_spear.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_spear.png\",\"ui_priority\":320}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Spear","localizedDescription":"The spear has been used throughout human history both as a hunting and fishing tool and as a weapon. It is one of the earliest and most important tools to be developed.\r\n\r\nGranted for completing Delhi Sultanate Mastery 12."},{"id":453113,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_32","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_tree.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_tree.png\",\"ui_priority\":450}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Oak Tree","localizedDescription":"In heraldry the Oak Tree is an emblem of virtue and strength.\r\n\r\nGranted for completing English Mastery 15."},{"id":453114,"name":"Coat_Of_Arms_Part\\Sigil\\Excl_Steam_Sigil_Wolf","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_wolf1.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_wolf1.png\",\"ui_priority\":8002}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Wolf","localizedDescription":"Wolves were viewed as ferocious and merciless. The bearer of this symbol was marked as a deadly enemy to have."},{"id":453115,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_19","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_catapult.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_catapult.png\",\"ui_priority\":180}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Mangonel","localizedDescription":"The mangonel, was a siege engine used in Ancient China, and later in Eurasia by the 6th century AD.\r\n\r\nGranted for completing Training Mastery 4."},{"id":453116,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_29","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sealofivan.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sealofivan.png\",\"ui_priority\":260}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Seal of Ivan","localizedDescription":"A seal is a device for making an impression in wax, clay, paper, or some other medium, including an embossment on paper.\r\n\r\nGranted for completing Rus Mastery 12."},{"id":453117,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_34","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_windmill.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_windmill.png\",\"ui_priority\":250}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Eastern Windmill","localizedDescription":"Engineers in the Abbasid caliphate made a number of innovative industrial uses of hydropower, and early industrial uses of tidal power, wind power, and petroleum.\r\n\r\nGranted for completing Abbasid Dynasty Mastery 2."},{"id":453118,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_36","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_mosque.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_mosque.png\",\"ui_priority\":230}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Minaret","localizedDescription":"The first known minarets appear in the early 9th century under the Abbasids.\r\n\r\nGranted for completing Abbasid Dynasty Mastery 12."},{"id":453119,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_37","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_astroinstrument.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_astroinstrument.png\",\"ui_priority\":220}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Astronomical Instrument","localizedDescription":"Abbasid scholars went on to new heights in astronomy and other sciences.\r\n\r\nGranted for completing Abbasid Dynasty Mastery 15."},{"id":453120,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_35","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_camelrider.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_camelrider.png\",\"ui_priority\":240}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Camel & Rider","localizedDescription":"Camels are working animals especially suited to their desert habitat and are a vital means of transport for passengers and cargo.\r\n\r\nGranted for completing Abbasid Dynasty Mastery 5."},{"id":453122,"name":"Monument\\Abb_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_abbasid_tier_1.png\",\"ui_priority\":600}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Trader","localizedDescription":"Granted for completing Mastery 7 as the Abbasid Dynasty."},{"id":453123,"name":"Monument\\Abb_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_abbasid_tier_2.png\",\"ui_priority\":599}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Camel Rider","localizedDescription":"Granted for completing Mastery 11 as the Abbasid Dynasty."},{"id":453124,"name":"Monument\\Abb_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_abbasid_tier_3.png\",\"ui_priority\":598}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Ulayya bint al-Mahdi","localizedDescription":"Granted for completing Mastery 15 as the Abbasid Dynasty."},{"id":453125,"name":"Monument\\Chi_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_chi_tier_1.png\",\"ui_priority\":650}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Provider","localizedDescription":"Granted for completing Mastery 7 as the Chinese."},{"id":453126,"name":"Monument\\Chi_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_chi_tier_2.png\",\"ui_priority\":649}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Wu Zetian","localizedDescription":"Granted for completing Mastery 11 as the Chinese."},{"id":453127,"name":"Monument\\Chi_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_chi_tier_3.png\",\"ui_priority\":648}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Nest of Bees","localizedDescription":"Granted for completing Mastery 15 as the Chinese."},{"id":453128,"name":"Monument\\Eng_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_english_tier_1.png\",\"ui_priority\":950}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Lumberjack","localizedDescription":"Granted for completing Mastery 7 as the English."},{"id":453129,"name":"Monument\\Eng_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_english_tier_2.png\",\"ui_priority\":949}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Bowman","localizedDescription":"Granted for completing Mastery 11 as the English."},{"id":453130,"name":"Monument\\Eng_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_english_tier_3.png\",\"ui_priority\":948}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Eleanor of Castile","localizedDescription":"Granted for completing Mastery 15 as the English."},{"id":453131,"name":"Monument\\Fre_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_french_tier_1.png\",\"ui_priority\":900}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Shepherd","localizedDescription":"Granted for completing Mastery 7 as the French."},{"id":453132,"name":"Monument\\Fre_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_french_tier_2.png\",\"ui_priority\":899}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Crossbowman and Pavise","localizedDescription":"Granted for completing Mastery 11 as the French."},{"id":453133,"name":"Monument\\Fre_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_french_tier_3.png\",\"ui_priority\":898}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Royal Knight","localizedDescription":"Granted for completing Mastery 15 as the French."},{"id":453134,"name":"Monument\\Hre_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_hre_tier_1.png\",\"ui_priority\":850}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Landsknecht","localizedDescription":"Granted for completing Mastery 7 as the Holy Roman Empire."},{"id":453135,"name":"Monument\\Hre_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_hre_tier_2.png\",\"ui_priority\":849}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Holy Roman Empire Man-At-Arms","localizedDescription":"Granted for completing Mastery 11 as the Holy Roman Empire."},{"id":453136,"name":"Monument\\Hre_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_hre_tier_3.png\",\"ui_priority\":848}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Saint Cunigunde","localizedDescription":"Granted for completing Mastery 15 as the Holy Roman Empire."},{"id":453137,"name":"Monument\\Mon_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_mon_tier_1.png\",\"ui_priority\":800}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Deer Stone","localizedDescription":"Granted for completing Mastery 7 as the Mongols."},{"id":453138,"name":"Monument\\Mon_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_mon_tier_2.png\",\"ui_priority\":799}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Mongol Man-At-Arms","localizedDescription":"Granted for completing Mastery 11 as the Mongols."},{"id":453139,"name":"Monument\\Mon_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_mon_tier_3.png\",\"ui_priority\":798}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Khatun","localizedDescription":"Granted for completing Mastery 15 as the Mongols."},{"id":453140,"name":"Monument\\Rus_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_rus_tier_1.png\",\"ui_priority\":750}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Forester","localizedDescription":"Granted for completing Mastery 7 as the Rus."},{"id":453141,"name":"Monument\\Rus_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_rus_tier_2.png\",\"ui_priority\":749}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Streltsy","localizedDescription":"Granted for completing Mastery 11 as the Rus."},{"id":453142,"name":"Monument\\Rus_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_rus_tier_3.png\",\"ui_priority\":748}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Warrior Monk","localizedDescription":"Granted for completing Mastery 15 as the Rus."},{"id":453143,"name":"Monument\\Sul_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_sultanate_tier_1.png\",\"ui_priority\":700}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Anvil","localizedDescription":"Granted for completing Mastery 7 as the Delhi Sultanate."},{"id":453144,"name":"Monument\\Sul_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_sultanate_tier_2.png\",\"ui_priority\":699}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Scholar","localizedDescription":"Granted for completing Mastery 11 as the Delhi Sultanate."},{"id":453145,"name":"Monument\\Sul_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_sultanate_tier_3.png\",\"ui_priority\":698}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Sultana and Elephant","localizedDescription":"Granted for completing Mastery 15 as the Delhi Sultanate."},{"id":453157,"name":"Monument\\Training_Dummy","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_common_tier_1.png\",\"ui_priority\":955}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Training Dummy","localizedDescription":"Granted for completing the Training Mastery."},{"id":453169,"name":"Racebps\\Ottoman","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_ottoman.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_ottoman.png\",\"image\":\"images/backgrounds/loading/flags/ottoman_bg.png\",\"imagesmall\":\"images/civ_flags/flag_ottoman.png\",\"race_id\":2039321,\"ui_priority\":14,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1486044],"localizedName":"Ottomans","localizedDescription":"The Ottoman Army can expand to dominate the battlefield, supported by Military Schools that are able to continuously produce units to swell the ranks of their formations. Supporting those formations, the Mehter war drums signal the highly trained troops to take situational advantage."},{"id":453186,"name":"Monument\\Excl_Tier_03_Fishingboat","imageData":"","metaData":"{\"icon\":\"images/monuments/monument_dlc_fishing_boat.png\",\"ui_priority\":8000}","available":0,"version":0,"level":1,"categoryIDs":[1408204],"localizedName":"Fishing Boat","localizedDescription":"Lightweight and fast, fishing vessels dotted the shoreline of seaside communities.\r\n\r\nGranted for joining the Age Insider Program."},{"id":453187,"name":"Monument\\Excl_Tier_03_Villager","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_dlc_villager.png\",\"ui_priority\":8003}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Villager","localizedDescription":"The backbone of every town was the hardworking common folk, who carried great civilizations on their shoulders.\r\n\r\nGranted for being a member of the Community Council."},{"id":453188,"name":"Monument\\Excl_Tier_03_Wolf","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_dlc_wolf.png\",\"ui_priority\":8002}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Wolf","localizedDescription":"While they were certainly ferocious hunters, wolves were simultaneously revered for their pack loyalty and bravery."},{"id":453190,"name":"Player_Portrait\\Excl_Steam_Wolf","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/dlc_wolf.png\",\"ui_priority\":7999,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Wolf","localizedDescription":"In the darkness of the nighttime wilderness, silence was often broken by the howling of wolves."},{"id":453191,"name":"Player_Portrait\\Excl_Gamepass_Stag","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/dlc_stag.png\",\"ui_priority\":7998,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Stag","localizedDescription":"Illuminated in sunlight, great stags were equal parts imposing and dignified.\r\n\r\nGranted for having an Xbox Game Pass for PC or Xbox Game Pass Ultimate subscription."},{"id":453194,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Excl_Steam_Sigil_Frame_Mountain","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_mountain.png\",\"ui_priority\":802}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Mountain Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon."},{"id":453195,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Excl_Gamepass_Sigil_Frame_Forest","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_forest.png\",\"ui_priority\":804}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Forest Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for having an Xbox Game Pass for PC or Xbox Game Pass Ultimate subscription."},{"id":453196,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Excl_Insider_Sigil_Frame_Water","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_water.png\",\"ui_priority\":806}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1502191],"localizedName":"Water Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for joining the Age Insider Program."},{"id":453197,"name":"Player_Portrait\\Excl_Insider_Symbol","imageData":"","metaData":"{\"icon\":\"images/portraits/dlc_seagull.png\",\"ui_priority\":7997,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1418067],"localizedName":"Insider","localizedDescription":"Display your status as an Age of Empires Insider.\r\n\r\nGranted for joining the Age Insider Program."},{"id":453199,"name":"Racebps\\Malian","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_malian.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_malian.png\",\"image\":\"images/backgrounds/loading/flags/malian_bg.png\",\"imagesmall\":\"images/civ_flags/flag_malian.png\",\"race_id\":2058393,\"ui_priority\":12,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1505261],"localizedName":"Malians","localizedDescription":"The Malian economy booms with options for gold and food production. Claiming gold deposits for their Pit Mines, they leverage that growth to produce unique infantry units that strike from stealth and hurl javelins at enemies."},{"id":453308,"name":"Player_Portrait\\Season_01\\Ranked_Season\\Season_01_Bronze_Plumed_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1portrait_bronze.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Plumed Helm","localizedDescription":"Valorous knights were said to wear colorful adornments on their helms in tournament games - including great plumes of feathers.\r\n\r\nGranted for finishing Bronze in a ranked season."},{"id":453309,"name":"Player_Portrait\\Season_01\\Ranked_Season\\Season_01_Conqueror_Plumed_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1portrait_conqueror.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Plumed Helm","localizedDescription":"Valorous knights were said to wear colorful adornments on their helms in tournament games - including great plumes of feathers.\r\n\r\nGranted for finishing Conqueror in a ranked season."},{"id":453310,"name":"Player_Portrait\\Season_01\\Ranked_Season\\Season_01_Diamond_Plumed_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1portrait_diamond.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Plumed Helm","localizedDescription":"Valorous knights were said to wear colorful adornments on their helms in tournament games - including great plumes of feathers.\r\n\r\nGranted for finishing Diamond in a ranked season."},{"id":453311,"name":"Player_Portrait\\Season_01\\Ranked_Season\\Season_01_Gold_Plumed_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1portrait_gold.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Plumed Helm","localizedDescription":"Valorous knights were said to wear colorful adornments on their helms in tournament games - including great plumes of feathers.\r\n\r\nGranted for finishing Gold in a ranked season."},{"id":453312,"name":"Player_Portrait\\Season_01\\Ranked_Season\\Season_01_Platinum_Plumed_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1portrait_platinum.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Plumed Helm","localizedDescription":"Valorous knights were said to wear colorful adornments on their helms in tournament games - including great plumes of feathers.\r\n\r\nGranted for finishing Platinum in a ranked season."},{"id":453313,"name":"Player_Portrait\\Season_01\\Ranked_Season\\Season_01_Silver_Plumed_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1portrait_silver.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Plumed Helm","localizedDescription":"Valorous knights were said to wear colorful adornments on their helms in tournament games - including great plumes of feathers.\r\n\r\nGranted for finishing Silver in a ranked season."},{"id":453314,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Ranked_Season\\Season_01_Sigil_Cornucopia","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_cornucopia.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_cornucopia.png\",\"ui_priority\":1001}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Harvest of Plenty","localizedDescription":"A plentiful harvest bounty would turn any mere meal into a full-blown celebration.\r\n\r\nGranted for participating in a ranked season."},{"id":453315,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Ranked_Season\\Season_01_Sigil_Feast","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_turkeydinner.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_turkeydinner.png\",\"ui_priority\":1002}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Bountiful Feast","localizedDescription":"The day's hunt was often presented to guests of honor at the feast table.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":453316,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Ranked_Season\\Season_01_Sigil_Goblets","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_goblets.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_goblets.png\",\"ui_priority\":1003}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"A Toast for Kings","localizedDescription":"Meat, mead, and words of appreciation were commonplace at any worthy feast.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":453317,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Login_Rewards\\Season_01_Login_Dragon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_dragon.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_dragon.png\",\"ui_priority\":1005}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Azure Dragon","localizedDescription":"The Azure Dragon was the primary symbol gracing the first Chinese national flag during the Qing dynasty."},{"id":453318,"name":"Player_Portrait\\Season_01\\Login_Rewards\\Season_01_Login_Festival","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1_loginrewards_portrait_dragon.png\",\"ui_priority\":1010,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Festival of the Ages","localizedDescription":"Age of Empires IV's Festival of the Ages is a celebration of competition, mastery, and community!"},{"id":453319,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Events\\Season_01_Event_01_Inkpot","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_inkquill.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_inkquill.png\",\"ui_priority\":1007}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Ink & Quill","localizedDescription":"Countless histories, literature, discoveries, and observations were marked by pen and ink. Tales of combat, in particular, were studied by generations of heirs hoping to turn tacticians."},{"id":453320,"name":"Coat_Of_Arms_Part\\Frame\\Season_01\\Ranked_Season\\Season_01_Banner_Shape_Rounded","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_rounded_pointed.png\",\"icon2\":\"images/coat_of_arms/banner/outline_rounded_pointed.png\",\"image\":\"images/coat_of_arms/banner/mask_rounded_pointed.png\",\"ui_priority\":1001}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Rounded Tourney banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":453321,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_01\\Ranked_Season\\Season_01_Sigil_Frame_Shield","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_shield.png\",\"ui_priority\":1001}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Shield Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for participating in a ranked season."},{"id":453322,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_01\\Events\\Season_01_Event_01_Sigil_Frame_Bamboo","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background-bamboo.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Bamboo Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon."},{"id":453323,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_01_Lantern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e1_lantern_portrait.png\",\"ui_priority\":1012,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Paper Tiger Lantern","localizedDescription":"Sky lanterns, also known as sky candles, prominently feature beautiful designs and are released into the sky during festivals."},{"id":453324,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Events\\Season_01_Event_01_Sigil_Tiger","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_tiger.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_tiger.png\",\"ui_priority\":1008}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Tiger","localizedDescription":"Tigers are predators that are dangerous and beautiful in equal measure. They are prominently featured in folklore due to their unique and captivating appearance."},{"id":453325,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_01_Dragon_Kite","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e1_dragonkite_portrait.png\",\"ui_priority\":1013,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Dragon Kite","localizedDescription":"Kites come in many colors and shapes, but Dragon kites are particularly popular."},{"id":453326,"name":"Coat_Of_Arms_Part\\Pattern\\Season_01\\Ranked_Season\\Season_01_Banner_Pattern_Celebratory","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/confetti.png\",\"ui_priority\":505}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Celebratory Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for participating in a ranked season."},{"id":453327,"name":"Coat_Of_Arms_Part\\Pattern\\Season_01\\Events\\Season_01_Event_01_Banner_Pattern_Notes","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_goldennotes.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Golden Notes Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":453328,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_02_Harp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e2_harp.png\",\"ui_priority\":1014,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Harp","localizedDescription":"The classic stringed instrument was a common appearance in festivals around the world."},{"id":453329,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_01\\Events\\Season_01_Event_02_Sigil_Frame_Burst","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_burst.png\",\"ui_priority\":1011}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Burst Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon."},{"id":453330,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Events\\Season_01_Event_02_Trumpet","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_trumpet.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_trumpet.png\",\"ui_priority\":1009}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Trumpet","localizedDescription":"Dah dah dah! A royal entrance is incomplete without an appropriate degree of fanfare."},{"id":453331,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_02_Bard","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e2_bard.png\",\"ui_priority\":1015,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Boisterous Bard","localizedDescription":"Trained singers and musicians, medieval bards composed beautiful songs celebrating the achievements of their fellow man. Toss a coin..."},{"id":453332,"name":"Monument\\Season_01\\Ranked_Season\\Season_01_Conqueror_Kite","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_seasonal_kite_conqueror.png\",\"ui_priority\":970}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Soaring Kite","localizedDescription":"Kite flying was originally a method of communication among soldiers in the field, but the practice entered the realm of entertainment. As it did, kites became more beautiful and ornate.\r\n\r\nGranted for finishing Conqueror in a ranked season."},{"id":453333,"name":"Monument\\Season_01\\Ranked_Season\\Season_01_Diamond_Kite","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_seasonal_kite_diamond.png\",\"ui_priority\":970}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Soaring Kite","localizedDescription":"Kite flying was originally a method of communication among soldiers in the field, but the practice entered the realm of entertainment. As it did, kites became more beautiful and ornate.\r\n\r\nGranted for finishing Diamond in a ranked season."},{"id":453334,"name":"Monument\\Season_01\\Ranked_Season\\Season_01_Gold_Kite","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_seasonal_kite_gold.png\",\"ui_priority\":970}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Soaring Kite","localizedDescription":"Kite flying was originally a method of communication among soldiers in the field, but the practice entered the realm of entertainment. As it did, kites became more beautiful and ornate.\r\n\r\nGranted for finishing Gold in a ranked season."},{"id":453335,"name":"Monument\\Season_01\\Ranked_Season\\Season_01_Platinum_Kite","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_seasonal_kite_platinum.png\",\"ui_priority\":970}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Soaring Kite","localizedDescription":"Kite flying was originally a method of communication among soldiers in the field, but the practice entered the realm of entertainment. As it did, kites became more beautiful and ornate.\r\n\r\nGranted for finishing Platinum in a ranked season."},{"id":453439,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Login_Rewards\\Season_01_Login_Cask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_cask.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_cask.png\",\"ui_priority\":1006}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Drink Cask","localizedDescription":"All respectable festivities worth their salt need to provide for their patrons, and the Festival of the Ages is no exception."},{"id":453440,"name":"Player_Portrait\\Season_01\\Login_Rewards\\Season_01_Login_Kiteflier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s1_loginrewards_portrait_mother.png\",\"ui_priority\":1011,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Kite Flyer","localizedDescription":"Kite flying was passed down from generation to generation, an endless entertainment from craft and wind."},{"id":453441,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_03_Bullseye","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e3_target.png\",\"ui_priority\":1016,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Target Practice","localizedDescription":"One, two, three - these AI opponents are no match for me!"},{"id":453442,"name":"Coat_Of_Arms_Part\\Frame\\Season_01\\Ranked_Season\\Season_01_Banner_Shape_Tassled","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_tassel.png\",\"icon2\":\"images/coat_of_arms/banner/outline_tassel.png\",\"image\":\"images/coat_of_arms/banner/mask_tassel.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Tassled banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon."},{"id":453443,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Events\\Season_01_Event_03_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/event3_shape_eleven.png\",\"icon2\":\"images/coat_of_arms/sigil/event3_outline_eleven.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"11","localizedDescription":"Hahahahahahahahahahahaha... HAH!"},{"id":453444,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_03_Trophy","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e3_trophy.png\",\"ui_priority\":1017,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Steadfast Competitor","localizedDescription":"A trophy that signifies your prowess in the battlefield."},{"id":453445,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Events\\Season_01_Event_04_Chicken","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_balloon.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_balloon.png\",\"ui_priority\":1011}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Up, Up & Away","localizedDescription":"...And he's off!"},{"id":453446,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_04_Hound","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e4_hound.png\",\"ui_priority\":1018,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Basset Hound","localizedDescription":"Many dog breeds were used to aid hunters in their efforts. Basset hounds in particular were prized for their scent work."},{"id":453447,"name":"Coat_Of_Arms_Part\\Sigil\\Season_01\\Events\\Season_01_Event_04_Elephant","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_elephant_01.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_elephant_01.png\",\"ui_priority\":1012}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Totally Normal Elephant","localizedDescription":"Many artistic renditions of elephants were created by artists who had never laid eyes on one - depending solely on the tales of travelers.\r\n\r\nDue to embellishment or descriptions that were lost in translation, some of these artworks ended up with very peculiar anatomy!"},{"id":453448,"name":"Player_Portrait\\Season_01\\Events\\Season_01_Event_04_King","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/e4_king.png\",\"ui_priority\":1019,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Royal Feast","localizedDescription":"Only the best cut for the King!"},{"id":453449,"name":"Monument\\Season_01\\Events\\Season_01_Event_03_Springald","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_dlc_springald.png\",\"ui_priority\":971}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Springald","localizedDescription":"Behold the mighty Springald in all its glory!"},{"id":453450,"name":"Monument\\Season_01\\Events\\Season_01_Event_04_Wolfbust","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_dlc_wolf_bust.png\",\"ui_priority\":972}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Wolf Bust","localizedDescription":"A bust of our most beloved bitey infantry."},{"id":453454,"name":"Monument\\Mal_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_malian_tier_1.png\",\"ui_priority\":1020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Toll Outpost","localizedDescription":"Granted for completing Mastery 7 as the Malians."},{"id":453455,"name":"Monument\\Mal_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_malian_tier_2.png\",\"ui_priority\":1019}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"N'Dama Cattle","localizedDescription":"Granted for completing Mastery 11 as the Malians."},{"id":453461,"name":"Monument\\Mal_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_malian_tier_3.png\",\"ui_priority\":1018}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Musofadi Warrior","localizedDescription":"Granted for completing Mastery 15 as the Malians."},{"id":453462,"name":"Monument\\Ott_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_ottoman_tier_1.png\",\"ui_priority\":1050}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Sipahi","localizedDescription":"Granted for completing Mastery 7 as the Ottomans."},{"id":453463,"name":"Monument\\Ott_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_ottoman_tier_2.png\",\"ui_priority\":1049}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Mehter","localizedDescription":"Granted for completing Mastery 11 as the Ottomans."},{"id":453464,"name":"Monument\\Ott_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_ottoman_tier_3.png\",\"ui_priority\":1048}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932],"localizedName":"Great Bombard","localizedDescription":"Granted for completing Mastery 15 as the Ottomans."},{"id":453793,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Acropolis","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453794,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\African_Waters","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453795,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Clearing","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453796,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Continental","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453797,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Dunes","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453798,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Forest_Ponds","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453799,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Golden_Pit","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453800,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Hideout","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453801,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Highland","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453802,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Migration","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453803,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Ponds","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453805,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Rugged","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453806,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Savanna_Woodlands","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453807,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Wadden_Sea","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453808,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Waterholes","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453810,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Altai","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453811,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Ancient_Spires","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453812,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Archipelago","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453813,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Black_Forest","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453814,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Boulder_Bay","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453817,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Confluence","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453818,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Dry_Arabia","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453819,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\French_Pass","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453820,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Haunted_Gultch","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453821,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Highview","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453822,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Hill_And_Dale","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453823,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\King_Of_Hill","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453824,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Lipany","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453825,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Megarandom","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453826,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Mongolian_Heights","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453827,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Mountain_Pass","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453828,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Nagari","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453832,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Pit","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453836,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Rolling_Rivers","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453838,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Team_Islands","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453840,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Pond_Island","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453841,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Sacred_Crest","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":453937,"name":"Generic_Inventory_Item\\Generic_Inventory_Item_Owned_By_Base_Game","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":454193,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Events\\Season_02_Event_01_Crowsnest","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_crows_nest.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_crows_nest.png\",\"ui_priority\":1020}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Crow's Nest","localizedDescription":"While the crow's nest served the valuable purpose of land-spotting, it was sometimes used as punishment. The movement of the seas from atop the famed vantage point was strong enough to induce seasickness!"},{"id":454194,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Events\\Season_02_Event_01_Handhook","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_handhook.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_handhook.png\",\"ui_priority\":1021}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Hand-hook","localizedDescription":"While these have been commonly associated with pirates, these prosthetics were used by anyone with access to scrap and salvage."},{"id":454195,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Events\\Season_02_Event_02_Swordfish","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_swordfish.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_swordfish.png\",\"ui_priority\":1023}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Swordfish","localizedDescription":"Swordfish are an elusive, impressive fish that use their sword to slash at prey. They travel alone and migrate over long distances, making them a rare sight."},{"id":454196,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Events\\Season_02_Event_03_Cutecrab","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_cutecrab.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_cutecrab.png\",\"ui_priority\":1024}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Cute Crab","localizedDescription":"They can be found in the deepest reaches of the ocean, or dancing to party music on sandy shores."},{"id":454197,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Events\\Season_02_Event_04_Oarfish","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_oarfish.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_oarfish.png\",\"ui_priority\":1025}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Oarfish","localizedDescription":"From the depths of the sea, the oarfish looks as if it hails from a different planet entirely.\r\n\r\nIt can reach up to 56 feet long and weigh 600 pounds. There is no surprise that it may have sprouted tales of sea serpents across the world."},{"id":454198,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Events\\Season_02_Event_04_Manatee","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_manatee.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_manatee.png\",\"ui_priority\":1026}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Manatee","localizedDescription":"Some believe the manatee of all creatures to be the inspiration for tales of mermaids and sirens."},{"id":454199,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Login_Rewards\\Season_02_Login_Telescope","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_handheldscope.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_handheldscope.png\",\"ui_priority\":1018}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Handheld Scope","localizedDescription":"I see you!"},{"id":454200,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Login_Rewards\\Season_02_Login_Squid","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_giantsquid.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_giantsquid.png\",\"ui_priority\":1019}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Giant Squid","localizedDescription":"A creature so large and alien, it is no surprise that giant squids instilled such apprehension and respect in hardened seafarers."},{"id":454201,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Ranked_Season\\Season_02_Sigil_Waterhorse","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_waterhorse.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_waterhorse.png\",\"ui_priority\":1015}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Water-Horse","localizedDescription":"In antiquity, one school of thought was that every land animal had a counterpart in the ocean. It's why we ended up with names like \"sea pig\" or \"frogfish\" for sea creatures that are not at all related to their namesakes.\r\n\r\nGranted for participating in a ranked season."},{"id":454202,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Ranked_Season\\Season_02_Sigil_Seadragon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_seadragon.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_seadragon.png\",\"ui_priority\":1016}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Sea Dragon","localizedDescription":"Most commonly depicted as just a head above water, it leaves one to wonder what lurks in the depths below.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":454203,"name":"Coat_Of_Arms_Part\\Sigil\\Season_02\\Ranked_Season\\Season_02_Sigil_Siren","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_siren.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_siren.png\",\"ui_priority\":1017}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Siren","localizedDescription":"Sirens were thought to entice sailors with beauty and song, only to lure them to their untimely demise.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":454204,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_02\\Events\\Season_02_Event_01_Sigil_Frame_Sail","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_sail.png\",\"ui_priority\":1013}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Sail sigil frame","localizedDescription":"A framing device for your sigil to rest upon."},{"id":454205,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_02\\Events\\Season_02_Event_02_Sigil_Frame_Starfish","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_starfish.png\",\"ui_priority\":1014}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Starfish sigil frame","localizedDescription":"A framing device for your sigil to rest upon."},{"id":454206,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_02\\Ranked_Season\\Season_02_Sigil_Frame_Seaweed","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_seaweed.png\",\"ui_priority\":1012}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Seaweed sigil frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for participating in a ranked season."},{"id":454207,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_01_Naval_Seal","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e1_navalseal.png\",\"ui_priority\":1025,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Naval Seal","localizedDescription":"Captain's orders!"},{"id":454208,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_01_Scarlet_Macaw","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e1_scarletmacaw.png\",\"ui_priority\":1026,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Scarlet Macaw","localizedDescription":"Talkative and inquisitive, parrots of many varieties could be staunch companions during long voyages."},{"id":454209,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_02_Bottled_Message","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e2_messageinbottle.png\",\"ui_priority\":1027,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bottled Message","localizedDescription":"What could it contain?"},{"id":454210,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_02_Northern_Lights","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e2_northernlights.png\",\"ui_priority\":1028,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Northern Lights","localizedDescription":"Aurora borealis are a rare and mesmerizing sight."},{"id":454211,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_03_Compass","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e3_compass.png\",\"ui_priority\":1028,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Compass","localizedDescription":"No adventure was complete without the navigational aid of a compass."},{"id":454212,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_03_Jellyfish","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e3_jellyfish.png\",\"ui_priority\":1029,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Deep Sea Jellyfish","localizedDescription":"Bioluminescence is a phenomenon of the deep seas, where animals glow for a variety of ecological purposes."},{"id":454213,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_04_Moray","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e4_moreyeel.png\",\"ui_priority\":1030,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Moray Eel","localizedDescription":"Eels washed ashore could have understandably been thought of as baby sea serpents, furthering the idea that these creatures were real and terrifying."},{"id":454214,"name":"Player_Portrait\\Season_02\\Events\\Season_02_Event_04_Dolphin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s02_e4_dolphin.png\",\"ui_priority\":1031,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Dolphin","localizedDescription":"While a single dolphin may have been cause for mistaken identity, it is more likely that a massive pod on the distant horizon could have appeared to be something bigger."},{"id":454215,"name":"Player_Portrait\\Season_02\\Login_Rewards\\Season_02_Login_Sundrenched","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2_loginrewards_sundrenchedseagull.png\",\"ui_priority\":1021,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Sun-drenched","localizedDescription":"Sailors would sometimes use seagulls or other birds to spot land before a coastline could be seen on the horizon."},{"id":454216,"name":"Player_Portrait\\Season_02\\Login_Rewards\\Season_02_Login_Badtidings","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2_loginrewards_bad_tidings.png\",\"ui_priority\":1022,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bad Tidings","localizedDescription":"Dragon Turtle"},{"id":454217,"name":"Player_Portrait\\Season_02\\Ranked_Season\\Season_02_Bronze_Trident","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2portrait_bronze.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Trident","localizedDescription":"A sign of your mastery over the seas.\r\n\r\nGranted for finishing Bronze in a ranked season."},{"id":454218,"name":"Player_Portrait\\Season_02\\Ranked_Season\\Season_02_Silver_Trident","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2portrait_silver.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Trident","localizedDescription":"A sign of your mastery over the seas.\r\n\r\nGranted for finishing Silver in a ranked season."},{"id":454219,"name":"Player_Portrait\\Season_02\\Ranked_Season\\Season_02_Gold_Trident","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2portrait_gold.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Trident","localizedDescription":"A sign of your mastery over the seas.\r\n\r\nGranted for finishing Gold in a ranked season."},{"id":454220,"name":"Player_Portrait\\Season_02\\Ranked_Season\\Season_02_Platinum_Trident","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2portrait_platinum.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Trident","localizedDescription":"A sign of your mastery over the seas.\r\n\r\nGranted for finishing Platinum in a ranked season."},{"id":454221,"name":"Player_Portrait\\Season_02\\Ranked_Season\\Season_02_Diamond_Trident","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2portrait_diamond.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Trident","localizedDescription":"A sign of your mastery over the seas.\r\n\r\nGranted for finishing Diamond in a ranked season."},{"id":454222,"name":"Player_Portrait\\Season_02\\Ranked_Season\\Season_02_Conqueror_Trident","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s2portrait_conqueror.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Trident","localizedDescription":"A sign of your mastery over the seas.\r\n\r\nGranted for finishing Conqueror in a ranked season."},{"id":454223,"name":"Coat_Of_Arms_Part\\Pattern\\Season_02\\Events\\Season_02_Event_02_Banner_Pattern_Bigdipper","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_stars.png\",\"ui_priority\":1020}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Big Dipper Pattern","localizedDescription":"Sailors at sea could use constellations to find their heading.\r\n\r\nThe Big Dipper, in particular, is helpful for locating the North Star. Seafarers still use this method today."},{"id":454224,"name":"Coat_Of_Arms_Part\\Frame\\Season_02\\Events\\Season_02_Event_03_Banner_Shape_Scroll","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_scroll.png\",\"icon2\":\"images/coat_of_arms/banner/outline_scroll.png\",\"image\":\"images/coat_of_arms/banner/mask_scroll.png\",\"ui_priority\":1025}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Scroll banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon."},{"id":454225,"name":"Coat_Of_Arms_Part\\Pattern\\Season_02\\Ranked_Season\\Season_02_Banner_Pattern_Underwater","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_underwater.png\",\"ui_priority\":1019}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Underwater banner pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for participating in a ranked season."},{"id":454226,"name":"Coat_Of_Arms_Part\\Frame\\Season_02\\Ranked_Season\\Season_02_Banner_Shape_Dovetail","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_arc.png\",\"icon2\":\"images/coat_of_arms/banner/outline_arc.png\",\"image\":\"images/coat_of_arms/banner/mask_arc.png\",\"ui_priority\":1020}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Dovetail banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":454227,"name":"Monument\\Season_02\\Events\\Season_02_Event_03_Waterhorse","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s02_waterhorse.png\",\"ui_priority\":981}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Water-Horse","localizedDescription":"The legends and folklore of the water-horse is muddy at best, with confusion over their preferred hunting grounds - lakes or seas."},{"id":454228,"name":"Monument\\Season_02\\Events\\Season_02_Event_04_Sea_Serpent","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s02_serpent.png\",\"ui_priority\":982}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Sea Serpent","localizedDescription":"One of the most commonly depicted map monsters, the sea serpent makes its appearance on most of the world's oceans.\r\n\r\nThought to inhabit stormy seas, these creatures would lurk in wait of passing ships."},{"id":454229,"name":"Monument\\Season_02\\Ranked_Season\\Season_02_Gold_Kraken","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s02_kraken_gold.png\",\"ui_priority\":980}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Kraken","localizedDescription":"Perhaps the most feared monster of all, the terrifying Kraken plagued the nightmares of adventurers across the world. These massive leviathans could play with ships like bath toys.\r\n\r\nGranted for finishing Gold in a ranked season."},{"id":454230,"name":"Monument\\Season_02\\Ranked_Season\\Season_02_Platinum_Kraken","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s02_kraken_platinum.png\",\"ui_priority\":980}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Kraken","localizedDescription":"Perhaps the most feared monster of all, the terrifying Kraken plagued the nightmares of adventurers across the world. These massive leviathans could play with ships like bath toys.\r\n\r\nGranted for finishing Platinum in a ranked season."},{"id":454231,"name":"Monument\\Season_02\\Ranked_Season\\Season_02_Diamond_Kraken","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s02_kraken_diamond.png\",\"ui_priority\":980}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Kraken","localizedDescription":"Perhaps the most feared monster of all, the terrifying Kraken plagued the nightmares of adventurers across the world. These massive leviathans could play with ships like bath toys.\r\n\r\nGranted for finishing Diamond in a ranked season."},{"id":454232,"name":"Monument\\Season_02\\Ranked_Season\\Season_02_Conqueror_Kraken","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s02_kraken_conqueror.png\",\"ui_priority\":980}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Kraken","localizedDescription":"Perhaps the most feared monster of all, the terrifying Kraken plagued the nightmares of adventurers across the world. These massive leviathans could play with ships like bath toys.\r\n\r\nGranted for finishing Conqueror in a ranked season."},{"id":454250,"name":"Player_Portrait\\Malian_01_Goldmine","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_1_gold.png\",\"ui_priority\":820,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Goldmine","localizedDescription":"Granted for completing Malian Mastery 1."},{"id":454251,"name":"Player_Portrait\\Malian_03_Salt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_2_salt.png\",\"ui_priority\":819,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Salt","localizedDescription":"Granted for completing Malian Mastery 3."},{"id":454252,"name":"Player_Portrait\\Malian_06_Musofadiwarrior","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_4_gbettowarrior.png\",\"ui_priority\":817,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Musofadi Warrior","localizedDescription":"Granted for completing Malian Mastery 6."},{"id":454253,"name":"Player_Portrait\\Malian_10_Sofahorsemen","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_6_sofahorseman.png\",\"ui_priority\":815,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Sofa Horsemen","localizedDescription":"Granted for completing Malian Mastery 10."},{"id":454254,"name":"Player_Portrait\\Malian_12_Poisonarrow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_8_poisontippedarrow.png\",\"ui_priority\":813,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Poison-tipped Arrow","localizedDescription":"Granted for completing Malian Mastery 12."},{"id":454255,"name":"Player_Portrait\\Malian_13_Musofadigunner","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_9_dahomiwarrior.png\",\"ui_priority\":812,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Musofadi Gunner","localizedDescription":"Granted for completing Malian Mastery 13."},{"id":454256,"name":"Player_Portrait\\Malian_14_Mansamusa","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_10_mansamusa.png\",\"ui_priority\":811,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Mansa Musa","localizedDescription":"Granted for completing Malian Mastery 14."},{"id":454262,"name":"Player_Portrait\\Malian_04_Cattle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_3_cow.png\",\"ui_priority\":818,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Cattle","localizedDescription":"Granted for completing Malian Mastery 4."},{"id":454263,"name":"Player_Portrait\\Malian_08_Desertlandscape","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_5_desertlandscape.png\",\"ui_priority\":816,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Desert Landscape","localizedDescription":"Granted for completing Malian Mastery 8."},{"id":454264,"name":"Racebps\\Campaign_Xp3\\Crusader_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_jer.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_jer.png\",\"imagesmall\":\"images/civ_flags/flag_jer.png\",\"race_id\":2085323,\"ui_priority\":3,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023331]},{"id":454265,"name":"Generic_Inventory_Item\\Ottoman_Masteries\\Fun_Fact_Ottoman_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Osman's Dream of Empire","localizedDescription":"The Ottoman dynasty began with a mysterious vision. In the late 13th century, an Anatolian warlord named Osman visited the home of a well known Sufi mystic. That night, he dreamt that a moon rose from the holy man\u2019s chest and sank into his own. Once it disappeared, Osman sprouted a massive tree from his navel, whose shade covered the world. Three centuries later, the empire bearing his name had grown to straddle three continents."},{"id":454267,"name":"Generic_Inventory_Item\\Ottoman_Masteries\\Fun_Fact_Ottoman_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Janissaries","localizedDescription":"The Ottomans conscripted soldiers for their elite fighting force, the Janissary corps, from the Christian communities of western Anatolia and the Balkans. Recruiters brought adolescent boys from these regions to the imperial capital, converted them to Islam, and gave them combat and language training. The most promising trainees graduated to the palace service, and many of them eventually rose to the top of the Empire\u2019s governing institutions."},{"id":454268,"name":"Generic_Inventory_Item\\Ottoman_Masteries\\Fun_Fact_Ottoman_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Basilica","localizedDescription":"During the 1453 siege of Constantinople, Mehmed the Conqueror employed a massive cannon, the Basilica, to demolish the city\u2019s walled fortifications. Then the world\u2019s largest artillery piece, it was capable of launching a 1,000-pound cannonball over a mile through the air. The Basilica could only be fired three times daily, and got so hot after each use that Ottoman soldiers had to douse it with olive oil to prevent it from cracking."},{"id":454269,"name":"Generic_Inventory_Item\\Ottoman_Masteries\\Fun_Fact_Ottoman_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Ottoman Sign Language","localizedDescription":"Congenitally mute royal attendants occupied a prestigious place at the Ottoman court, where silence was valued as a token of reverence. Palace mutes learned to communicate fluently with the Ottoman sultans using a complex form of sign language. Their unique access to the dynasty allowed them to acquire significant power and influence."},{"id":454270,"name":"Generic_Inventory_Item\\Ottoman_Masteries\\Fun_Fact_Ottoman_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Taking Cairo","localizedDescription":"Before the Ottoman siege of Cairo in 1517, Selim I extended an offer of vassalage to his Mamluk counterpart, Tuman II, in exchange for the unconditional surrender of the city. Enraged by Selim\u2019s condescension, Tuman sent back a withering rejection nailed to the decapitated head of a captured Ottoman soldier. Days later, Selim annihilated the rag-tag Mamluk army at the Battle of Raidaniyya, killing more than twenty-five thousand soldiers in a matter of hours."},{"id":454271,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Oasis","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":454272,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Mediterranean","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":454277,"name":"Generic_Inventory_Item\\Malian_Masteries\\Fun_Fact_Mal_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Griots","localizedDescription":"Owners of the power of speech, griots were musicians, genealogists, and councilors. They knew the stories of ancient ancestors and were feared because they could extort payment from people in public by shouting praises that turned to insults if not paid. Feared for their power to destroy reputations, in early times some were buried in the hollow trunks of baobab trees so their bodies would not pollute the earth."},{"id":454278,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_41","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_tambaspear.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_tambaspear.png\",\"ui_priority\":1002}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Tamba Spear","localizedDescription":"Granted for completing Malian Mastery 2."},{"id":454281,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_11","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/throwing_javelins.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Javelin Pattern","localizedDescription":"Granted for completing Malian Mastery 5."},{"id":454282,"name":"Player_Portrait\\Malian_11_Lion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/malian_7_lionofmali.png\",\"ui_priority\":814,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1520600],"localizedName":"Lion of Mali","localizedDescription":"Granted for completing Malian Mastery 11."},{"id":454283,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_42","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_barracks.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_barracks.png\",\"ui_priority\":1001}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Barracks","localizedDescription":"Granted for completing Malian Mastery 9."},{"id":454284,"name":"Player_Portrait\\Ottoman_01_Caravan","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_01_caravanserai_final2.png\",\"ui_priority\":910,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Caravanserai","localizedDescription":"Granted for completing Ottoman Mastery 1."},{"id":454285,"name":"Player_Portrait\\Ottoman_02_Comet","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_02_greatcomet_final.png\",\"ui_priority\":909,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Great Comet of 1577","localizedDescription":"Granted for completing Ottoman Mastery 3."},{"id":454286,"name":"Player_Portrait\\Ottoman_03_Sipahi","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_03_sipahi_final.png\",\"ui_priority\":908,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Sipahi","localizedDescription":"Granted for completing Ottoman Mastery 4."},{"id":454287,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_skin.png\",\"icon2\":\"images/coat_of_arms/banner/outline_skin.png\",\"image\":\"images/coat_of_arms/banner/mask_skin.png\",\"ui_priority\":599}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931],"localizedName":"Animal Hide banner shape","localizedDescription":"Granted for completing Malian Mastery 12."},{"id":454288,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_43","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_saberweapon.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_saberweapon.png\",\"ui_priority\":1000}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Saber Weapon","localizedDescription":"Granted for completing Malian Mastery 15."},{"id":454289,"name":"Player_Portrait\\Ottoman_04_Mehter","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_04_mehter_final.png\",\"ui_priority\":907,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Mehter","localizedDescription":"Granted for completing Ottoman Mastery 6."},{"id":454290,"name":"Player_Portrait\\Ottoman_05_Janissary","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_05_jannisaryhat_final.png\",\"ui_priority\":906,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Janissary Hat","localizedDescription":"Granted for completing Ottoman Mastery 8."},{"id":454291,"name":"Generic_Inventory_Item\\Malian_Masteries\\Fun_Fact_Mal_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Snuff Before Battle","localizedDescription":"When two armies faced each other before battle, the enemy commanders would meet in the middle of the field for a deadly ritual called sigifili. Each swore an oath boasting of his fearlessness and invincibility and snorted a pinch of poisonous snuff from his enemy\u2019s pouch. If he staggered around and sneezed loudly without collapsing or dying, he had proven his worth as an enemy to be feared."},{"id":454292,"name":"Player_Portrait\\Ottoman_06_Kalyon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_06_kalyon_final.png\",\"ui_priority\":905,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Kalyon","localizedDescription":"Granted for completing Ottoman Mastery 10."},{"id":454293,"name":"Generic_Inventory_Item\\Malian_Masteries\\Fun_Fact_Mal_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"Deadly Projectiles and Magic Words","localizedDescription":"One weapon of sorcerers, who were often blacksmiths, was kòròtè, a tiny, possibly poisonous projectile that may or may not have been invisible. It forced the recipients to at least tell the truth, but could also sicken, cripple, or kill them. The kòròtè was directed and activated by incantations called kilisiw which were either benevolent or malevolent and were the basis of both positive and negative sorcery."},{"id":454294,"name":"Player_Portrait\\Ottoman_07_Suleiman","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_07_suleiman.png\",\"ui_priority\":904,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Suleiman the Lawgiver","localizedDescription":"Granted for completing Ottoman Mastery 11."},{"id":454295,"name":"Generic_Inventory_Item\\Malian_Masteries\\Fun_Fact_Mal_04","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Good Uncle\u2019s Responsibility","localizedDescription":"In Maninka and Bamana society, it is claimed, both jokingly and seriously, that it is the uncle\u2019s duty to provide a wife for his nephew, the so-called \"nephew wife.\" The obligation of this uncle-nephew bond is implied in the proverb: \"When your uncle fails to give you a wife, he is no longer your uncle, he\u2019s just your mother\u2019s brother.\""},{"id":454296,"name":"Generic_Inventory_Item\\Malian_Masteries\\Fun_Fact_Mal_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"One Woman Worth a Thousand Others","localizedDescription":"Maminyan is the name of a legendary woman remembered as a great solver of women's problems. When a griot wants to honor a woman admired for her accomplishments, she is praised in a song as musolu ba maminyan, \"the mother of all women who is ranked above all women\" or wulu kelen maminyan, \"Maminyan that is worth one thousand.\""},{"id":454297,"name":"Player_Portrait\\Ottoman_08_Safiye","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_08_safiye_final.png\",\"ui_priority\":903,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Safiye Sultan","localizedDescription":"Granted for completing Ottoman Mastery 12."},{"id":454298,"name":"Generic_Inventory_Item\\Malian_Masteries\\Fun_Fact_Mal_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/progression/reward_fun_fact.png\",\"image\":\"images/campaign/campaign_thumb_grand_duchy.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1412123],"localizedName":"The Trickster Dwarf","localizedDescription":"A trickster spirit, the wòkilò is a mischievous genie, forest sprite, or \"little man\" of the bush, said to be the size of an infant with feet pointing backwards. With a quiver slung over its shoulder and bow always strung, it lies in wait for unsuspecting people walking along the forest path and shoots arrows so tiny that they cannot be felt penetrating the flesh but cause serious injury."},{"id":454299,"name":"Player_Portrait\\Ottoman_09_Osman","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_09_osman.png\",\"ui_priority\":902,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Osman I","localizedDescription":"Granted for completing Ottoman Mastery 13."},{"id":454300,"name":"Player_Portrait\\Ottoman_10_Hurrem","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ottoman_10_hurremsultan.png\",\"ui_priority\":901,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1525497],"localizedName":"Hurrem Sultan","localizedDescription":"Granted for completing Ottoman Mastery 14."},{"id":454301,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_38","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_berries_leaves.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_berries_leaves.png\",\"ui_priority\":1005}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Berries","localizedDescription":"A staple of the Ottoman diet.\r\n\r\nGranted for completing Ottoman Mastery 2."},{"id":454302,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_10","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_astronomicalclock.png\",\"ui_priority\":510}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931],"localizedName":"Astronomical Clock Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for completing Ottoman Mastery 5."},{"id":454303,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_39","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_musket.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_musket.png\",\"ui_priority\":1004}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Crossed Muskets","localizedDescription":"Arquebus and muskets were the weapons of choice for Janissaries.\r\n\r\nGranted for completing Ottoman Mastery 9."},{"id":454304,"name":"Coat_Of_Arms_Part\\Frame\\Banner_Shape_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_2_pointed.png\",\"icon2\":\"images/coat_of_arms/banner/outline_2_pointed.png\",\"image\":\"images/coat_of_arms/banner/mask_2_pointed.png\",\"ui_priority\":600}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931],"localizedName":"Double-Pointed banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for completing Ottoman Mastery 12."},{"id":454305,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_40","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_armillarysphere.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_armillarysphere.png\",\"ui_priority\":1003}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931],"localizedName":"Armillary Sphere","localizedDescription":"A model depicting known celestial bodies.\r\n\r\nGranted for completing Ottoman Mastery 15."},{"id":454336,"name":"Taunt\\Taunt_001","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Yes."},{"id":454340,"name":"Racebps\\Campaign_Xp3\\Ayyubid_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_ayy.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_ayy.png\",\"image\":\"images/backgrounds/loading/flags/abbasid_bg.png\",\"imagesmall\":\"images/civ_flags/flag_ayy.png\",\"race_id\":2101122,\"ui_priority\":8,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1469049],"localizedName":"Abbasid Dynasty","localizedDescription":"The Abbasid Dynasty pursues a flourishing Golden Age by concentrating structures around their House of Wisdom, allowing them to unlock significant economic advantages. The House of Wisdom also drives progress through the Ages and grants access to advanced technology. Abbasid camel units are expert at countering enemy cavalry."},{"id":454341,"name":"Racebps\\Byzantine","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_byzantine.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_byzantine.png\",\"image\":\"images/backgrounds/loading/flags/byzantine_bg.png\",\"imagesmall\":\"images/civ_flags/flag_byzantine.png\",\"race_id\":2101234,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1531277,1565508],"localizedName":"Byzantines","localizedDescription":"The Byzantines construct sprawling networks of life-giving Aqueducts and Cisterns. Leverage powerful unique abilities and hire Mercenaries with exquisite Olive Oil. Peasants work tirelessly to manufacture Olive Oil for the empire."},{"id":454342,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Login_Rewards\\Season_03_Login_Sugarskull","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sugarskull.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sugarskull.png\",\"ui_priority\":1050}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Sugar Skull","localizedDescription":"A joyous representation of a loved one who is no longer with us."},{"id":454343,"name":"Player_Portrait\\Season_03\\Login_Rewards\\Season_03_Login_Capycake","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/25th_loginrewards_capybara.png\",\"ui_priority\":1050,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"25th Age-aversary!","localizedDescription":"Awarded for logging in on October 25th."},{"id":454344,"name":"Player_Portrait\\Season_03\\Login_Rewards\\Season_03_Login_Chibiwololo","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/25th_loginrewards_chibipriest.png\",\"ui_priority\":1051,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Chibi Wololo Priest","localizedDescription":"Awarded for logging in on October 25th."},{"id":454345,"name":"Player_Portrait\\Season_03\\Login_Rewards\\Season_03_Login_25Thanniversarycoin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/25th_loginrewards_coin.png\",\"ui_priority\":1052,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"25th Coin","localizedDescription":"A coin to commemorate the 25th Age-aversary!"},{"id":454346,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event01_Photonman","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_photoman.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_photoman.png\",\"ui_priority\":1051}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Photon Man","localizedDescription":"Pew pew! Need we say more?"},{"id":454347,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event01_Elephants","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_howmanyelephants.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_howmanyelephants.png\",\"ui_priority\":1052}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"It'll Fit","localizedDescription":"Don't worry, there is probably room for a few more."},{"id":454348,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_01_Elizabetramsey","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ageversary_elizabethramsey.png\",\"ui_priority\":1053,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Elizabet Ramsey","localizedDescription":"Leading a scrappy crew of Caribbean buccaneers, Elizabet sails aboard her flagship, Paris Burning."},{"id":454349,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event01_Strongboar","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_strongboar.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_strongboar.png\",\"ui_priority\":1053}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Are You Sure About That?","localizedDescription":"Come on, try me!"},{"id":454350,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_01_Totallyfine","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ageversary_thisisfine.png\",\"ui_priority\":1054,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Totally Fine","localizedDescription":"Sometimes it's for the best to accept the things you cannot change."},{"id":454351,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_01_Ottomanart","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/xp1_25thanni_portrait_otto.png\",\"ui_priority\":1055,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Ottoman Painting","localizedDescription":"An artwork by the famed Craig Mullins."},{"id":454352,"name":"Coat_Of_Arms_Part\\Pattern\\Season_03\\Events\\Season_03_Event_01_Banner_Pattern_Arms","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_weaponpattern.png\",\"ui_priority\":1050}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Arms Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":454353,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_01_Age1vill","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/ageversary_age01villager_red.png\",\"ui_priority\":1056,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Age of Empires Villager","localizedDescription":"Where it all began 25 years ago."},{"id":454354,"name":"Coat_Of_Arms_Part\\Pattern\\Season_03\\Events\\Season_03_Event_01_Banner_Pattern_Silhouettes","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_unitpattern.png\",\"ui_priority\":1051}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Silhouette Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":454355,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event01_Chesspiece","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_chessknight.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_chessknight.png\",\"ui_priority\":1054}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Chess Knight","localizedDescription":"This chess piece has remained unchanged in its movement and rules for the longest period of time."},{"id":454356,"name":"Monument\\Season_03\\Events\\Season_03_Event_01_Ageiv","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_iv_stone.png\",\"ui_priority\":1050}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"IV Statue","localizedDescription":"A monument in celebration of Age of Empires IV!"},{"id":454357,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_01_Malianart","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/xp1_25thanni_portrait_mali.png\",\"ui_priority\":1056,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Malian Painting","localizedDescription":"An artwork by the famed Craig Mullins."},{"id":454358,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_02_Sheepplush","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/toyrewards_sheepplushie.png\",\"ui_priority\":1057,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Sheep Plush","localizedDescription":"For when you have suffered a devastating wololo or your crops have been set aflame, Sheep Plush is there for moral support."},{"id":454359,"name":"Coat_Of_Arms_Part\\Frame\\Season_03\\Events\\Season_03_Event_02_Banner_Shape_Stringlights","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_festive.png\",\"icon2\":\"images/coat_of_arms/banner/outline_festive.png\",\"image\":\"images/coat_of_arms/banner/mask_festive.png\",\"ui_priority\":1050}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Laurel banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon."},{"id":454360,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event02_Practicesword","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_practicesword.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_practicesword.png\",\"ui_priority\":1055}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Practice Sword","localizedDescription":"Be careful of splinters!"},{"id":454361,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_02_Balloondeer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/toyrewards_balloondeer.png\",\"ui_priority\":1058,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Balloon Deer","localizedDescription":"A balloon figurine of our favorite friend."},{"id":454362,"name":"Monument\\Season_03\\Events\\Season_03_Event_02_Presents","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_gifts.png\",\"ui_priority\":1051}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gift Pile","localizedDescription":"Everybody gets a gift!"},{"id":454363,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Bronze_Spire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_solo_bronze.png\",\"ui_priority\":1040,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Castle Spire","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":454364,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Silver_Spire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_solo_silver.png\",\"ui_priority\":1040,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Castle Spire","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":454365,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Gold_Spire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_solo_gold.png\",\"ui_priority\":1040,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Castle Spire","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":454366,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Platinum_Spire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_solo_platinum.png\",\"ui_priority\":1040,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Castle Spire","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":454367,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Diamond_Spire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_solo_diamond.png\",\"ui_priority\":1040,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Castle Spire","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":454368,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Conqueror_Spire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_solo_conqueror.png\",\"ui_priority\":1040,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Castle Spire","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":454369,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Team_Bronze_Spires","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_teams_bronze.png\",\"ui_priority\":1039,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Castle Spires","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":454370,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Team_Silver_Spires","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_teams_silver.png\",\"ui_priority\":1039,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Castle Spires","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":454371,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Team_Gold_Spires","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_teams_gold.png\",\"ui_priority\":1039,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Castle Spires","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":454372,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Team_Platinum_Spires","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_teams_platinum.png\",\"ui_priority\":1039,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Castle Spires","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":454373,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Team_Diamond_Spires","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_teams_diamond.png\",\"ui_priority\":1039,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Castle Spires","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":454374,"name":"Player_Portrait\\Season_03\\Ranked_Season\\Season_03_Team_Conqueror_Spires","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_ranked_teams_conqueror.png\",\"ui_priority\":1039,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Castle Spires","localizedDescription":"Mighty and great, castle spires tower above the horizon of any formidable keep.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":454375,"name":"Monument\\Season_03\\Ranked_Season\\Season_03_Gold_Boarram","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_batteringram_gold.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Battering Ram","localizedDescription":"A siege engine feared on every battlefield, battering rams were designed to break their way through castle defenses. They were called rams because many were designed with ornate creatures at its head.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":454376,"name":"Monument\\Season_03\\Ranked_Season\\Season_03_Platinum_Boarram","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_batteringram_platinum.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Battering Ram","localizedDescription":"A siege engine feared on every battlefield, battering rams were designed to break their way through castle defenses. They were called rams because many were designed with ornate creatures at its head.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":454377,"name":"Monument\\Season_03\\Ranked_Season\\Season_03_Diamond_Boarram","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_batteringram_diamond.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Battering Ram","localizedDescription":"A siege engine feared on every battlefield, battering rams were designed to break their way through castle defenses. They were called rams because many were designed with ornate creatures at its head.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":454378,"name":"Monument\\Season_03\\Ranked_Season\\Season_03_Conqueror_Boarram","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_batteringram_conqueror.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Battering Ram","localizedDescription":"A siege engine feared on every battlefield, battering rams were designed to break their way through castle defenses. They were called rams because many were designed with ornate creatures at its head.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":454379,"name":"Monument\\Season_03\\Ranked_Season\\Season_03_Team_Boarram","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_batteringram_stone.png\",\"ui_priority\":1009}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Stone Battering Ram","localizedDescription":"A siege engine feared on every battlefield, battering rams were designed to break their way through castle defenses. They were called rams because many were designed with ornate creatures at its head.\r\n\r\nGranted for participating in a Team Ranked season."},{"id":454380,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_03\\Ranked_Season\\Season_03_Sigil_Frame_Smoketrail","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_smoketrail_a.png\",\"ui_priority\":1020}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Smoke trail sigil frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for participating in a ranked season."},{"id":454381,"name":"Coat_Of_Arms_Part\\Pattern\\Season_03\\Ranked_Season\\Season_03_Banner_Pattern_Brickwork","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_castlewalls.png\",\"ui_priority\":1049}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Brickwork Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for participating in a ranked season."},{"id":454382,"name":"Coat_Of_Arms_Part\\Frame\\Season_03\\Ranked_Season\\Season_03_Banner_Shape_Gate","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_drawbridge.png\",\"icon2\":\"images/coat_of_arms/banner/outline_drawbridge.png\",\"image\":\"images/coat_of_arms/banner/mask_drawbridge.png\",\"ui_priority\":1049}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Gate banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":454383,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Ranked_Season\\Season_03_Sigil_Clerestorywindow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_clerestorywindow.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_clerestorywindow.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Clerestory Window","localizedDescription":"This style of architecture was used to pour as much light into the interior of a building as possible. It was especially utilized in places of worship."},{"id":454384,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Ranked_Season\\Season_03_Sigil_Drawbridge","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_drawbridge.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_drawbridge.png\",\"ui_priority\":1011}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Drawbridge","localizedDescription":"Powered by a counterweight and a series of ropes or chains, drawbridges could be quickly raised to shut off access to a castle during an attack."},{"id":454385,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Ranked_Season\\Season_03_Sigil_Boilingoil","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_boilingoil.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_boilingoil.png\",\"ui_priority\":1012}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Boiling Oil","localizedDescription":"Anything on-hand would be used to help defend a castle under siege. Boiling oil, however, is probably the most recognizable of materials used for siege defense."},{"id":454388,"name":"Taunt\\Taunt_002","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"No."},{"id":454389,"name":"Taunt\\Taunt_003","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Good luck, have fun."},{"id":454390,"name":"Taunt\\Taunt_004","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Are you ready to battle?"},{"id":454391,"name":"Taunt\\Taunt_005","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Oh, oh, I can't wait!"},{"id":454392,"name":"Taunt\\Taunt_006","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"The anticipation is killing me."},{"id":454393,"name":"Taunt\\Taunt_007","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Ding ding!","localizedDescription":"Needs more cowbell."},{"id":454394,"name":"Taunt\\Taunt_008","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"All hail, king of the losers!"},{"id":454395,"name":"Taunt\\Taunt_009","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Oooohhhh!"},{"id":454396,"name":"Taunt\\Taunt_010","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Hey, I'm in your town."},{"id":454397,"name":"Taunt\\Taunt_011","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Group Laugh"},{"id":454398,"name":"Taunt\\Taunt_012","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Ah! Being rushed."},{"id":454399,"name":"Taunt\\Taunt_013","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Group Cheer"},{"id":454400,"name":"Taunt\\Taunt_014","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Start the game already!","localizedDescription":"Let's go, let's go, let's go!"},{"id":454401,"name":"Taunt\\Taunt_015","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Are you still there?"},{"id":454402,"name":"Taunt\\Taunt_016","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Not like this! Not like this!"},{"id":454403,"name":"Taunt\\Taunt_017","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Crickets"},{"id":454404,"name":"Taunt\\Taunt_018","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Group Wince"},{"id":454405,"name":"Taunt\\Taunt_019","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Sure, blame it on your ISP."},{"id":454406,"name":"Taunt\\Taunt_020","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Don't point that thing at me!"},{"id":454407,"name":"Taunt\\Taunt_021","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I'm in your base, killing your units.","localizedDescription":"That's rough, buddy."},{"id":454408,"name":"Taunt\\Taunt_022","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"It is good to be the king."},{"id":454409,"name":"Taunt\\Taunt_023","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I am weak! Please don't kill me!","localizedDescription":"For when groveling is your only remaining option."},{"id":454410,"name":"Taunt\\Taunt_024","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"How could you do this to me?"},{"id":454411,"name":"Taunt\\Taunt_025","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Long time, no siege.","localizedDescription":"Get it?"},{"id":454412,"name":"Taunt\\Taunt_026","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I just got some ... satisfaction!"},{"id":454413,"name":"Taunt\\Taunt_027","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Nice town, I'll take it."},{"id":454414,"name":"Taunt\\Taunt_028","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I ... did not expect that."},{"id":454415,"name":"Taunt\\Taunt_029","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Quit bothering me!"},{"id":454416,"name":"Taunt\\Taunt_030","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Raiding party!"},{"id":454417,"name":"Taunt\\Taunt_031","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I'll take that trade."},{"id":454418,"name":"Taunt\\Taunt_032","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Eh, smite me."},{"id":454419,"name":"Taunt\\Taunt_033","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Can you believe it?"},{"id":454420,"name":"Taunt\\Taunt_034","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"The wonder, the wonder, the ... no!"},{"id":454421,"name":"Taunt\\Taunt_035","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"What a play!"},{"id":454422,"name":"Taunt\\Taunt_036","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"You played two hours to die like this?"},{"id":454423,"name":"Taunt\\Taunt_037","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Yeah, well, you should see the other guy."},{"id":454424,"name":"Taunt\\Taunt_038","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Roggan."},{"id":454425,"name":"Taunt\\Taunt_039","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Wololo."},{"id":454426,"name":"Taunt\\Taunt_040","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Good game, well played."},{"id":454427,"name":"Taunt\\Taunt_041","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"GG, no re!"},{"id":454428,"name":"Taunt\\Taunt_042","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"GG, re?"},{"id":454429,"name":"Taunt\\Taunt_043","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Food please."},{"id":454430,"name":"Taunt\\Taunt_044","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Wood please."},{"id":454431,"name":"Taunt\\Taunt_045","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Gold please."},{"id":454432,"name":"Taunt\\Taunt_046","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Stone please."},{"id":454433,"name":"Taunt\\Taunt_047","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Send me your extra resources!"},{"id":454434,"name":"Taunt\\Taunt_048","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Let's go for a Conquest victory."},{"id":454435,"name":"Taunt\\Taunt_049","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Let's go for a Sacred victory."},{"id":454436,"name":"Taunt\\Taunt_050","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Let's go for a Wonder victory."},{"id":454437,"name":"Taunt\\Taunt_051","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I'm capturing a Sacred Site!"},{"id":454438,"name":"Taunt\\Taunt_052","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend our Sacred Site!"},{"id":454439,"name":"Taunt\\Taunt_053","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I'm building a Wonder!"},{"id":454440,"name":"Taunt\\Taunt_054","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Protect my Wonder!"},{"id":454441,"name":"Taunt\\Taunt_055","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Enemy is preparing to rush."},{"id":454442,"name":"Taunt\\Taunt_056","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Enemy is building defenses."},{"id":454443,"name":"Taunt\\Taunt_057","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Enemy is booming."},{"id":454444,"name":"Taunt\\Taunt_058","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Enemy has a trade route."},{"id":454445,"name":"Taunt\\Taunt_059","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Let's move in together."},{"id":454446,"name":"Taunt\\Taunt_060","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Wait, I'm not ready yet."},{"id":454447,"name":"Taunt\\Taunt_061","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I need more time."},{"id":454448,"name":"Taunt\\Taunt_062","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Fight alongside me!"},{"id":454449,"name":"Taunt\\Taunt_063","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I'm under attack!"},{"id":454450,"name":"Taunt\\Taunt_064","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Hold the line!"},{"id":454451,"name":"Taunt\\Taunt_065","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Don't give them any ground!"},{"id":454452,"name":"Taunt\\Taunt_066","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Watch out for enemy infantry!"},{"id":454453,"name":"Taunt\\Taunt_067","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Watch out for enemy cavalry!"},{"id":454454,"name":"Taunt\\Taunt_068","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Watch out for enemy ranged units!"},{"id":454455,"name":"Taunt\\Taunt_069","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Watch out for enemy ships!"},{"id":454456,"name":"Taunt\\Taunt_070","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Watch out for enemy siege!"},{"id":454457,"name":"Taunt\\Taunt_071","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"I'm scouting the enemy."},{"id":454458,"name":"Taunt\\Taunt_072","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Can you scout the enemy?"},{"id":454459,"name":"Taunt\\Taunt_073","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Enemy Scout heading your way."},{"id":454460,"name":"Taunt\\Taunt_074","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build infantry."},{"id":454461,"name":"Taunt\\Taunt_075","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build cavalry."},{"id":454462,"name":"Taunt\\Taunt_076","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build ranged units."},{"id":454463,"name":"Taunt\\Taunt_077","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build a navy."},{"id":454464,"name":"Taunt\\Taunt_078","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build siege."},{"id":454465,"name":"Taunt\\Taunt_079","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build forces to repel enemy infantry!"},{"id":454466,"name":"Taunt\\Taunt_080","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build forces to repel enemy cavalry!"},{"id":454467,"name":"Taunt\\Taunt_081","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build forces to repel enemy ranged units!"},{"id":454468,"name":"Taunt\\Taunt_082","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build forces to repel enemy ships!"},{"id":454469,"name":"Taunt\\Taunt_083","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build forces to repel enemy siege!"},{"id":454470,"name":"Taunt\\Taunt_084","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Blue player!"},{"id":454471,"name":"Taunt\\Taunt_085","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Red player!"},{"id":454472,"name":"Taunt\\Taunt_086","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Yellow player!"},{"id":454473,"name":"Taunt\\Taunt_087","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Green player!"},{"id":454474,"name":"Taunt\\Taunt_088","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Teal player!"},{"id":454475,"name":"Taunt\\Taunt_089","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Purple player!"},{"id":454476,"name":"Taunt\\Taunt_090","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Orange player!"},{"id":454477,"name":"Taunt\\Taunt_091","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Attack the Pink player!"},{"id":454478,"name":"Taunt\\Taunt_092","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Blue player!"},{"id":454479,"name":"Taunt\\Taunt_093","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Red player!"},{"id":454480,"name":"Taunt\\Taunt_094","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Yellow player!"},{"id":454481,"name":"Taunt\\Taunt_095","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Green player!"},{"id":454482,"name":"Taunt\\Taunt_096","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Teal player!"},{"id":454483,"name":"Taunt\\Taunt_097","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Purple player!"},{"id":454484,"name":"Taunt\\Taunt_098","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Orange player!"},{"id":454485,"name":"Taunt\\Taunt_099","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Defend the Pink player!"},{"id":454486,"name":"Taunt\\Taunt_100","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Retreat! Retreat!"},{"id":454487,"name":"Taunt\\Taunt_101","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Build walls here!"},{"id":454488,"name":"Taunt\\Taunt_102","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Please delete this wall."},{"id":454489,"name":"Taunt\\Taunt_103","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Let's build here!"},{"id":454490,"name":"Taunt\\Taunt_104","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066],"localizedName":"Please delete this building."},{"id":454491,"name":"Taunt\\Taunt_105","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"OP.","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454492,"name":"Taunt\\Taunt_106","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Nice sheep.","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454493,"name":"Taunt\\Taunt_107","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Remember when you had an army?","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454494,"name":"Taunt\\Taunt_108","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Well that escalated quickly.","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454495,"name":"Taunt\\Taunt_109","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"STRAEEELBOOORRAAAA!","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454496,"name":"Taunt\\Taunt_110","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Behold! My amazing army!","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454497,"name":"Taunt\\Taunt_111","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"This is fine ...","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454498,"name":"Taunt\\Taunt_112","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"You know, this game has a good tutorial.","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454499,"name":"Taunt\\Taunt_113","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"It has been a pleasure.","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454500,"name":"Taunt\\Taunt_114","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"I ... did not see that coming.","localizedDescription":"Granted for participating in a Solo or Team Ranked season."},{"id":454538,"name":"Monument\\Excl_Dev_Golden_Ageiv","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s03_iv_gold.png\",\"ui_priority\":8010}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Golden IV Statue","localizedDescription":"A golden monument in celebration of Age of Empires IV!\r\n\r\nGranted for being a member of the Age of Empires IV development team."},{"id":454662,"name":"Racebps\\Japanese","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_japanese.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_japanese.png\",\"image\":\"images/backgrounds/loading/flags/japanese_bg.png\",\"imagesmall\":\"images/civ_flags/flag_japanese.png\",\"race_id\":2109886,\"ui_priority\":1,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1526177,1531277],"localizedName":"Japanese","localizedDescription":"Ruling over the Japanese land, the Daimyo enhances agriculture and employs Samurai to defend their territory. The unique Forge works tirelessly to sharpen their blades to give an edge in battle. Fierce Samurai Bannermen lead their diverse army of infantry and cavalry to victory. "},{"id":454685,"name":"Racebps\\French_Ha_01","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_historic_fre.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_historic_fre.png\",\"image\":\"images/backgrounds/loading/flags/historic_fre_bg.png\",\"imagesmall\":\"images/civ_flags/flag_historic_fre.png\",\"race_id\":2121948,\"ui_priority\":7,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1531277,1673072],"localizedName":"Jeanne d'Arc","localizedDescription":"A spark of hope for the French people, Jeanne d'Arc takes to the battlefield and inspires courage to her followers. Starting as a humble villager, Jeanne begins the Journey of a Hero in the Dark Age. Experience forges Jeanne into a powerful leader, gaining access to trusted companions and powerful abilities which shape the empire she was destined to create."},{"id":454686,"name":"Racebps\\Abbasid_Ha_01","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_historic_abb.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_historic_abb.png\",\"image\":\"images/backgrounds/loading/flags/historic_abb_bg.png\",\"imagesmall\":\"images/civ_flags/flag_historic_abb.png\",\"race_id\":2121949,\"ui_priority\":3,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1531277,1672705],"localizedName":"Ayyubids","localizedDescription":"At the confluence of continents, where trade and science meet, and where empires clash, the Ayyubids use their pursuit of knowledge to gain the upper hand. The House of Wisdom is the focal point of this combination of urbanization and science, unlocking powerful Golden Age bonuses and advancing through the ages. The Ayyubids focus on versatile units to gain a tactical advantage on the battlefield."},{"id":454687,"name":"Racebps\\Chinese_Ha_01","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_historic_chi.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_historic_chi.png\",\"image\":\"images/backgrounds/loading/flags/historic_chi_bg.png\",\"imagesmall\":\"images/civ_flags/flag_historic_chi.png\",\"race_id\":2121950,\"ui_priority\":5,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1527735,1531277],"localizedName":"Zhu Xi's Legacy","localizedDescription":"The teachings of philosopher Zhu Xi reshape the Chinese civilization. With Zhu Xi\u2019s Legacy, the Chinese boast a sophisticated administration with superior Imperial Officials and advanced technologies. The brimming treasury helps to establish powerful dynasties and research a breadth of unique technologies. Recruit Palace Guards, Zhuge Nus, and Grenadiers early on to protect the Empire."},{"id":454688,"name":"Racebps\\Hre_Ha_01","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_historic_hre.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_historic_hre.png\",\"image\":\"images/backgrounds/loading/flags/historic_hre_bg.png\",\"imagesmall\":\"images/civ_flags/flag_historic_hre.png\",\"race_id\":2121952,\"ui_priority\":9,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1531277,1673073],"localizedName":"Order of the Dragon","localizedDescription":"The Order of the Dragon is established by handpicked wealthy elites to crush hostile empires. Investing large amounts of resources into training only a few exceptional warriors, the Order succeeds in raising an elite army unlike any other."},{"id":454696,"name":"Player_Portrait\\Season_03\\Login_Rewards\\Season_03_Login_Luckyenvelope","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_loginrewards_luckyenvelope.png\",\"ui_priority\":1053,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Lucky Envelope","localizedDescription":"A symbol of well-wishes and luck for the year ahead."},{"id":454697,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event03_Rabbitfamily","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_rabbitfamily.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_rabbitfamily.png\",\"ui_priority\":1056}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Fluffle","localizedDescription":"A family of rabbits."},{"id":454698,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event03_Rabbitcoin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_chinesecoin.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_chinesecoin.png\",\"ui_priority\":1057}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Rabbit Zodiac Coin","localizedDescription":"A coin with a Rabbit symbol."},{"id":454699,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event03_Waves","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_wave.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_wave.png\",\"ui_priority\":1058}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Wave","localizedDescription":"Go with the flow!"},{"id":454700,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_03_Papercutout","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s03_event_redpapercutout.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Rabbit Cutout","localizedDescription":"A meticulously-carved paper cutout decoration."},{"id":454701,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_03_Cherryblossoms","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s03_lunariflaire_cherryblossoms.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Cherry Blossoms","localizedDescription":"Symbolic of the renewing nature of life."},{"id":454702,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event03_Endlessknot","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_endlessknot.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_endlessknot.png\",\"ui_priority\":1059}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Endless Knots","localizedDescription":"These decorations are painstakingly created, and celebrate the ever-lasting cycles of life."},{"id":454703,"name":"Coat_Of_Arms_Part\\Pattern\\Season_03\\Events\\Season_03_Event_03_Banner_Pattern_Clovers","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_clover.png\",\"ui_priority\":1052}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Clover Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":454704,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_03_Waterrabbit","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s03_lunafaire_waterrabbit.png\",\"ui_priority\":1061,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Elemental Water Rabbit","localizedDescription":"The Water Rabbit zodiac is said to represent agreeable and calm personalities."},{"id":454705,"name":"Coat_Of_Arms_Part\\Pattern\\Season_03\\Events\\Season_03_Event_03_Banner_Pattern_Pawprints","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_pawprints.png\",\"ui_priority\":1053}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Pawprint Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":454706,"name":"Monument\\Season_03\\Events\\Season_03_Event_03_Waterrabbit","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_rabbit.png\",\"ui_priority\":1052}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Rabbit & Lilies","localizedDescription":"A monument in celebration of the Year of the Water Rabbit."},{"id":454720,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_04\\Ranked_Season\\Season_04_Sigil_Frame_Paintingframe","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_paintingframe.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Painting sigil frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for participating in a ranked season."},{"id":454721,"name":"Coat_Of_Arms_Part\\Pattern\\Season_04\\Ranked_Season\\Season_04_Banner_Pattern_Streamers","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_streamers.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Streamers Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for participating in a ranked season."},{"id":454722,"name":"Coat_Of_Arms_Part\\Frame\\Season_04\\Ranked_Season\\Season_04_Banner_Shape_Leftsloped","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s04_ranked.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s04_ranked.png\",\"image\":\"images/coat_of_arms/banner/mask_s04_ranked.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Left-Sloped banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":454723,"name":"Coat_Of_Arms_Part\\Sigil\\Season_04\\Ranked_Season\\Season_04_Sigil_Lute","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_lute.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_lute.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Lute","localizedDescription":"Smaller lutes were more accessible and easy to play, but larger lutes required mastery and finesse.\r\n\r\nGranted for participating in a ranked season."},{"id":454724,"name":"Coat_Of_Arms_Part\\Sigil\\Season_04\\Ranked_Season\\Season_04_Sigil_Chandelier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_chandelier.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_chandelier.png\",\"ui_priority\":1061}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Chandelier","localizedDescription":"The more ornate, the more expensive.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":454725,"name":"Coat_Of_Arms_Part\\Sigil\\Season_04\\Ranked_Season\\Season_04_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_plushcrown.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_plushcrown.png\",\"ui_priority\":1062}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Plush Crown","localizedDescription":"The highest symbol of a monarch's authority - the crown - was highly treasured.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":454726,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Bronze_Mask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_bronze.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Jester Mask","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":454727,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Silver_Mask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_silver.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Jester Mask","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":454728,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Gold_Mask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_gold.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Jester Mask","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":454729,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Platinum_Mask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_platinum.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Jester Mask","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":454730,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Diamond_Mask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_diamond.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Jester Mask","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":454731,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Conqueror_Mask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_conqueror.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Jester Mask","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":454732,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Team_Bronze_Masks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_bronze_teams.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Jester Masks","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":454733,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Team_Silver_Masks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_silver_teams.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Jester Masks","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":454734,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Team_Gold_Masks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_gold_teams.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Jester Masks","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":454735,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Team_Platinum_Masks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_platinum_teams.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Jester Masks","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":454736,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Team_Diamond_Masks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_diamond_teams.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Jester Masks","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":454737,"name":"Player_Portrait\\Season_04\\Ranked_Season\\Season_04_Team_Conqueror_Masks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s4_ranked_conqueror_teams.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Jester Masks","localizedDescription":"Every ruler needs their entertainment! Often, this came in the form of jesters or other performing courtiers.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":454738,"name":"Monument\\Season_04\\Ranked_Season\\Season_04_Gold_Throne","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s04_throne_gold.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Throne","localizedDescription":"The highest seat of power, a monarch's throne was a monument to their opulence, authority, and - in some cultures - divinity.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":454739,"name":"Monument\\Season_04\\Ranked_Season\\Season_04_Platinum_Throne","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s04_throne_platinum.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Throne","localizedDescription":"The highest seat of power, a monarch's throne was a monument to their opulence, authority, and - in some cultures - divinity.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":454740,"name":"Monument\\Season_04\\Ranked_Season\\Season_04_Diamond_Throne","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s04_throne_diamond.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Throne","localizedDescription":"The highest seat of power, a monarch's throne was a monument to their opulence, authority, and - in some cultures - divinity.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":454741,"name":"Monument\\Season_04\\Ranked_Season\\Season_04_Conqueror_Throne","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s04_throne_conqueror.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Throne","localizedDescription":"The highest seat of power, a monarch's throne was a monument to their opulence, authority, and - in some cultures - divinity.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":454742,"name":"Monument\\Season_04\\Ranked_Season\\Season_04_Team_Throne","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s04_throne_stone.png\",\"ui_priority\":1061}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Stone Throne","localizedDescription":"The highest seat of power, a monarch's throne was a monument to their opulence, authority, and - in some cultures - divinity.\r\n\r\nGranted for participating in a Team Ranked season."},{"id":454760,"name":"Racebps\\Campaign\\Salisbury","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_normans.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_normans.png\",\"imagesmall\":\"images/civ_flags/flag_normans.png\",\"race_id\":2125861,\"ui_priority\":1,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023330],"localizedName":"Normans","localizedDescription":"Exceptional early infantry provide the English with a powerful punch backed up by reliable Food production from the fields."},{"id":454761,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Four_Lakes","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":454762,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Mystical_River","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":454892,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Login_Rewards\\Season_03_Login_Boxofchocolates","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_chocolates.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_chocolates.png\",\"ui_priority\":1051}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Box of Chocolates","localizedDescription":"You never know what you're going to get!"},{"id":454893,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_04_Swans","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s03_minievent_swan.png\",\"ui_priority\":1062,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Swans","localizedDescription":"These gorgeous birds symbolize beauty and love."},{"id":454894,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event04_Apple","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_applebite.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_applebite.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Apple","localizedDescription":"Apples are featured prominently in many ancient stories - most often depicting good health and peace of mind."},{"id":454895,"name":"Player_Portrait\\Season_03\\Events\\Season_03_Event_04_Lovebirds","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s03_minievent_lovebirds.png\",\"ui_priority\":1063,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Lovebirds","localizedDescription":"Coming in a variety of bright plumage, lovebirds are one of the smallest species of parrots."},{"id":454896,"name":"Coat_Of_Arms_Part\\Sigil\\Season_03\\Events\\Season_03_Event04_Ladybug","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_ladybug.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_ladybug.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Ladybug","localizedDescription":"Despite their beautiful appearance, ladybugs are well-known for their ferocious disposition towards smaller insects."},{"id":454897,"name":"Monument\\Season_03\\Events\\Season_03_Event_04_Runningdeer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_running_deer.png\",\"ui_priority\":1053}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Running Deer","localizedDescription":"The embodiment of majesty and grace."},{"id":454955,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_01_Grove","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_enchantedgrove_enchantedview.png\",\"ui_priority\":1052,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Enchanted Grove","localizedDescription":"Welcome to a land of myth and mystery!"},{"id":454956,"name":"Player_Portrait\\Season_04\\Login_Rewards\\Season_04_Login_Whitestag","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s04_login_magicaldeer.png\",\"ui_priority\":1052,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Enchanted Stag","localizedDescription":"Hunters and adventurers of old may have divined tales of magical creatures after witnessing rare albino game."},{"id":454957,"name":"Coat_Of_Arms_Part\\Sigil\\Season_04\\Events\\Season_04_Event01_Treetrunk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_waywardabode.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_waywardabode.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Wayward Abode","localizedDescription":"Hidden in the deep and misty thickets live a wealth of mysterious creatures."},{"id":454958,"name":"Coat_Of_Arms_Part\\Sigil\\Season_04\\Events\\Season_04_Event01_Snail","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_snailshrooms.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_snailshrooms.png\",\"ui_priority\":1061}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Snail & Mushrooms","localizedDescription":"Beneath the dense underbrush is a miniature world all of its own."},{"id":454959,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_01_Woodnymph","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_enchantedgrove_woodnymph.png\",\"ui_priority\":1053,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Wood Nymph","localizedDescription":"Timid and shy, wood nymphs protect the forests as caretakers of the land."},{"id":454960,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_01_Pixie","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s3_enchantedgrove_pixie.png\",\"ui_priority\":1054,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Pixie","localizedDescription":"Across many cultures, tricky faeries were said to lure travelers deep into the forest."},{"id":454961,"name":"Coat_Of_Arms_Part\\Pattern\\Season_04\\Events\\Season_04_Event_01_Banner_Pattern_Seeds","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_fallingleavesseeds.png\",\"ui_priority\":1054}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Seed Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":454962,"name":"Monument\\Season_04\\Events\\Season_04_Event_01_Goldenstag","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_dlc_stag.png\",\"ui_priority\":8001}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Stag","localizedDescription":"Though they were often a hunted quarry, stags in many cultures were respected as creatures of great beauty and grace."},{"id":454972,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Ott_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_ottoman_male.png\",\"ui_priority\":1055,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Opulent Villager","localizedDescription":"A portrait of an Ottoman Villager."},{"id":454973,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Ott_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_ottoman_female.png\",\"ui_priority\":1056,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Opulent Villager","localizedDescription":"A portrait of an Ottoman Villager."},{"id":454974,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Mal_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_malian_male.png\",\"ui_priority\":1057,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Herding Villager","localizedDescription":"A portrait of a Malian Villager."},{"id":454975,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Mal_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_malian_female.png\",\"ui_priority\":1058,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Herding Villager","localizedDescription":"A portrait of a Malian Villager."},{"id":454976,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Eng_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_english_male.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Hawk-eyed Villager","localizedDescription":"A portrait of an English Villager."},{"id":454977,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Eng_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_english_female.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Hawk-eyed Villager","localizedDescription":"A portrait of an English Villager."},{"id":454978,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Chi_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_chinese_male.png\",\"ui_priority\":1061,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Industrious Villager","localizedDescription":"A portrait of a Chinese Villager."},{"id":454979,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Chi_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_chinese_female.png\",\"ui_priority\":1062,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Industrious Villager","localizedDescription":"A portrait of a Chinese Villager."},{"id":454980,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Fre_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_french_male.png\",\"ui_priority\":1063,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Vigilant Villager","localizedDescription":"A portrait of a French Villager."},{"id":454981,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Fre_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_french_female.png\",\"ui_priority\":1064,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Vigilant Villager","localizedDescription":"A portrait of a French Villager."},{"id":454982,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Hre_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_roman_male.png\",\"ui_priority\":1065,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Inspired Villager","localizedDescription":"A portrait of a Holy Roman Empire Villager."},{"id":454983,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Hre_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_roman_female.png\",\"ui_priority\":1066,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Inspired Villager","localizedDescription":"A portrait of a Holy Roman Empire Villager."},{"id":454984,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Mon_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_mongol_male.png\",\"ui_priority\":1067,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Hard-working Villager","localizedDescription":"A portrait of a Mongol Villager."},{"id":454985,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Mon_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_mongol_female.png\",\"ui_priority\":1068,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Hard-working Villager","localizedDescription":"A portrait of a Mongol Villager."},{"id":454986,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Rus_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_rus_male.png\",\"ui_priority\":1069,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Stalwart Villager","localizedDescription":"A portrait of a Rus Villager."},{"id":454987,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Rus_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_rus_female.png\",\"ui_priority\":1070,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Stalwart Villager","localizedDescription":"A portrait of a Rus Villager."},{"id":454988,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Sul_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_delhi_male.png\",\"ui_priority\":1071,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Resilient Villager","localizedDescription":"A portrait of a Delhi Sultanate Villager."},{"id":454989,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Sul_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_delhi_female.png\",\"ui_priority\":1072,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Resilient Villager","localizedDescription":"A portrait of a Delhi Sultanate Villager."},{"id":454990,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Abb_Vill_M","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_abbasid_male.png\",\"ui_priority\":1073,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Observant Villager","localizedDescription":"A portrait of an Abbasid Villager."},{"id":454991,"name":"Player_Portrait\\Season_04\\Events\\Season_04_Event_02_Abb_Vill_F","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/villager_abbasid_female.png\",\"ui_priority\":1074,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Observant Villager","localizedDescription":"A portrait of an Abbasid Villager."},{"id":455039,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M01_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_tyre.png\",\"imagesmall\":\"images/text_collectibles/abb_tyre_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Witnesses to History","localizedDescription":"\"We chroniclers have been preserving the deeds of our people for centuries. We toil by dim candlelight, illuminating our stories for the world, but rarely are we seen.\r\n\r\nWitnesses to history, protectors of our truth, we gather these accounts at times with blade in one hand and pen in the other.\r\n\r\nTake Abu al-Fida', who bravely fought off the Franks alongside his sultan, al-Ashraf Khalil. God saw him to victory and he repaid this blessing by devoting himself to scholarship.\r\n\r\nHe and many others have carried our voices forward with honor.\r\n\r\nWere it not for such dedication, I would have no story to tell you today.\"\r\n\r\n~ The Chronicler"},{"id":455042,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M02_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_egypt.png\",\"imagesmall\":\"images/text_collectibles/abb_egypt_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Swords of Legend","localizedDescription":"\"The Franks were brazen in their belief that they could conquer us. But their boldness would be cut down by our blades of Damascus steel.\r\n\r\nThose infidels who fled with their lives carried legendary tales of our swords westward. They told of metal that bent with the wind but was so sharp as to split a grain of sand.\r\n\r\nOur steel was forged in fire but bore the signature of the seas \u2013 the power of ocean waves patterned into the blade itself.\r\n\r\nThis distinction, the Franks came to fear. When our superior swords sang, their spirits were silenced.\r\n\r\nSuch blades were reserved for our elite warriors and the craft to our trusted smiths, so that our great secret would never be stolen.\"\r\n\r\n~The Chronicler"},{"id":455046,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M03_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_redsea.png\",\"imagesmall\":\"images/text_collectibles/abb_redsea_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Lion's Hunt","localizedDescription":"\"The Franks descended upon the Red Sea, seeking only destruction; never before had our pilgrims faced such wickedness.\r\n\r\nThe most gallant commander of the Ayyubid fleet, Husam al-Din Lu'lu', would make his vengeance felt like the bellow of a wrathful lion.\r\n\r\nShrewdly, he gathered our most hardened sailors and bent his course upon the intruders. Without hesitation, he cut down or captured every infidel man and ship, returning to the people that which had been stolen.\r\n\r\nLu'lu' then set upon the demon Reynald himself.\r\n\r\nAt the crucial moment, Reynald found his crew of cowards no match for our superior seamanship.\r\n\r\nHis evil attack was thwarted by Lu'lu''s steadfast valor, and Saladin ordered the prisoners be put to the blade for their villainy.\" \r\n\r\n~ The Chronicler"},{"id":455050,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M04_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_hattin.png\",\"imagesmall\":\"images/text_collectibles/abb_hattin_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"The Blue Wolf","localizedDescription":"\"Saladin's trusted general, Gökböri, known as the 'Blue Wolf', was highly favored for his loyalty and his deeds.\r\n\r\nFirstborn of the Lord of Erbil, Gökböri stood to inherit his father's title. But he was betrayed by his own overlord, the Atabeg of Mosul, who thought him unfit for rule. His birthright denied, he fled into Saladin's service, acting to unite the people beneath him and earning the sultan's favor.\r\n\r\nBut it was at the Battle of Hattin that Gökböri's honor would be proven. While Saladin's forces were routed, the Blue Wolf bravely stood alone against the Frankish charge. His ferocity inspired our warriors back to the battlefield, and our victory was secured.\r\n\r\nSaladin's reward to his fearsome general: Erbil.\r\n\r\nGökböri retired comfortably to his home, heralded as a hero. He lived out the remainder of his life in service to his people, undefeated, and beloved by all.\"\r\n\r\n~ The Chronicler"},{"id":455053,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M05_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_mansurah.png\",\"imagesmall\":\"images/text_collectibles/abb_mansurah_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Tree of Pearls","localizedDescription":"\"A former concubine, Sultana Shajar al-Durr had many powerful minds set against her. They would not allow a woman to rule.\r\n\r\nHer wisdom, however, would see her name remembered and theirs forgotten.\r\n\r\nReigning for only 80 days, she wasted no time in building architectural marvels that would decorate Cairo for centuries to come.\r\n\r\nOverseeing her own mausoleum's construction, she boldly broke with tradition by commissioning a mosaic of a tree of pearls, her namesake.\r\n\r\nThis piece artfully evaded the ban on depictions of people within houses of worship, and did so brazenly \u2013 she placed it inside the most holy space in the building, the mihrab.\r\n\r\nThrough her patronage, Shajar al-Durr secured her everlasting legacy, and defied those that sought to erase her.\"\r\n\r\n~The Chronicler"},{"id":455057,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M06_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_aynjalut.png\",\"imagesmall\":\"images/text_collectibles/abb_aynjalut_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Mighty Steeds","localizedDescription":"\"Our magnificent Arab horses are as formidable as the warriors who ride them into battle.\r\n\r\nForged in the heat of the desert sun, and hardened by the freezing nights, these beautiful beasts are the envy of all.\r\n\r\nHearty enough to ride long distances without food or drink, they possess both stamina and speed; they are the perfect mounts for our fearsome riders.\r\n\r\nWhen our stallions lift their heads, breath fills their lungs with such force that the Franks can hear their end descending upon them.\r\n\r\nFor many, the sound of hooves hard as steel hammering on the desert bedrock is the last they ever hear.\"\r\n\r\n~ The Chronicler"},{"id":455060,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M07_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_acre.png\",\"imagesmall\":\"images/text_collectibles/abb_acre_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"A Stone's Throw","localizedDescription":"\"Looking down on Acre as its walls crumbled to his overpowering siege, Sultan al-Ashraf Khalil heard the entreaty of King Henry's envoys, sent to sue for peace.\r\n\r\nThe Sultan goaded the Frankish messengers, asking if they had brought him the keys to the city.\r\n\r\nAt that moment, an immense boulder crashed to the earth beside him. \r\n\r\nThrown by a Frankish catapult from within Acre, this single stone had defiled the truce the Franks themselves had called.\r\n\r\nEnraged by this apparent betrayal, Sultan al-Ashraf Khalil renewed the attack that his father, Qalawun, had started.\r\n\r\nAll of Acre would burn for this offense, from the towers of the shining city to every last man within.\"\r\n\r\n~ The Chronicler"},{"id":455065,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M08_Txt","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/text_collectibles/abb_cyprus.png\",\"imagesmall\":\"images/text_collectibles/abb_cyprus_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Turning Tides","localizedDescription":"\"So quickly, before Barsbay, were our leaders replaced. So hopeless became our dream of an enduring Mamluk fleet.\r\n\r\nShipbuilding was costly and slow; thus, our sultans favored other methods of thwarting enemy landings: we burned our own ports to the ground.\r\n\r\nIn foolishly reducing our influence over the Middle Sea, we left our people of the coast defenseless. They, more than any, bore the hardships of Frankish villainy. \r\n\r\nBarsbay would not stand for this wickedness.\r\n\r\nHurriedly, he raised a fleet so great that no single harbor could moor it. \r\n\r\nUpon their return from victory at Cyprus, the ships, by necessity, dispersed and anchored their mighty number off many a coastal town.\r\n\r\nNever again shall we wither at the sight of foreign sails on the horizon.\"\r\n\r\n~ The Chronicler"},{"id":455191,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Volcanic_Island","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":455192,"name":"Army_Slot_Layout\\Default_Layout","imageData":"","metaData":"{\"eslots\":{\"0\":{\"cat\":1527879},\"1\":{\"cat\":1527879},\"2\":{\"cat\":1527879},\"3\":{\"cat\":1527879},\"4\":{\"cat\":1527880},\"5\":{\"cat\":1527880}},\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527881,1530919],"localizedName":"Co-op Mode Loadout"},{"id":455194,"name":"Army_Upgrade\\Test_Artifact_Item_01","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527880],"localizedName":"Test Artifact 01"},{"id":455196,"name":"Army_Upgrade\\Test_Artifact_Item_02","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527880],"localizedName":"Test Artifact 02"},{"id":455205,"name":"Player_Portrait\\Season_05\\Login_Rewards\\2023_Wgaw_Login_Lovinganimals","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_worldgaia_animallove.png\",\"ui_priority\":1090,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Animal Lover","localizedDescription":"A heart shaped locket with a cute animal inside"},{"id":455206,"name":"Player_Portrait\\Season_05\\Events\\2023_Wgaw_Babycattle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_worldgaia_babycow.png\",\"ui_priority\":1093,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Cute Calf","localizedDescription":"Domestic cows are one of the most common farm animals around the world. A baby cow is called a calf."},{"id":455207,"name":"Player_Portrait\\Season_05\\Events\\2023_Wgaw_Alligatorstare","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_worldgaia_marshalligator.png\",\"ui_priority\":1094,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Marsh Alligator","localizedDescription":"Swamp Alligators are known for their voracious appetites, and they spend much of their day swimming in search of Fish, or larger prey if they are lucky, visible only as a pair of eyes peeking out above the surface of the water."},{"id":455208,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Events\\2023_Wgaw_Animalkingdom","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_animalplanet.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_animalplanet.png\",\"ui_priority\":1076}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Animal Kingdom","localizedDescription":"Animals play an essential role in maintaining a healthy environment. Among other ways, they help with pollination, pest control, and climate control."},{"id":455209,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Events\\2023_Wgaw_Fishingtheunexpected","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_fishing.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_fishing.png\",\"ui_priority\":1077}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Not a Fish","localizedDescription":"What is hidden in the water underneath?"},{"id":455210,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_05\\Events\\2023_Wgaw_Sigil_Frame_Holdingearth","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_holdingearth.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Holding the Planet","localizedDescription":"A framing device for your sigil to rest upon."},{"id":455281,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Golden_Heights","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":455292,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Cliffside","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":455981,"name":"Generic_Inventory_Item\\Salisbury_Campaign\\Salisbury_M01_Txt_Guy_Of_Burgundy","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/illustrations/xbox/sal_guy.png\",\"imagesmall\":\"images/illustrations/xbox/sal_guy_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Gui de Bourgogne","localizedDescription":"As the cousin of Duke Guillaume, Gui de Bourgogne had a viable claim on the Dukedom of Normandy. After the murder of the Norman nobleman, Gilbert de Brionne, in 1040, Gui received the lordship of Brionne, as well as Vernon. Dissatisfied with the lands given to him, he led a rebellion in 1046 against his cousin, Duke Guillaume, in an attempt to overthrow him. After losing at the Battle of Val-es-Dunes, the royal army slaughtered Gui's forces by the thousands and drove the army into the Orne River. It was said that the bodies of the rebel knights who tried to cross the river were so numerous that bloated bodies blocked a nearby mill as they floated downstream. Gui retreated with his surviving forces to his lands in the east and holed up in the strategic castle of Brionne. Guillaume was not able to force the castle into surrender until 1050. After which, the Duke allowed Gui to remain at his court but took his castles as punishment."},{"id":455982,"name":"Generic_Inventory_Item\\Salisbury_Campaign\\Salisbury_M03_Txt_Matilda","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/illustrations/xbox/sal_matilda.png\",\"imagesmall\":\"images/illustrations/xbox/sal_matilda_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Mathilde de Flandre","localizedDescription":"Mathilde was the wife of Guillaume, Duke of Normandy and a direct descendant of the Frankish Emperor, Charlemagne, and the Anglo-Saxon King, Alfred the Great. It is likely that she would have initially looked down on Guillaume who was a lowly Duke, descended from Vikings. Nevertheless, it was this marriage that Mathilde's uncle, King Henri I of France, saw as a threat to his rule and thus attempted to suppress his vassal, Duke Guillaume. Guillaume often left the governing of Normandy in the capable hands of Mathilde during his absence, and she successfully governed the duchy with no major uprisings or unrest. When Guillaume embarked on his Norman conquest of England, he set sail on his flagship Mora, which Mathilde had gifted him. She governed the Duchy of Normandy in his absence, only joining him in England after more than a year. Mathilde was crowned Queen of England on 11 May 1068 in Westminster. She stood as godmother to Matilda of Scotland and during the christening, the baby pulled Queen Mathilde's headdress down on top of herself. This was seen as an omen that the infant Matilda would become queen some day. Indeed, the young Matilda would later become Queen of England after marrying Mathilde's son Henry I."},{"id":455983,"name":"Generic_Inventory_Item\\Salisbury_Campaign\\Salisbury_M02_Henry","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/illustrations/xbox/sal_henry.png\",\"imagesmall\":\"images/illustrations/xbox/sal_henry_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Henri I","localizedDescription":"King of France between 1031-1060, Henri is considered by many as one of the weaker early kings based on how little land the crown owned during his reign. During his father's reign, he joined with his younger brother in rebellion, supported by their mother. After the old king's death in 1031, Henri then had to deal with his rebellious younger brother. He granted him the duchy of Burgundy in 1032, subduing him for the time being. In 1054, Duke Guillaume de Normandie married Henri's niece Mathilde de Flandre. Henri saw this as a threat to his throne, and in 1054, and 1057, he invaded Normandy, but lost twice at the battles of Mortemer and Varaville. He would war with the Normans up until his death in 1060."},{"id":455985,"name":"Generic_Inventory_Item\\Salisbury_Campaign\\Salisbury_M05_Txt_Conan","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/illustrations/xbox/sal_conan.png\",\"imagesmall\":\"images/illustrations/xbox/sal_conan_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Conan II, Duke of Brittany","localizedDescription":"Conan II of Rennes was Duke of Brittany, from 1040 to his death. He accused Duke Guillaume de Normandie of poisoning his father in 1040, leaving Conan a minor as he inherited the Dutchy. His uncle, Odo, usurped the title and refused to relinquish it when Conan came of age. Conan managed to capture Odo and had him chained and imprisoned. After the Siege of Dinan in 1065, Duke Guillaume sent messages to all neighboring duchies to not attack him whilst he was in England as he was marching under the Papal banner. Conan responded by saying he would definitely attack whilst Guillaume was away. During Duke Conan's 1066 campaign against Anjou, he was found dead in Château-Gontier after donning poisoned riding gloves. Duke Guillaume was widely suspected."},{"id":455986,"name":"Generic_Inventory_Item\\Salisbury_Campaign\\Salisbury_M06_Txt_Pevensey_Castle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"image\":\"images/illustrations/xbox/sal_pevenseycastle.png\",\"imagesmall\":\"images/illustrations/xbox/sal_pevenseycastle_thumb.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1431935],"localizedName":"Pevensey Castle","localizedDescription":"Formally known as Anderitum, Pevensey Castle was a Roman coastal fortification, found on the Sussex coast and built around 290 A.D. It was the largest of the nine shore forts built by the Romans in defense against Saxon pirates and raiders. It has also been suggested that it was built by a usurper named Carausius in an unsuccessful attempt to prevent Rome from re-imposing its control over Britain. After the Romans left Britain, the fort was occupied by the local Britons who were all in turn slaughtered by raiding Saxons. It was resettled by about the mid-6th century by a Saxon community and by the late Anglo-Saxon period, Pevensey had become a well-established fishing port and producer of salt. Following Duke Guillaume's victory at the Battle of Hastings, the county of Sussex had great military value. It was an essential link between England and Normandy. Guillaume built a permanent Norman castle at Pevensey. The Roman walls were repaired and two baileys were created, divided by a ditch and a palisade constructed from wood."},{"id":456303,"name":"Generic_Inventory_Item\\Generic_Inventory_Item_Owned_By_Xp3","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1531277]},{"id":456421,"name":"Army_Slot_Layout\\Default_Layout_Eng","imageData":"","metaData":"{\"eslots\":{\"0\":{\"cat\":1527879},\"1\":{\"cat\":1527879},\"2\":{\"cat\":1527879},\"3\":{\"cat\":1527879},\"4\":{\"cat\":1527880},\"5\":{\"cat\":1527880}},\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527881,1530701]},{"id":456422,"name":"Army_Slot_Layout\\Default_Layout_Byz","imageData":"","metaData":"{\"eslots\":{\"0\":{\"cat\":1527879},\"1\":{\"cat\":1527879},\"2\":{\"cat\":1527879},\"3\":{\"cat\":1527879},\"4\":{\"cat\":1527880},\"5\":{\"cat\":1527880}},\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527881,1530698]},{"id":456423,"name":"Army_Slot_Layout\\Default_Layout_Jpn","imageData":"","metaData":"{\"eslots\":{\"0\":{\"cat\":1527879},\"1\":{\"cat\":1527879},\"2\":{\"cat\":1527879},\"3\":{\"cat\":1527879},\"4\":{\"cat\":1527880},\"5\":{\"cat\":1527880}},\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527881,1530700]},{"id":456424,"name":"Army_Slot_Layout\\Default_Layout_Chi","imageData":"","metaData":"{\"eslots\":{\"0\":{\"cat\":1527879},\"1\":{\"cat\":1527879},\"2\":{\"cat\":1527879},\"3\":{\"cat\":1527879},\"4\":{\"cat\":1527880},\"5\":{\"cat\":1527880}},\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1527881,1530702]},{"id":456462,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M01_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_1.png\",\"video\":\"abb_cp1111tyre\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Defense of Tyre"},{"id":456785,"name":"Taunt\\Taunt_115","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Whistle","localizedDescription":"Granted as a reward for the Summer Vacation event"},{"id":456786,"name":"Taunt\\Taunt_116","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Ah, the tides have turned!","localizedDescription":"Granted as a reward for the Map Monster event"},{"id":456787,"name":"Taunt\\Taunt_117","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"You're in wayyyyy over your head!","localizedDescription":"Granted as a reward for the Map Monster event"},{"id":457315,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Gorge","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":457316,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Canal","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":457336,"name":"Player_Portrait\\Season_05\\Events\\2023_Map_Monsters_Beachball","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_beachball.png\",\"ui_priority\":1082,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Beach Ball","localizedDescription":"Nothing says \"day at the beach\" like a classic beach ball."},{"id":457337,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Events\\2023_Sumvac_Sandpail","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sandpail.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sandpail.png\",\"ui_priority\":1075}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Sand Pail","localizedDescription":"Perfect for making sand castles!"},{"id":457338,"name":"Player_Portrait\\Season_05\\Events\\2023_Sumvac_Sunglasses","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_sunglasses.png\",\"ui_priority\":1095,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"SUNglasses","localizedDescription":"The perfect shades for a perfect day."},{"id":457339,"name":"Coat_Of_Arms_Part\\Pattern\\Season_05\\2023_Sumvac_Banner_Pattern_Currents","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_currents.png\",\"ui_priority\":1065}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Currents Banner Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":457340,"name":"Player_Portrait\\Season_05\\Login_Rewards\\2023_Sumvac_Login_Mapleflag","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_mapleflag.png\",\"ui_priority\":1091,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Maple Flag","localizedDescription":"The Beaver symbolizes industriousness."},{"id":457341,"name":"Player_Portrait\\Season_05\\Login_Rewards\\2023_Sumvac_Login_Fireworks","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_fireworks.png\",\"ui_priority\":1092,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Fireworks","localizedDescription":"Celebrations of independence are a backdrop to France's most recognized building."},{"id":457342,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Login_Rewards\\2023_Sumvac_Baldeagle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_baldeagle.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_baldeagle.png\",\"ui_priority\":1078}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Bald Eagle","localizedDescription":"The Bald Eagle symbolizes courage, resilience, and power."},{"id":457343,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Events\\2023_Map_Monsters_Feedforlifetime","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_afloat.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_afloat.png\",\"ui_priority\":1072}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Afloat","localizedDescription":"All you need is a lazy river."},{"id":457345,"name":"Monument\\Season_05\\Events\\Season_05_2023Sumvac_Inflateleph","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_inflatedelephant.png\",\"ui_priority\":8015}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Blow-Up Elephant","localizedDescription":"The most majestic of pool floaties!"},{"id":457346,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Events\\2023_Map_Monsters_Waterfight","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_supersoaker.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_supersoaker.png\",\"ui_priority\":1073}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Super Soaker","localizedDescription":"Adding a splash of fun to any summer day."},{"id":457347,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Events\\2023_Map_Monsters_Castleinsand","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_sandkeep.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_sandkeep.png\",\"ui_priority\":1074}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Castles in the Sand","localizedDescription":"Watch out for Bombards!"},{"id":457348,"name":"Player_Portrait\\Season_05\\Events\\2023_Map_Monsters_Sheep_Pop","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_sheeppopsicle.png\",\"ui_priority\":1082,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Sheep Popsicle","localizedDescription":"Baaaa! Or should we say brrrrr?"},{"id":457449,"name":"Monument\\Season_05\\Events\\Season_05_2023Mapmon_Dragonturtle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_watermonster.png\",\"ui_priority\":8010}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Beach Day","localizedDescription":"All we need is some sun."},{"id":457560,"name":"Player_Portrait\\Season_06\\Events\\2023_Risefall_Dragonlatte","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_riseoffall_dragonlatte.png\",\"ui_priority\":1090,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Dragon Latte","localizedDescription":"Made by a very talon-ted artist!"},{"id":457561,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Risefall_Mapleleaf","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_mapleleaf.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_mapleleaf.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Maple Leaf","localizedDescription":"A leaf from a maple tree - most well-known for their tasty sap."},{"id":457579,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Risefall_Chrysanthemum","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_chrysanthemum_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_chrysanthemum_outline.png\",\"ui_priority\":1081}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Chrysanthemum","localizedDescription":"Originally cultivated in China over 3,000 years ago, this flower blooms in early fall."},{"id":457580,"name":"Player_Portrait\\Season_06\\Events\\2023_Risefall_Appleinjury","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_riseoffall_appleinjury.png\",\"ui_priority\":1091,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bad Apple","localizedDescription":"Not all fruits are good for you!"},{"id":457581,"name":"Player_Portrait\\Season_06\\Events\\2023_Risefall_Falltowncenter","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_riseoffall_falltowncenter.png\",\"ui_priority\":1092,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Fall Town Center","localizedDescription":"A Town Center in the blissful orange glow of fall."},{"id":457582,"name":"Player_Portrait\\Season_06\\Login_Rewards\\2023_Halloween_Login_Hatonacat","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hallowshearth_catinhat.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Hat on a Cat","localizedDescription":"That is probably a cat you don't want to see in the street."},{"id":457583,"name":"Player_Portrait\\Season_06\\Login_Rewards\\2023_Halloween_Login_Roses","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hallowshearth_roses.png\",\"ui_priority\":1101,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Roses","localizedDescription":"Celebrating this day with roses."},{"id":457584,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Login_Rewards\\2023_Halloween_Login_Pumpkinhead","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_pumpkinhead.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_pumpkinhead.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Pumpkin Head","localizedDescription":"A Horseman in disguise... no one will know."},{"id":457585,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Glade","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":457586,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Atacama","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":457587,"name":"Generic_Inventory_Item\\Map_Gen_Layouts\\Haywire","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":457615,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Halloween_Madpumpkin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_madpumpkins.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_madpumpkins.png\",\"ui_priority\":1082}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Mad Pumpkin","localizedDescription":"Carving pumpkins is long-standing tradition that has its origin as an Irish myth."},{"id":457618,"name":"Player_Portrait\\Season_05\\Events\\2023_Map_Monsters_Wildman_Chill","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_viproom.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"The VIP Room","localizedDescription":"In with the beautiful people."},{"id":457619,"name":"Player_Portrait\\Season_05\\Events\\2023_Map_Monsters_Dragonturtle_Snorkel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_event_bubbles.png\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bubbles","localizedDescription":"What's that on the horizon?"},{"id":457620,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_06\\Events\\2023_Halloween_Sigil_Frame_Ghostsilh","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_likeghosts.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Ghost Silhouette","localizedDescription":"Haunt other players using this sigil frame."},{"id":457622,"name":"Player_Portrait\\Season_06\\Events\\2023_Halloween_Villagerhat","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hallowshearth_scaryvillager.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Villager with a Strange Hat.","localizedDescription":"Villager wearing a costume and ready to scare off a few enemies."},{"id":457655,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Halloween_Wolfmask","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_wolfmask.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_wolfmask.png\",\"ui_priority\":1083}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"A Wolf Mask","localizedDescription":"Who knows who is behind this mask?"},{"id":457656,"name":"Player_Portrait\\Season_06\\Events\\2023_Halloween_Defnotsusp","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hallowshearth_definitelynotsuspicious.png\",\"ui_priority\":1101,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Definitely Not Suspicious","localizedDescription":"A big bad wolf in a cute sheep costume, it can't be dangerous, right?"},{"id":457658,"name":"Coat_Of_Arms_Part\\Frame\\Season_06\\Events\\2023_Halloween_Banner_Shape_Webbed","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_hallows_hearth.png\",\"icon2\":\"images/coat_of_arms/banner/outline_hallows_hearth.png\",\"image\":\"images/coat_of_arms/banner/mask_hallows_hearth.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Webbed banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon."},{"id":457659,"name":"Player_Portrait\\Season_06\\Events\\2023_Halloween_Skeletonguitar","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/hallowshearth_spookysinger.png\",\"ui_priority\":1102,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Guitar Player","localizedDescription":"Music is a big part of Mexican festivities, and skeletons represent life through death."},{"id":457661,"name":"Taunt\\Taunt_119","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Wo Lo Lo","localizedDescription":"Granted for participating in the Tons o' Toys event."},{"id":457662,"name":"Taunt\\Taunt_120","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Awwww"},{"id":457663,"name":"Taunt\\Taunt_121","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Team?! Where is my team?!"},{"id":457664,"name":"Taunt\\Taunt_122","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"I see you!"},{"id":457691,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Halloween_Doepaperhantlers","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_ohdoeyoudidnt.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_ohdoeyoudidnt.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Hangin' Doe","localizedDescription":"This stag was at the wrong place at the wrong time."},{"id":457692,"name":"Monument\\Season_06\\Events\\Season_06_2023_Halloween_Gargoyle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_gargoyle.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Winged Gargoyle","localizedDescription":"These creatures are watching and might come to life at any moment."},{"id":457693,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Login_Rewards\\2023_Toys_Surpriseinside","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_surpriseinside.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_surpriseinside.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Surprise Inside","localizedDescription":"A nice little gift box."},{"id":457694,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Toys_Snowangel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_takeyourtimesnowangel.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_takeyourtimesnowangel.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Snow Angel","localizedDescription":"Get some exercise by making a beautiful snow angel this winter."},{"id":457695,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_06\\Events\\2023_Toys_Sigil_Frame_Giftwrap","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_wrapitupgiftribbon.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Gift Wrap","localizedDescription":"What are you going to wrap in this one?"},{"id":457696,"name":"Player_Portrait\\Season_06\\Events\\2023_Toys_Polarbearwelcome","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_tonsotoys_polarbear.png\",\"ui_priority\":1105,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Polar Bear Wave","localizedDescription":"This polar bear invites you to enjoy the snowfall!"},{"id":457697,"name":"Player_Portrait\\Season_06\\Events\\2023_Toys_Snowballfight","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_tonsotoys_snowballfight.png\",\"ui_priority\":1106,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Snowball Fight","localizedDescription":"Take cover!"},{"id":457698,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Events\\2023_Toys_Snowmanstorm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_03_friendlygamesnowman.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_03_friendlygamesnowman.png\",\"ui_priority\":1091}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Snowman","localizedDescription":"This snowman adorns the frosty landscape."},{"id":457699,"name":"Coat_Of_Arms_Part\\Pattern\\Season_06\\Events\\2023_Toys_Banner_Pattern_Snowflake","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s6_tile_alluniquesnowflake.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Snowflake Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":457700,"name":"Player_Portrait\\Season_06\\Events\\2023_Toys_Warmpenguin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_tonsotoys_longtrippenguin.png\",\"ui_priority\":1107,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Cozy Penguin","localizedDescription":"This penguin has found an ingenious way to warm up in the cold weather."},{"id":457701,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_06\\Events\\2023_Toys_Sigil_Frame_Toychest","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s6_sigil_background_sobright.png\",\"ui_priority\":1091}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Toy Chest","localizedDescription":"What will this treasure chest reveal?"},{"id":457702,"name":"Monument\\Season_06\\Events\\Season_06_2023_Toys_Polarbear","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/s06_monument_polar_bear.png\",\"ui_priority\":8021}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Attacking Polar Bear","localizedDescription":"Show the world you will not go out without a fight."},{"id":457703,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M08_Conclusion","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_9.png\",\"video\":\"abb_cpconclusion\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"The Winds of War"},{"id":457708,"name":"Coat_Of_Arms_Part\\Pattern\\Season_05\\Ranked_Season\\Season_05_Banner_Pattern_Shells","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_seashells.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Shell banner pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for participating in a ranked season."},{"id":457710,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_05\\Ranked_Season\\Season_05_Sigil_Frame_Woodboard","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_frame_woodboard.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Wooden board sigil frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for participating in a ranked season."},{"id":457711,"name":"Coat_Of_Arms_Part\\Frame\\Season_05\\Ranked_Season\\Season_05_Banner_Shape_Leafmonstera","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_monstera.png\",\"icon2\":\"images/coat_of_arms/banner/outline_monstera.png\",\"image\":\"images/coat_of_arms/banner/mask_monstera.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Monstera banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":457712,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Ranked_Season\\Season_05_Sigil_Marshmallow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_marshmallow.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_marshmallow.png\",\"ui_priority\":1062}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Toasted Marshmallow","localizedDescription":"The only thing better than a toasted marshmallow is sharing toasted marshmallows.\r\n\r\nGranted for participating in a ranked season."},{"id":457713,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Ranked_Season\\Season_05_Sigil_Hibiscus","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_hibiscus.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_hibiscus.png\",\"ui_priority\":1062}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Hibiscus","localizedDescription":"A beautiful flower native to tropical regions.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":457714,"name":"Coat_Of_Arms_Part\\Sigil\\Season_05\\Ranked_Season\\Season_05_Sigil_Surfboard","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_surfboard.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_surfboard.png\",\"ui_priority\":1062}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Surfboard","localizedDescription":"A surfboard with a Malian motif.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":457715,"name":"Monument\\Season_05\\Ranked_Season\\Season_05_Gold_Shore","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_chest_gold.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Shore","localizedDescription":"Treasures abound for those courageous enough to seek them out.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":457716,"name":"Monument\\Season_05\\Ranked_Season\\Season_05_Platinum_Shore","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_chest_platinum.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Shore","localizedDescription":"Treasures abound for those courageous enough to seek them out.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":457717,"name":"Monument\\Season_05\\Ranked_Season\\Season_05_Diamond_Shore","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_chest_diamond.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Shore","localizedDescription":"Treasures abound for those courageous enough to seek them out.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":457718,"name":"Monument\\Season_05\\Ranked_Season\\Season_05_Conqueror_Shore","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_conqueror.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Shore","localizedDescription":"Treasures abound for those courageous enough to seek them out.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":457719,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Bronze_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_solo_bronze.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Brazier","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":457720,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Silver_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_solo_silver.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Brazier","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":457721,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Gold_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_solo_gold.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Brazier","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":457722,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Platinum_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_solo_platinum.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Brazier","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":457723,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Diamond_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_solo_diamond.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Brazier","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":457724,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Conqueror_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_solo_conqueror.png\",\"ui_priority\":1060,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Brazier","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":457725,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Team_Bronze_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_teams_bronze.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Braziers","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":457726,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Team_Silver_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_teams_silver.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Braziers","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":457727,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Team_Gold_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_team_gold.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Braziers","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":457728,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Team_Platinum_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_teams_platinum.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Braziers","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":457729,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Team_Diamond_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_teams_diamond.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Braziers","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":457730,"name":"Player_Portrait\\Season_05\\Ranked_Season\\Season_05_Team_Conqueror_Brazier","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s5_ranked_teams_conqueror.png\",\"ui_priority\":1059,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Braziers","localizedDescription":"Braziers were used for heating, aromatics or, in some cases, rituals.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":457731,"name":"Monument\\Season_05\\Ranked_Season\\Season_05_Stone_Shore","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s05_chest_stone.png\",\"ui_priority\":1060}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Stone Shore","localizedDescription":"Treasures abound for those courageous enough to seek them out.\r\n\r\nGranted for participating in a Team Ranked season."},{"id":457737,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_06\\Ranked_Season\\Season_06_Sigil_Frame_Hotchocomarsh","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s6_sigil_background_hotchocolate.png\",\"ui_priority\":1100}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Mug Sigil Frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for participating in a ranked season."},{"id":457738,"name":"Coat_Of_Arms_Part\\Pattern\\Season_06\\Ranked_Season\\Season_06_Banner_Pattern_Starssky","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s6_tile_tinystars.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Starry Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape.\r\n\r\nGranted for participating in a ranked season."},{"id":457739,"name":"Coat_Of_Arms_Part\\Frame\\Season_06\\Ranked_Season\\Season_06_Banner_Shape_Wintermobile","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_winter_mobile.png\",\"icon2\":\"images/coat_of_arms/banner/outline_winter_mobile.png\",\"image\":\"images/coat_of_arms/banner/mask_winter_mobile.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Winter Mobile banner shape","localizedDescription":"The shape of banner that your Coat of Arms sits upon.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":457740,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Ranked_Season\\Season_06_Sigil_Winterlantern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_01_winterlantern.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_01_winterlantern.png\",\"ui_priority\":1100}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Winter Lantern","localizedDescription":"Light the way with this festive lantern!\r\n\r\nGranted for participating in a ranked season."},{"id":457741,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Ranked_Season\\Season_06_Sigil_Carrousel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_carousel.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_carousel.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Carousel","localizedDescription":"A carousel featuring a herd of gallant horses.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":457742,"name":"Coat_Of_Arms_Part\\Sigil\\Season_06\\Ranked_Season\\Season_06_Sigil_Wintervillage","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s6_sigil_shape_wintervillage.png\",\"icon2\":\"images/coat_of_arms/sigil/s6_sigil_outline_wintervillage.png\",\"ui_priority\":1102}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Winter Village","localizedDescription":"A beautiful village in the wintertime.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":457773,"name":"Monument\\Season_06\\Ranked_Season\\Season_06_Gold_Snowcannon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s6_snowmangonel_gold.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Snow Mangonel","localizedDescription":"Mangonels were usually a force to be reckoned with, but this ammunition will be a little less destructive!\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":457774,"name":"Monument\\Season_06\\Ranked_Season\\Season_06_Platinum_Snowcannon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s6_snowmangonel_platimum.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Snow Mangonel","localizedDescription":"Mangonels were usually a force to be reckoned with, but this ammunition will be a little less destructive!\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":457775,"name":"Monument\\Season_06\\Ranked_Season\\Season_06_Diamond_Snowcannon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s6_snowmangonel_diamond.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Snow Mangonel","localizedDescription":"Mangonels were usually a force to be reckoned with, but this ammunition will be a little less destructive!\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":457776,"name":"Monument\\Season_06\\Ranked_Season\\Season_06_Conqueror_Snowcannon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s6_snowmangonel_conqueror.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Snow Mangonel","localizedDescription":"Mangonels were usually a force to be reckoned with, but this ammunition will be a little less destructive!\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":457777,"name":"Monument\\Season_06\\Ranked_Season\\Season_06_Team_Snowcannon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s6_snowmangonel_stone.png\",\"ui_priority\":1081}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Stone Snow Mangonel","localizedDescription":"Mangonels were usually a force to be reckoned with, but this ammunition will be a little less destructive!\r\n\r\nGranted for participating in a Team Ranked season."},{"id":457782,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Bronze_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_ranked_solo_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Ice Sculpture","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":457783,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Silver_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_ranked_solo_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Ice Sculpture","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":457784,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Gold_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_ranked_solo_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Ice Sculpture","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":457785,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Platinum_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_ranked_solo_platinum.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Ice Sculpture","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":457786,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Diamond_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_ranked_solo_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Ice Sculpture","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":457787,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Conqueror_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_ranked_solo_conqueror.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Ice Sculpture","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":457789,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Team_Bronze_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_rankedteams_bronze.png\",\"ui_priority\":1081,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Ice Sculptures","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":457790,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Team_Silver_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_rankedteams_silver.png\",\"ui_priority\":1081,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Ice Sculptures","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":457791,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Team_Gold_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_rankedteams_gold.png\",\"ui_priority\":1081,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Ice Sculptures","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":457792,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Team_Platinum_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_rankedteams_platinum.png\",\"ui_priority\":1081,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Ice Sculptures","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":457793,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Team_Diamond_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_rankedteams_diamond.png\",\"ui_priority\":1081,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Ice Sculptures","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":457794,"name":"Player_Portrait\\Season_06\\Ranked_Season\\Season_06_Team_Conqueror_Icesculpture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_rankedteams_conqueror.png\",\"ui_priority\":1081,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Ice Sculptures","localizedDescription":"This sculpture might be made of fragile ice, but maybe it could fool some enemies!\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":457798,"name":"Player_Portrait\\Byzantine_01_Olivebranch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_1_olive.png\",\"ui_priority\":1050,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Olive Branch","localizedDescription":"Granted for completing Byzantine Mastery 1."},{"id":457799,"name":"Player_Portrait\\Byzantine_02_Byzantinecoin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_2_byzantinecoin_final.png\",\"ui_priority\":1049,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Byzantine Coin","localizedDescription":"Granted for completing Byzantine Mastery 3."},{"id":457800,"name":"Player_Portrait\\Byzantine_03_Basilicapillar","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_3_basilicacisternpillar.png\",\"ui_priority\":1048,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Basilica Cistern Pillar","localizedDescription":"Granted for completing Byzantine Mastery 4."},{"id":457801,"name":"Player_Portrait\\Byzantine_04_Justinian","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_4_justinian.png\",\"ui_priority\":1047,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Justinian the Great Mosaic","localizedDescription":"Granted for completing Byzantine Mastery 6."},{"id":457802,"name":"Player_Portrait\\Byzantine_05_Greekfire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_5_greekfire.png\",\"ui_priority\":1046,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Greek Fire","localizedDescription":"Granted for completing Byzantine Mastery 8."},{"id":457803,"name":"Player_Portrait\\Byzantine_06_Cataphract","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_06_cataphract.png\",\"ui_priority\":1045,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Cataphract","localizedDescription":"Granted for completing Byzantine Mastery 10."},{"id":457804,"name":"Player_Portrait\\Byzantine_08_Varangianguard","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_08_varangianguard.png\",\"ui_priority\":1043,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Varangian Guard","localizedDescription":"Granted for completing Byzantine Mastery 12."},{"id":457805,"name":"Player_Portrait\\Byzantine_09_Mosaicbird","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_9_mosaicbird.png\",\"ui_priority\":1042,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Mosaic Bird","localizedDescription":"Granted for completing Byzantine Mastery 13."},{"id":457806,"name":"Player_Portrait\\Byzantine_10_Constantine","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_10_constantinexi.png\",\"ui_priority\":1041,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Constantine XI Mosaic","localizedDescription":"Granted for completing Byzantine Mastery 14."},{"id":457807,"name":"Player_Portrait\\Byzantine_07_Theodora","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_byzantine_07_empresstheodora.png\",\"ui_priority\":1044,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548726],"localizedName":"Empress Theodora Mosaic","localizedDescription":"Granted for completing Byzantine Mastery 11."},{"id":457808,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_44","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_byzantineaqueduct.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_byzantineaqueducte.png\",\"ui_priority\":1020}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1531277],"localizedName":"Byzantine Aqueduct","localizedDescription":"Granted for completing Byzantine Mastery 2."},{"id":457809,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_45","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_empiresymbol.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_empiresymbol.png\",\"ui_priority\":1019}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1531277],"localizedName":"Byzantine Empire Sigil","localizedDescription":"Granted for completing Byzantine Mastery 9."},{"id":457810,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_12","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_byzantine_mosaic.png\",\"ui_priority\":1125}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1531277],"localizedName":"Mosaic Pattern","localizedDescription":"Granted for completing Byzantine Mastery 5."},{"id":457812,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_46","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_hagiasophiadome.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_hagiasophiadome.png\",\"ui_priority\":1018}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1531277],"localizedName":"Hagia Sophia Dome","localizedDescription":"Granted for completing Byzantine Mastery 15."},{"id":457813,"name":"Monument\\Byz_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_monument_byz_tier01_limitanei.png\",\"ui_priority\":1102}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"Limitanei","localizedDescription":"Granted for completing Mastery 7 as the Byzantines."},{"id":457814,"name":"Monument\\Byz_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_monument_byz_tier02_varangian.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"Varangian Guard","localizedDescription":"Granted for completing Mastery 11 as the Byzantines."},{"id":457815,"name":"Monument\\Byz_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_monument_byz_tier03_cataphract.png\",\"ui_priority\":1100}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"Cataphract","localizedDescription":"Granted for completing Mastery 15 as the Byzantines."},{"id":457844,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M02_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_2.png\",\"video\":\"abb_cp1163egypt\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Into Egypt"},{"id":457845,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M03_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_3.png\",\"video\":\"abb_cp1183redsea\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Raiders of the Red Sea"},{"id":457846,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M04_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_4.png\",\"video\":\"abb_cp1187hattin\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Horns of Hattin"},{"id":457847,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M05_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_5.png\",\"video\":\"abb_cp1250mansurah\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Battle of Mansurah"},{"id":457848,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M06_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_6.png\",\"video\":\"abb_cp1260aynjalut\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Battle of Ayn Jalut"},{"id":457849,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M07_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_7.png\",\"video\":\"abb_cp1291acre\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Siege of Acre"},{"id":457850,"name":"Generic_Inventory_Item\\Abbasid_Campaign\\Abb_M08_Cp","imageData":"","metaData":"{\"icon\":\"images/progression/reward_movie.png\",\"imagesmall\":\"images/campaign/campaign_thumbnails/sultans_ascend/campaign_mission_thumbnail_8.png\",\"video\":\"abb_cp1426cyprus\",\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[],"localizedName":"Invasion of Cyprus"},{"id":457924,"name":"Player_Portrait\\Japanese_01_Rice_Field","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_1_ricefields.png\",\"ui_priority\":975,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Rice Field","localizedDescription":"Granted for completing Japanese Mastery 1."},{"id":457925,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_47","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_handfan.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_handfan.png\",\"ui_priority\":1010}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1531277],"localizedName":"Hand-Fan","localizedDescription":"Granted for completing Japanese Mastery 2."},{"id":457926,"name":"Player_Portrait\\Japanese_02_Forged_Katana","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_2_forgedkatana.png\",\"ui_priority\":974,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Forged Katana","localizedDescription":"Granted for completing Japanese Mastery 3."},{"id":457927,"name":"Player_Portrait\\Japanese_03_Onna_Bugeisha","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_03_onnabugeisha.png\",\"ui_priority\":973,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Onna-Bugeisha","localizedDescription":"Granted for completing Japanese Mastery 4."},{"id":457929,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_13","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/tile_stylizedflowers.png\",\"ui_priority\":1120}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1531277],"localizedName":"Stylized Flowers Pattern","localizedDescription":"Granted for completing Japanese Mastery 5."},{"id":457930,"name":"Player_Portrait\\Japanese_04_Minamoto_Yoritomo","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_4_minamotoyoritomo.png\",\"ui_priority\":972,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Minamoto Yoritomo","localizedDescription":"Granted for completing Japanese Mastery 6."},{"id":457931,"name":"Monument\\Jpn_Tier_01","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_monument_jpn_tier01_samurai.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"Samurai","localizedDescription":"Granted for completing Mastery 7 as the Japanese."},{"id":457932,"name":"Player_Portrait\\Japanese_05_Junihitoe_Pattern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_5_junihitoepattern.png\",\"ui_priority\":971,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Jūnihitoe Pattern","localizedDescription":"Granted for completing Japanese Mastery 8."},{"id":457933,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_48","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_crossedkatanas.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_crossedkatanas.png\",\"ui_priority\":1009}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1531277],"localizedName":"Crossed Katanas","localizedDescription":"Granted for completing Japanese Mastery 9."},{"id":457934,"name":"Player_Portrait\\Japanese_06_Buddhist_Monk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_06_buddhistmonk.png\",\"ui_priority\":970,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Buddhist Monk","localizedDescription":"Granted for completing Japanese Mastery 10."},{"id":457935,"name":"Monument\\Jpn_Tier_02","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_monument_jpn_tier02_shinobi.png\",\"ui_priority\":1089}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"Shinobi","localizedDescription":"Granted for completing Mastery 11 as the Japanese."},{"id":457936,"name":"Player_Portrait\\Japanese_08_Whistling_Arrow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_08_whistlingarrow.png\",\"ui_priority\":968,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Whistling Arrow","localizedDescription":"Granted for completing Japanese Mastery 12."},{"id":457937,"name":"Player_Portrait\\Japanese_09_Heron","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_09_heron.png\",\"ui_priority\":967,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Heron","localizedDescription":"Granted for completing Japanese Mastery 13."},{"id":457938,"name":"Player_Portrait\\Japanese_10_Tokugawa_Ieysu","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_10_ieyasutokugawa.png\",\"ui_priority\":966,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Tokugawa Ieyasu","localizedDescription":"Granted for completing Japanese Mastery 14."},{"id":457939,"name":"Monument\\Jpn_Tier_03","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_monument_jpn_tier03_ozutsu.png\",\"ui_priority\":1088}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"Ozutsu","localizedDescription":"Granted for completing Mastery 15 as the Japanese."},{"id":457957,"name":"Racebps\\Campaign_Xp3\\Fatimid_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_fat.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_fat.png\",\"image\":\"images/backgrounds/loading/flags/abbasid_bg.png\",\"imagesmall\":\"images/civ_flags/flag_fat.png\",\"race_id\":2145547,\"ui_priority\":8,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1469049],"localizedName":"Abbasid Dynasty","localizedDescription":"The Abbasid Dynasty pursues a flourishing Golden Age by concentrating structures around their House of Wisdom, allowing them to unlock significant economic advantages. The House of Wisdom also drives progress through the Ages and grants access to advanced technology. Abbasid camel units are expert at countering enemy cavalry."},{"id":457959,"name":"Racebps\\Campaign_Xp3\\Antioch_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_ant.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_ant.png\",\"imagesmall\":\"images/civ_flags/flag_ant.png\",\"race_id\":2145550,\"ui_priority\":3,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023331]},{"id":457960,"name":"Racebps\\Campaign_Xp3\\Cyprus_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_secondary_cyp.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_cyp.png\",\"imagesmall\":\"images/civ_flags/flag_cyp.png\",\"race_id\":2145552,\"ui_priority\":3,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023331]},{"id":457961,"name":"Racebps\\Campaign_Xp3\\Seljuk_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_sel.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_sel.png\",\"image\":\"images/backgrounds/loading/flags/abbasid_bg.png\",\"imagesmall\":\"images/civ_flags/flag_sel.png\",\"race_id\":2145554,\"ui_priority\":8,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1469049],"localizedName":"Abbasid Dynasty","localizedDescription":"The Abbasid Dynasty pursues a flourishing Golden Age by concentrating structures around their House of Wisdom, allowing them to unlock significant economic advantages. The House of Wisdom also drives progress through the Ages and grants access to advanced technology. Abbasid camel units are expert at countering enemy cavalry."},{"id":457962,"name":"Racebps\\Campaign_Xp3\\Saladin_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_sal.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_sal.png\",\"image\":\"images/backgrounds/loading/flags/abbasid_bg.png\",\"imagesmall\":\"images/civ_flags/flag_sal.png\",\"race_id\":2145555,\"ui_priority\":8,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1469049],"localizedName":"Abbasid Dynasty","localizedDescription":"The Abbasid Dynasty pursues a flourishing Golden Age by concentrating structures around their House of Wisdom, allowing them to unlock significant economic advantages. The House of Wisdom also drives progress through the Ages and grants access to advanced technology. Abbasid camel units are expert at countering enemy cavalry."},{"id":457963,"name":"Racebps\\Campaign_Xp3\\Mamluk_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_mam.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_mam.png\",\"image\":\"images/backgrounds/loading/flags/abbasid_bg.png\",\"imagesmall\":\"images/civ_flags/flag_mam.png\",\"race_id\":2145556,\"ui_priority\":8,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1469049],"localizedName":"Abbasid Dynasty","localizedDescription":"The Abbasid Dynasty pursues a flourishing Golden Age by concentrating structures around their House of Wisdom, allowing them to unlock significant economic advantages. The House of Wisdom also drives progress through the Ages and grants access to advanced technology. Abbasid camel units are expert at countering enemy cavalry."},{"id":457996,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Sigil_Frame_05","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_byzantine.png\",\"ui_priority\":480}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1531277],"localizedName":"Eagle Wings Frame","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for completing Byzantine Mastery 12."},{"id":457997,"name":"Monument\\Campaign_Abb_Chronicler","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/xp3_chronicler_01.png\",\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1531277],"localizedName":"The Chronicler","localizedDescription":"Awarded for completing the Sultans Ascend campaign"},{"id":457998,"name":"Player_Portrait\\Japanese_07_Go_Daigo","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s6_japanese_07_emperorgodaigo.png\",\"ui_priority\":969,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1531277,1548727],"localizedName":"Emperor Go-Daigo","localizedDescription":"Granted for completing Japanese Mastery 11."},{"id":457999,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_49","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_shintotoriigate.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_shintotoriigate.png\",\"ui_priority\":1008}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1531277],"localizedName":"Shinto Gate","localizedDescription":"Granted for completing Japanese Mastery 15."},{"id":458020,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Sigil_Frame_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_background_invertedlotus.png\",\"ui_priority\":479}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1531277],"localizedName":"Lotus","localizedDescription":"A framing device for your sigil to rest upon.\r\n\r\nGranted for completing Japanese Mastery 12."},{"id":458021,"name":"Racebps\\Campaign_Xp3\\Il_Khanate_Cmp","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_ilk.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_ilk.png\",\"image\":\"images/backgrounds/loading/flags/mongol_bg.png\",\"imagesmall\":\"images/civ_flags/flag_ilk.png\",\"race_id\":2146153,\"ui_priority\":7,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1023331]},{"id":458023,"name":"Player_Portrait\\Abbasid_11_Chronicler","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/xp3_chronicler.png\",\"ui_priority\":440,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779,1531277],"localizedName":"The Chronicler","localizedDescription":"Granted for completing Chapter 1 of the Sultans Ascend Campaign"},{"id":458024,"name":"Player_Portrait\\Abbasid_12_Saladin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/xp3_saladin.png\",\"ui_priority\":439,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779,1531277],"localizedName":"Saladin","localizedDescription":"Granted for completing Chapter 2 of the Sultans Ascend Campaign"},{"id":458025,"name":"Player_Portrait\\Abbasid_13_Shajar_Al_Dur","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/xp3_shajaraldurr.png\",\"ui_priority\":438,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779,1531277],"localizedName":"Shajar al-Durr","localizedDescription":"Granted for completing Chapter 3 of the Sultans Ascend Campaign"},{"id":458026,"name":"Player_Portrait\\Abbasid_14_Barsbay","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/xp3_barsbay.png\",\"ui_priority\":437,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1470779,1531277],"localizedName":"Barsbay","localizedDescription":"Granted for completing Chapter 4 of the Sultans Ascend Campaign"},{"id":458034,"name":"Taunt\\Taunt_118","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1525066,1525068],"localizedName":"Trick or Treat","localizedDescription":"Granted for participating in the Hallow's Hearth event."},{"id":458298,"name":"Player_Portrait\\Season_07\\Lunarfaire_2024\\2024_Lunarfaire_Login_Lantern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_lantern.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Lunar Faire","localizedDescription":"Happy Lunar Faire!"},{"id":458299,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Bixi","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_bixi_dragon_turtle.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_bixi_dragon_turtle.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Bi Xi","localizedDescription":"One of the nine sons of the Dragon King, Bi Xi greatly enjoys carrying a mighty weight."},{"id":458300,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Yearofthedragon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_chinese_dragon.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_chinese_dragon.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Year of the Dragon","localizedDescription":"The Dragon symbolizes power, nobleness, honor, luck, and success."},{"id":458301,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Sigil_Frame_Raindrop","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s7_sigil_background_rain_drop.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Rain Drop","localizedDescription":"*Drip*"},{"id":458302,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Sigil_Frame_Lantern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s7_sigil_background_lantern.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Lantern","localizedDescription":"May the light you shine today light your way tomorrow."},{"id":458303,"name":"Player_Portrait\\Season_07\\Lunarfaire_2024\\2024_Lunarfaire_Portrait_Nian","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_nian_monster.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Nian","localizedDescription":"It is said that Nian comes once a year to sate its appetite for flesh. It can be warded off with loud noises, fire, and the color red."},{"id":458304,"name":"Player_Portrait\\Season_07\\Lunarfaire_2024\\2024_Lunarfaire_Portrait_Dragoneye","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_dragon_eye.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Dragon Eye","localizedDescription":"All seeing."},{"id":458305,"name":"Player_Portrait\\Season_07\\Lunarfaire_2024\\2024_Lunarfaire_Portrait_Dragonclouds","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_dragon_in_the_sky.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Dragon in the Clouds","localizedDescription":"Sometimes they look even nicer further away."},{"id":458306,"name":"Coat_Of_Arms_Part\\Pattern\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Banner_Pattern_Koi","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s7_tile_koi_border.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Koi Border","localizedDescription":"Among those who celebrate Lunar New Year; the koi represents fame, family harmony, and wealth."},{"id":458307,"name":"Coat_Of_Arms_Part\\Pattern\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Banner_Pattern_Scales","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s7_tile_dragon_scale.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Scale Pattern","localizedDescription":"Scales like a carp."},{"id":458308,"name":"Coat_Of_Arms_Part\\Frame\\Season_07\\2024_Lunarfaire\\2024_Lunarfaire_Banner_Shape_Scales","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s7_dragon_scale.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s7_dragon_scale.png\",\"image\":\"images/coat_of_arms/banner/mask_s7_dragon_scale.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Scale Shape","localizedDescription":"A banner to tip the scales in your favor."},{"id":458309,"name":"Monument\\Season_07\\2024_Lunarfaire_Dragon_Monument","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_chinese_dragon.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Dragon Monument","localizedDescription":"A roaring monument to your might."},{"id":458372,"name":"Monument\\Season_07\\2024_Womensweek_Onna-Bugeisha_Monument","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_onna_bugeisha.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Tomoe","localizedDescription":"A warrior worth a thousand, ready to confront a demon or a god, mounted or on foot."},{"id":458373,"name":"Player_Portrait\\Season_07\\Womensweek_2024\\2024_Womensweek_Login1_Jeanne_Maid","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_jeanne_the_maid.png\",\"ui_priority\":1200,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Jeanne the Maid","localizedDescription":"Born to a propertied peasant family, Jeanne would soon seek out Charles, claiming to be guided by visions."},{"id":458374,"name":"Player_Portrait\\Season_07\\Womensweek_2024\\2024_Womensweek_Female_Khan_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_female_khan.png\",\"ui_priority\":1200,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Warrior Khutulun","localizedDescription":"Live a life that blurs the lines between fact and fiction."},{"id":458375,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Womensweek\\2024_Womensweek_Login2_D'arc_Coat_Of_Arms","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_jeannes_coat_of_arms.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_jeannes_coat_of_arms.png\",\"ui_priority\":1095}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"D'arc Coat of Arms","localizedDescription":"Jeanne was granted a Coat of arms by Charles VII in 1429."},{"id":458376,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Womensweek\\2024_Womensweek_Chinese_Straight_Sword_Sigil","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_chinese_straight_sword.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_chinese_straight_sword.png\",\"ui_priority\":1095}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Yuenü","localizedDescription":"The way of fighting, in general, is to strengthen one's inner spirit while remaining outwardly calm and well mannered. She may look like an elegant lady, but she fights like a fierce tiger."},{"id":458440,"name":"Player_Portrait\\Season_07\\New_Year_New_Age_2024\\2024_New_Year_New_Age","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ageiv_coin.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"New Year, New Age","localizedDescription":"Join the celebration for Age of Empires."},{"id":458441,"name":"Coat_Of_Arms_Part\\Frame\\Season_07\\2024_Springtournie\\2024_Springtournie_Banner_Shape_Tourniebanner","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s7_tournie_banner.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s7_tournie_banner.png\",\"image\":\"images/coat_of_arms/banner/mask_s7_tournie_banner.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Tournament Banner","localizedDescription":"Let fly your colors high!"},{"id":458442,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Springtournie\\2024_Springtournie_Laurel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_laurel.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_laurel.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Laurel","localizedDescription":"Winners all."},{"id":458443,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_07\\2024_Springtournie\\2024_Springtournie_Sigil_Frame_Cuirass","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s7_sigil_background_cuirass.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Cuirass","localizedDescription":"A cuirass curio."},{"id":458444,"name":"Coat_Of_Arms_Part\\Pattern\\Season_07\\2024_Springtournie\\2024_Springtournie_Banner_Pattern_Diamonds","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s7_pattern_diamonds.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Diamonds","localizedDescription":"Some say they are forever."},{"id":458445,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Springtournie\\2024_Springtournie_Rose","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_rose.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_rose.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Rose","localizedDescription":"For professing one's admiration or adoration. "},{"id":458446,"name":"Player_Portrait\\Season_07\\2024_Springtournie\\2024_Springtournie_Melee","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_portrait_melee.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Melee","localizedDescription":"For the love of battle, now with half the bloodshed."},{"id":458447,"name":"Player_Portrait\\Season_07\\2024_Springtournie\\2024_Springtournie_Login_Joust","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_portrait_joust.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"The Joust","localizedDescription":"A 1v1 duel with lances from horseback. A game of steel metaphorical and physical. "},{"id":458448,"name":"Player_Portrait\\Season_07\\2024_Springtournie\\2024_Springtournie_Login_Maypole","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_portrait_maypole.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Maypole","localizedDescription":"Perhaps a sign that the happy season of warmth is returning."},{"id":458449,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\2024_Springtournie\\2024_Springtournie_Login_Lance","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_lance.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_lance.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Lance","localizedDescription":"Sally Forth."},{"id":458451,"name":"Monument\\Season_07\\2024_Springtournie_Knight_Monument","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_knight_bust.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Chivalry","localizedDescription":"By Sword and Lance, Hoof and Heel; I pledge to honor mine privileges many, and bestow my grace upon those without any."},{"id":458490,"name":"Coat_Of_Arms_Part\\Pattern\\Season_07\\Ranked_Season\\Season_07_Banner_Pattern_Ranked_Celtic","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s7_pattern_ranked_celtic.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Celtic","localizedDescription":"One of many varieties of Celtic expression.\r\n\r\nGranted for participating in a ranked season."},{"id":458491,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Solo_Bronze_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_solo_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Solo Crown","localizedDescription":"Your crowning achievement of Season 7.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":458492,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Solo_Silver_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_solo_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Solo Crown","localizedDescription":"Your crowning achievement of Season 7.\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":458493,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Solo_Gold_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_solo_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Solo Crown","localizedDescription":"Your crowning achievement of Season 7.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":458494,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Solo_Plat_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_solo_plat.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Solo Crown","localizedDescription":"Your crowning achievement of Season 7.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":458495,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Solo_Diamond_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_solo_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Solo Crown","localizedDescription":"Your crowning achievement of Season 7.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":458496,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Solo_Conq_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_solo_conq.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Solo Crown","localizedDescription":"Your crowning achievement of Season 7.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":458497,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Team_Bronze_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_team_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Team Crown","localizedDescription":"Crowns usually aren't a team sport but you made it work.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":458498,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Team_Silver_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_team_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Team Crown","localizedDescription":"Crowns usually aren't a team sport but you made it work.\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":458499,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Team_Gold_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_team_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Team Crown","localizedDescription":"Crowns usually aren't a team sport but you made it work.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":458500,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Team_Plat_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_team_plat.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Team Crown","localizedDescription":"Crowns usually aren't a team sport but you made it work.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":458501,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Team_Diamond_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_team_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Team Crown","localizedDescription":"Crowns usually aren't a team sport but you made it work.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":458502,"name":"Player_Portrait\\Season_07\\Ranked_Season\\Season_07_Ranked_Team_Conq_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s7_ranked_team_conq.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Team Crown","localizedDescription":"Crowns usually aren't a team sport but you made it work.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":458503,"name":"Monument\\Season_07\\Ranked_Season\\Season_07_Conq_Coronation","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_ranked_solo_conq.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Coronation","localizedDescription":"Long Live You.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":458504,"name":"Monument\\Season_07\\Ranked_Season\\Season_07_Diamond_Coronation","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_ranked_solo_diamond.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Coronation","localizedDescription":"Long Live You.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":458505,"name":"Monument\\Season_07\\Ranked_Season\\Season_07_Gold_Coronation","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_ranked_solo_gold.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Coronation","localizedDescription":"Long Live You.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":458506,"name":"Monument\\Season_07\\Ranked_Season\\Season_07_Plat_Coronation","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_ranked_solo_plat.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Coronation","localizedDescription":"Long Live You.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":458507,"name":"Monument\\Season_07\\Ranked_Season\\Season_07_Team_Coronation","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_ranked_team_stone.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Stone Coronation","localizedDescription":"Long Live You All.\r\n\r\nGranted for participating in a Team Ranked season."},{"id":458508,"name":"Coat_Of_Arms_Part\\Frame\\Season_07\\Ranked_Season\\Season_07_Banner_Shape_Ranked_Tattered","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s7_ranked_tattered.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s7_ranked_tattered.png\",\"image\":\"images/coat_of_arms/banner/mask_s7_ranked_tattered.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Tattered Banner","localizedDescription":"Weathered, worn, but still flying high.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":458509,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_07\\Ranked_Season\\Season_07_Sigil_Frame_Ranked_Shield","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s7_sigil_background_ranked_shield.png\",\"ui_priority\":1100}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Bordered Shield","localizedDescription":"Now with trim.\r\n\r\nGranted for participating in a ranked season."},{"id":458510,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\Ranked_Season\\Season_07_Sigil_Ranked_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_ranked_crown.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_ranked_crown.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Crown II","localizedDescription":"No rest for this crown.\r\n\r\nGranted for participating in a ranked season."},{"id":458511,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\Ranked_Season\\Season_07_Sigil_Ranked_Scepter","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_ranked_scepter.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_ranked_scepter.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Scepter","localizedDescription":"Hand held sovereign authority.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":458512,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\Ranked_Season\\Season_07_Sigil_Ranked_Throne","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s7_sigil_shape_ranked_throne.png\",\"icon2\":\"images/coat_of_arms/sigil/s7_sigil_outline_ranked_throne.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Throne","localizedDescription":"Putting it on the banner makes it easier to take with you.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":5005018,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\Ranked_Season\\2024_Single_Wildman_Print","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_bronze_bigfoot.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_bronze_bigfoot.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Wild Man Footprint","localizedDescription":"These tracks belong to something...peculiar\r\n\r\nGranted for participating in a ranked season."},{"id":5005019,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\Ranked_Season\\2024_Silver_Dragon_Turtle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_silver_dragonturtle.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_silver_dragonturtle.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Dragon Turtle Engraving","localizedDescription":"A mythical beast of old or so the stories say.\r\n\r\nGranted for participating in a ranked season."},{"id":5005020,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\Ranked_Season\\2024_Gold_Dragon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_gold_dragon.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_gold_dragon.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Ye Olde Dragon Art","localizedDescription":"From as far back as 2700 B.C. these legendary creatures still inspire us today!\r\n\r\nGranted for participating in a ranked season."},{"id":5005021,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_08\\Ranked_Season\\2024_Sigil_Frame_Fire","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s8_sigilbkd_fire.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Igniting Flame","localizedDescription":"Warmth or destruction. Which will you be?\r\n\r\nGranted for participating in a ranked season."},{"id":5005022,"name":"Coat_Of_Arms_Part\\Pattern\\Season_08\\Ranked_Season\\2024_Banner_Pattern_Turtle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s8_turtle.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Turtle Shell Pattern","localizedDescription":"The turtle often seen as symbol of wisdom and peace.\r\n\r\nGranted for finishing Silver or above in a ranked season."},{"id":5005023,"name":"Coat_Of_Arms_Part\\Frame\\Season_08\\Ranked_Season\\2024_Banner_Shape_Claw","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s8_claw.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s8_claw.png\",\"image\":\"images/coat_of_arms/banner/mask_s8_claw.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Monster Claw Pattern","localizedDescription":"Claw marks are the symbol of ferocity or strength with a fear of what caused them.\r\n\r\nGranted for finishing Gold or above in a ranked season."},{"id":5005024,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Solo_Bronze_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_solo_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Solo Chalice","localizedDescription":"Raise your chalice high! Your victories are well earned!\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":5005025,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Solo_Conq_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_solo_conqueror.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Solo Chalice","localizedDescription":"Raise your chalice high! Your victories are well earned!\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":5005026,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Solo_Diamond_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_solo_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Solo Chalice","localizedDescription":"Raise your chalice high! Your victories are well earned!\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":5005027,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Solo_Gold_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_solo_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Solo Chalice","localizedDescription":"Raise your chalice high! Your victories are well earned!\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":5005028,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Solo_Plat_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_solo_platinum.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Solo Chalice","localizedDescription":"Raise your chalice high! Your victories are well earned!\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":5005029,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Solo_Silver_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_solo_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Solo Chalice","localizedDescription":"Raise your chalice high! Your victories are well earned!\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":5005030,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Team_Bronze_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_team_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Team Chalice","localizedDescription":"Easier to lift when in greater numbers!\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":5005031,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Team_Conq_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_team_conqueror.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Team Chalice","localizedDescription":"Easier to lift when in greater numbers!\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":5005032,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Team_Diamond_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_team_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Team Chalice","localizedDescription":"Easier to lift when in greater numbers!\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":5005033,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Team_Gold_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_team_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Team Chalice","localizedDescription":"Easier to lift when in greater numbers!\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":5005034,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Team_Plat_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_team_platinum.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Team Chalice","localizedDescription":"Easier to lift when in greater numbers!\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":5005035,"name":"Player_Portrait\\Season_08\\Ranked_Season\\Season_08_Ranked_Team_Silver_Cup","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_ranked_team_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Team Chalice","localizedDescription":"Easier to lift when in greater numbers!\r\n\r\nGranted for finishing Sliver in a Team Ranked season."},{"id":5005052,"name":"Coat_Of_Arms_Part\\Pattern\\Season_08\\2024_Summer_Sights\\2024_Ss_Banner_Beast_Footprints","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s8_monster_feet.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Many Footprints","localizedDescription":"These tracks lead to a greater hunt tonight you will feast!"},{"id":5005054,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_08\\2024_Summer_Sights\\2024_Ss_Sunflower","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s8_fields_a_plenty.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Sunflower","localizedDescription":"Sunflowers are a symbol of happiness and loyalty bringing the dawn of summer with them."},{"id":5005056,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\2024_Summer_Sights\\2024_Ss_Sunglasses","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_sunglasses.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_sunglasses.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Summer Sights","localizedDescription":"The Squad is all here! Now let's get to work; this empire won't build itself."},{"id":5005058,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\2024_Summer_Sights\\2024_Ss_Tentacle_Treasure_Chest","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_tentacle_chest.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_tentacle_chest.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"I\u2019ve Earned This","localizedDescription":"Hoard your well-earned spoils for a rainy day!"},{"id":5005061,"name":"Player_Portrait\\Season_08\\Summer_Sights_2024\\2024_Ss_Login_Self_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_kraken_sunset.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Summer Sights","localizedDescription":"Release the Summer Festivities!"},{"id":5005088,"name":"Coat_Of_Arms_Part\\Frame\\Season_08\\2024_Map_Monsters\\2024_Mm_Banner_Shape_Street_Party","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s8_street_party.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s8_street_party.png\",\"image\":\"images/coat_of_arms/banner/mask_s8_street_party.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Bunting","localizedDescription":"Time to celebrate!"},{"id":6005067,"name":"Racebps\\Templar","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_knights_templar.png\",\"icon2\":\"images/civ_flags/flag_knights_templar_440x248.png\",\"image\":\"images/backgrounds/loading/flags/flags_bg_2_templar.png\",\"imagesmall\":\"images/civ_flags/flag_knights_templar_hd_1080p.png\",\"race_id\":5000002,\"ui_priority\":7,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,5000004,6000001],"localizedName":"Knights Templar","localizedDescription":"Founded to protect the meek and weary, the Knights Templar establish Commanderies throughout Europe to call on their allies. Fielding a spectacular array of heavy troops, the Templars lead the charge into battle with discipline and heart. Fortresses dot the carefully cultivated landscape, providing key defensive positions and safe haven to the pilgrims they protect."},{"id":6005068,"name":"Racebps\\Lancaster","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_house_of_lancaster.png\",\"icon2\":\"images/civ_flags/flag_house_of_lancaster_440x248.png\",\"image\":\"images/backgrounds/loading/flags/flags_bg_2_lancaster.png\",\"imagesmall\":\"images/civ_flags/flag_house_of_lancaster_hd_1080p.png\",\"race_id\":5000003,\"ui_priority\":11,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,5000005,6000001],"localizedName":"House of Lancaster","localizedDescription":"The House of Lancaster emerges as a powerful branch of English royalty. Manors are the backbone of the economy by providing sustainable economic practices. Lancaster military might is of technological advantage and superior tactics on the battlefield. Dismantle enemy formations with potent shock troops then pick them apart with superior ranged infantry."},{"id":6005069,"name":"Generic_Inventory_Item\\Generic_Inventory_Item_Owned_By_Cyprus","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[6000001]},{"id":6005070,"name":"Coat_Of_Arms_Part\\Pattern\\Season_08\\2024_Map_Monsters\\2024_Mm_Banner_Ship_Shape","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s8_shiver_me_timbers.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Shiver Me Timbers","localizedDescription":"You are the new apex predator of the deep!"},{"id":6005071,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\2024_Map_Monsters\\2024_Mm_Fishing_For_Compliments","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_fishing_compliments.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_fishing_compliments.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Fishing Gnome","localizedDescription":"Gnomes are often a symbol of good luck and honest work!"},{"id":6005072,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_08\\2024_Map_Monsters\\2024_Mm_Sigil_Frame_Wildman_Sighting","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s8_sigil_background_monster_hand.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Beast Hand","localizedDescription":"Follow the tracks and maybe you will be rewarded."},{"id":6005073,"name":"Player_Portrait\\Season_08\\Map_Monsters_2024\\2024_Mm_Login_Monster_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_wildman.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Map Monsters 3.0","localizedDescription":"Even cryptids can enjoy time in the sun!"},{"id":6005074,"name":"Player_Portrait\\Season_08\\Map_Monsters_2024\\2024_Mm_Villager_Group_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_better_together.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gather Round","localizedDescription":"Stronger together, a united front is an unbeatable front!"},{"id":6005075,"name":"Player_Portrait\\Season_08\\Something_In_The_Water_2024\\2024_Sitw_Login_Megalodon_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_megalodon.png\",\"ui_priority\":1102,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Something in the Water","localizedDescription":"The largest and most fearsome creature of the depths said to be extinct."},{"id":6005076,"name":"Player_Portrait\\Season_08\\Something_In_The_Water_2024\\2024_Sitw_Sea_Conquest_Portarit","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s8_sea_conquest.png\",\"ui_priority\":1101,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Sunk","localizedDescription":"Leave nothing afloat and scuttle the rest, these waters belong to you!"},{"id":6005077,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\2024_Something_In_The_Water\\2024_Soitw_Dockyard_Demolition","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s8_sigil_shape_dockyard_demolition.png\",\"icon2\":\"images/coat_of_arms/sigil/s8_sigil_outline_dockyard_demolition.png\",\"ui_priority\":1100}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Fire the cannons","localizedDescription":"Target them at the source!"},{"id":6005078,"name":"Coat_Of_Arms_Part\\Sigil\\Season_08\\2024_Something_In_The_Water\\2024_Soitw_Mythic_Haul","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_waterhorse.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_waterhorse.png\",\"ui_priority\":1101}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Water Horse","localizedDescription":"Kelpie are spirits of water, don't mistake their appearance they are said to lure people to their death!"},{"id":6005079,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_08\\2024_Something_In_The_Water\\2024_Soitw_Sigil_Frame_Shark_Fin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s8_sigil_background_shark_fin.png\",\"ui_priority\":1102}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Fin","localizedDescription":"Be aware on the water there is something lurking nearby!"},{"id":6005080,"name":"Coat_Of_Arms_Part\\Pattern\\Season_08\\2024_Something_In_The_Water\\2024_Soitw_Banner_Shark_Teeth","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s8_shark_tooth.png\",\"ui_priority\":1103}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"The Thousand Teeth","localizedDescription":"Sharks have an endless supply of teeth set in multiple rows, while they fall out regularly they always re-grow a new set."},{"id":6005081,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\Ranked_Season\\2024_Knights_Helm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_knightshelm.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_knightshelm.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Royal Knight Helm","localizedDescription":"Sworn protector of those that follow the call to battle."},{"id":6005082,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\Ranked_Season\\2024_Medieval_Torch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_torch.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_torch.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Medieval Torch","localizedDescription":"Lighting up the dark age."},{"id":6005083,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_09\\Ranked_Season\\2024_Stretched_Diamond","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s9_sigil_background_stretch_diamond.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Stretched Diamond","localizedDescription":"Power and wealth wielded by the holder."},{"id":6005084,"name":"Coat_Of_Arms_Part\\Frame\\Season_09\\Ranked_Season\\2024_Banner_Shape_Wave","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/banner_s9_wave.png\",\"icon2\":\"images/coat_of_arms/banner/outline_s9_wave.png\",\"image\":\"images/coat_of_arms/banner/mask_s9_wave.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Simple Wave","localizedDescription":"A simple and elegant finish for a clear display of allegiance."},{"id":6005085,"name":"Coat_Of_Arms_Part\\Pattern\\Season_09\\Ranked_Season\\2024_Banner_Pattern_Single_Sided_Cover","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s9_single_side.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Single Side Cover","localizedDescription":"Two halves making a whole banner."},{"id":6005096,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Solo_Bronze_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_solo_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Meteor","localizedDescription":"Burning bright and sure to leave an impact on the field of battle.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":6005097,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Solo_Conq_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_solo_conqueror.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Meteor","localizedDescription":"Burning bright and sure to leave an impact on the field of battle.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":6005098,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Solo_Diamond_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_solo_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Meteor","localizedDescription":"Burning bright and sure to leave an impact on the field of battle.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":6005099,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Solo_Gold_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_solo_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Meteor","localizedDescription":"Burning bright and sure to leave an impact on the field of battle.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":6005100,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Solo_Plat_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_solo_platinum.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Meteor","localizedDescription":"Burning bright and sure to leave an impact on the field of battle.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":6005101,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Solo_Silver_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_solo_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Meteor","localizedDescription":"Burning bright and sure to leave an impact on the field of battle.\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":6005102,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Team_Bronze_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_team_bronze.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Meteor Shower","localizedDescription":"Your team has showered the lands with victory.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":6005103,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Team_Conq_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_team_conqueror.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Meteor Shower","localizedDescription":"Your team has showered the lands with victory.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":6005104,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Team_Diamond_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_team_diamond.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Meteor Shower","localizedDescription":"Your team has showered the lands with victory.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":6005105,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Team_Gold_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_team_gold.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Meteor Shower","localizedDescription":"Your team has showered the lands with victory.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":6005106,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Team_Plat_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_team_platinum.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Meteor Shower","localizedDescription":"Your team has showered the lands with victory.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":6005107,"name":"Player_Portrait\\Season_09\\Ranked_Season\\Season_09_Ranked_Team_Silver_Meteor","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ranked_team_silver.png\",\"ui_priority\":1080,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Meteor Shower","localizedDescription":"Your team has showered the lands with victory.\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":6005108,"name":"Player_Portrait\\Season_09\\2024_Halllows_Hearth\\2024_Hh_Bubbling_Cauldron","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_cauldron.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bubbling Cauldron","localizedDescription":"Something eerie is brewing in Hallow's Hearth."},{"id":6005109,"name":"Player_Portrait\\Season_09\\2024_Halllows_Hearth\\2024_Hh_Albino_Rattus","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_scaryrat.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Albino Rattus","localizedDescription":"The King of the corpse pile is always up to mischief."},{"id":6005110,"name":"Player_Portrait\\Season_09\\2024_Halllows_Hearth\\2024_Hh_Jack_O_Lantern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_pumpkin.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Friendly Jack-O-Lantern","localizedDescription":"A warm face welcoming the season."},{"id":6005111,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Scarecrow","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_scarecrow.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_scarecrow.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Scarecrow","localizedDescription":"Keeping a watchful eye to scare the crows."},{"id":6005112,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Witch_Hat","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_witchhat.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_witchhat.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Witch Hat","localizedDescription":"A pointed hat with magical potential."},{"id":6005113,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Wolf_Head","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_werewolf.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_werewolf.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Werewolf Head","localizedDescription":"Ferocious Beast of the Full Moon."},{"id":6005114,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Pumpkin_Patch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_pumpkinpatch.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_pumpkinpatch.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Pumpkin Patch","localizedDescription":"The welcomed symbol of Autumn and Halloween."},{"id":6005115,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Tombstone","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s9_sigil_background_tombstone.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Tombstone","localizedDescription":"Leave the dead to rest."},{"id":6005116,"name":"Coat_Of_Arms_Part\\Pattern\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Made_Of_Eyes","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s9_eyes.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Made of Eyes","localizedDescription":"All eyes on you."},{"id":6005117,"name":"Coat_Of_Arms_Part\\Pattern\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Bats_Blocking_Sun","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s9_bats.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Bats Blocking out the Sun","localizedDescription":"The Colony of Darkness approaches."},{"id":6005118,"name":"Coat_Of_Arms_Part\\Frame\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Hungering_Hands","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s9_banner_zombiehands.png\",\"icon2\":\"images/coat_of_arms/banner/s9_outline_zombiehands.png\",\"image\":\"images/coat_of_arms/banner/s9_mask_zombiehands.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"The Hungering Hands","localizedDescription":"Their rest has been disturbed. They hunger."},{"id":6005119,"name":"Monument\\Season_09\\2024_Hallows_Hearth\\2024_Hh_Carved_Pumpkin_Monument","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s07_chinese_dragon.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Dragon Monument","localizedDescription":"A roaring monument to your might."},{"id":6005120,"name":"Player_Portrait\\Season_09\\2024_Seasons_Feast\\2024_Sf_Returning_Robin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_robin.png\",\"ui_priority\":1101,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Welcome to Season's Feast","localizedDescription":"Login during Season's Feast"},{"id":6005121,"name":"Player_Portrait\\Season_09\\2024_Seasons_Feast\\2024_Sf_Festive_Wreath","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_festivewreath.png\",\"ui_priority\":1101,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Festive Wreath","localizedDescription":"Gifted to celebrate the circle of life"},{"id":6005122,"name":"Player_Portrait\\Season_09\\2024_Seasons_Feast\\2024_Sf_Igloo","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_igloo.png\",\"ui_priority\":1101,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Igloo","localizedDescription":"Keeping you warm in these cold times"},{"id":6005123,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_09\\2024_Seasons_Feast\\2024_Sf_Candlelight","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s9_sigil_background_candles.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Candlelight","localizedDescription":"Calm lights for shorter days"},{"id":6005124,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Seasons_Feast\\2024_Sf_Gingerbread","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_gingerbread.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_gingerbread.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Gingerbread","localizedDescription":"Friendly and tasty snack"},{"id":6005125,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Seasons_Feast\\2024_Sf_Holly_Berries","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_holly.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_holly.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Holly Berries","localizedDescription":"Bountiful harvest means a strong icy winter is on the way"},{"id":6005126,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Seasons_Feast\\2024_Sf_Winter_Mittens","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_wintermittens.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_wintermittens.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Winter Mittens","localizedDescription":"Keeping our hands warm and our handshakes warmer"},{"id":6005127,"name":"Coat_Of_Arms_Part\\Pattern\\Season_09\\2024_Seasons_Feast\\2024_Sf_Winter_Knitted","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/pattern_winter_sweater.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Winter Knitted","localizedDescription":"Comfortable and homely pattern for those shielding from the cold"},{"id":6005128,"name":"Coat_Of_Arms_Part\\Frame\\Season_09\\2024_Seasons_Feast\\2024_Sf_All_Wrapped_Up","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s9_banner_bow.png\",\"icon2\":\"images/coat_of_arms/banner/s9_outline_bow2.png\",\"image\":\"images/coat_of_arms/banner/s9_mask_bow.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"All wrapped up","localizedDescription":"A gift wrapped up in a bow"},{"id":6005129,"name":"Monument\\Season_09\\2024_Seasons_Feast\\2024_Sf_Snowball_Fight","imageData":"","metaData":"{\"ui_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[]},{"id":6005130,"name":"Player_Portrait\\Season_09\\2024_Chart_A_Course\\2024_Cac_Ox","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_ox.png\",\"ui_priority\":1103,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Welcome to Chart a Course","localizedDescription":"Login during Chart a Course"},{"id":6005131,"name":"Player_Portrait\\Season_09\\2024_Chart_A_Course\\2024_Cac_Caravan","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_caravan_holiday.png\",\"ui_priority\":1103,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Caravan Holiday","localizedDescription":"The best for carrying goods long distance, old sayings advise to not let them carry straw."},{"id":6005132,"name":"Player_Portrait\\Season_09\\2024_Chart_A_Course\\2024_Cac_Orion","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_orion.png\",\"ui_priority\":1103,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Orion","localizedDescription":"A guide of the stars in his legend he was a formidable hunter"},{"id":6005133,"name":"Player_Portrait\\Season_09\\2024_Chart_A_Course\\2024_Cac_Draco","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s9_draco.png\",\"ui_priority\":1103,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Draco","localizedDescription":"A Dragon made from constellation can be seen with a breath of meteors every 6 years"},{"id":6005134,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Chart_A_Course\\2024_Cac_Sun_And_Moon","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_sun_and_moon.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_sun_and_moon.png\",\"ui_priority\":1115}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"The Sun and Moon","localizedDescription":"The great power of the day and night bringing wake and rest to all the lands"},{"id":6005135,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Chart_A_Course\\2024_Cac_Pyramid","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_pyramid.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_pyramid.png\",\"ui_priority\":1115}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Pyramid","localizedDescription":"The great and wonderous structure built over an age ago standing strong"},{"id":6005136,"name":"Coat_Of_Arms_Part\\Sigil\\Season_09\\2024_Chart_A_Course\\2024_Cac_Astronomy_Of_Planets","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s9_sigil_shape_the_planets.png\",\"icon2\":\"images/coat_of_arms/sigil/s9_sigil_outline_the_planets.png\",\"ui_priority\":1115}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Astronomy of the Planets","localizedDescription":"All the planets in alignment before it was discovered that we orbit the Sun"},{"id":6005137,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_09\\2024_Chart_A_Course\\2024_Cac_Saturn","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s9_sigil_background_planet.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Saturn","localizedDescription":"Big enough to be visible to the naked eye"},{"id":6005138,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_09\\2024_Chart_A_Course\\2024_Cac_North_Star","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s9_sigil_background_four_point_star.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"The North Star","localizedDescription":"Stars have been used for navigation across history to travel vast distances"},{"id":6005139,"name":"Coat_Of_Arms_Part\\Pattern\\Season_09\\2024_Chart_A_Course\\2024_Cac_Sun_Rays","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s9_sun_ray.png\",\"ui_priority\":1116}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Sun Rays","localizedDescription":"The sun is a beacon of hope and a brighter future"},{"id":6005140,"name":"Coat_Of_Arms_Part\\Frame\\Season_09\\2024_Chart_A_Course\\2024_Cac_Steps_Of_Progression","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s9_banner_steps.png\",\"icon2\":\"images/coat_of_arms/banner/s9_outline_steps.png\",\"image\":\"images/coat_of_arms/banner/s9_mask_steps.png\",\"ui_priority\":1117}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Steps of Progression","localizedDescription":"Time to celebrate!"},{"id":6005142,"name":"Monument\\Season_09\\2024_Chart_A_Course\\2024_Sg_Leo","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s09_lion.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Lion above the rest","localizedDescription":"Standing Proud at the top of the food chain"},{"id":6005144,"name":"Generic_Inventory_Item\\Generic_Inventory_Item_Owned_By_Xp5","imageData":"","metaData":"{\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[6000002]},{"id":6005145,"name":"Racebps\\Japanese_Ha_Sen","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_sen.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_sen.png\",\"image\":\"images/backgrounds/loading/flags/sen_bg.png\",\"imagesmall\":\"images/civ_flags/flag_sen.png\",\"race_id\":9000850,\"ui_priority\":1,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,6000002,6000003]},{"id":6005146,"name":"Racebps\\Sultanate_Ha_Tug","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_tug.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_tug.png\",\"image\":\"images/backgrounds/loading/flags/tug_bg.png\",\"imagesmall\":\"images/civ_flags/flag_tug.png\",\"race_id\":9000860,\"ui_priority\":10,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,6000002,6000004]},{"id":6005148,"name":"Racebps\\Mongol_Ha_Gol","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_goh.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_goh.png\",\"image\":\"images/backgrounds/loading/flags/goh_bg.png\",\"imagesmall\":\"images/civ_flags/flag_goh.png\",\"race_id\":9000878,\"ui_priority\":13,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,6000002,6000005]},{"id":6005150,"name":"Racebps\\Byzantine_Ha_Mac","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_medium_mac.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_mac.png\",\"image\":\"images/backgrounds/loading/flags/mac_bg.png\",\"imagesmall\":\"images/civ_flags/flag_mac.png\",\"race_id\":9001050,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,6000002,6000006]},{"id":6005156,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Bronze_King_And_Hawk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s08_ranked_team_stone.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"The King and The Hawk","localizedDescription":"Even a King can learn patience.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":6005157,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Gold_King_And_Hawk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s08_ranked_solo_gold.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold The King and The Hawk","localizedDescription":"Even a King can learn patience.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":6005158,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Plat_King_And_Hawk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s08_ranked_solo_plat.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum The King and The Hawk","localizedDescription":"Even a King can learn patience.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":6005159,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Diamond_King_And_Hawk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s08_ranked_solo_diamond.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond The King and The Hawk","localizedDescription":"Even a King can learn patience.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":6005160,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Conq_King_And_Hawk","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s08_ranked_solo_conq.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror The King and The Hawk","localizedDescription":"Even a King can learn patience.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":6005161,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Bronze_Team_Battle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s09_ranked_team_stone.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Locked In Battle","localizedDescription":"To the victor goes the monument.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":6005162,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Conq_Team_Battle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s09_ranked_solo_conq.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Locked In Battle","localizedDescription":"To the victor goes the monument.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":6005163,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Diamond_Team_Battle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s09_ranked_solo_diamond.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Locked In Battle","localizedDescription":"To the victor goes the monument.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":6005164,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Gold_Team_Battle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s09_ranked_solo_gold.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Locked In Battle","localizedDescription":"To the victor goes the monument.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":6005165,"name":"Monument\\Season_09\\Ranked_Season\\Season_09_Plat_Team_Battle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s09_ranked_solo_plat.png\",\"ui_priority\":1080}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Locked In Battle","localizedDescription":"To the victor goes the monument.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":6005166,"name":"Player_Portrait\\Season_10\\2025_Clash_Of_Champions\\2025_Coc_Right_On_Target","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_clash_of_champions.png\",\"ui_priority\":1300,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Right On Target","localizedDescription":"The target is much easier to hit when it isn\u2019t moving."},{"id":6005167,"name":"Coat_Of_Arms_Part\\Pattern\\Season_10\\2025_Clash_Of_Champions\\2025_Coc_Banner_Cog_And_Wheels","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s10_pattern_cogsandwheels.png\",\"ui_priority\":1300}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Turning Cogs","localizedDescription":"Wisdom begins with Wonders."},{"id":6005168,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_10\\2025_Clash_Of_Champions\\2025_Coc_Gauntlet","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s10_sigil_background_gauntlet.png\",\"ui_priority\":1300}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Gauntlet","localizedDescription":"With a strong hand you can raise a strong army."},{"id":6005170,"name":"Coat_Of_Arms_Part\\Sigil\\Season_10\\2025_Clash_Of_Champions\\2025_Coc_Bird_Eye","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s10_sigil_shape_eye.png\",\"icon2\":\"images/coat_of_arms/sigil/s10_sigil_outline_eye.png\",\"ui_priority\":1300}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"View from above","localizedDescription":"When in its sight you are the prey."},{"id":6005171,"name":"Coat_Of_Arms_Part\\Sigil\\Season_10\\2025_Clash_Of_Champions\\2025_Coc_Jousting_Shield","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s10_sigil_shape_jousting_shield.png\",\"icon2\":\"images/coat_of_arms/sigil/s10_sigil_outline_jousting_shield.png\",\"ui_priority\":1300}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Jousting Shield","localizedDescription":"A competitive clash for the strong and wilful."},{"id":6005172,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_10\\2025_Clash_Of_Champions\\2025_Coc_Flower_Garland","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s10_sigil_background_rose_garland.png\",\"ui_priority\":1300}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Flower Garland","localizedDescription":"Used in the name of celebration and honour."},{"id":6005173,"name":"Player_Portrait\\Season_10\\2025_Conquest\\2025_C_March_To_Victory","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_kingofhill.png\",\"ui_priority\":1310,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"March to Victory","localizedDescription":"A long road with a worthwhile destination"},{"id":6005174,"name":"Player_Portrait\\Season_10\\2025_Conquest\\2025_C_Raised_Flag","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_flag.png\",\"ui_priority\":1310,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Raised Flag","localizedDescription":"Display your flag high to show your reign"},{"id":6005175,"name":"Coat_Of_Arms_Part\\Sigil\\Season_10\\2025_Conquest\\2025_C_Castle_Tower","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s10_sigil_shape_tower.png\",\"icon2\":\"images/coat_of_arms/sigil/s10_sigil_outline_tower.png\",\"ui_priority\":1310}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Castle Tower","localizedDescription":"A symbol of safety and fear depending on which side you\u2019re standing"},{"id":6005176,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_10\\2025_Conquest\\2025_C_Kings_Crown","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s10_sigil_background_crown.png\",\"ui_priority\":1310}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Crown of a leader","localizedDescription":"Heavy is the Crown that you\u2019ve earned"},{"id":6005177,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_10\\2025_Conquest\\2025_C_Mountain","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s10_sigil_background_mountain.png\",\"ui_priority\":1310}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Peak view","localizedDescription":"A hard climb is a testament to your willpower as you stand above the rest"},{"id":6005178,"name":"Coat_Of_Arms_Part\\Pattern\\Season_10\\2025_Conquest\\2025_C_Triangle_Pennant_Row","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s10_pattern_triangle.png\",\"ui_priority\":1310}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Triangle Pennant Row","localizedDescription":"Raised high to signal competition and support"},{"id":6005181,"name":"Player_Portrait\\Season_10\\2025_Rise_To_Ruin\\2025_Rtr_Login_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_risetoruin.png\",\"ui_priority\":1320,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Flames of Conflict","localizedDescription":"Once they\u2019re burning its hard to put them out"},{"id":6005182,"name":"Player_Portrait\\Season_10\\2025_Rise_To_Ruin\\2025_Rtr_Age_Of_Architecture","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_throne.png\",\"ui_priority\":1320,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Age of Architecture","localizedDescription":"A monument to your progress and Age"},{"id":6005183,"name":"Coat_Of_Arms_Part\\Frame\\Season_10\\2025_Rise_To_Ruin\\2024_Rtr_Battle_Scarred","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s10_banner_battle_scarred.png\",\"icon2\":\"images/coat_of_arms/banner/s10_outline_battle_scarred.png\",\"image\":\"images/coat_of_arms/banner/s10_mask_battle_scarred.png\",\"ui_priority\":1320}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Battle Scarred","localizedDescription":"This banner has seen better days yet it still stands proud"},{"id":6005184,"name":"Coat_Of_Arms_Part\\Sigil\\Season_10\\2025_Rise_To_Ruin\\2025_Rtr_Strong_Flame","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s10_sigil_shape_flame.png\",\"icon2\":\"images/coat_of_arms/sigil/s10_sigil_outline_flame.png\",\"ui_priority\":1320}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Strong Flame","localizedDescription":"Fire can bring passion, destruction and rebirth."},{"id":6005185,"name":"Coat_Of_Arms_Part\\Pattern\\Season_10\\2025_Rise_To_Ruin\\2025_Rtr_Banner_For_The_People","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s10_pattern_houses.png\",\"ui_priority\":1320}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"For The People","localizedDescription":"An empire is nothing without the people that built and maintain it"},{"id":6005186,"name":"Coat_Of_Arms_Part\\Pattern\\Season_10\\2025_Rise_To_Ruin\\2025_Rtr_Banner_Weathered_Walls","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s10_pattern_brickwall.png\",\"ui_priority\":1320}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Weathered Walls","localizedDescription":"Even the strongest falls victim to time"},{"id":6005187,"name":"Coat_Of_Arms_Part\\Sigil\\Season_10\\Ranked_Season\\2025_Shepherd_Crook","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s10_sigil_shape_crook.png\",\"icon2\":\"images/coat_of_arms/sigil/s10_sigil_outline_crook.png\",\"ui_priority\":1301}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Crossed Crooks","localizedDescription":"The battle of a hard days work."},{"id":6005188,"name":"Coat_Of_Arms_Part\\Sigil\\Season_10\\Ranked_Season\\2025_Key","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s10_sigil_shape_key.png\",\"icon2\":\"images/coat_of_arms/sigil/s10_sigil_outline_key.png\",\"ui_priority\":1301}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"The Key to the city","localizedDescription":"A high achievement of an esteemed resident"},{"id":6005189,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_10\\Ranked_Season\\2025_Templar_Helmet","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s10_sigil_background_templar_helmet.png\",\"ui_priority\":1302}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Templar Helm","localizedDescription":"Courage and nobility with a hint of protection."},{"id":6005190,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_10\\Ranked_Season\\2025_Cartwheel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s10_sigil_background_cartwheel.png\",\"ui_priority\":1302}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Cart wheel","localizedDescription":"No use reinventing it."},{"id":6005191,"name":"Coat_Of_Arms_Part\\Frame\\Season_10\\Ranked_Season\\2025_Banner_Shape_Rose_Petals","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s10_banner_rose_petal.png\",\"icon2\":\"images/coat_of_arms/banner/s10_outline_rose_petal.png\",\"image\":\"images/coat_of_arms/banner/s10_mask_rose_petal.png\",\"ui_priority\":1303}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Flowing Rose Petals","localizedDescription":"Celebration of victory and virtue."},{"id":6005192,"name":"Coat_Of_Arms_Part\\Pattern\\Season_10\\Ranked_Season\\2025_Banner_Pattern_Coin","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s10_pattern_coin.png\",\"ui_priority\":1304}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Raining Riches","localizedDescription":"Enough for you to swim in as Lord of the Lands."},{"id":6005193,"name":"Monument\\Season_10\\Ranked_Season\\Season_10_Bronze_Shepherd","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s10_ranked_team_stone.png\",\"ui_priority\":1305}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Herd Master","localizedDescription":"A herd above the rest.\r\n\r\nGranted for finishing Bronze or above in a Solo Ranked season."},{"id":6005194,"name":"Monument\\Season_10\\Ranked_Season\\Season_10_Gold_Shepherd","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s10_ranked_solo_gold.png\",\"ui_priority\":1305}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Gold Herd Master","localizedDescription":"A herd above the rest.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":6005195,"name":"Monument\\Season_10\\Ranked_Season\\Season_10_Platinum_Shepherd","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s10_ranked_solo_plat.png\",\"ui_priority\":1305}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Platinum Herd Master","localizedDescription":"A herd above the rest.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":6005196,"name":"Monument\\Season_10\\Ranked_Season\\Season_10_Conq_Shepherd","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s10_ranked_solo_conq.png\",\"ui_priority\":1305}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Conqueror Herd Master","localizedDescription":"A herd above the rest.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":6005197,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Solo_Bronze_Pouch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_solo_bronze.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Bag of Riches","localizedDescription":"Your victories are worth their weight in Gold! Spend it wisely!\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":6005198,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Solo_Conq_Pouch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_solo_conqueror.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Bag of Riches","localizedDescription":"Your victories are worth their weight in Gold! More than you can count!\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":6005199,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Solo_Diamond_Pouch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_solo_diamond.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Bag of Riches","localizedDescription":"Your victories are worth their weight in Gold! Spend it wisely!\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":6005200,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Solo_Gold_Pouch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_solo_gold.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Bag of Riches","localizedDescription":"Your victories are worth their weight in Gold! Spend it wisely!\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":6005201,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Solo_Plat_Pouch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_solo_platinum.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Bag of Riches","localizedDescription":"Your victories are worth their weight in Gold! Spend it wisely!\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":6005202,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Solo_Silver_Pouch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_solo_silver.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Bag of Riches","localizedDescription":"Your victories are worth their weight in Gold! Spend it wisely!\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":6005203,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Team_Bronze_Treasure","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_team_bronze.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Hoard of Riches","localizedDescription":"Many hands earned this hoard! They will spend it faster too!\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":6005204,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Team_Conq_Treasure","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_team_conqueror.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Hoard of Riches","localizedDescription":"Many hands earned this hoard! They will spend it faster too!\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":6005205,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Team_Diamond_Treasure","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_team_diamond.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Hoard of Riches","localizedDescription":"Many hands earned this hoard! They will spend it faster too!\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":6005206,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Team_Gold_Treasure","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_team_gold.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Hoard of Riches","localizedDescription":"Many hands earned this hoard! They will spend it faster too!\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":6005207,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Team_Plat_Treasure","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_team_platinum.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Hoard of Riches","localizedDescription":"Many hands earned this hoard! They will spend it faster too!\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":6005208,"name":"Player_Portrait\\Season_10\\Ranked_Season\\Season_10_Ranked_Team_Silver_Treasure","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s10_ranked_team_silver.png\",\"ui_priority\":1307,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Hoard of Riches","localizedDescription":"Many hands earned this hoard! They will spend it faster too!\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":6005209,"name":"Monument\\Season_10\\Ranked_Season\\Season_10_Diamond_Shepherd","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_s10_ranked_solo_diamond.png\",\"ui_priority\":1305}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Diamond Herd Master","localizedDescription":"A herd above the rest.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":6005212,"name":"Monument\\Season_10\\2025_Conquest\\2025_C_Mangonel","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_sup_mangonel.png\",\"ui_priority\":1325}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Mangonel","localizedDescription":"With a light weight and fast rate of fire, this siege engine is perfect for a leader on a schedule."},{"id":6005213,"name":"Monument\\Season_10\\2025_Conquest\\2025_C_Trebuchet","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_sup_trebuchet.png\",\"ui_priority\":1325}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Counterweight Trebuchet","localizedDescription":"Helping siege warfare move 90kg over 300 meters to your enemy\u2019s front door."},{"id":6005214,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Solo_Bronze_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_solo_bronze.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze on the Vine","localizedDescription":"Those that haven't tasted victory stay sour.\r\n\r\nGranted for finishing Bronze in a Solo Ranked season."},{"id":6005215,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Solo_Conq_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_solo_conqueror.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror on the Vine","localizedDescription":"Those that haven't tasted victory stay sour.\r\n\r\nGranted for finishing Conqueror in a Solo Ranked season."},{"id":6005216,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Solo_Diamond_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_solo_diamond.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond on the Vine","localizedDescription":"Those that haven't tasted victory stay sour.\r\n\r\nGranted for finishing Diamond in a Solo Ranked season."},{"id":6005217,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Solo_Gold_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_solo_gold.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold on the Vine","localizedDescription":"Those that haven't tasted victory stay sour.\r\n\r\nGranted for finishing Gold in a Solo Ranked season."},{"id":6005218,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Solo_Plat_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_solo_platinum.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum on the Vine","localizedDescription":"Those that haven't tasted victory stay sour.\r\n\r\nGranted for finishing Platinum in a Solo Ranked season."},{"id":6005219,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Solo_Silver_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_solo_silver.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver on the Vine","localizedDescription":"Those that haven't tasted victory stay sour.\r\n\r\nGranted for finishing Silver in a Solo Ranked season."},{"id":6005220,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Team_Bronze_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_team_bronze.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Bronze Summer Bunch","localizedDescription":"The grapes of wrath were shown to your enemies.\r\n\r\nGranted for finishing Bronze in a Team Ranked season."},{"id":6005221,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Team_Conq_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_team_conqueror.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Conqueror Summer Bunch","localizedDescription":"The grapes of wrath were shown to your enemies.\r\n\r\nGranted for finishing Conqueror in a Team Ranked season."},{"id":6005222,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Team_Diamond_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_team_diamond.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Diamond Summer Bunch","localizedDescription":"The grapes of wrath were shown to your enemies.\r\n\r\nGranted for finishing Diamond in a Team Ranked season."},{"id":6005223,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Team_Gold_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_team_gold.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Gold Summer Bunch","localizedDescription":"The grapes of wrath were shown to your enemies.\r\n\r\nGranted for finishing Gold in a Team Ranked season."},{"id":6005224,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Team_Plat_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_team_platinum.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Platinum Summer Bunch","localizedDescription":"The grapes of wrath were shown to your enemies.\r\n\r\nGranted for finishing Platinum in a Team Ranked season."},{"id":6005225,"name":"Player_Portrait\\Season_11\\Ranked_Season\\Season_11_Ranked_Team_Silver_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_ranked_team_silver.png\",\"ui_priority\":1400,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Silver Summer Bunch","localizedDescription":"The grapes of wrath were shown to your enemies.\r\n\r\nGranted for finishing Silver in a Team Ranked season."},{"id":6005226,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\Ranked_Season\\2025_S11_Bronze_Sigil","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_fruit_basket_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_fruit_basket_outline.png\",\"ui_priority\":1401}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Bundle of Fruit","localizedDescription":"Fresh and full of color"},{"id":6005227,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\Ranked_Season\\2025_S11_Bronze_Sigil_2","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_windmill_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_windmill_outline.png\",\"ui_priority\":1401}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Windmill","localizedDescription":"From wind and grain into flour and bread"},{"id":6005228,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_11\\Ranked_Season\\2025_S11_Silver_Sigil_Frame","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s11_sigil_frame_sun_rise.png\",\"ui_priority\":1402}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Sun Rise","localizedDescription":"A calming sight watching over us"},{"id":6005229,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_11\\Ranked_Season\\2025_S11_Silver_Sigil_Frame_2","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s11_sigil_frame_wave.png\",\"ui_priority\":1402}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Ebb and Flow","localizedDescription":"The endless cycle of coming and going"},{"id":6005230,"name":"Coat_Of_Arms_Part\\Pattern\\Season_11\\Ranked_Season\\2025_Banner_Pattern_S11_Gold","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s11_ivy_pattern.png\",\"ui_priority\":1404}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Overgrowth","localizedDescription":"Nature is taking its rightful place"},{"id":6005231,"name":"Coat_Of_Arms_Part\\Frame\\Season_11\\Ranked_Season\\2025_Banner_Shape_S11_Gold","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s11_sun_rise_banner.png\",\"icon2\":\"images/coat_of_arms/banner/s11_sun_rise_outline.png\",\"image\":\"images/coat_of_arms/banner/s11_sun_rise_mask.png\",\"ui_priority\":1403}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Summer Solstice","localizedDescription":"The longest amount of day light in the year"},{"id":6005237,"name":"Player_Portrait\\Season_11\\2025_Trade_Secrets\\2025_Tr_Login_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_e1_tradesecrets.png\",\"ui_priority\":1410,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Hungry Competition","localizedDescription":"A trade you can really get your teeth into"},{"id":6005239,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_Trade_Secrets\\2025_Tr_Balance_Sigil","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_scales_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_scales_outline.png\",\"ui_priority\":1411}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedDescription":"A symbol of fairness and good value"},{"id":6005240,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_11\\2025_Trade_Secrets\\2025_Tr_Sigil_Frame","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_frame_horse_shoe.png\",\"ui_priority\":1412}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Horse Shoe","localizedDescription":"For good luck and hard work"},{"id":6005241,"name":"Coat_Of_Arms_Part\\Pattern\\Season_11\\2025_Trade_Secrets\\2025_Tr_Supply_Banner_Pattern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s11_barrel_pattern.png\",\"ui_priority\":1414}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Great Supply","localizedDescription":"Well stocked up for any occasion"},{"id":6005242,"name":"Coat_Of_Arms_Part\\Frame\\Season_11\\2025_Trade_Secrets\\2025_Tr_Banner_Shape","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s11_market_banner.png\",\"icon2\":\"images/coat_of_arms/banner/s11_market_outline.png\",\"image\":\"images/coat_of_arms/banner/s11_market_mask.png\",\"ui_priority\":1413}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Market Stall","localizedDescription":"All are welcome to browse and buy"},{"id":6005243,"name":"Player_Portrait\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Login_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_e2_beneaththewings.png\",\"ui_priority\":1420,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Beneath the wings","localizedDescription":"Different feathers flock together"},{"id":6005244,"name":"Player_Portrait\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Changing_Seasons","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_e2_changingseasons.png\",\"ui_priority\":1420,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Changing Seasons","localizedDescription":"The cycle always continues"},{"id":6005245,"name":"Coat_Of_Arms_Part\\Frame\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Tide_Banner_Shape","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s11_wave_banner.png\",\"icon2\":\"images/coat_of_arms/banner/s11_wave_outline.png\",\"image\":\"images/coat_of_arms/banner/s11_wave_mask.png\",\"ui_priority\":1423}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Endless Tide","localizedDescription":"Each wave stronger than the last"},{"id":6005246,"name":"Coat_Of_Arms_Part\\Pattern\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Seasons_Pattern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s11_weather_pattern.png\",\"ui_priority\":1424}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"The weather of the seasons","localizedDescription":"From the shining sun to the dark stormy sky"},{"id":6005247,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Lightning_Strike","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_lightning_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_lightning_outline.png\",\"ui_priority\":1421}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Lightning strike","localizedDescription":"A second strike is not needed"},{"id":6005248,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Cloud","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_frame_clouds.png\",\"ui_priority\":1422}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Cloud","localizedDescription":"Every cloud has a silver lining, but its best to keep your head out of them"},{"id":6005279,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_Trade_Secrets\\2025_Tr_Horse_Sigil","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_horse_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_horse_outline.png\",\"ui_priority\":1411}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Trade Horse","localizedDescription":"Make sure not to put the cart first"},{"id":6005280,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_Trade_Secrets\\2025_Tr_Ship_Sigil","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_ship_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_ship_outline.png\",\"ui_priority\":1411}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Trade Ship","localizedDescription":"Keep the wind in your sails and prepare to voyage"},{"id":6005281,"name":"Coat_Of_Arms_Part\\Pattern\\Season_11\\2025_Trade_Secrets\\2025_Tr_Daggers_Banner_Pattern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s11_dagger_pattern.png\",\"ui_priority\":1414}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Rain of Daggers","localizedDescription":"A small blade can cause a large amount of problems"},{"id":6005282,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Blowing_Cloud","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_wind_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_wind_outline.png\",\"ui_priority\":1421}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Strong Winds","localizedDescription":"Secure everything to the ground that you don\u2019t want to donate to a neighbour"},{"id":6005283,"name":"Coat_Of_Arms_Part\\Pattern\\Season_11\\2025_Winds_Of_Change\\2025_Woc_Rolling_Pattern","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s11_blowing_leaves_pattern.png\",\"ui_priority\":1424}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Rolling On","localizedDescription":"Following the wind to where ever it takes you"},{"id":6005284,"name":"Player_Portrait\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Login_Portrait","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_e3_spoilsofvictory.png\",\"ui_priority\":1430,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"The Spoils of Victory","localizedDescription":"Login during The Spoils of Victory"},{"id":6005285,"name":"Player_Portrait\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Chickens","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s11_e3_greatandsmall.png\",\"ui_priority\":1430,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Roaming Chickens","localizedDescription":"Will they cross the road?"},{"id":6005286,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Gold_Bars","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_gold_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_gold_outline.png\",\"ui_priority\":1431}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Gold Bars","localizedDescription":"400 troy ounces of pure wealth per bar"},{"id":6005287,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Impenetrable_Castle","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_castle_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_castle_outline.png\",\"ui_priority\":1431}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Impenetrable Castle","localizedDescription":"A strong fortification can repeal the strongest forces"},{"id":6005288,"name":"Coat_Of_Arms_Part\\Sigil\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Drums","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s11_sigil_drum_shape.png\",\"icon2\":\"images/coat_of_arms/sigil/s11_sigil_drum_outline.png\",\"ui_priority\":1431}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Drums","localizedDescription":"The symbol of music or the beat of war"},{"id":6005289,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Open_Scroll","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/sigil_frame_scroll.png\",\"ui_priority\":1432}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Open Scroll","localizedDescription":"Show your message strong and proud"},{"id":6005290,"name":"Coat_Of_Arms_Part\\Pattern\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Many_Stripes","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s11_stripe_pattern.png\",\"ui_priority\":1434}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Many Stripes","localizedDescription":"Show your colors proudly"},{"id":6005291,"name":"Coat_Of_Arms_Part\\Frame\\Season_11\\2025_The_Spoils_Of_Victory\\2025_Tsov_Laurel_Wreath","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s11_victory_banner.png\",\"icon2\":\"images/coat_of_arms/banner/s11_victory_outline.png\",\"image\":\"images/coat_of_arms/banner/s11_victory_mask.png\",\"ui_priority\":1433}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Laurel wreath","localizedDescription":"The crown of a Roman leader to show importance and status"},{"id":6005292,"name":"Racebps\\Rogue_Neutral","imageData":"","metaData":"{\"icon\":\"images/civ_flags/civ_icon_secondary_default.png\",\"icon2\":\"images/civ_flags/civ_icon_secondary_default.png\",\"image\":\"images/backgrounds/loading/flags/byzantine_bg.png\",\"imagesmall\":\"images/civ_flags/civ_icon_secondary_default.png\",\"race_id\":9003861,\"ui_priority\":0,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[4,1531277,1565508]},{"id":6005297,"name":"Monument\\Crucible_Mastery","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_crucible_gold.png\",\"ui_priority\":1450}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,6000002],"localizedName":"Defender","localizedDescription":"Granted for completing An Empire for the Ages mastery."},{"id":6005298,"name":"Monument\\Crucible_Conqueror","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_crucible_conqueror.png\",\"ui_priority\":1400}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,6000002],"localizedName":"Crucible Conqueror","localizedDescription":"Granted for earning a Conqueror medal in the Crucible."},{"id":6005300,"name":"Player_Portrait\\Crucible_06","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/crucible_elementalwater.png\",\"ui_priority\":799,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,6000002,6000009],"localizedName":"Water Elemental","localizedDescription":"Granted for completing The Crucible Mastery 6."},{"id":6005301,"name":"Player_Portrait\\Crucible_07","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/crucible_elementalfire.png\",\"ui_priority\":799,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,6000002,6000009],"localizedName":"Fire Elemental","localizedDescription":"Granted for completing The Crucible Mastery 7."},{"id":6005302,"name":"Player_Portrait\\Crucible_08","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/crucible_elementalair.png\",\"ui_priority\":799,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,6000002,6000009],"localizedName":"Air Elemental","localizedDescription":"Granted for completing The Crucible Mastery 8."},{"id":6005303,"name":"Player_Portrait\\Crucible_09","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/crucible_elementalstone.png\",\"ui_priority\":799,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,6000002,6000009],"localizedName":"Stone Elemental","localizedDescription":"Granted for completing The Crucible Mastery 9."},{"id":6005304,"name":"Coat_Of_Arms_Part\\Pattern\\Banner_Pattern_14","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/horizontallines.png\",\"ui_priority\":1120}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,6000002],"localizedName":"Horizontal Lines Pattern","localizedDescription":"Granted for completing The Crucible Mastery 7."},{"id":6005305,"name":"Coat_Of_Arms_Part\\Sigil\\Sigil_50","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/sigil_shape_weapons.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_weapons.png\",\"ui_priority\":1008}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,6000002],"localizedDescription":"Granted for completing The Crucible Mastery 11."},{"id":6005306,"name":"Player_Portrait\\Excl_Devonrex_Knighthelm","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/preorder_knight_helmet.png\",\"ui_priority\":7998,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Knight Helmet","localizedDescription":"Don\u2019t lose your head."},{"id":6005307,"name":"Coat_Of_Arms_Part\\Sigil\\Excl_Devonrex_Sigil_Horseshoe","imageData":"","metaData":"{\"icon\":\"images/coat_of_arms/sigil/sigil_shape_horseshoe.png\",\"icon2\":\"images/coat_of_arms/sigil/sigil_outline_horseshoe.png\",\"ui_priority\":8006}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1502191,1503940],"localizedName":"Horseshoe","localizedDescription":"A horse sure of foot is a symbol of luck."},{"id":6005308,"name":"Coat_Of_Arms_Part\\Pattern\\Excl_Devonrex_Banner_Pattern_Chevron","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/chevron_repeatable.png\",\"ui_priority\":460}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Repeated Chevron Pattern","localizedDescription":"A pattern used across the background, or field, of your banner shape."},{"id":6005311,"name":"Monument\\Season_07\\Seasonsfayre\\Seasonsfayre_Sheep_Monument","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/monuments/monument_sup_sheep.png\",\"ui_priority\":8020}","available":0,"version":0,"level":1,"categoryIDs":[1408204,1431932,1503940],"localizedName":"Sacred Lamb","localizedDescription":"Offer up the lamb to celebrate your great victory"},{"id":6005312,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\Seasonsfayre\\Seasonsfayre_Wonder_To_Behold","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s_generic_shape_gamingpiece.png\",\"icon2\":\"images/coat_of_arms/sigil/s_generic_outline_gamingpiece.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Ancient Trophy","localizedDescription":"Gain the ancient relic from your towering wonder."},{"id":6005313,"name":"Coat_Of_Arms_Part\\Frame\\Season_07\\Seasonsfayre\\Seasonsfayre_Banner_Merchants_Oath","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/banner/s_generic_banner_coins_punch.png\",\"icon2\":\"images/coat_of_arms/banner/s_generic_outline_coins_punch.png\",\"image\":\"images/coat_of_arms/banner/s_generic_mask_coins_punch.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405715,1431931,1503940],"localizedName":"Hanging Wealth","localizedDescription":"A banner to tip the scales of profit in your favor."},{"id":6005314,"name":"Coat_Of_Arms_Part\\Pattern\\Season_07\\Seasonsfayre\\Seasonsfayre_Banner_Pattern_Cast_Off","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s_generic_hook_fish_pattern.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Nets Cast Wide","localizedDescription":"When fleets cast wide nets, it's not just fish that they are chasing."},{"id":6005315,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\Seasonsfayre\\Seasonsfayre_Bank_On_It","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s_generic_shape_pouch.png\",\"icon2\":\"images/coat_of_arms/sigil/s_generic_outline_pouch.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Coin Pouch","localizedDescription":"A coin purse bursting with the profits of economic wealth, and holdings."},{"id":6005316,"name":"Player_Portrait\\Season_07\\Seasonsfayre\\Seasonsfayre_Portrait_Peacefull_Progression","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s_generic_dove.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Dove in the Sky","localizedDescription":"Fly like a dove through conflict with no loss of people."},{"id":6005317,"name":"Player_Portrait\\Season_07\\Seasonsfayre\\Seasonsfayre_Portrait_Merchant_Armada","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s_generic_thevoyage.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Trading Afar","localizedDescription":"Set sail for foreign shores and the bounty of trade."},{"id":6005318,"name":"Player_Portrait\\Season_07\\Seasonsfayre\\Seasonsfayre_Portrait_Login","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s_generic_strawberries.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"Season's Bounty","localizedDescription":"Enjoy the bounty of Season's Fayre."},{"id":6005319,"name":"Coat_Of_Arms_Part\\Sigil_Frame\\Season_07\\Seasonsfayre\\Seasonsfayre_Sigil_Frame_Prometheus_Hammer","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil_frame/s_generic_sigil_background_anvil.png\",\"ui_priority\":1090}","available":0,"version":0,"level":1,"categoryIDs":[1405720,1431931,1503940],"localizedName":"Anvil and Hammer","localizedDescription":"Destiny is shaped with a hammer on the anvil of battle."},{"id":6005320,"name":"Player_Portrait\\Season_07\\Seasonsfayre\\Seasonsfayre_Portrait_Empires_Watch","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/portraits/s_generic_bycandlelight.png\",\"ui_priority\":1100,\"store_priority\":0}","available":0,"version":0,"level":1,"categoryIDs":[1397006,1431929,1503940],"localizedName":"A Candle\u2019s Light","localizedDescription":"A candle to pierce the darkness and keep watch"},{"id":6005321,"name":"Coat_Of_Arms_Part\\Pattern\\Season_07\\Seasonsfayre\\Seasonsfayre_Banner_Pattern_Guildmasters_Gambit","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/pattern/s7_tile_dragon_scale.png\",\"ui_priority\":1070}","available":0,"version":0,"level":1,"categoryIDs":[1405717,1431931,1503940],"localizedName":"Fish Scale Armour","localizedDescription":"Tempered in coastal forges to provide shimmering fish scale armor to protect your warriors."},{"id":6005322,"name":"Coat_Of_Arms_Part\\Sigil\\Season_07\\Seasonsfayre\\Seasonsfayre_Triple_Triumph","imageData":"","metaData":"{\"att\":{\"is_new\":{\"val\":\"1\",\"source\":1,\"mtype\":1}},\"icon\":\"images/coat_of_arms/sigil/s_generic_shape_axe.png\",\"icon2\":\"images/coat_of_arms/sigil/s_generic_outline_axe.png\",\"ui_priority\":1085}","available":0,"version":0,"level":1,"categoryIDs":[1405718,1431931,1503940],"localizedName":"Triple Triumph","localizedDescription":"The Axe symbolizes combat, nobleness, honor, luck, and success."},{"id":400000000,"name":"","imageData":"","metaData":"","available":0,"version":0,"level":1,"categoryIDs":[]}],"dataSignature":"sAWDhmqiIPr7eOd955yV8WCzBmyDxl9sNI1IBNwRp7veH1XoRwkjPS8yXTijIiBiUWN210zqm+qGhFRJN9/bkquS9mivlMF7IETG9ws6kTgxi+WTHMsGEaG6HqrkEQ6UIP6/oZbfa8I50JF6oMtIu3XVl9ezaueuNBRfBz1IuJH+lk8DW68QbVI/YFcOZgCxHKdrCYnlM0b2ea1bN4uanFVWV00M+pQ3ty/okmyOTk1qGyHj5jr7/SqxwxQdpU+gwR/eGQKWeE9qVkq4tvCixGLgKT+lsWFS/ukM5NG6Nrq+DbUXZLwYTSeROCXfy75QQEtvu9GjfKk5Z6NEoZn6Xw=="} \ No newline at end of file diff --git a/server/resources/responses/age4/itemLocations.json b/server/resources/responses/age4/itemLocations.json new file mode 100644 index 00000000..20e92265 --- /dev/null +++ b/server/resources/responses/age4/itemLocations.json @@ -0,0 +1,9 @@ +[ + [1, 0, 4, 1405268, 1, 0, 1, 0, 0], + [2, 0, 1, 1, 2, 0, 0, 0, 0], + [3, 0, 2, 4, 1, 0, 1, 1, 1], + [4, 0, 0, 0, 1200, 0, 0, 0, 0], + [5, 0, 5, 1408204, 1, 0, 1, 1, 0], + [6, 0, 3, 1397006, 1, 0, 1, 0, 0], + [7, 0, 6, 1527881, 1, 0, 0, 1, 1] +] \ No newline at end of file diff --git a/server/resources/responses/age4/leaderboards.json b/server/resources/responses/age4/leaderboards.json new file mode 100644 index 00000000..f4e29444 --- /dev/null +++ b/server/resources/responses/age4/leaderboards.json @@ -0,0 +1 @@ +[0,[[0,0,1,-1],[1,1,1,-1],[2,2,1,-1],[3,3,1,-1],[4,4,1,-1],[5,5,0,-1],[6,6,0,-1],[7,7,0,-1],[8,8,0,-1],[9,9,0,-1],[10,10,0,-1],[11,11,0,-1],[12,12,0,-1],[13,13,0,-1],[14,14,0,-1],[15,15,0,-1],[16,16,0,-1],[17,668,1,-1],[17,20,1,-1],[18,667,1,-1],[18,21,1,-1],[19,666,1,-1],[19,22,1,-1],[20,23,1,-1],[20,665,1,-1],[21,24,0,-1],[22,25,0,-1],[23,26,0,-1],[24,27,0,-1],[49,52,0,-1],[50,17,0,-1],[51,55,0,-1],[202,210,0,-1],[203,211,0,-1],[204,212,0,-1],[205,213,0,-1],[206,214,1,-1],[207,669,1,-1],[207,215,1,-1],[208,216,0,-1],[209,217,0,-1],[210,218,0,-1],[211,219,0,-1],[212,220,1,-1],[213,221,1,-1],[213,670,1,-1],[214,222,0,-1],[215,223,0,-1],[216,224,0,-1],[217,225,0,-1],[218,226,1,-1],[219,671,1,-1],[219,227,1,-1],[220,228,0,-1],[221,229,0,-1],[222,230,0,-1],[223,231,0,-1],[224,232,1,-1],[225,233,1,-1],[225,672,1,-1],[479,571,1,-1],[484,576,1,-1],[489,581,1,-1],[494,586,1,-1],[495,587,1,-1],[496,588,1,-1],[497,589,1,-1],[498,590,1,-1],[533,802,1,-1],[533,832,1,-1],[533,663,1,-1],[533,797,1,-1],[533,822,1,-1],[533,785,1,-1],[533,664,1,-1],[533,660,1,-1],[533,812,1,-1],[534,817,1,-1],[534,673,1,-1],[534,796,1,-1],[534,782,1,-1],[534,661,1,-1],[534,837,1,-1],[534,807,1,-1],[534,674,1,-1],[534,827,1,-1],[601,776,1,-1],[602,777,1,-1],[603,778,1,-1],[604,779,1,-1],[605,780,1,-1],[606,781,1,-1],[607,783,1,-1],[608,784,1,-1],[610,790,1,-1],[611,788,1,-1],[612,791,1,-1],[613,792,1,-1],[614,789,1,-1],[615,793,1,-1],[616,794,1,-1],[617,795,1,-1],[621,798,1,-1],[622,799,1,-1],[623,800,1,-1],[624,801,1,-1],[625,803,1,-1],[626,804,1,-1],[627,805,1,-1],[628,806,1,-1],[629,808,1,-1],[630,809,1,-1],[631,810,1,-1],[632,811,1,-1],[633,813,1,-1],[634,814,1,-1],[635,815,1,-1],[636,816,1,-1],[638,818,1,-1],[639,819,1,-1],[640,820,1,-1],[641,821,1,-1],[642,823,1,-1],[643,824,1,-1],[644,825,1,-1],[645,826,1,-1],[646,828,1,-1],[647,829,1,-1],[648,830,1,-1],[649,831,1,-1],[650,833,1,-1],[651,834,1,-1],[652,835,1,-1],[653,836,1,-1]],[[0,"Custom",1],[1,"Slot1_1v1Ranked",1],[2,"Slot1_2v2Ranked",1],[3,"Slot1_3v3Ranked",1],[4,"Slot1_4v4Ranked",1],[5,"Slot1_2v2AIEasy",1],[6,"Slot1_2v2AIMedium",1],[7,"Slot1_2v2AIHard",1],[8,"Slot1_2v2AIExpert",1],[9,"Slot1_3v3AIEasy",1],[10,"Slot1_3v3AIMedium",1],[11,"Slot1_3v3AIHard",1],[12,"Slot1_3v3AIExpert",1],[13,"Slot1_4v4AIEasy",1],[14,"Slot1_4v4AIMedium",1],[15,"Slot1_4v4AIHard",1],[16,"Slot1_4v4AIExpert",1],[17,"Slot1_1v1Unranked",1],[18,"Slot1_2v2Unranked",1],[19,"Slot1_3v3Unranked",1],[20,"Slot1_4v4Unranked",1],[21,"Slot1_1v1AIEasy",1],[22,"Slot1_1v1AIMedium",1],[23,"Slot1_1v1AIHard",1],[24,"Slot1_1v1AIExpert",1],[49,"Skirmish",0],[50,"Campaign",0],[51,"Art of War",0],[202,"Slot1_1v1AIEasy_console",1],[203,"Slot1_1v1AIExpert_console",1],[204,"Slot1_1v1AIHard_console",1],[205,"Slot1_1v1AIMedium_console",1],[206,"Slot1_1v1Ranked_console",1],[207,"Slot1_1v1Unranked_console",1],[208,"Slot1_2v2AIEasy_console",1],[209,"Slot1_2v2AIExpert_console",1],[210,"Slot1_2v2AIHard_console",1],[211,"Slot1_2v2AIMedium_console",1],[212,"Slot1_2v2Ranked_console",1],[213,"Slot1_2v2Unranked_console",1],[214,"Slot1_3v3AIEasy_console",1],[215,"Slot1_3v3AIExpert_console",1],[216,"Slot1_3v3AIHard_console",1],[217,"Slot1_3v3AIMedium_console",1],[218,"Slot1_3v3Ranked_console",1],[219,"Slot1_3v3Unranked_console",1],[220,"Slot1_4v4AIEasy_console",1],[221,"Slot1_4v4AIExpert_console",1],[222,"Slot1_4v4AIHard_console",1],[223,"Slot1_4v4AIMedium_console",1],[224,"Slot1_4v4Ranked_console",1],[225,"Slot1_4v4Unranked_console",1],[479,"Slot1_1v1Unranked_EmpireWars",1],[484,"Slot1_2v2Unranked_EmpireWars",1],[489,"Slot1_3v3Unranked_EmpireWars",1],[494,"Slot1_4v4Unranked_EmpireWars",1],[495,"Slot1_1v1Unranked_EmpireWars_console",1],[496,"Slot1_2v2Unranked_EmpireWars_console",1],[497,"Slot1_3v3Unranked_EmpireWars_console",1],[498,"Slot1_4v4Unranked_EmpireWars_console",1],[533,"Slot1_FFA8Unranked",1],[534,"Slot1_FFA8Unranked_Conroller",1],[535,"Slot1_FFA4Unranked_Conroller",1],[601,"Slot1_1v1Unranked_MapMonsters",1],[602,"Slot1_2v2Unranked_MapMonsters",1],[603,"Slot1_1v1Unranked_MapMonsters_console",1],[604,"Slot1_2v2Unranked_MapMonsters_console",1],[605,"Slot1_3v3Unranked_MapMonsters_console",1],[606,"Slot1_4v4Unranked_MapMonsters_console",1],[607,"Slot1_3v3Unranked_MapMonsters",1],[608,"Slot1_4v4Unranked_MapMonsters",1],[610,"Slot1_1v1Unranked_FullMoon",1],[611,"Slot1_2v2Unranked_FullMoon",1],[612,"Slot1_3v3Unranked_FullMoon",1],[613,"Slot1_4v4Unranked_FullMoon",1],[614,"Slot1_1v1Unranked_FullMoon_console",1],[615,"Slot1_2v2Unranked_FullMoon_console",1],[616,"Slot1_3v3Unranked_FullMoon_console",1],[617,"Slot1_4v4Unranked_FullMoon_console",1],[621,"Slot1_1v1Unranked_ChartACourse",1],[622,"Slot1_2v2Unranked_ChartACourse",1],[623,"Slot1_3v3Unranked_ChartACourse",1],[624,"Slot1_4v4Unranked_ChartACourse",1],[625,"Slot1_1v1Unranked_ChartACourse_console",1],[626,"Slot1_2v2Unranked_ChartACourse_console",1],[627,"Slot1_3v3Unranked_ChartACourse_console",1],[628,"Slot1_4v4Unranked_ChartACourse_console",1],[629,"Slot1_1v1Unranked_SeasonsFeast",1],[630,"Slot1_2v2Unranked_SeasonsFeast",1],[631,"Slot1_3v3Unranked_SeasonsFeast",1],[632,"Slot1_4v4Unranked_SeasonsFeast",1],[633,"Slot1_1v1Unranked_SeasonsFeast_console",1],[634,"Slot1_2v2Unranked_SeasonsFeast_console",1],[635,"Slot1_3v3Unranked_SeasonsFeast_console",1],[636,"Slot1_4v4Unranked_SeasonFeast_console",1],[638,"Slot1_1v1Unranked_KingOfTheHill",1],[639,"Slot1_2v2Unranked_KingOfTheHill",1],[640,"Slot1_3v3Unranked_KingOfTheHill",1],[641,"Slot1_4v4Unranked_KingOfTheHill",1],[642,"Slot1_1v1Unranked_KingOfTheHill_console",1],[643,"Slot1_2v2Unranked_KingOfTheHill_console",1],[644,"Slot1_3v3Unranked_KingOfTheHill_console",1],[645,"Slot1_4v4Unranked_FullMoon_console",1],[646,"Slot1_1v1Unranked_ChaoticClimate",1],[647,"Slot1_2v2Unranked_ChaoticClimate",1],[648,"Slot1_3v3Unranked_ChaoticClimate",1],[649,"Slot1_4v4Unranked_ChaoticClimate",1],[650,"Slot1_1v1Unranked_ChaoticClimate_console",1],[651,"Slot1_2v2Unranked_ChaoticClimate_console",1],[652,"Slot1_3v3Unranked_ChaoticClimate_console",1],[653,"Slot1_4v4Unranked_ChaoticClimate_console",1]],[[-2,"Observer",0,0,"Observer",1.0,0,"",""],[0,"Custom",0,0,"Custom",1.0,1,"","custom_match"],[1,"Slot1_1V1_Ranked",1,2,"Solo Ranked",1.0,2,"","1v1_ranked"],[2,"Slot1_2V2_Ranked",2,2,"Team Ranked",1.0,2,"","2v2_ranked"],[3,"Slot1_3V3_Ranked",3,2,"Team Ranked",1.0,2,"","3v3_ranked"],[4,"Slot1_4V4_Ranked",4,2,"Team Ranked",1.0,2,"","4v4_ranked"],[5,"Slot1_2V2_Ai_Easy",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[6,"Slot1_2V2_Ai_Medium",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[7,"Slot1_2V2_Ai_Hard",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[8,"Slot1_2V2_Ai_Expert",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[9,"Slot1_3V3_Ai_Easy",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[10,"Slot1_3V3_Ai_Medium",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[11,"Slot1_3V3_Ai_Hard",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[12,"Slot1_3V3_Ai_Expert",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[13,"Slot1_4V4_Ai_Easy",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[14,"Slot1_4V4_Ai_Medium",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[15,"Slot1_4V4_Ai_Hard",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[16,"Slot1_4V4_Ai_Expert",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[17,"Campaign",0,0,"Campaign",1.0,3,"",""],[18,"Replay",0,0,"Replay",0.0,1,"",""],[19,"Party",0,0,"Group",0.0,0,"",""],[20,"Slot1_1V1_Unranked",1,2,"Quick Match",1.0,2,"","1v1_unranked"],[21,"Slot1_2V2_Unranked",2,2,"Quick Match",1.0,2,"","2v2_unranked"],[22,"Slot1_3V3_Unranked",3,2,"Quick Match",1.0,2,"","3v3_unranked"],[23,"Slot1_4V4_Unranked",4,2,"Quick Match",1.0,2,"","4v4_unranked"],[24,"Slot1_1V1_Ai_Easy",1,1,"Quick Match",1.0,2,"","skirmish"],[25,"Slot1_1V1_Ai_Medium",1,1,"Quick Match",1.0,2,"","skirmish"],[26,"Slot1_1V1_Ai_Hard",1,1,"Quick Match",1.0,2,"","skirmish"],[27,"Slot1_1V1_Ai_Expert",1,1,"Quick Match",1.0,2,"","skirmish"],[52,"Skirmish",0,0,"Skirmish",1.0,1,"","skirmish"],[55,"Trial",0,0,"Art of War",1.0,1,"",""],[161,"Invalid",0,0,null,0.0,0,"",""],[210,"Slot1_1V1_Ai_Easy_Console",1,1,"Quick Match",1.0,2,"","skirmish"],[211,"Slot1_1V1_Ai_Expert_Console",1,1,"Quick Match",1.0,2,"","skirmish"],[212,"Slot1_1V1_Ai_Hard_Console",1,1,"Quick Match",1.0,2,"","skirmish"],[213,"Slot1_1V1_Ai_Medium_Console",1,1,"Quick Match",1.0,2,"","skirmish"],[214,"Slot1_1V1_Ranked_Console",1,2,"Solo Ranked",1.0,2,"","1v1_ranked"],[215,"Slot1_1V1_Unranked_Console",1,2,"Quick Match",1.0,2,"","1v1_unranked"],[216,"Slot1_2V2_Ai_Easy_Console",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[217,"Slot1_2V2_Ai_Expert_Console",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[218,"Slot1_2V2_Ai_Hard_Console",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[219,"Slot1_2V2_Ai_Medium_Console",2,1,"Quick Match",1.0,2,"","2v2_co-op_vs_ai"],[220,"Slot1_2V2_Ranked_Console",2,2,"Team Ranked",1.0,2,"","2v2_ranked"],[221,"Slot1_2V2_Unranked_Console",2,2,"Quick Match",1.0,2,"","2v2_unranked"],[222,"Slot1_3V3_Ai_Easy_Console",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[223,"Slot1_3V3_Ai_Expert_Console",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[224,"Slot1_3V3_Ai_Hard_Console",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[225,"Slot1_3V3_Ai_Medium_Console",3,1,"Quick Match",1.0,2,"","3v3_co-op_vs_ai"],[226,"Slot1_3V3_Ranked_Console",3,2,"Team Ranked",1.0,2,"","3v3_ranked"],[227,"Slot1_3V3_Unranked_Console",3,2,"Quick Match",1.0,2,"","3v3_unranked"],[228,"Slot1_4V4_Ai_Easy_Console",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[229,"Slot1_4V4_Ai_Expert_Console",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[230,"Slot1_4V4_Ai_Hard_Console",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[231,"Slot1_4V4_Ai_Medium_Console",4,1,"Quick Match",1.0,2,"","4v4_co-op_vs_ai"],[232,"Slot1_4V4_Ranked_Console",4,2,"Team Ranked",1.0,2,"","4v4_ranked"],[233,"Slot1_4V4_Unranked_Console",4,2,"Quick Match",1.0,2,"","4v4_unranked"],[571,"Slot1_1V1_Unranked_Empirewars",1,2,"Quick Match",1.0,2,"","1v1_unranked_empire_wars"],[576,"Slot1_2V2_Unranked_Empirewars",2,2,"Quick Match",1.0,2,"","2v2_unranked_empire_wars"],[581,"Slot1_3V3_Unranked_Empirewars",3,2,"Quick Match",1.0,2,"","3v3_unranked_empire_wars"],[586,"Slot1_4V4_Unranked_Empirewars",4,2,"Quick Match",1.0,2,"","4v4_unranked_empire_wars"],[587,"Slot1_1V1_Unranked_Empirewars_Console",1,2,"Quick Match",1.0,2,"","1v1_unranked_empire_wars"],[588,"Slot1_2V2_Unranked_Empirewars_Console",2,2,"Quick Match",1.0,2,"","2v2_unranked_empire_wars"],[589,"Slot1_3V3_Unranked_Empirewars_Console",3,2,"Quick Match",1.0,2,"","3v3_unranked_empire_wars"],[590,"Slot1_4V4_Unranked_Empirewars_Console",4,2,"Quick Match",1.0,2,"","4v4_unranked_empire_wars"],[660,"Slot1_Ffa8_Unranked",1,8,"Quick Match",1.0,2,"","ffa8_unranked"],[661,"Slot1_Ffa8_Unranked_Controller",1,8,"Quick Match",1.0,2,"","ffa8_unranked"],[663,"Slot1_Ffa8_Empirewars",1,8,"Quick Match",1.0,2,"","ffa8_unranked_empire_wars"],[664,"Slot1_Ffa8_Nomad",1,8,"Quick Match",1.0,2,"","ffa8_unranked_nomad"],[665,"Slot1_4V4_Unranked_Nomad",4,2,"Quick Match",1.0,2,"","4v4_unranked_nomad"],[666,"Slot1_3V3_Unranked_Nomad",3,2,"Quick Match",1.0,2,"","3v3_unranked_nomad"],[667,"Slot1_2V2_Unranked_Nomad",2,2,"Quick Match",1.0,2,"","2v2_unranked_nomad"],[668,"Slot1_1V1_Unranked_Nomad",1,2,"Quick Match",1.0,2,"","1v1_unranked_nomad"],[669,"Slot1_1V1_Unranked_Console_Nomad",1,2,"Quick Match",1.0,2,"","1v1_unranked_nomad"],[670,"Slot1_2V2_Unranked_Console_Nomad",2,2,"Quick Match",1.0,2,"","2v2_unranked_nomad"],[671,"Slot1_3V3_Unranked_Console_Nomad",3,2,"Quick Match",1.0,2,"","3v3_unranked_nomad"],[672,"Slot1_4V4_Unranked_Console_Nomad",4,2,"Quick Match",1.0,2,"","4v4_unranked_nomad"],[673,"Slot1_Ffa8_Unranked_Controller_Nomad",1,8,"Quick Match",1.0,2,"","ffa8_unranked_nomad"],[674,"Slot1_Ffa8_Unranked_Controller_Empirewars",1,8,"Quick Match",1.0,2,"","ffa8_unranked_empire_wars"],[776,"Slot1_1V1_Unranked_Map_Monsters",1,2,"Quick Match",1.0,2,"",""],[777,"Slot1_2V2_Unranked_Map_Monsters",2,2,"Quick Match",1.0,2,"",""],[778,"Slot1_1V1_Unranked_Map_Monsters_Console",1,2,"Quick Match",1.0,2,"","1v1_unranked_map_monsters"],[779,"Slot1_2V2_Unranked_Map_Monsters_Console",2,2,"Quick Match",1.0,2,"","2v2_unranked_map_monsters"],[780,"Slot1_3V3_Unranked_Map_Monsters_Console",3,2,"Quick Match",1.0,2,"","3v3_unranked_map_monsters"],[781,"Slot1_4V4_Unranked_Map_Monsters_Console",4,2,"Quick Match",1.0,2,"","4v4_unranked_map_monsters"],[782,"Slot1_Ffa8_Unranked_Controller_Map_Monsters",1,8,"Quick Match",1.0,2,"","ffa8_unranked_map_monsters"],[783,"Slot1_3V3_Unranked_Map_Monsters",3,2,"Quick Match",1.0,2,"",""],[784,"Slot1_4V4_Unranked_Map_Monsters",4,2,"Quick Match",1.0,2,"",""],[785,"Slot1_Ffa8_Map_Monsters",1,8,"Quick Match",1.0,2,"",""],[786,"Rogue",0,0,null,1.0,1,"",""],[788,"Slot1_2V2_Unranked_Full_Moon",2,2,"Quick Match",1.0,2,"",""],[789,"Slot1_1V1_Unranked_Full_Moon_Console",1,2,"Quick Match",1.0,2,"","1v1_unranked_full_moon"],[790,"Slot1_1V1_Unranked_Full_Moon",1,2,"Quick Match",1.0,2,"",""],[791,"Slot1_3V3_Unranked_Full_Moon",3,2,"Quick Match",1.0,2,"",""],[792,"Slot1_4V4_Unranked_Full_Moon",4,2,"Quick Match",1.0,2,"",""],[793,"Slot1_2V2_Unranked_Full_Moon_Console",2,2,"Quick Match",1.0,2,"","2v2_unranked_full_moon"],[794,"Slot1_3V3_Unranked_Full_Moon_Console",3,2,"Quick Match",1.0,2,"","3v3_unranked_full_moon"],[795,"Slot1_4V4_Unranked_Full_Moon_Console",4,2,null,1.0,2,"","4v4_unranked_full_moon"],[796,"Slot1_Ffa8_Unranked_Controller_Full_Moon",1,8,"Quick Match",1.0,2,"","ffa8_unranked_full_moon"],[797,"Slot1_Ffa8_Full_Moon",1,8,null,1.0,2,"",""],[798,"Slot1_1V1_Unranked_Chart_A_Course",1,2,"Quick Match",1.0,2,"",""],[799,"Slot1_2V2_Unranked_Chart_A_Course",2,2,"Quick Match",1.0,2,"",""],[800,"Slot1_3V3_Unranked_Chart_A_Course",3,2,"Quick Match",1.0,2,"",""],[801,"Slot1_4V4_Unranked_Chart_A_Course",4,2,"Quick Match",1.0,2,"",""],[802,"Slot1_Ffa8_Unranked_Chart_A_Course",1,8,null,1.0,2,"",""],[803,"Slot1_1V1_Unranked_Chart_A_Course_Console",1,2,"Quick Match",1.0,2,"",""],[804,"Slot1_2V2_Unranked_Chart_A_Course_Console",2,2,"Quick Match",1.0,2,"",""],[805,"Slot1_3V3_Unranked_Chart_A_Course_Console",3,2,"Quick Match",1.0,2,"",""],[806,"Slot1_4V4unranked_Chart_A_Course_Console",4,2,null,1.0,2,"",""],[807,"Slot1_Ffa8_Unranked_Controller_Chart_A_Course",1,8,"Quick Match",1.0,2,"",""],[808,"Slot1_1V1_Unranked_Seasons_Feast",1,2,"Quick Match",1.0,2,"",""],[809,"Slot1_2V2_Unranked_Seasons_Feast",2,2,"Quick Match",1.0,2,"",""],[810,"Slot1_3V3_Unranked_Seasons_Feast",3,2,"Quick Match",1.0,2,"",""],[811,"Slot1_4V4_Unranked_Seasons_Feast",4,2,"Quick Match",1.0,2,"",""],[812,"Slot1_Ffa8_Unranked_Seasons_Feast",1,8,null,1.0,2,"",""],[813,"Slot1_1V1_Unranked_Seasons_Feast_Console",1,2,"Quick Match",1.0,2,"","1v1_unranked_seasons_feast"],[814,"Slot1_2V2_Unranked_Seasons_Feast_Console",2,2,"Quick Match",1.0,2,"","2v2_unranked_seasons_feast"],[815,"Slot1_3V3_Unranked_Seasons_Feast_Console",3,2,"Quick Match",1.0,2,"","3v3_unranked_seasons_feast"],[816,"Slot1_4V4unranked_Seasons_Feast_Console",4,2,null,1.0,2,"","4v4_unranked_seasons_feast"],[817,"Slot1_Ffa8_Unranked_Controller_Seasons_Feast",1,8,"Quick Match",1.0,2,"","ffa8_unranked_seasons_feast"],[818,"Slot1_1V1_Unranked_King_Of_The_Hill",1,2,"Quick Match",1.0,2,"",""],[819,"Slot1_2V2_Unranked_King_Of_The_Hill",2,2,"Quick Match",1.0,2,"",""],[820,"Slot1_3V3_Unranked_King_Of_The_Hill",3,2,"Quick Match",1.0,2,"",""],[821,"Slot1_4V4_Unranked_King_Of_The_Hill",4,2,"Quick Match",1.0,2,"",""],[822,"Slot1_Ffa8_King_Of_The_Hill",1,8,"Quick Match",1.0,2,"",""],[823,"Slot1_1V1_Unranked_King_Of_The_Hill_Console",1,2,"Quick Match",1.0,2,"",""],[824,"Slot1_2V2_Unranked_King_Of_The_Hill_Console",2,2,"Quick Match",1.0,2,"",""],[825,"Slot1_3V3_Unranked_King_Of_The_Hill_Console",3,2,"Quick Match",1.0,2,"",""],[826,"Slot1_4V4_Unranked_King_Of_The_Hill_Console",4,2,null,1.0,2,"",""],[827,"Slot1_Ffa8_Unranked_Controller_King_Of_The_Hill",1,8,"Quick Match",1.0,2,"",""],[828,"Slot1_1V1_Unranked_Chaotic_Climate",1,2,"Quick Match",1.0,2,"",""],[829,"Slot1_2V2_Unranked_Chaotic_Climate",2,2,"Quick Match",1.0,2,"",""],[830,"Slot1_3V3_Unranked_Chaotic_Climate",3,2,"Quick Match",1.0,2,"",""],[831,"Slot1_4V4_Unranked_Chaotic_Climate",4,2,"Quick Match",1.0,2,"",""],[832,"Slot1_Ffa8_Chaotic_Climate",1,8,"Quick Match",1.0,2,"",""],[833,"Slot1_1V1_Unranked_Chaotic_Climate_Console",1,2,"Quick Match",1.0,2,"","1v1_unranked_chaotic_climate"],[834,"Slot1_2V2_Unranked_Chaotic_Climate_Console",2,2,"Quick Match",1.0,2,"","2v2_unranked_chaotic_climate"],[835,"Slot1_3V3_Unranked_Chaotic_Climate_Console",3,2,"Quick Match",1.0,2,"","3v3_unranked_chaotic_climate"],[836,"Slot1_4V4_Unranked_Chaotic_Climate_Console",4,2,"Quick Match",1.0,2,"","4v4_unranked_chaotic_climate"],[837,"Slot1_Ffa8_Unranked_Controller_Chaotic_Climate",1,8,"Quick Match",1.0,2,"","ffa8_unranked_chaotic_climate"]],[[106553,"English",0,"English"],[129267,"Mongol",0,"Mongols"],[131384,"French",0,"French"],[133008,"Rus",0,"Rus"],[134522,"Hre",0,"Holy Roman Empire"],[136150,"Sultanate",0,"Delhi Sultanate"],[137266,"Chinese",0,"Chinese"],[199703,"Abbasid",0,"Abbasid Dynasty"],[2039321,"Ottoman",0,"Ottomans"],[2058393,"Malian",0,"Malians"],[2101234,"Byzantine",0,"Byzantines"],[2109886,"Japanese",0,"Japanese"],[2121948,"French_Ha_01",0,"Jeanne d'Arc"],[2121949,"Abbasid_Ha_01",0,"Ayyubids"],[2121950,"Chinese_Ha_01",0,"Zhu Xi's Legacy"],[2121952,"Hre_Ha_01",0,"Order of the Dragon"],[5000002,"Templar",0,"Knights Templar"],[5000003,"Lancaster",0,"House of Lancaster"],[9000850,"Japanese_Ha_Sen",0,null],[9000860,"Sultanate_Ha_Tug",0,null],[9000878,"Mongol_Ha_Gol",0,null],[9001050,"Byzantine_Ha_Mac",0,null],[9003861,"Rogue_Neutral",0,null]],[],[[2074389,"Europe","Europe"],[2074390,"North America","North America"],[2074436,"Middle East","Middle East"],[2074437,"Asia","Asia"],[2074438,"South America","South America"],[2074440,"Oceania","Oceania"],[2074441,"Africa","Africa"],[2074442,"Unknown","Unknown"]],[[1,-1,"Bronze Tier 3",0,100,"",1,"Bronze III",null,1,""],[2,-1,"Bronze Tier 2",400,100,"",1,"Bronze II",null,1,""],[3,-1,"Bronze Tier 1",700,100,"",1,"Bronze I",null,1,""],[4,-1,"Silver Tier 3",1000,100,"",1,"Silver III",null,2,""],[5,-1,"Silver Tier 2",1200,100,"",1,"Silver II",null,2,""],[6,-1,"Silver Tier 1",1400,100,"",1,"Silver I",null,2,""],[7,-1,"Gold Tier 3",1500,100,"",1,"Gold III",null,3,""],[8,-1,"Gold Tier 2",1600,100,"",1,"Gold II",null,3,""],[9,-1,"Gold Tier 1",1700,100,"",1,"Gold I",null,3,""],[10,-1,"Platinum Tier 3",1800,100,"",1,"Platinum III",null,4,""],[11,-1,"Platinum Tier 2",1900,100,"",1,"Platinum II",null,4,""],[12,-1,"Platinum Tier 1",2000,100,"",1,"Platinum I",null,4,""],[13,-1,"Diamond Tier 3",2100,100,"",1,"Diamond III",null,5,""],[14,-1,"Diamond Tier 2",2200,100,"",1,"Diamond II",null,5,""],[15,-1,"Diamond Tier 1",2300,100,"",1,"Diamond I",null,5,""],[16,-1,"Conqueror Tier 3",2400,100,"",1,"Conqueror III",null,6,""],[17,-1,"Conqueror Tier 2",2500,100,"",1,"Conqueror II",null,6,""],[18,-1,"Conqueror Tier 1",2600,100,"",1,"Conqueror I",null,6,""]],[[1,"Campaign Completed",null,0,1],[2,"1v1 Ranked Played As English",null,0,1],[3,"1v1 Ranked Won As English",null,0,1],[4,"1v1 Ranked Played As French",null,0,1],[5,"1v1 Ranked Won As French",null,0,1],[6,"1v1 Ranked Played As HRE",null,0,1],[7,"1v1 Ranked Won As HRE",null,0,1],[8,"1v1 Ranked Played As Mongol",null,0,1],[9,"1v1 Ranked Won As Mongol",null,0,1],[10,"1v1 Ranked Played As Rus",null,0,1],[11,"1v1 Ranked Won As Rus",null,0,1],[12,"1v1 Ranked Played As Sultanate",null,0,1],[13,"1v1 Ranked Won As Sultanate",null,0,1],[14,"1v1 Ranked Played As Abbasid",null,0,1],[15,"1v1 Ranked Won As Abbasid",null,0,1],[16,"1v1 Ranked Played As Chinese",null,0,1],[17,"1v1 Ranked Won As Chinese",null,0,1],[9001,"The Dark Age",null,4,0],[9002,"Early Economy",null,4,0],[9003,"Combat Basics",null,4,0],[9004,"Early Siege",null,4,0],[9005,"Late Economy",null,4,0],[9006,"Late Siege",null,4,0],[9007,"Advanced Combat",null,4,0],[9008,"Ottoman Tutorial",null,4,0],[9009,"Malian Tutorial",null,4,0],[9010,"Montgisard",null,4,0],[9011,"Agincourt",null,4,0],[9012,"Safed",null,4,0],[9013,"Towton",null,4,0],[10000,"Daimyo Dynamics - Story",null,4,0],[10001,"Daimyo Dynamics - Easy",null,4,0],[10002,"Daimyo Dynamics - Intermediate",null,4,0],[10003,"Daimyo Dynamics - Hard",null,4,0],[10004,"Daimyo Dynamics - Hardest",null,4,0],[10005,"Daimyo Dynamics - Ridiculous",null,4,0],[10006,"Daimyo Dynamics - Outrageous",null,4,0],[10007,"Daimyo Dynamics - Absurd",null,4,0],[10010,"Contested Coastline - Story",null,4,0],[10011,"Contested Coastline - Easy",null,4,0],[10012,"Contested Coastline - Intermediate",null,4,0],[10013,"Contested Coastline - Hard",null,4,0],[10014,"Contested Coastline - Hardest",null,4,0],[10015,"Contested Coastline - Ridiculous",null,4,0],[10016,"Contested Coastline - Outrageous",null,4,0],[10017,"Contested Coastline - Absurd",null,4,0],[10020,"Watch Your Steppe - Story",null,4,0],[10021,"Watch Your Steppe - Easy",null,4,0],[10022,"Watch Your Steppe - Intermediate",null,4,0],[10023,"Watch Your Steppe - Hard",null,4,0],[10024,"Watch Your Steppe - Hardest",null,4,0],[10025,"Watch Your Steppe - Ridiculous",null,4,0],[10026,"Watch Your Steppe - Outrageous",null,4,0],[10027,"Watch Your Steppe - Absurd",null,4,0],[10030,"Forest Lords - Story",null,4,0],[10031,"Forest Lords - Easy",null,4,0],[10032,"Forest Lords - Intermediate",null,4,0],[10033,"Forest Lords - Hard",null,4,0],[10034,"Forest Lords - Hardest",null,4,0],[10035,"Forest Lords - Ridiculous",null,4,0],[10036,"Forest Lords - Outrageous",null,4,0],[10037,"Forest Lords - Absurd",null,4,0],[11004,"Daimyo Dynamics - Hardest Conqueror",null,4,0],[11005,"Daimyo Dynamics - Ridiculous Conqueror",null,4,0],[11006,"Daimyo Dynamics - Outrageous Conqueror",null,4,0],[11007,"Daimyo Dynamics - Absurd Conqueror",null,4,0],[11014,"Contested Coastline - Hardest - Conqueror",null,4,0],[11015,"Contested Coastline - Ridiculous - Conqueror",null,4,0],[11016,"Contested Coastline - Outrageous - Conqueror",null,4,0],[11017,"Contested Coastline - Absurd-Conqueror",null,4,0],[11024,"Watch Your Steppe - Hardest Conqueror",null,4,0],[11025,"Watch Your Steppe - Ridiculous Conqueror",null,4,0],[11026,"Watch Your Steppe - Outrageous Conqueror",null,4,0],[11027,"Watch Your Steppe - Absurd Conqueror",null,4,0],[11034,"Forest Lords - Hardest Conqueror",null,4,0],[11035,"Forest Lords - Ridiculous Conqueror",null,4,0],[11036,"Forest Lords - Outrageous Conqueror",null,4,0],[11037,"Forest Lords - Absurd Conqueror",null,4,0],[20000,"Daimyo Dynamics - Story - Race",null,4,0],[20001,"Daimyo Dynamics - Easy",null,4,0],[20002,"Daimyo Dynamics - Intermediate - Race",null,4,0],[20003,"Daimyo Dynamics - Hard - Race",null,4,0],[20004,"Daimyo Dynamics - Hardest - Race",null,4,0],[20005,"Daimyo Dynamics - Ridiculous - Race",null,4,0],[20006,"Daimyo Dynamics - Outrageous - Race",null,4,0],[20007,"Daimyo Dynamics - Absurd",null,4,0],[20010,"Contested Coastline - Story - Race",null,4,0],[20011,"Contested Coastline - Easy - Race",null,4,0],[20012,"Contested Coastline - Intermediate - Race",null,4,0],[20013,"Contested Coastline - Hard - Race",null,4,0],[20014,"Contested Coastline - Hardest - Civ",null,4,0],[20015,"Contested Coastline - Ridiculous - Race",null,4,0],[20016,"Contested Coastline - Outrageous - Race",null,4,0],[20017,"Contested Coastline - Absurd - Race",null,4,0],[20020,"Watch Your Steppe - Story - Race",null,4,0],[20021,"Watch Your Steppe - Easy - Race",null,4,0],[20022,"Watch Your Steppe - Intermediate - Race",null,4,0],[20023,"Watch Your Steppe - Hard - Race",null,4,0],[20024,"Watch Your Steppe - Hardest - Race",null,4,0],[20025,"Watch Your Steppe - Ridiculous - Race",null,4,0],[20026,"Watch Your Steppe - Outrageous - Race",null,4,0],[20027,"Watch Your Steppe - Absurd - Race",null,4,0],[20030,"Forest Lords - Story - Race",null,4,0],[20031,"Forest Lords - Easy - Race",null,4,0],[20032,"Forest Lords - Intermediate - Race",null,4,0],[20033,"Forest Lords - Hard - Race",null,4,0],[20034,"Forest Lords - Hardest - Race",null,4,0],[20035,"Forest Lords - Ridiculous - Race",null,4,0],[20036,"Forest Lords - Outrageous - Race",null,4,0],[20037,"Forest Lords - Absurd - Race",null,4,0],[21004,"Daimyo Dynamics - Hardest Conqueror - Race",null,4,0],[21005,"Daimyo Dynamics - Ridiculous Conqueror - Race",null,4,0],[21006,"Daimyo Dynamics - Outrageous Conqueror - Race",null,4,0],[21007,"Daimyo Dynamics - Absurd Conqueror - Race",null,4,0],[21014,"Contested Coastline - Hardest - Conqueror - Race",null,4,0],[21015,"Contested Coastline - Ridiculous - Conqueror - Race",null,4,0],[21016,"Contested Coastline - Outrageous - Conqueror - Race",null,4,0],[21017,"Contested Coastline - Absurd - Conqueror - Race",null,4,0],[21024,"Watch Your Steppe - Hardest Conqueror - Race",null,4,0],[21025,"Watch Your Steppe - Ridiculous Conqueror - Race",null,4,0],[21026,"Watch Your Steppe - Outrageous Conqueror - Race",null,4,0],[21027,"Watch Your Steppe - Absurd Conqueror - Race",null,4,0],[21034,"Forest Lords - Hardest Conqueror - Race",null,4,0],[21035,"Forest Lords - Ridiculous Conqueror - Race",null,4,0],[21036,"Forest Lords - Outrageous Conqueror - Race",null,4,0],[21037,"Forest Lords - Absurd Conqueror - Race",null,4,0]]] \ No newline at end of file diff --git a/server/resources/responses/age4/levelRewardsTable.json b/server/resources/responses/age4/levelRewardsTable.json new file mode 100644 index 00000000..4d7f42b8 --- /dev/null +++ b/server/resources/responses/age4/levelRewardsTable.json @@ -0,0 +1 @@ +{"result":0,"levelRewardsTable":[{"category":0,"subcategory":-1,"level":-1,"xp":2000,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":1,"xp":0,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":2,"xp":50,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":3,"xp":200,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":4,"xp":450,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":5,"xp":800,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":6,"xp":1300,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":7,"xp":1950,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":8,"xp":2750,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":9,"xp":3700,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":10,"xp":4800,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":11,"xp":6050,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":12,"xp":7400,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":13,"xp":8850,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":14,"xp":10400,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":15,"xp":12050,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":16,"xp":13800,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":17,"xp":15650,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":18,"xp":17550,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":19,"xp":19500,"itemBundleID":-1,"metadata":""},{"category":0,"subcategory":-1,"level":20,"xp":21500,"itemBundleID":-1,"metadata":""}],"dataSignature":"XRP9kYVBQRt7A6mh0Jxjidikaz+zpkOPcNsJ3ccCI9qZLrPZmELv+t44IDOpJBLZw3BZRWL3IxhV3LFK7oDx5FHYuKC47I6aMpkbeWTP/QgwHETteVJmnvsjZl9FyKCg59YjFAtnl1QeT7wG9c1Rgigkid7nQlbySE9Ty6NyYT5tQI9Tv2XqhIW0J+3ofE9epMz89S9qHRdGjYDrqeGaSGXoSSffRwWOLj5WHCe3zoDGmtrtgaGm/628wagmZbjFx4B952R6+DDd0MUmQVBoUEfh1elkCmUx1CCSXo5ZhLyspjaSLwWqOYmdgSjcdD8JaYoSgLygXjpLQPrCcNOZ1A=="} diff --git a/server/resources/responses/age4/presenceData.json b/server/resources/responses/age4/presenceData.json new file mode 100644 index 00000000..57df56e1 --- /dev/null +++ b/server/resources/responses/age4/presenceData.json @@ -0,0 +1 @@ +[0,[[0,"offline","Offline","0"],[1,"online","Online","1"],[2,"lobby_online","Online","2"],[3,"appear_offline","Offline","3"],[1409813,"campaign","Campaign","1409813"],[1409814,"custom_game_browser","Browsing Custom","1409814"],[1409815,"in_game","In Game","1409815"],[1409816,"in_group","In Group","1409816"],[1409817,"in_lobby","In Lobby","1409817"],[1409818,"observer_game_browser","Browsing Observer","1409818"],[1409821,"quick_play_searching","Searching for Match","1409821"]],"XRRmDUBRZFGne8dxwdGnQSAvBNQoMbLTAP85CSayF/UoypGv97aL2YfvttjoYND1rum9swCGp9o2hE+ifQo0GQsijUtEvxMwF7c74xwl2ok1PezR97P7ouWXefrwW7nAA5yuay8OjfJPkSvneUxjn0wIKVZnpzGp94h37CwpRuS1up2PpB2NcEGDqvF1OEhvld9YXFmLC4Q3QCu+FvL+wBuQg01ZQ2ZpuY0qQ/Rq540jfM+q1mBE34Tt18QVbqwzxdW7KzVOFzANNt3v40+lW2wUJD5faz+4rY87ccj70dcMF/sEjfe//MA/S19DTt/aiKd+eVh4X5NWDlC8ZcI3hQ=="] \ No newline at end of file diff --git a/server/resources/responses/athens/itemLocations.json b/server/resources/responses/athens/itemLocations.json new file mode 100644 index 00000000..a7849215 --- /dev/null +++ b/server/resources/responses/athens/itemLocations.json @@ -0,0 +1,7 @@ +[ + [1, 0, 0, 0, 1000, 0, 0, 0, 0], + [2, 0, 1, 1001, 1000, 0, 1, 0, 0], + [3, 0, 2, 1002, 1000, 0, 1, 0, 0], + [4, 0, 3, 1003, 1000, 0, 1, 0, 0], + [5, 0, 4, 1004, 1000, 0, 1, 0, 0] +] \ No newline at end of file diff --git a/server/resources/unix/start_age4.sh b/server/resources/unix/start_age4.sh new file mode 100644 index 00000000..bf9332ed --- /dev/null +++ b/server/resources/unix/start_age4.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +cd "$(dirname "$0")" +./server -e age4 +echo "Press any key to exit..." +read dummy \ No newline at end of file diff --git a/server/resources/windows/start_age4.bat b/server/resources/windows/start_age4.bat new file mode 100644 index 00000000..446d8320 --- /dev/null +++ b/server/resources/windows/start_age4.bat @@ -0,0 +1,4 @@ +@echo off +cd /d "%~dp0" +server -e age4 +pause diff --git a/tools/scripts/go.mod b/tools/scripts/go.mod index 57b8d093..9a1bb214 100644 --- a/tools/scripts/go.mod +++ b/tools/scripts/go.mod @@ -6,7 +6,6 @@ require ( github.com/deckarep/golang-set/v2 v2.8.0 github.com/google/uuid v1.6.0 github.com/goreleaser/goreleaser/v2 v2.13.3 - github.com/luskaner/ageLANServer/common v0.0.0-20260109213331-0eb59ac6a260 gopkg.in/yaml.v3 v3.0.1 ) @@ -50,7 +49,6 @@ require ( github.com/lucasb-eyer/go-colorful v1.3.0 // indirect github.com/mailru/easyjson v0.9.1 // indirect github.com/mattn/go-runewidth v0.0.19 // indirect - github.com/miekg/dns v1.1.70 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/muesli/cancelreader v0.2.2 // indirect @@ -65,14 +63,10 @@ require ( github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect gitlab.com/digitalxero/go-conventional-commit v1.0.7 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/crypto v0.46.0 // indirect - golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 // indirect - golang.org/x/mod v0.31.0 // indirect - golang.org/x/net v0.48.0 // indirect + golang.org/x/crypto v0.47.0 // indirect + golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect + golang.org/x/net v0.49.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.40.0 // indirect - golang.org/x/term v0.39.0 // indirect - golang.org/x/tools v0.40.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - mvdan.cc/sh/v3 v3.12.0 // indirect ) diff --git a/tools/scripts/go.sum b/tools/scripts/go.sum deleted file mode 100644 index c9872ba7..00000000 --- a/tools/scripts/go.sum +++ /dev/null @@ -1,224 +0,0 @@ -charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63 h1:KgI+p678truaonNOQek4i+aJdWAtdpvFzz5lqHBaDeI= -charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63/go.mod h1:bjsp2D+VGi56y8f53S7xCphcoqJb36vo3dBVh0RrpP8= -dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= -dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= -github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= -github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0= -github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= -github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= -github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= -github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= -github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= -github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= -github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= -github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= -github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4= -github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= -github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= -github.com/caarlos0/log v0.5.4 h1:4DJwTt8MvvRF8BM4I3j2sbmdf4DYY0HVqKpg09cAgaU= -github.com/caarlos0/log v0.5.4/go.mod h1:iAv3N3ZkiEQUmZ8fGdD8bMA4zq6jMSlnz9D87333Gi0= -github.com/caarlos0/testfs v0.4.4 h1:3PHvzHi5Lt+g332CiShwS8ogTgS3HjrmzZxCm6JCDr8= -github.com/caarlos0/testfs v0.4.4/go.mod h1:bRN55zgG4XCUVVHZCeU+/Tz1Q6AxEJOEJTliBy+1DMk= -github.com/cavaliergopher/cpio v1.0.1 h1:KQFSeKmZhv0cr+kawA3a0xTQCU4QxXF1vhU7P7av2KM= -github.com/cavaliergopher/cpio v1.0.1/go.mod h1:pBdaqQjnvXxdS/6CvNDwIANIFSP0xRKI16PX4xejRQc= -github.com/charmbracelet/colorprofile v0.4.1 h1:a1lO03qTrSIRaK8c3JRxJDZOvhvIeSco3ej+ngLk1kk= -github.com/charmbracelet/colorprofile v0.4.1/go.mod h1:U1d9Dljmdf9DLegaJ0nGZNJvoXAhayhmidOdcBwAvKk= -github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9 h1:dsDBRP9Iyco0EjVpCsAzl8VGbxk04fP3sa80ySJSAZw= -github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9/go.mod h1:Ns3cOzzY9hEFFeGxB6VpfgRnqOJZJFhQAPfRxPqflQs= -github.com/charmbracelet/x/ansi v0.11.3 h1:6DcVaqWI82BBVM/atTyq6yBoRLZFBsnoDoX9GCu2YOI= -github.com/charmbracelet/x/ansi v0.11.3/go.mod h1:yI7Zslym9tCJcedxz5+WBq+eUGMJT0bM06Fqy1/Y4dI= -github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk= -github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI= -github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY= -github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo= -github.com/charmbracelet/x/windows v0.2.2 h1:IofanmuvaxnKHuV04sC0eBy/smG6kIKrWG2/jYn2GuM= -github.com/charmbracelet/x/windows v0.2.2/go.mod h1:/8XtdKZzedat74NQFn0NGlGL4soHB0YQZrETF96h75k= -github.com/clipperhouse/displaywidth v0.6.2 h1:ZDpTkFfpHOKte4RG5O/BOyf3ysnvFswpyYrV7z2uAKo= -github.com/clipperhouse/displaywidth v0.6.2/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o= -github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= -github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= -github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= -github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= -github.com/cloudflare/circl v1.6.2 h1:hL7VBpHHKzrV5WTfHCaBsgx/HGbBYlgrwvNXEVDYYsQ= -github.com/cloudflare/circl v1.6.2/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= -github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= -github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= -github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= -github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= -github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= -github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= -github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= -github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= -github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= -github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.7.0 h1:83lBUJhGWhYp0ngzCMSgllhUSuoHP1iEWYjsPl9nwqM= -github.com/go-git/go-billy/v5 v5.7.0/go.mod h1:/1IUejTKH8xipsAcdfcSAlUlo2J7lkYV8GTKxAT/L3E= -github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= -github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.16.4 h1:7ajIEZHZJULcyJebDLo99bGgS0jRrOxzZG4uCk2Yb2Y= -github.com/go-git/go-git/v5 v5.16.4/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= -github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= -github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= -github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= -github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/rpmpack v0.7.1 h1:YdWh1IpzOjBz60Wvdw0TU0A5NWP+JTVHA5poDqwMO2o= -github.com/google/rpmpack v0.7.1/go.mod h1:h1JL16sUTWCLI/c39ox1rDaTBo3BXUQGjczVJyK4toU= -github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= -github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= -github.com/goreleaser/chglog v0.7.4 h1:3pnNt/XCrUcAOq+KC91Azlgp5CRv4GHo1nl8Aws7OzI= -github.com/goreleaser/chglog v0.7.4/go.mod h1:dTVoZZagTz7hHdWaZ9OshHntKiF44HbWIHWxYJQ/h0Y= -github.com/goreleaser/fileglob v1.4.0 h1:Y7zcUnzQjT1gbntacGAkIIfLv+OwojxTXBFxjSFoBBs= -github.com/goreleaser/fileglob v1.4.0/go.mod h1:1pbHx7hhmJIxNZvm6fi6WVrnP0tndq6p3ayWdLn1Yf8= -github.com/goreleaser/goreleaser/v2 v2.13.3 h1:S8d13YgzzFXxoUJ9NJInuyq3lPNCXTcuW8wSvM+rXnQ= -github.com/goreleaser/goreleaser/v2 v2.13.3/go.mod h1:Rj+yhhXrO6WHc6cNh1GggpxzhhHXv9lczL5M4cSV3oA= -github.com/goreleaser/nfpm/v2 v2.44.1 h1:g+QNjkEx+C2Zu8dB48t9da/VfV0CWS5TMjxT8HG1APY= -github.com/goreleaser/nfpm/v2 v2.44.1/go.mod h1:drIYLqkla9SaOLbSnaFOmSIv5LXGfhHcbK54st97b4s= -github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= -github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E= -github.com/invopop/jsonschema v0.13.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= -github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= -github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= -github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= -github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= -github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= -github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= -github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= -github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/luskaner/ageLANServer/common v0.0.0-20260109213331-0eb59ac6a260 h1:3ue//jpua1WV0j8Da33XkJ/FODe+76XVh6zyCHNlO9Y= -github.com/luskaner/ageLANServer/common v0.0.0-20260109213331-0eb59ac6a260/go.mod h1:0TJpRpFFrpTb1HueovdM0uI5ABxIGK84KaFT2J02CXY= -github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= -github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= -github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ= -github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= -github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= -github.com/miekg/dns v1.1.70 h1:DZ4u2AV35VJxdD9Fo9fIWm119BsQL5cZU1cQ9s0LkqA= -github.com/miekg/dns v1.1.70/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= -github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= -github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= -github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= -github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0= -github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= -github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= -github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= -github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= -github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= -github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28JjdBg= -github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow= -github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= -github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= -github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= -github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= -github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= -github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= -github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= -github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= -github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= -github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= -github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= -gitlab.com/digitalxero/go-conventional-commit v1.0.7 h1:8/dO6WWG+98PMhlZowt/YjuiKhqhGlOCwlIV8SqqGh8= -gitlab.com/digitalxero/go-conventional-commit v1.0.7/go.mod h1:05Xc2BFsSyC5tKhK0y+P3bs0AwUtNuTp+mTpbCU/DZ0= -go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= -golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= -golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= -golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= -golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= -golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -mvdan.cc/sh/v3 v3.12.0 h1:ejKUR7ONP5bb+UGHGEG/k9V5+pRVIyD+LsZz7o8KHrI= -mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= diff --git a/tools/server-replay/go.sum b/tools/server-replay/go.sum deleted file mode 100644 index 527e6335..00000000 --- a/tools/server-replay/go.sum +++ /dev/null @@ -1,11 +0,0 @@ -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= -github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/r3labs/diff/v3 v3.0.2 h1:yVuxAY1V6MeM4+HNur92xkS39kB/N+cFi2hMkY06BbA= -github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= -github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= -github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= From 80d687a320db49d6f81bb9604c06000f86bb9c8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Tue, 10 Feb 2026 15:06:54 +0100 Subject: [PATCH 02/13] Added missing module in codeql and simply repo by commit go.work and go.work.sum --- .github/workflows/codeql.yml | 2 +- .github/workflows/releaser.yml | 15 +- .gitignore | 2 - DEVELOPMENT.md | 4 - go.work | 24 + go.work.sum | 853 +++++++++++++++++++++++++++++++++ 6 files changed, 879 insertions(+), 21 deletions(-) create mode 100644 go.work create mode 100644 go.work.sum diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 837581ef..f73190f2 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -80,7 +80,6 @@ jobs: - if: matrix.build-mode == 'manual' shell: bash run: | - cp go.work.example go.work go build -o build/server/server.exe ./server go build -o build/server/bin/genCert.exe ./server-genCert go build -o build/launcher/launcher.exe ./launcher @@ -94,6 +93,7 @@ jobs: go build -o build/tools/scripts/copyLauncherResources.exe ./tools/scripts/cmd/copyLauncherResources.go go build -o build/tools/scripts/copyServerResources.exe ./tools/scripts/cmd/copyServerResources.go go build -o build/tools/scripts/createServerResourcesFolder.exe ./tools/scripts/cmd/createServerResourcesFolder.go + go build -o build/tools/scripts/generateGoreleaserConfig.exe ./tools/scripts/cmd/generateGoreleaserConfig.go - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v3 with: diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml index fb1046e9..6ae229e3 100644 --- a/.github/workflows/releaser.yml +++ b/.github/workflows/releaser.yml @@ -16,25 +16,12 @@ jobs: uses: actions/checkout@v6 with: fetch-depth: 0 - - name: Rename go.work - shell: bash - run: | - cp go.work.example go.work - name: Set up Go uses: actions/setup-go@v6 with: go-version: '1.25.7' cache-dependency-path: | - common/go.sum - server/go.sum - server-genCert/go.sum - launcher/go.sum - launcher-common/go.sum - launcher-agent/go.sum - launcher-config/go.sum - launcher-config-admin/go.sum - launcher-config-admin-agent/go.sum - battle-server-manager/go.sum + go.work.sum - name: Generate Goreleaser config shell: bash run: | diff --git a/.gitignore b/.gitignore index b4047e59..41aad3e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -go.work -go.work.sum .tools .task .env diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 59e18031..01f8d9c9 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,7 +1,3 @@ -## Local development - -Copy `go.work.example` to `go.work` - ### System requirements - OS requirements correspond to the server/launcher ones. Cross-compilation works on all systems out-the-box. diff --git a/go.work b/go.work new file mode 100644 index 00000000..4f04af01 --- /dev/null +++ b/go.work @@ -0,0 +1,24 @@ +go 1.25.5 + +toolchain go1.25.7 + +// Necessary for launcher-config's internal.readCertsFromFile +godebug x509negativeserial=1 + +use ( + battle-server-broadcast + battle-server-manager + common + launcher + launcher-agent + launcher-common + launcher-config + launcher-config-admin + launcher-config-admin-agent + server + server-genCert + tools/scripts + tools/server-replay +) + +replace github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 => ./battle-server-broadcast diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 00000000..3a5a19e9 --- /dev/null +++ b/go.work.sum @@ -0,0 +1,853 @@ +al.essio.dev/pkg/shellescape v1.6.0 h1:NxFcEqzFSEVCGN2yq7Huv/9hyCEGVa/TncnOOBBeXHA= +al.essio.dev/pkg/shellescape v1.6.0/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= +cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= +cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= +charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63 h1:KgI+p678truaonNOQek4i+aJdWAtdpvFzz5lqHBaDeI= +charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63/go.mod h1:bjsp2D+VGi56y8f53S7xCphcoqJb36vo3dBVh0RrpP8= +cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE= +cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU= +cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4= +cloud.google.com/go/auth v0.17.0/go.mod h1:6wv/t5/6rOPAX4fJiRjKkJCvswLwdet7G8+UGXt7nCQ= +cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +cloud.google.com/go/iam v1.5.3 h1:+vMINPiDF2ognBJ97ABAYYwRgsaqxPbQDlMnbHMjolc= +cloud.google.com/go/iam v1.5.3/go.mod h1:MR3v9oLkZCTlaqljW6Eb2d3HGDGK5/bDv93jhfISFvU= +cloud.google.com/go/kms v1.23.2 h1:4IYDQL5hG4L+HzJBhzejUySoUOheh3Lk5YT4PCyyW6k= +cloud.google.com/go/kms v1.23.2/go.mod h1:rZ5kK0I7Kn9W4erhYVoIRPtpizjunlrfU4fUkumUp8g= +cloud.google.com/go/longrunning v0.7.0 h1:FV0+SYF1RIj59gyoWDRi45GiYUMM3K1qO51qoboQT1E= +cloud.google.com/go/longrunning v0.7.0/go.mod h1:ySn2yXmjbK9Ba0zsQqunhDkYi0+9rlXIwnoAf+h+TPY= +cloud.google.com/go/monitoring v1.24.3 h1:dde+gMNc0UhPZD1Azu6at2e79bfdztVDS5lvhOdsgaE= +cloud.google.com/go/monitoring v1.24.3/go.mod h1:nYP6W0tm3N9H/bOw8am7t62YTzZY+zUeQ+Bi6+2eonI= +cloud.google.com/go/storage v1.57.1 h1:gzao6odNJ7dR3XXYvAgPK+Iw4fVPPznEPPyNjbaVkq8= +cloud.google.com/go/storage v1.57.1/go.mod h1:329cwlpzALLgJuu8beyJ/uvQznDHpa2U5lGjWednkzg= +code.gitea.io/sdk/gitea v0.22.1 h1:7K05KjRORyTcTYULQ/AwvlVS6pawLcWyXZcTr7gHFyA= +code.gitea.io/sdk/gitea v0.22.1/go.mod h1:yyF5+GhljqvA30sRDreoyHILruNiy4ASufugzYg0VHM= +cyphar.com/go-pathrs v0.2.1 h1:9nx1vOgwVvX1mNBWDu93+vaceedpbsDqo+XuBGL40b8= +cyphar.com/go-pathrs v0.2.1/go.mod h1:y8f1EMG7r+hCuFf/rXsKqMJrJAUoADZGNh5/vZPKcGc= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +github.com/42wim/httpsig v1.2.3 h1:xb0YyWhkYj57SPtfSttIobJUPJZB9as1nsfo7KWVcEs= +github.com/42wim/httpsig v1.2.3/go.mod h1:nZq9OlYKDrUBhptd77IHx4/sZZD+IxTBADvAPI9G/EM= +github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= +github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0= +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= +github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0 h1:JXg2dwJUmPB9JmtVmdEB16APJ7jurfbY5jnfXpJoRMc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 h1:Hk5QBxZQC1jb2Fwj6mpzme37xbCDdNTxU7O9eb5+LB4= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1/go.mod h1:IYus9qsFobWIc2YVwe/WPjcnyCkPKtnHAqUYeebc8z0= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 h1:m/sWOGCREuSBqg2htVQTBY8nOZpyajYztF0vUvSZTuM= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0/go.mod h1:Pu5Zksi2KrU7LPbZbNINx6fuVrUp/ffvpxdDj+i8LeE= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 h1:FbH3BbSb4bvGluTesZZ+ttN/MDsnMmQP36OSnDuSXqw= +github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1/go.mod h1:9V2j0jn9jDEkCkv8w/bKTNppX/d0FVA1ud77xCIP4KA= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0 h1:E4MgwLBGeVB5f2MdcIVD3ELVAWpr+WD6MUe1i+tM/PA= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0/go.mod h1:Y2b/1clN4zsAoUd/pgNAQHjLDnTis/6ROkUfyob6psM= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 h1:nCYfgcSyHZXJI8J0IWE5MsCGlb2xp9fJiXyxWgmOFg4= +github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0/go.mod h1:ucUjca2JtSZboY8IoUqyQyuuXvwbMBVwFOm0vdQPNhA= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1 h1:lhZdRq7TIx0GJQvSyX2Si406vrYsov2FXGp/RnSEtcs= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1/go.mod h1:8cl44BDmi+effbARHMQjgOKA2AYvcohNm7KEt42mSV8= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.11.30 h1:iaZ1RGz/ALZtN5eq4Nr1SOFSlf2E4pDI3Tcsl+dZPVE= +github.com/Azure/go-autorest/autorest v0.11.30/go.mod h1:t1kpPIOpIVX7annvothKvb0stsrXa37i7b+xpmBW8Fs= +github.com/Azure/go-autorest/autorest/adal v0.9.24 h1:BHZfgGsGwdkHDyZdtQRQk1WeUdW0m2WPAwuHZwUi5i4= +github.com/Azure/go-autorest/autorest/adal v0.9.24/go.mod h1:7T1+g0PYFmACYW5LlG2fcoPiPlFHjClyRGL7dRlP5c8= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 h1:Ov8avRZi2vmrE2JcXw+tu5K/yB41r7xK9GZDiBF7NdM= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.13/go.mod h1:5BAVfWLWXihP47vYrPuBKKf4cS0bXI+KM9Qx6ETDJYo= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.7 h1:Q9R3utmFg9K1B4OYtAZ7ZUUvIUdzQt7G2MN5Hi/d670= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.7/go.mod h1:bVrAueELJ0CKLBpUHDIvD516TwmHmzqwCpvONWRsw3s= +github.com/Azure/go-autorest/autorest/date v0.3.1 h1:o9Z8Jyt+VJJTCZ/UORishuHOusBwolhjokt9s5k8I4w= +github.com/Azure/go-autorest/autorest/date v0.3.1/go.mod h1:Dz/RDmXlfiFFS/eW+b/xMUSFs1tboPVy6UjgADToWDM= +github.com/Azure/go-autorest/autorest/to v0.4.1 h1:CxNHBqdzTr7rLtdrtb5CMjJcDut+WNGCVv7OmS5+lTc= +github.com/Azure/go-autorest/autorest/to v0.4.1/go.mod h1:EtaofgU4zmtvn1zT2ARsjRFdq9vXx0YWtmElwL+GZ9M= +github.com/Azure/go-autorest/logger v0.2.2 h1:hYqBsEBywrrOSW24kkOCXRcKfKhK76OzLTfF+MYDE2o= +github.com/Azure/go-autorest/logger v0.2.2/go.mod h1:I5fg9K52o+iuydlWfa9T5K6WFos9XYr9dYTFzpqgibw= +github.com/Azure/go-autorest/tracing v0.6.1 h1:YUMSrC/CeD1ZnnXcNYU4a/fzsO35u2Fsful9L/2nyR0= +github.com/Azure/go-autorest/tracing v0.6.1/go.mod h1:/3EgjbsjraOqiicERAeu3m7/z0x1TzjQGAwDrJrXGkc= +github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs= +github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= +github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk= +github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= +github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 h1:sBEjpZlNHzK1voKq9695PJSX2o5NEXl7/OL3coiIY0c= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.54.0 h1:lhhYARPUu3LmHysQ/igznQphfzynnqI3D75oUyw1HXk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.54.0/go.mod h1:l9rva3ApbBpEJxSNYnwT9N4CDLrWgtq3u8736C5hyJw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0 h1:s0WlVbf9qpvkh1c/uDAPElam0WrL7fHRIidgZJ7UqZI= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0/go.mod h1:Mf6O40IAyB9zR/1J8nGDDPirZQQPbYJni8Yisy7NTMc= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= +github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= +github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= +github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= +github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f h1:tCbYj7/299ekTTXpdwKYF8eBlsYsDVoggDAuAjoK66k= +github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f/go.mod h1:gcr0kNtGBqin9zDW9GOHcVntrwnjrK+qdJ06mWYBybw= +github.com/ProtonMail/gopenpgp/v2 v2.7.1 h1:Awsg7MPc2gD3I7IFac2qE3Gdls0lZW8SzrFZ3k1oz0s= +github.com/ProtonMail/gopenpgp/v2 v2.7.1/go.mod h1:/BU5gfAVwqyd8EfC3Eu7zmuhwYQpKs+cGD8M//iiaxs= +github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM= +github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU= +github.com/anchore/go-macholibre v0.0.0-20250826193721-3cd206ca93aa h1:KPEP8f3enFJeus3Wo51I+riVuCvlf4OEYl2B4IfycbQ= +github.com/anchore/go-macholibre v0.0.0-20250826193721-3cd206ca93aa/go.mod h1:7YJA6tAfRm4SzIF93b32pR4xnbf8g2nJIeQnp+2vzzI= +github.com/andygrunwald/vdf v1.1.0/go.mod h1:f31AAs7HOKvs5B167iwLHwKuqKc4bE46Vdt7xQogA0o= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/atc0005/go-teams-notify/v2 v2.14.0 h1:7N+xw+COnYANLREaAveQ65rsNQ12nIZJED9nMLyscCo= +github.com/atc0005/go-teams-notify/v2 v2.14.0/go.mod h1:EECsWM2b0Hvoz7O+QdlsvyN2KCUOFQCGj8bUBXv3A3Q= +github.com/avast/retry-go/v4 v4.7.0 h1:yjDs35SlGvKwRNSykujfjdMxMhMQQM0TnIjJaHB+Zio= +github.com/avast/retry-go/v4 v4.7.0/go.mod h1:ZMPDa3sY2bKgpLtap9JRUgk2yTAba7cgiFhqxY2Sg6Q= +github.com/aws/aws-sdk-go-v2 v1.41.0 h1:tNvqh1s+v0vFYdA1xq0aOJH+Y5cRyZ5upu6roPgPKd4= +github.com/aws/aws-sdk-go-v2 v1.41.0/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 h1:489krEF9xIGkOaaX3CE/Be2uWjiXrkCH6gUX+bZA/BU= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4/go.mod h1:IOAPF6oT9KCsceNTvvYMNHy0+kMF8akOjeDvPENWxp4= +github.com/aws/aws-sdk-go-v2/config v1.32.5 h1:pz3duhAfUgnxbtVhIK39PGF/AHYyrzGEyRD9Og0QrE8= +github.com/aws/aws-sdk-go-v2/config v1.32.5/go.mod h1:xmDjzSUs/d0BB7ClzYPAZMmgQdrodNjPPhd6bGASwoE= +github.com/aws/aws-sdk-go-v2/credentials v1.19.5 h1:xMo63RlqP3ZZydpJDMBsH9uJ10hgHYfQFIk1cHDXrR4= +github.com/aws/aws-sdk-go-v2/credentials v1.19.5/go.mod h1:hhbH6oRcou+LpXfA/0vPElh/e0M3aFeOblE1sssAAEk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 h1:80+uETIWS1BqjnN9uJ0dBUaETh+P1XwFy5vwHwK5r9k= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16/go.mod h1:wOOsYuxYuB/7FlnVtzeBYRcjSRtQpAW0hCP7tIULMwo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.16 h1:NkjoiJoSpZqzsRcpM6rlk5AOCLro8JkK8UqekAm/hxM= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.16/go.mod h1:l2736DvrgbOinD65Ksh8fc/WQHBBlvsd+0/ZaxtsmGY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 h1:rgGwPzb82iBYSvHMHXc8h9mRoOUBZIGFgKb9qniaZZc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16/go.mod h1:L/UxsGeKpGoIj6DxfhOWHWQ/kGKcd4I1VncE4++IyKA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16 h1:1jtGzuV7c82xnqOVfx2F0xmJcOw5374L7N6juGW6x6U= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16/go.mod h1:M2E5OQf+XLe+SZGmmpaI2yy+J326aFf6/+54PoxSANc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16 h1:CjMzUs78RDDv4ROu3JnJn/Ig1r6ZD7/T2DXLLRpejic= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16/go.mod h1:uVW4OLBqbJXSHJYA9svT9BluSvvwbzLQ2Crf6UPzR3c= +github.com/aws/aws-sdk-go-v2/service/ecr v1.54.4 h1:4THfkydiKvFeOFlfY1ABHe4Nsj+Jy6S6tHBqUAojY0M= +github.com/aws/aws-sdk-go-v2/service/ecr v1.54.4/go.mod h1:8n8vVvu7LzveA0or4iWQwNndJStpKOX4HiVHM5jax2U= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.8 h1:2QlSMAimXfMKYRFlxGkbRMRtKN3OqIOB/CfxMcVdzjM= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.8/go.mod h1:esoP/SqS8FVryu4PPLX6ND925slId/IxPxvUBKuBqRk= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 h1:0ryTNEdJbzUCEWkVXEXoqlXV72J5keC1GvILMOuD00E= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4/go.mod h1:HQ4qwNZh32C3CBeO6iJLQlgtMzqeG17ziAA/3KDJFow= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.7 h1:DIBqIrJ7hv+e4CmIk2z3pyKT+3B6qVMgRsawHiR3qso= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.7/go.mod h1:vLm00xmBke75UmpNvOcZQ/Q30ZFjbczeLFqGx5urmGo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 h1:oHjJHeUy0ImIV0bsrX0X91GkV5nJAyv1l1CC9lnO0TI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16/go.mod h1:iRSNGgOYmiYwSCXxXaKb9HfOEj40+oTKn8pTxMlYkRM= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16 h1:NSbvS17MlI2lurYgXnCOLvCFX38sBW4eiVER7+kkgsU= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16/go.mod h1:SwT8Tmqd4sA6G1qaGdzWCJN99bUmPGHfRwwq3G5Qb+A= +github.com/aws/aws-sdk-go-v2/service/kms v1.48.2 h1:aL8Y/AbB6I+uw0MjLbdo68NQ8t5lNs3CY3S848HpETk= +github.com/aws/aws-sdk-go-v2/service/kms v1.48.2/go.mod h1:VJcNH6BLr+3VJwinRKdotLOMglHO8mIKlD3ea5c7hbw= +github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0 h1:MIWra+MSq53CFaXXAywB2qg9YvVZifkk6vEGl/1Qor0= +github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0/go.mod h1:79S2BdqCJpScXZA2y+cpZuocWsjGjJINyXnOsf5DTz8= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.4 h1:HpI7aMmJ+mm1wkSHIA2t5EaFFv5EFYXePW30p1EIrbQ= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.4/go.mod h1:C5RdGMYGlfM0gYq/tifqgn4EbyX99V15P2V3R+VHbQU= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.7 h1:eYnlt6QxnFINKzwxP5/Ucs1vkG7VT3Iezmvfgc2waUw= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.7/go.mod h1:+fWt2UHSb4kS7Pu8y+BMBvJF0EWx+4H0hzNwtDNRTrg= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 h1:AHDr0DaHIAo8c9t1emrzAlVDFp+iMMKnPdYy6XO4MCE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12/go.mod h1:GQ73XawFFiWxyWXMHWfhiomvP3tXtdNar/fi8z18sx0= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.5 h1:SciGFVNZ4mHdm7gpD1dgZYnCuVdX1s+lFTg4+4DOy70= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.5/go.mod h1:iW40X4QBmUxdP+fZNOpfmkdMZqsovezbAeO+Ubiv2pk= +github.com/aws/smithy-go v1.24.0 h1:LpilSUItNPFr1eY85RYgTIg5eIEPtvFbskaFcmmIUnk= +github.com/aws/smithy-go v1.24.0/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5qAgx7r6b+zCWZrvCsfKffkL4H6mSYx1kA= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= +github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY= +github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= +github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= +github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bits-and-blooms/bitset v1.24.4 h1:95H15Og1clikBrKr/DuzMXkQzECs1M6hhoGXLwLQOZE= +github.com/bits-and-blooms/bitset v1.24.4/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= +github.com/blacktop/go-dwarf v1.0.14 h1:OjmzfSgg/qAKckn2tWFebcgKgJ7HOqCj7bS+CiE1lrY= +github.com/blacktop/go-dwarf v1.0.14/go.mod h1:4W2FKgSFYcZLDwnR7k+apv5i3nrau4NGl9N6VQ9DSTo= +github.com/blacktop/go-macho v1.1.258 h1:Un/fTCW0TAh5xloBLKESC7HgJsvIGvErCRTkiI51Qvw= +github.com/blacktop/go-macho v1.1.258/go.mod h1:Hc5E2Lvt/U1VT+jOxr1O5l/LNFJeMYK4eAmDfazTiGc= +github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4= +github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bluesky-social/indigo v0.0.0-20240813042137-4006c0eca043 h1:927VIkxPFKpfJKVDtCNgSQtlhksARaLvsLxppR2FukM= +github.com/bluesky-social/indigo v0.0.0-20240813042137-4006c0eca043/go.mod h1:dXjdzg6bhg1JKnKuf6EBJTtcxtfHYBFEe9btxX5YeAE= +github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bwesterb/go-ristretto v1.2.3 h1:1w53tCkGhCQ5djbat3+MH0BAQ5Kfgbt56UZQ/JMzngw= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/caarlos0/env/v11 v11.3.1 h1:cArPWC15hWmEt+gWk7YBi7lEXTXCvpaSdCiZE2X5mCA= +github.com/caarlos0/env/v11 v11.3.1/go.mod h1:qupehSf/Y0TUTsxKywqRt/vJjN5nz6vauiYEUUr8P4U= +github.com/caarlos0/go-reddit/v3 v3.0.1 h1:w8ugvsrHhaE/m4ez0BO/sTBOBWI9WZTjG7VTecHnql4= +github.com/caarlos0/go-reddit/v3 v3.0.1/go.mod h1:QlwgmG5SAqxMeQvg/A2dD1x9cIZCO56BMnMdjXLoisI= +github.com/caarlos0/go-shellwords v1.0.12 h1:HWrUnu6lGbWfrDcFiHcZiwOLzHWjjrPVehULaTFgPp8= +github.com/caarlos0/go-shellwords v1.0.12/go.mod h1:bYeeX1GrTLPl5cAMYEzdm272qdsQAZiaHgeF0KTk1Gw= +github.com/caarlos0/go-version v0.2.2 h1:5r+nlrg4H2wOVwWjqRqRRIRbZ7ytRmjC9xoMIP0a5kQ= +github.com/caarlos0/go-version v0.2.2/go.mod h1:X+rI5VAtJDpcjCjeEIXpxGa5+rTcgur1FK66wS0/944= +github.com/caarlos0/log v0.5.4 h1:4DJwTt8MvvRF8BM4I3j2sbmdf4DYY0HVqKpg09cAgaU= +github.com/caarlos0/log v0.5.4/go.mod h1:iAv3N3ZkiEQUmZ8fGdD8bMA4zq6jMSlnz9D87333Gi0= +github.com/caarlos0/testfs v0.4.4 h1:3PHvzHi5Lt+g332CiShwS8ogTgS3HjrmzZxCm6JCDr8= +github.com/caarlos0/testfs v0.4.4/go.mod h1:bRN55zgG4XCUVVHZCeU+/Tz1Q6AxEJOEJTliBy+1DMk= +github.com/carlmjohnson/versioninfo v0.22.5 h1:O00sjOLUAFxYQjlN/bzYTuZiS0y6fWDQjMRvwtKgwwc= +github.com/carlmjohnson/versioninfo v0.22.5/go.mod h1:QT9mph3wcVfISUKd0i9sZfVrPviHuSF+cUtLjm2WSf8= +github.com/cavaliergopher/cpio v1.0.1 h1:KQFSeKmZhv0cr+kawA3a0xTQCU4QxXF1vhU7P7av2KM= +github.com/cavaliergopher/cpio v1.0.1/go.mod h1:pBdaqQjnvXxdS/6CvNDwIANIFSP0xRKI16PX4xejRQc= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charmbracelet/colorprofile v0.4.1 h1:a1lO03qTrSIRaK8c3JRxJDZOvhvIeSco3ej+ngLk1kk= +github.com/charmbracelet/colorprofile v0.4.1/go.mod h1:U1d9Dljmdf9DLegaJ0nGZNJvoXAhayhmidOdcBwAvKk= +github.com/charmbracelet/fang v0.4.4 h1:G4qKxF6or/eTPgmAolwPuRNyuci3hTUGGX1rj1YkHJY= +github.com/charmbracelet/fang v0.4.4/go.mod h1:P5/DNb9DddQ0Z0dbc0P3ol4/ix5Po7Ofr2KMBfAqoCo= +github.com/charmbracelet/keygen v0.5.4 h1:XQYgf6UEaTGgQSSmiPpIQ78WfseNQp4Pz8N/c1OsrdA= +github.com/charmbracelet/keygen v0.5.4/go.mod h1:t4oBRr41bvK7FaJsAaAQhhkUuHslzFXVjOBwA55CZNM= +github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9 h1:dsDBRP9Iyco0EjVpCsAzl8VGbxk04fP3sa80ySJSAZw= +github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9/go.mod h1:Ns3cOzzY9hEFFeGxB6VpfgRnqOJZJFhQAPfRxPqflQs= +github.com/charmbracelet/x/ansi v0.11.3 h1:6DcVaqWI82BBVM/atTyq6yBoRLZFBsnoDoX9GCu2YOI= +github.com/charmbracelet/x/ansi v0.11.3/go.mod h1:yI7Zslym9tCJcedxz5+WBq+eUGMJT0bM06Fqy1/Y4dI= +github.com/charmbracelet/x/exp/charmtone v0.0.0-20250603201427-c31516f43444 h1:IJDiTgVE56gkAGfq0lBEloWgkXMk4hl/bmuPoicI4R0= +github.com/charmbracelet/x/exp/charmtone v0.0.0-20250603201427-c31516f43444/go.mod h1:T9jr8CzFpjhFVHjNjKwbAD7KwBNyFnj2pntAO7F2zw0= +github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f h1:pk6gmGpCE7F3FcjaOEKYriCvpmIN4+6OS/RD0vm4uIA= +github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f/go.mod h1:IfZAMTHB6XkZSeXUqriemErjAWCCzT0LwjKFYCZyw0I= +github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk= +github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI= +github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY= +github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo= +github.com/charmbracelet/x/windows v0.2.2 h1:IofanmuvaxnKHuV04sC0eBy/smG6kIKrWG2/jYn2GuM= +github.com/charmbracelet/x/windows v0.2.2/go.mod h1:/8XtdKZzedat74NQFn0NGlGL4soHB0YQZrETF96h75k= +github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 h1:krfRl01rzPzxSxyLyrChD+U+MzsBXbm0OwYYB67uF+4= +github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589/go.mod h1:OuDyvmLnMCwa2ep4Jkm6nyA0ocJuZlGyk2gGseVzERM= +github.com/clipperhouse/displaywidth v0.6.2 h1:ZDpTkFfpHOKte4RG5O/BOyf3ysnvFswpyYrV7z2uAKo= +github.com/clipperhouse/displaywidth v0.6.2/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o= +github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= +github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= +github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= +github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/cloudflare/circl v1.6.2 h1:hL7VBpHHKzrV5WTfHCaBsgx/HGbBYlgrwvNXEVDYYsQ= +github.com/cloudflare/circl v1.6.2/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= +github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f h1:Y8xYupdHxryycyPlc9Y+bSQAYZnetRJ70VMVKm5CKI0= +github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= +github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4= +github.com/containerd/continuity v0.4.5/go.mod h1:/lNJvtJKUQStBzpVQ1+rasXO1LAWtUQssk28EZvJ3nE= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/stargz-snapshotter/estargz v0.18.1 h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8= +github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q= +github.com/coreos/go-oidc/v3 v3.17.0 h1:hWBGaQfbi0iVviX4ibC7bk8OKT5qNr4klBaCHVNvehc= +github.com/coreos/go-oidc/v3 v3.17.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= +github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q= +github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw= +github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= +github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0= +github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/dghubble/go-twitter v0.0.0-20211115160449-93a8679adecb h1:7ENzkH+O3juL+yj2undESLTaAeRllHwCs/b8z6aWSfc= +github.com/dghubble/go-twitter v0.0.0-20211115160449-93a8679adecb/go.mod h1:qhZBgV9e4WyB1JNjHpcXVkUe3knWUwYuAPB1hITdm50= +github.com/dghubble/oauth1 v0.7.3 h1:EkEM/zMDMp3zOsX2DC/ZQ2vnEX3ELK0/l9kb+vs4ptE= +github.com/dghubble/oauth1 v0.7.3/go.mod h1:oxTe+az9NSMIucDPDCCtzJGsPhciJV33xocHfcR2sVY= +github.com/dghubble/sling v1.4.0 h1:/n8MRosVTthvMbwlNZgLx579OGVjUOy3GNEv5BIqAWY= +github.com/dghubble/sling v1.4.0/go.mod h1:0r40aNsU9EdDUVBNhfCstAtFgutjgJGYbO1oNzkMoM8= +github.com/digitorus/pkcs7 v0.0.0-20250730155240-ffadbf3f398c h1:g349iS+CtAvba7i0Ee9EP1TlTZ9w+UncBY6HSmsFZa0= +github.com/digitorus/pkcs7 v0.0.0-20250730155240-ffadbf3f398c/go.mod h1:mCGGmWkOQvEuLdIRfPIpXViBfpWto4AhwtJlAvo62SQ= +github.com/digitorus/timestamp v0.0.0-20250524132541-c45532741eea h1:ALRwvjsSP53QmnN3Bcj0NpR8SsFLnskny/EIMebAk1c= +github.com/digitorus/timestamp v0.0.0-20250524132541-c45532741eea/go.mod h1:GvWntX9qiTlOud0WkQ6ewFm0LPy5JUR1Xo0Ngbd1w6Y= +github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/distribution/distribution/v3 v3.0.0 h1:q4R8wemdRQDClzoNNStftB2ZAfqOiN6UX90KJc4HjyM= +github.com/distribution/distribution/v3 v3.0.0/go.mod h1:tRNuFoZsUdyRVegq8xGNeds4KLjwLCRin/tTo6i1DhU= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/cli v29.2.0-rc.1.0.20251223174200-874b831c0e49+incompatible h1:qzsQ4KSWZG5dBSDv3XFBCvBcy6/jC1odDTwe2SbMBh0= +github.com/docker/cli v29.2.0-rc.1.0.20251223174200-874b831c0e49+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= +github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= +github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.9.4 h1:76ItO69/AP/V4yT9V4uuuItG0B1N8hvt0T0c0NN/DzI= +github.com/docker/docker-credential-helpers v0.9.4/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= +github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= +github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= +github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/envoyproxy/go-control-plane/envoy v1.35.0 h1:ixjkELDE+ru6idPxcHLj8LBVc2bFP7iBytj353BoHUo= +github.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs= +github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= +github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= +github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= +github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/github/smimesign v0.2.0 h1:Hho4YcX5N1I9XNqhq0fNx0Sts8MhLonHd+HRXVGNjvk= +github.com/github/smimesign v0.2.0/go.mod h1:iZiiwNT4HbtGRVqCQu7uJPEZCuEE5sfSSttcnePkDl4= +github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= +github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= +github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= +github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.7.0 h1:83lBUJhGWhYp0ngzCMSgllhUSuoHP1iEWYjsPl9nwqM= +github.com/go-git/go-billy/v5 v5.7.0/go.mod h1:/1IUejTKH8xipsAcdfcSAlUlo2J7lkYV8GTKxAT/L3E= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= +github.com/go-git/go-git/v5 v5.16.5 h1:mdkuqblwr57kVfXri5TTH+nMFLNUxIj9Z7F5ykFbw5s= +github.com/go-git/go-git/v5 v5.16.5/go.mod h1:QOMLpNf1qxuSY4StA/ArOdfFR2TrKEjJiye2kel2m+M= +github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs= +github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/analysis v0.24.1 h1:Xp+7Yn/KOnVWYG8d+hPksOYnCYImE3TieBa7rBOesYM= +github.com/go-openapi/analysis v0.24.1/go.mod h1:dU+qxX7QGU1rl7IYhBC8bIfmWQdX4Buoea4TGtxXY84= +github.com/go-openapi/errors v0.22.5 h1:Yfv4O/PRYpNF3BNmVkEizcHb3uLVVsrDt3LNdgAKRY4= +github.com/go-openapi/errors v0.22.5/go.mod h1:z9S8ASTUqx7+CP1Q8dD8ewGH/1JWFFLX/2PmAYNQLgk= +github.com/go-openapi/jsonpointer v0.22.4 h1:dZtK82WlNpVLDW2jlA1YCiVJFVqkED1MegOUy9kR5T4= +github.com/go-openapi/jsonpointer v0.22.4/go.mod h1:elX9+UgznpFhgBuaMQ7iu4lvvX1nvNsesQ3oxmYTw80= +github.com/go-openapi/jsonreference v0.21.4 h1:24qaE2y9bx/q3uRK/qN+TDwbok1NhbSmGjjySRCHtC8= +github.com/go-openapi/jsonreference v0.21.4/go.mod h1:rIENPTjDbLpzQmQWCj5kKj3ZlmEh+EFVbz3RTUh30/4= +github.com/go-openapi/loads v0.23.2 h1:rJXAcP7g1+lWyBHC7iTY+WAF0rprtM+pm8Jxv1uQJp4= +github.com/go-openapi/loads v0.23.2/go.mod h1:IEVw1GfRt/P2Pplkelxzj9BYFajiWOtY2nHZNj4UnWY= +github.com/go-openapi/runtime v0.29.2 h1:UmwSGWNmWQqKm1c2MGgXVpC2FTGwPDQeUsBMufc5Yj0= +github.com/go-openapi/runtime v0.29.2/go.mod h1:biq5kJXRJKBJxTDJXAa00DOTa/anflQPhT0/wmjuy+0= +github.com/go-openapi/spec v0.22.2 h1:KEU4Fb+Lp1qg0V4MxrSCPv403ZjBl8Lx1a83gIPU8Qc= +github.com/go-openapi/spec v0.22.2/go.mod h1:iIImLODL2loCh3Vnox8TY2YWYJZjMAKYyLH2Mu8lOZs= +github.com/go-openapi/strfmt v0.25.0 h1:7R0RX7mbKLa9EYCTHRcCuIPcaqlyQiWNPTXwClK0saQ= +github.com/go-openapi/strfmt v0.25.0/go.mod h1:nNXct7OzbwrMY9+5tLX4I21pzcmE6ccMGXl3jFdPfn8= +github.com/go-openapi/swag v0.25.4 h1:OyUPUFYDPDBMkqyxOTkqDYFnrhuhi9NR6QVUvIochMU= +github.com/go-openapi/swag v0.25.4/go.mod h1:zNfJ9WZABGHCFg2RnY0S4IOkAcVTzJ6z2Bi+Q4i6qFQ= +github.com/go-openapi/swag/cmdutils v0.25.4 h1:8rYhB5n6WawR192/BfUu2iVlxqVR9aRgGJP6WaBoW+4= +github.com/go-openapi/swag/cmdutils v0.25.4/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0= +github.com/go-openapi/swag/conv v0.25.4 h1:/Dd7p0LZXczgUcC/Ikm1+YqVzkEeCc9LnOWjfkpkfe4= +github.com/go-openapi/swag/conv v0.25.4/go.mod h1:3LXfie/lwoAv0NHoEuY1hjoFAYkvlqI/Bn5EQDD3PPU= +github.com/go-openapi/swag/fileutils v0.25.4 h1:2oI0XNW5y6UWZTC7vAxC8hmsK/tOkWXHJQH4lKjqw+Y= +github.com/go-openapi/swag/fileutils v0.25.4/go.mod h1:cdOT/PKbwcysVQ9Tpr0q20lQKH7MGhOEb6EwmHOirUk= +github.com/go-openapi/swag/jsonname v0.25.4 h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ9869Vye1bNHI= +github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag= +github.com/go-openapi/swag/jsonutils v0.25.4 h1:VSchfbGhD4UTf4vCdR2F4TLBdLwHyUDTd1/q4i+jGZA= +github.com/go-openapi/swag/jsonutils v0.25.4/go.mod h1:7OYGXpvVFPn4PpaSdPHJBtF0iGnbEaTk8AvBkoWnaAY= +github.com/go-openapi/swag/loading v0.25.4 h1:jN4MvLj0X6yhCDduRsxDDw1aHe+ZWoLjW+9ZQWIKn2s= +github.com/go-openapi/swag/loading v0.25.4/go.mod h1:rpUM1ZiyEP9+mNLIQUdMiD7dCETXvkkC30z53i+ftTE= +github.com/go-openapi/swag/mangling v0.25.4 h1:2b9kBJk9JvPgxr36V23FxJLdwBrpijI26Bx5JH4Hp48= +github.com/go-openapi/swag/mangling v0.25.4/go.mod h1:6dxwu6QyORHpIIApsdZgb6wBk/DPU15MdyYj/ikn0Hg= +github.com/go-openapi/swag/netutils v0.25.4 h1:Gqe6K71bGRb3ZQLusdI8p/y1KLgV4M/k+/HzVSqT8H0= +github.com/go-openapi/swag/netutils v0.25.4/go.mod h1:m2W8dtdaoX7oj9rEttLyTeEFFEBvnAx9qHd5nJEBzYg= +github.com/go-openapi/swag/stringutils v0.25.4 h1:O6dU1Rd8bej4HPA3/CLPciNBBDwZj9HiEpdVsb8B5A8= +github.com/go-openapi/swag/stringutils v0.25.4/go.mod h1:GTsRvhJW5xM5gkgiFe0fV3PUlFm0dr8vki6/VSRaZK0= +github.com/go-openapi/swag/typeutils v0.25.4 h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv42wAJSN91wRw= +github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE= +github.com/go-openapi/swag/yamlutils v0.25.4 h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw= +github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc= +github.com/go-openapi/validate v0.25.1 h1:sSACUI6Jcnbo5IWqbYHgjibrhhmt3vR6lCzKZnmAgBw= +github.com/go-openapi/validate v0.25.1/go.mod h1:RMVyVFYte0gbSTaZ0N4KmTn6u/kClvAFp+mAVfS/DQc= +github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= +github.com/go-restruct/restruct v1.2.0-alpha h1:2Lp474S/9660+SJjpVxoKuWX09JsXHSrdV7Nv3/gkvc= +github.com/go-restruct/restruct v1.2.0-alpha/go.mod h1:KqrpKpn4M8OLznErihXTGLlsXFGeLxHUrLRRI/1YjGk= +github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1 h1:wG8n/XJQ07TmjbITcGiUaOtXxdrINDz1b0J1w0SzqDc= +github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1/go.mod h1:A2S0CWkNylc2phvKXWBBdD3K0iGnDBGbzRpISP2zBl8= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= +github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= +github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/certificate-transparency-go v1.3.2 h1:9ahSNZF2o7SYMaKaXhAumVEzXB2QaayzII9C8rv7v+A= +github.com/google/certificate-transparency-go v1.3.2/go.mod h1:H5FpMUaGa5Ab2+KCYsxg6sELw3Flkl7pGZzWdBoYLXs= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/go-containerregistry v0.20.7 h1:24VGNpS0IwrOZ2ms2P1QE3Xa5X9p4phx0aUgzYzHW6I= +github.com/google/go-containerregistry v0.20.7/go.mod h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM= +github.com/google/go-github/v80 v80.0.0 h1:BTyk3QOHekrk5VF+jIGz1TNEsmeoQG9K/UWaaP+EWQs= +github.com/google/go-github/v80 v80.0.0/go.mod h1:pRo4AIMdHW83HNMGfNysgSAv0vmu+/pkY8nZO9FT9Yo= +github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0= +github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU= +github.com/google/ko v0.18.1 h1:F2WDFIi/eZe5thmFCuk/uH0eVr7ilWCThl+UoTHEKSk= +github.com/google/ko v0.18.1/go.mod h1:YjJWJhmZ7prVtHm/LFfwqeIAIhcyr/gxtztI8+Jrxl4= +github.com/google/renameio/v2 v2.0.0 h1:UifI23ZTGY8Tt29JbYFiuyIU3eX+RNFtUwefq9qAhxg= +github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= +github.com/google/rpmpack v0.7.1 h1:YdWh1IpzOjBz60Wvdw0TU0A5NWP+JTVHA5poDqwMO2o= +github.com/google/rpmpack v0.7.1/go.mod h1:h1JL16sUTWCLI/c39ox1rDaTBo3BXUQGjczVJyK4toU= +github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.7.0 h1:JxUKI6+CVBgCO2WToKy/nQk0sS+amI9z9EjVmdaocj4= +github.com/google/wire v0.7.0/go.mod h1:n6YbUQD9cPKTnHXEBN2DXlOp/mVADhVErcMFb0v3J18= +github.com/googleapis/enterprise-certificate-proxy v0.3.7 h1:zrn2Ee/nWmHulBx5sAVrGgAa0f2/R35S4DJwfFaUPFQ= +github.com/googleapis/enterprise-certificate-proxy v0.3.7/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= +github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo= +github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= +github.com/goreleaser/chglog v0.7.4 h1:3pnNt/XCrUcAOq+KC91Azlgp5CRv4GHo1nl8Aws7OzI= +github.com/goreleaser/chglog v0.7.4/go.mod h1:dTVoZZagTz7hHdWaZ9OshHntKiF44HbWIHWxYJQ/h0Y= +github.com/goreleaser/fileglob v1.4.0 h1:Y7zcUnzQjT1gbntacGAkIIfLv+OwojxTXBFxjSFoBBs= +github.com/goreleaser/fileglob v1.4.0/go.mod h1:1pbHx7hhmJIxNZvm6fi6WVrnP0tndq6p3ayWdLn1Yf8= +github.com/goreleaser/goreleaser/v2 v2.13.3 h1:S8d13YgzzFXxoUJ9NJInuyq3lPNCXTcuW8wSvM+rXnQ= +github.com/goreleaser/goreleaser/v2 v2.13.3/go.mod h1:Rj+yhhXrO6WHc6cNh1GggpxzhhHXv9lczL5M4cSV3oA= +github.com/goreleaser/nfpm/v2 v2.44.1 h1:g+QNjkEx+C2Zu8dB48t9da/VfV0CWS5TMjxT8HG1APY= +github.com/goreleaser/nfpm/v2 v2.44.1/go.mod h1:drIYLqkla9SaOLbSnaFOmSIv5LXGfhHcbK54st97b4s= +github.com/goreleaser/quill v0.0.0-20251224035235-ab943733386f h1:2HQF/pifDK7XnmVhQi3OecdUcHLOaXIKVKscW8qKzCk= +github.com/goreleaser/quill v0.0.0-20251224035235-ab943733386f/go.mod h1:Xp6aA14QqdPBg7UHToFag7mrjsV7XaKEpw1t6fDfT6M= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/schema v1.4.1/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= +github.com/hairyhenderson/go-which v0.2.2/go.mod h1:vBfncX6hXWQhY1Qte8qQNWuJNnsGPqFLjgmwEETyOAo= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48= +github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= +github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/in-toto/attestation v1.1.2 h1:MBFn6lsMq6dptQZJBhalXTcWMb/aJy3V+GX3VYj/V1E= +github.com/in-toto/attestation v1.1.2/go.mod h1:gYFddHMZj3DiQ0b62ltNi1Vj5rC879bTmBbrv9CRHpM= +github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= +github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E= +github.com/invopop/jsonschema v0.13.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= +github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= +github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= +github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs= +github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM= +github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= +github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= +github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= +github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8= +github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7PTTDQNsQ= +github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= +github.com/ipfs/go-ipfs-ds-help v1.1.1 h1:B5UJOH52IbcfS56+Ul+sv8jnIV10lbjLF5eOO0C66Nw= +github.com/ipfs/go-ipfs-ds-help v1.1.1/go.mod h1:75vrVCkSdSFidJscs8n4W+77AtTpCIAdDGAwjitJMIo= +github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCmE0= +github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs= +github.com/ipfs/go-ipld-cbor v0.1.0 h1:dx0nS0kILVivGhfWuB6dUpMa/LAwElHPw1yOGYopoYs= +github.com/ipfs/go-ipld-cbor v0.1.0/go.mod h1:U2aYlmVrJr2wsUBU67K4KgepApSZddGRDWBYR0H4sCk= +github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U= +github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg= +github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= +github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= +github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= +github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= +github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= +github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= +github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A= +github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= +github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= +github.com/jedisct1/go-minisign v0.0.0-20241212093149-d2f9f49435c7 h1:FWpSWRD8FbVkKQu8M1DM9jF5oXFLyE+XpisIYfdzbic= +github.com/jedisct1/go-minisign v0.0.0-20241212093149-d2f9f49435c7/go.mod h1:BMxO138bOokdgt4UaxZiEfypcSHX0t6SIFimVP1oRfk= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= +github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= +github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= +github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= +github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= +github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= +github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ= +github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-mastodon v0.0.10 h1:wz1d/aCkJOIkz46iv4eAqXHVreUMxydY1xBWrPBdDeE= +github.com/mattn/go-mastodon v0.0.10/go.mod h1:YBofeqh7G6s787787NQR8erBYz6fKDu+KNMrn5RuD6Y= +github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= +github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= +github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= +github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= +github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/moby/api v1.52.0 h1:00BtlJY4MXkkt84WhUZPRqt5TvPbgig2FZvTbe3igYg= +github.com/moby/moby/api v1.52.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= +github.com/moby/moby/client v0.2.1 h1:1Grh1552mvv6i+sYOdY+xKKVTvzJegcVMhuXocyDz/k= +github.com/moby/moby/client v0.2.1/go.mod h1:O+/tw5d4a1Ha/ZA/tPxIZJapJRUS6LNZ1wiVRxYHyUE= +github.com/moby/sys/user v0.3.0 h1:9ni5DlcW5an3SvRSx4MouotOygvzaXbaSrc/wGDFWPo= +github.com/moby/sys/user v0.3.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= +github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= +github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= +github.com/modelcontextprotocol/registry v1.4.0 h1:k07g5UPubxonZ627B/da+e3oCkFr9DLoYqaxa8aawwU= +github.com/modelcontextprotocol/registry v1.4.0/go.mod h1:50oU8Q6ecBwVoH7G6e3KJwdhj0ShBH1Xmfvz8kst5AU= +github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= +github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/mango v0.2.0 h1:iNNc0c5VLQ6fsMgAqGQofByNUBH2Q2nEbD6TaI+5yyQ= +github.com/muesli/mango v0.2.0/go.mod h1:5XFpbC8jY5UUv89YQciiXNlbi+iJgt29VDC5xbzrLL4= +github.com/muesli/mango-cobra v1.3.0 h1:vQy5GvPg3ndOSpduxutqFoINhWk3vD5K2dXo5E8pqec= +github.com/muesli/mango-cobra v1.3.0/go.mod h1:Cj1ZrBu3806Qw7UjxnAUgE+7tllUBj1NCLQDwwGx19E= +github.com/muesli/mango-pflag v0.1.0 h1:UADqbYgpUyRoBja3g6LUL+3LErjpsOwaC9ywvBWe7Sg= +github.com/muesli/mango-pflag v0.1.0/go.mod h1:YEQomTxaCUp8PrbhFh10UfbhbQrM/xJ4i2PB8VTLLW0= +github.com/muesli/roff v0.1.0 h1:YD0lalCotmYuF5HhZliKWlIx7IEhiXeSfq7hNjFqGF8= +github.com/muesli/roff v0.1.0/go.mod h1:pjAHQM9hdUUwm/krAfrLGgJkXJ+YuhtsfZ42kieB2Ig= +github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aGkbLYxPE= +github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= +github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= +github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= +github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= +github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= +github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= +github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= +github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= +github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= +github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= +github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= +github.com/opencontainers/runc v1.2.8 h1:RnEICeDReapbZ5lZEgHvj7E9Q3Eex9toYmaGBsbvU5Q= +github.com/opencontainers/runc v1.2.8/go.mod h1:cC0YkmZcuvr+rtBZ6T7NBoVbMGNAdLa/21vIElJDOzI= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/ory/dockertest/v3 v3.12.0 h1:3oV9d0sDzlSQfHtIaB5k6ghUCVMVLpAY8hwrqoCyRCw= +github.com/ory/dockertest/v3 v3.12.0/go.mod h1:aKNDTva3cp8dwOWwb9cWuX84aH5akkxXRvO7KCwWVjE= +github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= +github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0= +github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f h1:VXTQfuJj9vKR4TCkEuWIckKvdHFeJH/huIFJ9/cXOB0= +github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f/go.mod h1:/zvteZs/GwLtCgZ4BL6CBsk9IKIlexP43ObX9AxTqTw= +github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= +github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.67.4 h1:yR3NqWO1/UyO1w2PhUvXlGQs/PtFmoveVO0KZ4+Lvsc= +github.com/prometheus/common v0.67.4/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwkdd/YKtTbyI= +github.com/prometheus/otlptranslator v1.0.0 h1:s0LJW/iN9dkIH+EnhiD3BlkkP5QVIUVEoIwkU+A6qos= +github.com/prometheus/otlptranslator v1.0.0/go.mod h1:vRYWnXvI6aWGpsdY/mOT/cbeVRBlPWtBNDb7kGR3uKM= +github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= +github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= +github.com/r3labs/diff/v3 v3.0.2 h1:yVuxAY1V6MeM4+HNur92xkS39kB/N+cFi2hMkY06BbA= +github.com/r3labs/diff/v3 v3.0.2/go.mod h1:Cy542hv0BAEmhDYWtGxXRQ4kqRsVIcEjG9gChUlTmkw= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= +github.com/sassoftware/go-rpmutils v0.4.0 h1:ojND82NYBxgwrV+mX1CWsd5QJvvEZTKddtCdFLPWhpg= +github.com/sassoftware/go-rpmutils v0.4.0/go.mod h1:3goNWi7PGAT3/dlql2lv3+MSN5jNYPjT5mVcQcIsYzI= +github.com/sassoftware/relic v7.2.1+incompatible h1:Pwyh1F3I0r4clFJXkSI8bOyJINGqpgjJU3DYAZeI05A= +github.com/sassoftware/relic v7.2.1+incompatible/go.mod h1:CWfAxv73/iLZ17rbyhIEq3K9hs5w6FpNMdUT//qR+zk= +github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e h1:7q6NSFZDeGfvvtIRwBrU/aegEYJYmvev0cHAwo17zZQ= +github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e/go.mod h1:DkpGd78rljTxKAnTDPFqXSGxvETQnJyuSOQwsHycqfs= +github.com/secure-systems-lab/go-securesystemslib v0.9.1 h1:nZZaNz4DiERIQguNy0cL5qTdn9lR8XKHf4RUyG1Sx3g= +github.com/secure-systems-lab/go-securesystemslib v0.9.1/go.mod h1:np53YzT0zXGMv6x4iEWc9Z59uR+x+ndLwCLqPYpLXVU= +github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= +github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= +github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= +github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= +github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= +github.com/sigstore/cosign/v2 v2.6.1 h1:7Wf67ENNCjg+1fLqHRPgKUNaCCnCavnEfCe1LApOoIo= +github.com/sigstore/cosign/v2 v2.6.1/go.mod h1:L37doL+7s6IeCXFODV2J7kds5Po/srlVzA//++YqAJ8= +github.com/sigstore/protobuf-specs v0.5.0 h1:F8YTI65xOHw70NrvPwJ5PhAzsvTnuJMGLkA4FIkofAY= +github.com/sigstore/protobuf-specs v0.5.0/go.mod h1:+gXR+38nIa2oEupqDdzg4qSBT0Os+sP7oYv6alWewWc= +github.com/sigstore/rekor v1.4.3 h1:2+aw4Gbgumv8vYM/QVg6b+hvr4x4Cukur8stJrVPKU0= +github.com/sigstore/rekor v1.4.3/go.mod h1:o0zgY087Q21YwohVvGwV9vK1/tliat5mfnPiVI3i75o= +github.com/sigstore/rekor-tiles/v2 v2.0.1 h1:1Wfz15oSRNGF5Dzb0lWn5W8+lfO50ork4PGIfEKjZeo= +github.com/sigstore/rekor-tiles/v2 v2.0.1/go.mod h1:Pjsbhzj5hc3MKY8FfVTYHBUHQEnP0ozC4huatu4x7OU= +github.com/sigstore/sigstore v1.10.3 h1:s7fBYYOzW/2Vd0nND2ZdpWySb5vRF2u9eix/NZMHJm0= +github.com/sigstore/sigstore v1.10.3/go.mod h1:T26vXIkpnGEg391v3TaZ8EERcXbnjtZb/1erh5jbIQk= +github.com/sigstore/sigstore-go v1.1.4 h1:wTTsgCHOfqiEzVyBYA6mDczGtBkN7cM8mPpjJj5QvMg= +github.com/sigstore/sigstore-go v1.1.4/go.mod h1:2U/mQOT9cjjxrtIUeKDVhL+sHBKsnWddn8URlswdBsg= +github.com/sigstore/timestamp-authority/v2 v2.0.3 h1:sRyYNtdED/ttLCMdaYnwpf0zre1A9chvjTnCmWWxN8Y= +github.com/sigstore/timestamp-authority/v2 v2.0.3/go.mod h1:mDaHxkt3HmZYoIlwYj4QWo0RUr7VjYU52aVO5f5Qb3I= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= +github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28JjdBg= +github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow= +github.com/slack-go/slack v0.17.3 h1:zV5qO3Q+WJAQ/XwbGfNFrRMaJ5T/naqaonyPV/1TP4g= +github.com/slack-go/slack v0.17.3/go.mod h1:X+UqOufi3LYQHDnMG1vxf0J8asC6+WllXrVrhl8/Prk= +github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= +github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= +github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= +github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= +github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= +github.com/spiffe/go-spiffe/v2 v2.6.0 h1:l+DolpxNWYgruGQVV0xsfeya3CsC7m8iBzDnMpsbLuo= +github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/theupdateframework/go-tuf v0.7.0 h1:CqbQFrWo1ae3/I0UCblSbczevCCbS31Qvs5LdxRWqRI= +github.com/theupdateframework/go-tuf v0.7.0/go.mod h1:uEB7WSY+7ZIugK6R1hiBMBjQftaFzn7ZCDJcp1tCUug= +github.com/theupdateframework/go-tuf/v2 v2.3.0 h1:gt3X8xT8qu/HT4w+n1jgv+p7koi5ad8XEkLXXZqG9AA= +github.com/theupdateframework/go-tuf/v2 v2.3.0/go.mod h1:xW8yNvgXRncmovMLvBxKwrKpsOwJZu/8x+aB0KtFcdw= +github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 h1:nrZ3ySNYwJbSpD6ce9duiP+QkD3JuLCcWkdaehUS/3Y= +github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80/go.mod h1:iFyPdL66DjUD96XmzVL3ZntbzcflLnznH0fr99w5VqE= +github.com/transparency-dev/formats v0.0.0-20251208091212-1378f9e1b1b7 h1:PwfIAvobqihWBi1/KIsw0IzTEJ89rYJqmXfzmqacySw= +github.com/transparency-dev/formats v0.0.0-20251208091212-1378f9e1b1b7/go.mod h1:mQ5ASe7MNPT+yRc47hLguwsNdE2Go0mT6piyzUO+ynw= +github.com/transparency-dev/merkle v0.0.2 h1:Q9nBoQcZcgPamMkGn7ghV8XiTZ/kRxn1yCG81+twTK4= +github.com/transparency-dev/merkle v0.0.2/go.mod h1:pqSy+OXefQ1EDUVmAJ8MUhHB9TXGuzVAT58PqBoHz1A= +github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= +github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/vbatts/tar-split v0.12.2 h1:w/Y6tjxpeiFMR47yzZPlPj/FcPLpXbTUi/9H7d3CPa4= +github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= +github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= +github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0 h1:0KGbf+0SMg+UFy4e1A/CPVvXn21f1qtWdeJwxZFoQG8= +github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0/go.mod h1:jLXFoL31zFaHKAAyZUh+sxiTDFe1L1ZHrcK2T1itVKA= +github.com/whyrusleeping/cbor-gen v0.1.3-0.20240731173018-74d74643234c h1:Jmc9fHbd0LKFmS5CkLgczNUyW36UbiyvbHCG9xCTyiw= +github.com/whyrusleeping/cbor-gen v0.1.3-0.20240731173018-74d74643234c/go.mod h1:pM99HXyEbSQHcosHc0iW7YFmwnscr+t9Te4ibko05so= +github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= +github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo= +github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +gitlab.com/digitalxero/go-conventional-commit v1.0.7 h1:8/dO6WWG+98PMhlZowt/YjuiKhqhGlOCwlIV8SqqGh8= +gitlab.com/digitalxero/go-conventional-commit v1.0.7/go.mod h1:05Xc2BFsSyC5tKhK0y+P3bs0AwUtNuTp+mTpbCU/DZ0= +gitlab.com/gitlab-org/api/client-go v1.11.0 h1:L+qzw4kiCf3jKdKHQAwiqYKITvzBrW/tl8ampxNLlv0= +gitlab.com/gitlab-org/api/client-go v1.11.0/go.mod h1:adtVJ4zSTEJ2fP5Pb1zF4Ox1OKFg0MH43yxpb0T0248= +go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= +go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib/bridges/prometheus v0.63.0 h1:/Rij/t18Y7rUayNg7Id6rPrEnHgorxYabm2E6wUdPP4= +go.opentelemetry.io/contrib/bridges/prometheus v0.63.0/go.mod h1:AdyDPn6pkbkt2w01n3BubRVk7xAsCRq1Yg1mpfyA/0E= +go.opentelemetry.io/contrib/detectors/gcp v1.38.0 h1:ZoYbqX7OaA/TAikspPl3ozPI6iY6LiIY9I8cUfm+pJs= +go.opentelemetry.io/contrib/detectors/gcp v1.38.0/go.mod h1:SU+iU7nu5ud4oCb3LQOhIZ3nRLj6FNVrKgtflbaf2ts= +go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 h1:jmTVJ86dP60C01K3slFQa2NQ/Aoi7zA+wy7vMOKD9H4= +go.opentelemetry.io/contrib/exporters/autoexport v0.57.0/go.mod h1:EJBheUMttD/lABFyLXhce47Wr6DPWYReCzaZiXadH7g= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 h1:RN3ifU8y4prNWeEnQp2kRRHz8UwonAEYZl8tUzHEXAk= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0/go.mod h1:habDz3tEWiFANTo6oUE99EmaFUrCNYAAg3wiVmusm70= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 h1:ssfIgGNANqpVFCndZvcuyKbl0g+UAVcbBcqGkG28H0Y= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0/go.mod h1:GQ/474YrbE4Jx8gZ4q5I4hrhUzM6UPzyrqJYV2AqPoQ= +go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0 h1:OMqPldHt79PqWKOMYIAQs3CxAi7RLgPxwfFSwr4ZxtM= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0/go.mod h1:1biG4qiqTxKiUCtoWDPpL3fB3KxVwCiGw81j3nKMuHE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0 h1:QQqYw3lkrzwVsoEX0w//EhH/TCnpRdEenKBOOEIMjWc= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0/go.mod h1:gSVQcr17jk2ig4jqJ2DX30IdWH251JcNAecvrqTxH1s= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0 h1:zG8GlgXCJQd5BU98C0hZnBbElszTmUgCNCfYneaDL0A= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.37.0/go.mod h1:hOfBCz8kv/wuq73Mx2H2QnWokh/kHZxkh6SNF2bdKtw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 h1:t/Qur3vKSkUCcDVaSumWF2PKHt85pc7fRvFuoVT8qFU= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0/go.mod h1:Rl61tySSdcOJWoEgYZVtmnKdA0GeKrSqkHC1t+91CH8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.39.0 h1:f0cb2XPmrqn4XMy9PNliTgRKJgS5WcL/u0/WRYGz4t0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.39.0/go.mod h1:vnakAaFckOMiMtOIhFI2MNH4FYrZzXCYxmb1LlhoGz8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= +go.opentelemetry.io/otel/exporters/prometheus v0.61.0 h1:cCyZS4dr67d30uDyh8etKM2QyDsQ4zC9ds3bdbrVoD0= +go.opentelemetry.io/otel/exporters/prometheus v0.61.0/go.mod h1:iivMuj3xpR2DkUrUya3TPS/Z9h3dz7h01GxU+fQBRNg= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.14.0 h1:B/g+qde6Mkzxbry5ZZag0l7QrQBCtVm7lVjaLgmpje8= +go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.14.0/go.mod h1:mOJK8eMmgW6ocDJn6Bn11CcZ05gi3P8GylBXEkZtbgA= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0 h1:6VjV6Et+1Hd2iLZEPtdV7vie80Yyqf7oikJLjQ/myi0= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0/go.mod h1:u8hcp8ji5gaM/RfcOo8z9NMnf1pVLfVY7lBY2VOGuUU= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 h1:cC2yDI3IQd0Udsux7Qmq8ToKAx1XCilTQECZ0KDZyTw= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0/go.mod h1:2PD5Ex6z8CFzDbTdOlwyNIUywRr1DN0ospafJM1wJ+s= +go.opentelemetry.io/otel/log v0.14.0 h1:2rzJ+pOAZ8qmZ3DDHg73NEKzSZkhkGIua9gXtxNGgrM= +go.opentelemetry.io/otel/log v0.14.0/go.mod h1:5jRG92fEAgx0SU/vFPxmJvhIuDU9E1SUnEQrMlJpOno= +go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= +go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= +go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= +go.opentelemetry.io/otel/sdk/log v0.14.0 h1:JU/U3O7N6fsAXj0+CXz21Czg532dW2V4gG1HE/e8Zrg= +go.opentelemetry.io/otel/sdk/log v0.14.0/go.mod h1:imQvII+0ZylXfKU7/wtOND8Hn4OpT3YUoIgqJVksUkM= +go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= +go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= +go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= +go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= +go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +gocloud.dev v0.44.0 h1:iVyMAqFl2r6xUy7M4mfqwlN+21UpJoEtgHEcfiLMUXs= +gocloud.dev v0.44.0/go.mod h1:ZmjROXGdC/eKZLF1N+RujDlFRx3D+4Av2thREKDMVxY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= +golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= +golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= +golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= +golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2 h1:O1cMQHRfwNpDfDJerqRoE2oD+AFlyid87D40L/OkkJo= +golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2/go.mod h1:b7fPSJ0pKZ3ccUh8gnTONJxhn3c/PS6tyzQvyqw4iA8= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= +golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= +golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= +golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= +golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +google.golang.org/api v0.257.0 h1:8Y0lzvHlZps53PEaw+G29SsQIkuKrumGWs9puiexNAA= +google.golang.org/api v0.257.0/go.mod h1:4eJrr+vbVaZSqs7vovFd1Jb/A6ml6iw2e6FBYf3GAO4= +google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2 h1:stRtB2UVzFOWnorVuwF0BVVEjQ3AN6SjHWdg811UIQM= +google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:yJ2HH4EHEDTd3JiLmhds6NkJ17ITVYOdV3m3VKOnws0= +google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 h1:7LRqPCEdE4TP4/9psdaB7F2nhZFfBiGJomA5sojLWdU= +google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= +google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= +gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/mail.v2 v2.3.1 h1:WYFn/oANrAGP2C0dcV6/pbkPzv8yGzqTjPmTeO7qoXk= +gopkg.in/mail.v2 v2.3.1/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= +lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +mvdan.cc/editorconfig v0.3.0 h1:D1D2wLYEYGpawWT5SpM5pRivgEgXjtEXwC9MWhEY0gQ= +mvdan.cc/editorconfig v0.3.0/go.mod h1:NcJHuDtNOTEJ6251indKiWuzK6+VcrMuLzGMLKBFupQ= +mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= +sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= +sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= +software.sslmate.com/src/go-pkcs12 v0.6.0 h1:f3sQittAeF+pao32Vb+mkli+ZyT+VwKaD014qFGq6oU= +software.sslmate.com/src/go-pkcs12 v0.6.0/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI= From 4bbd8c40c12ff4cd2a25057231fa49266cad89ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Tue, 10 Feb 2026 15:08:19 +0100 Subject: [PATCH 03/13] Removed no longer useful root go.work.example --- go.work.example | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 go.work.example diff --git a/go.work.example b/go.work.example deleted file mode 100644 index 75d5a503..00000000 --- a/go.work.example +++ /dev/null @@ -1,24 +0,0 @@ -go 1.25.0 - -toolchain go1.25.7 - -// Necessary for launcher-config's internal.readCertsFromFile -godebug x509negativeserial=1 - -use ( - battle-server-broadcast - battle-server-manager - common - launcher - launcher-agent - launcher-common - launcher-config - launcher-config-admin - launcher-config-admin-agent - server - server-genCert - tools/scripts - tools/server-replay -) - -replace github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 => ./battle-server-broadcast From efb6b88ced1a821bdfba068e40f4dbf54bd6aa99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Wed, 11 Feb 2026 23:54:44 +0100 Subject: [PATCH 04/13] Server fix: not receiving others presence on login (regression) --- server/internal/models/game.go | 20 ++++++---- server/internal/models/presence.go | 39 +++++++++++++------ .../routes/game/login/platformlogin.go | 5 ++- 3 files changed, 43 insertions(+), 21 deletions(-) diff --git a/server/internal/models/game.go b/server/internal/models/game.go index b951b6e4..b29d8ae9 100644 --- a/server/internal/models/game.go +++ b/server/internal/models/game.go @@ -1,6 +1,10 @@ package models -import "net/http" +import ( + "net/http" + + "github.com/luskaner/ageLANServer/server/internal" +) type Game interface { Title() string @@ -112,13 +116,15 @@ func CreateMainGame(gameId string, opts *CreateMainGameOpts) Game { game.leaderboardDefinitions = opts.Instances.LeaderboardDefinitions game.leaderboardDefinitions.Initialize(leaderboards) } - if presenceDefinitions, ok := game.resources.ArrayFiles()["presenceData.json"]; ok { - if opts.Instances.PresenceDefinitions == nil { - opts.Instances.PresenceDefinitions = &MainPresenceDefinitions{} - } - game.presenceDefinitions = opts.Instances.PresenceDefinitions - game.presenceDefinitions.Initialize(presenceDefinitions) + if opts.Instances.PresenceDefinitions == nil { + opts.Instances.PresenceDefinitions = &MainPresenceDefinitions{} + } + var presenceDefinitions internal.A + if loadedPresenceDefinitions, ok := game.resources.ArrayFiles()["presenceData.json"]; ok { + presenceDefinitions = loadedPresenceDefinitions } + game.presenceDefinitions = opts.Instances.PresenceDefinitions + game.presenceDefinitions.Initialize(presenceDefinitions) return game } diff --git a/server/internal/models/presence.go b/server/internal/models/presence.go index 56de5492..820ebcf0 100644 --- a/server/internal/models/presence.go +++ b/server/internal/models/presence.go @@ -19,19 +19,34 @@ type MainPresenceDefinitions struct { } func (pd *MainPresenceDefinitions) Initialize(presence i.A) { - rawData := presence[1].(i.A) - pd.data = make(map[int32]PresenceDefinition, len(rawData)) - for _, rawPresence := range rawData { - rawPresenceArr := rawPresence.(i.A) - id := int32(rawPresenceArr[0].(float64)) - var label *string - if rawPresenceArr[2] != nil { - tmpLabel := rawPresenceArr[2].(string) - label = &tmpLabel + if len(presence) > 0 { + rawData := presence[1].(i.A) + pd.data = make(map[int32]PresenceDefinition, len(rawData)) + for _, rawPresence := range rawData { + rawPresenceArr := rawPresence.(i.A) + id := int32(rawPresenceArr[0].(float64)) + var label *string + if rawPresenceArr[2] != nil { + tmpLabel := rawPresenceArr[2].(string) + label = &tmpLabel + } + pd.data[id] = &MainPresenceDefinition{ + id: id, + label: label, + } } - pd.data[id] = &MainPresenceDefinition{ - id: id, - label: label, + } else { + pd.data = map[int32]PresenceDefinition{ + // Offline + 0: &MainPresenceDefinition{ + id: 0, + label: nil, + }, + // Online + 1: &MainPresenceDefinition{ + id: 1, + label: nil, + }, } } } diff --git a/server/internal/routes/game/login/platformlogin.go b/server/internal/routes/game/login/platformlogin.go index 71dd90e5..06e094d7 100644 --- a/server/internal/routes/game/login/platformlogin.go +++ b/server/internal/routes/game/login/platformlogin.go @@ -52,7 +52,8 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { } sessionId := sessions.Create(u.GetId(), req.ClientLibVersion) sess, _ = sessions.GetById(sessionId) - relationship.ChangePresence(req.ClientLibVersion, sessions, users, u, game.PresenceDefinitions(), 1) + presenceDefinitions := game.PresenceDefinitions() + relationship.ChangePresence(req.ClientLibVersion, sessions, users, u, presenceDefinitions, 1) profileInfo := u.EncodeProfileInfo(req.ClientLibVersion) if title == common.GameAoE3 || title == common.GameAoM || title == common.GameAoE4 { for user := range users.GetUserIds() { @@ -116,7 +117,7 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { allProfileInfo := i.A{ 0, profileInfo, - relationship.Relationships(title, req.ClientLibVersion, users, u, nil), + relationship.Relationships(title, req.ClientLibVersion, users, u, presenceDefinitions), extraProfileInfoList, avatarStats, nil, From c42f1a8053dcd86cad24a5618ddaa27a40ab767e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Thu, 12 Feb 2026 01:15:50 +0100 Subject: [PATCH 05/13] Upgrade to Go 1.26 (#392) --- .github/workflows/releaser.yml | 2 +- DEVELOPMENT.md | 2 +- README.md | 2 +- battle-server-manager/go.mod | 2 +- battle-server-manager/go.sum | 27 + battle-server-manager/internal/cmd/start.go | 5 +- common/executor/exec/executor.go | 3 +- common/go.mod | 6 +- common/go.sum | 30 +- go.work | 4 +- go.work.sum | 1304 ++++++++++++++--- launcher-agent/go.mod | 2 +- launcher-agent/go.sum | 1 + launcher-common/go.mod | 2 +- launcher-common/go.sum | 14 + .../serverKill/serverKill_windows.go | 3 +- launcher-config-admin-agent/go.mod | 2 +- launcher-config-admin-agent/go.sum | 2 + launcher-config-admin/go.mod | 2 +- launcher-config-admin/go.sum | 9 + launcher-config/go.mod | 2 +- launcher-config/go.sum | 11 + launcher/go.mod | 2 +- launcher/go.sum | 29 + launcher/internal/cmd/root.go | 6 +- server-genCert/go.mod | 2 +- server-genCert/go.sum | 8 + server/README.md | 2 +- server/go.mod | 4 +- server/go.sum | 36 +- server/internal/Map.go | 3 +- server/internal/cmd/root.go | 3 +- server/internal/http.go | 6 +- server/internal/logger/commLog.go | 3 +- server/internal/models/playfab/data/data.go | 3 +- server/internal/models/presence.go | 3 +- .../playfab/Client/LoginWithCustomID.go | 3 +- .../routes/playfab/Client/LoginWithSteam.go | 3 +- server/internal/routes/wss/wss.go | 23 +- tools/scripts/go.mod | 19 +- tools/scripts/internal/goreleaser/binary.go | 3 +- tools/server-docker/genCert/Dockerfile | 2 +- tools/server-docker/genCert/go.work.template | 4 +- tools/server-docker/server/Dockerfile | 2 +- tools/server-docker/server/go.work.template | 4 +- tools/server-replay/go.mod | 2 +- 46 files changed, 1332 insertions(+), 280 deletions(-) diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml index 6ae229e3..cabb680d 100644 --- a/.github/workflows/releaser.yml +++ b/.github/workflows/releaser.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v6 with: - go-version: '1.25.7' + go-version: '1.26.0' cache-dependency-path: | go.work.sum - name: Generate Goreleaser config diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 01f8d9c9..9cdd04cc 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,7 +1,7 @@ ### System requirements - OS requirements correspond to the server/launcher ones. Cross-compilation works on all systems out-the-box. -- [Go 1.25](https://go.dev/dl/) or higher, except for Windows 7-8 (and equivalent) which need an unofficial fork +- [Go 1.26](https://go.dev/dl/) or higher, except for Windows 7-8 (and equivalent) which need an unofficial fork like [thongtech/go-legacy-win7](https://github.com/thongtech/go-legacy-win7) (recommended) or [XTLS/go-win7](https://github.com/XTLS/go-win7). - [Git](https://git-scm.com/downloads), with the latest supported for Windows 7/8 being v2.46.2. diff --git a/README.md b/README.md index 9f206dd3..123003f6 100644 --- a/README.md +++ b/README.md @@ -171,7 +171,7 @@ system and configuration. - Solaris-based (Solaris and Illumos). - AIX. -Note: For the full list see [minimum requirements for Go](https://go.dev/wiki/MinimumRequirements) 1.25. +Note: For the full list see [minimum requirements for Go](https://go.dev/wiki/MinimumRequirements) 1.26. diff --git a/battle-server-manager/go.mod b/battle-server-manager/go.mod index 7926766f..7c604bea 100644 --- a/battle-server-manager/go.mod +++ b/battle-server-manager/go.mod @@ -1,6 +1,6 @@ module battle-server-manager -go 1.25.0 +go 1.26.0 require ( github.com/deckarep/golang-set/v2 v2.8.0 diff --git a/battle-server-manager/go.sum b/battle-server-manager/go.sum index 0327151e..024989a4 100644 --- a/battle-server-manager/go.sum +++ b/battle-server-manager/go.sum @@ -1,25 +1,52 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.12.0 h1:/NQhBAkUb4+fH1jivKHWusDYFjMOOKU88eegjfxfHb4= +github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/battle-server-manager/internal/cmd/start.go b/battle-server-manager/internal/cmd/start.go index baaf7169..a12e967d 100644 --- a/battle-server-manager/internal/cmd/start.go +++ b/battle-server-manager/internal/cmd/start.go @@ -247,7 +247,7 @@ func initConfig() *internal.Configuration { v.SetDefault("SSL.Auto", true) v.SetDefault("SSL.CertFile", "") v.SetDefault("SSL.KeyFile", "") - + for _, configPath := range configPaths { v.AddConfigPath(configPath) } @@ -262,8 +262,7 @@ func initConfig() *internal.Configuration { data, _ := os.ReadFile(v.ConfigFileUsed()) commonLogger.PrefixPrintln("config", string(data)) } else { - var configFileNotFoundError viper.ConfigFileNotFoundError - if errors.As(err, &configFileNotFoundError) { + if _, ok := errors.AsType[viper.ConfigFileNotFoundError](err); ok { commonLogger.Println("No config file found, using defaults.") } else { commonLogger.Println("Error parsing config file:", v.ConfigFileUsed()+":", err.Error()) diff --git a/common/executor/exec/executor.go b/common/executor/exec/executor.go index 95e10d80..d04d5175 100644 --- a/common/executor/exec/executor.go +++ b/common/executor/exec/executor.go @@ -77,8 +77,7 @@ func (options Options) standardExec() (result *Result) { result.Pid = uint32(cmd.Process.Pid) } if err != nil { - var exitError *exec.ExitError - if errors.As(err, &exitError) { + if _, ok := errors.AsType[*exec.ExitError](err); ok { err = nil } } diff --git a/common/go.mod b/common/go.mod index a5071283..9d6828ef 100644 --- a/common/go.mod +++ b/common/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/common -go 1.25.0 +go 1.26.0 require ( github.com/andygrunwald/vdf v1.1.0 @@ -18,8 +18,8 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/stretchr/testify v1.11.1 // indirect - golang.org/x/mod v0.32.0 // indirect + golang.org/x/mod v0.33.0 // indirect golang.org/x/net v0.50.0 // indirect golang.org/x/sync v0.19.0 // indirect - golang.org/x/tools v0.41.0 // indirect + golang.org/x/tools v0.42.0 // indirect ) diff --git a/common/go.sum b/common/go.sum index 4d5ca4f0..1a0349e1 100644 --- a/common/go.sum +++ b/common/go.sum @@ -1,22 +1,48 @@ github.com/andygrunwald/vdf v1.1.0 h1:gmstp0R7DOepIZvWoSJY97ix7QOrsxpGPU6KusKXqvw= +github.com/andygrunwald/vdf v1.1.0/go.mod h1:f31AAs7HOKvs5B167iwLHwKuqKc4bE46Vdt7xQogA0o= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/hairyhenderson/go-which v0.2.2 h1:yMyAHo4InxHiTAboIeOji8nZ5EXwIp116a2uo/MFkFI= +github.com/hairyhenderson/go-which v0.2.2/go.mod h1:vBfncX6hXWQhY1Qte8qQNWuJNnsGPqFLjgmwEETyOAo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/miekg/dns v1.1.72 h1:vhmr+TF2A3tuoGNkLDFK9zi36F2LS+hKTRW0Uf8kbzI= +github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= +golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg= -golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= +golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= +golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= mvdan.cc/sh/v3 v3.12.0 h1:ejKUR7ONP5bb+UGHGEG/k9V5+pRVIyD+LsZz7o8KHrI= +mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= diff --git a/go.work b/go.work index 4f04af01..136d4b36 100644 --- a/go.work +++ b/go.work @@ -1,6 +1,6 @@ -go 1.25.5 +go 1.26.0 -toolchain go1.25.7 +toolchain go1.26.0 // Necessary for launcher-config's internal.readCertsFromFile godebug x509negativeserial=1 diff --git a/go.work.sum b/go.work.sum index 3a5a19e9..4522dd13 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,55 +1,305 @@ al.essio.dev/pkg/shellescape v1.6.0 h1:NxFcEqzFSEVCGN2yq7Huv/9hyCEGVa/TncnOOBBeXHA= al.essio.dev/pkg/shellescape v1.6.0/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= +bitbucket.org/creachadair/shell v0.0.8 h1:3yM6JcAfaGWzjzcCamTblzSIWXm/YSs0PFGIzBm2HTo= +bitbucket.org/creachadair/shell v0.0.8/go.mod h1:vINzudofoUXZSJ5tREgpy+Etyjsag3ait5WOWImEVZ0= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20251209175733-2a1774d88802.1 h1:j9yeqTWEFrtimt8Nng2MIeRrpoCvQzM9/g25XTvqUGg= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.11-20251209175733-2a1774d88802.1/go.mod h1:tvtbpgaVXZX4g6Pn+AnzFycuRK3MOz5HJfEGeEllXYM= +buf.build/go/protovalidate v1.1.1 h1:4Z1l4mQYw6m0WOL+0Lp+1YOfvr+9ke229CPoaIWwF4c= +buf.build/go/protovalidate v1.1.1/go.mod h1:Ez3z+w4c+wG+EpW8ovgZaZPnPl2XVF6kaxgcv1NG/QE= +buf.build/go/protoyaml v0.6.0 h1:Nzz1lvcXF8YgNZXk+voPPwdU8FjDPTUV4ndNTXN0n2w= +buf.build/go/protoyaml v0.6.0/go.mod h1:RgUOsBu/GYKLDSIRgQXniXbNgFlGEZnQpRAUdLAFV2Q= cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= -charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63 h1:KgI+p678truaonNOQek4i+aJdWAtdpvFzz5lqHBaDeI= -charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63/go.mod h1:bjsp2D+VGi56y8f53S7xCphcoqJb36vo3dBVh0RrpP8= cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE= cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU= +cloud.google.com/go/accessapproval v1.8.8 h1:gq8OS+rQWgGRo91D2qztN+ion6AZ2T1CxBIu0ifCmVo= +cloud.google.com/go/accessapproval v1.8.8/go.mod h1:RFwPY9JDKseP4gJrX1BlAVsP5O6kI8NdGlTmaeDefmk= +cloud.google.com/go/accesscontextmanager v1.9.7 h1:aKIfg7Jyc73pe8bzx0zypNdS5gfFdSvFvB8YNA9k2kA= +cloud.google.com/go/accesscontextmanager v1.9.7/go.mod h1:i6e0nd5CPcrh7+YwGq4bKvju5YB9sgoAip+mXU73aMM= +cloud.google.com/go/aiplatform v1.115.0 h1:m/dIJ/HixZDvHoXBGkA5Sd0RbiQp5lBVyddvR9uxHqI= +cloud.google.com/go/aiplatform v1.115.0/go.mod h1:DwPJAxebOTy6BajSMjF7ah3QvlYO4jf2gpJw6/1z9gU= +cloud.google.com/go/analytics v0.30.1 h1:souLxu9tQHzF+0NDpKoIw4pl2WQ9K2JfkdPPs36BfXw= +cloud.google.com/go/analytics v0.30.1/go.mod h1:V/FnINU5kMOsttZnKPnXfKi6clJUHTEXUKQjHxcNK8A= +cloud.google.com/go/apigateway v1.7.7 h1:ehKUTy+QFsb3n07fEi18S2dpDDjCV4UlRyrbwfZV3Zk= +cloud.google.com/go/apigateway v1.7.7/go.mod h1:j1bCmrUK1BzVHpiIyTApxB7cRyhivKzltqLmp6j6i7U= +cloud.google.com/go/apigeeconnect v1.7.7 h1:S6s2zojwMymx0fyZYKm0eK1TdDxrriIBAlNVvRAOzug= +cloud.google.com/go/apigeeconnect v1.7.7/go.mod h1:ftGK3nca0JePiVLl0A6alaMjKdOc5C+sAkFMyH2RH8U= +cloud.google.com/go/apigeeregistry v0.10.0 h1:QziFVsuPU2lhy40Ht9uWEyciV23SH9GETWiwcu3qzdg= +cloud.google.com/go/apigeeregistry v0.10.0/go.mod h1:SAlF5OhKvyLDuwWAaFAIVJjrEqKRrGTPkJs+TWNnSqg= +cloud.google.com/go/appengine v1.9.7 h1:IxGz6j5xv0nTJX285wu95Vn6KEi2CeV9vbyRgCSEAoU= +cloud.google.com/go/appengine v1.9.7/go.mod h1:y1XpGVeAhbsNzHida79cHbr3pFRsym0ob8xnC8yphbo= +cloud.google.com/go/area120 v0.9.7 h1:BbpzLwaIXVPorrrzTH+ni7P5mLemmPPfSZ7o39k7zQc= +cloud.google.com/go/area120 v0.9.7/go.mod h1:5nJ0yksmjOMfc4Zpk+okWfJ3A1004FvB82rfia+ZLaY= +cloud.google.com/go/artifactregistry v1.19.0 h1:DaOHWeURq93K27/6Sa2fy3rJoftrVXKeT3tonM4fxtI= +cloud.google.com/go/artifactregistry v1.19.0/go.mod h1:UEAPCgHDFC1q+A8nnVxXHPEy9KCVOeavFBF1fEChQvU= +cloud.google.com/go/asset v1.22.0 h1:81Ru5hjHfiGtk+u/Ix69eaWieKpvm7Ce7UHtcZhOLbk= +cloud.google.com/go/asset v1.22.0/go.mod h1:q80JP2TeWWzMCazYnrAfDf36aQKf1QiKzzpNLflJwf8= +cloud.google.com/go/assuredworkloads v1.13.0 h1:NQXyyGLksPmiapE1Oc64a3cMwYIBAoDBg6cWR+B3eaY= +cloud.google.com/go/assuredworkloads v1.13.0/go.mod h1:o/oHEOnUlribR+uJWTKQo8A5RhSl9K9FNeMOew4TJ3M= cloud.google.com/go/auth v0.17.0 h1:74yCm7hCj2rUyyAocqnFzsAYXgJhrG26XCFimrc/Kz4= cloud.google.com/go/auth v0.17.0/go.mod h1:6wv/t5/6rOPAX4fJiRjKkJCvswLwdet7G8+UGXt7nCQ= cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc= cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= +cloud.google.com/go/automl v1.15.0 h1:YRwLbsBv4yApX64pkrdyy4emhWE6lHEnljX4b1aTQC4= +cloud.google.com/go/automl v1.15.0/go.mod h1:U9zOtQb8zVrFNGTuW3BfxeqmLyeleLgT9B12EaXfODg= +cloud.google.com/go/baremetalsolution v1.4.0 h1:g67fjVdrNCHZl8jDWdZvo+6zGTTMMuvNWO7HSgG8lnI= +cloud.google.com/go/baremetalsolution v1.4.0/go.mod h1:K6C6g4aS8LW95I0fEHZiBsBlh0UxwDLGf+S/vyfXbvg= +cloud.google.com/go/batch v1.14.0 h1:r5DEMPNXZk1as36Le3DaNQTRhhnR+E95a99SFxwF52o= +cloud.google.com/go/batch v1.14.0/go.mod h1:oeQveyG6NDS/ks2ilOP4LzKRmuIaI7GLe0CkR7WF6pk= +cloud.google.com/go/beyondcorp v1.2.0 h1:mre997ya7QHFWSU+O5cT/FhBKTMy6Riqf1EXFxN46zw= +cloud.google.com/go/beyondcorp v1.2.0/go.mod h1:sszcgxpPPBEfLzbI0aYCTg6tT1tyt3CmKav3NZIUcvI= +cloud.google.com/go/bigquery v1.73.1 h1:v//GZwdhtmCbZ87rOnxz7pectOGFS1GNRvrGTvLzka4= +cloud.google.com/go/bigquery v1.73.1/go.mod h1:KSLx1mKP/yGiA8U+ohSrqZM1WknUnjZAxHAQZ51/b1k= +cloud.google.com/go/bigtable v1.42.0 h1:SREvT4jLhJQZXUjsLmFs/1SMQJ+rKEj1cJuPE9liQs8= +cloud.google.com/go/bigtable v1.42.0/go.mod h1:oZ30nofVB6/UYGg7lBwGLWSea7NZUvw/WvBBgLY07xU= +cloud.google.com/go/billing v1.21.0 h1:nbQjTXkpgB/E4XnYZQwcZnR63QFsbFwJ9DGsNg61Ghg= +cloud.google.com/go/billing v1.21.0/go.mod h1:ZGairB3EVnb3i09E2SxFxo50p5unPaMTuo1jh6jW9js= +cloud.google.com/go/binaryauthorization v1.10.0 h1:YYK0BwiZv9uA6z+Ict908AykX4OBfDECMTE476OnS3A= +cloud.google.com/go/binaryauthorization v1.10.0/go.mod h1:WOuiaQkI4PU/okwrcREjSAr2AUtjQgVe+PlrXKOmKKw= +cloud.google.com/go/certificatemanager v1.9.6 h1:v5X8X+THKrS9OFZb6k0GRDP1WQxLXTdMko7OInBliw4= +cloud.google.com/go/certificatemanager v1.9.6/go.mod h1:vWogV874jKZkSRDFCMM3r7wqybv8WXs3XhyNff6o/Zo= +cloud.google.com/go/channel v1.21.0 h1:ThoAmHBd9WkX2SSuF6n6uEOvbBNoTuhBT7Rk6bFS5ho= +cloud.google.com/go/channel v1.21.0/go.mod h1:8v3TwHtgLmFxTpL2U+e10CLFOQN8u/Vr9RhYcJUS3y8= +cloud.google.com/go/cloudbuild v1.25.0 h1:Fkg+iJdN7bfICZJzLr/XV+k9aVxXS/hakIlhjDIRIDw= +cloud.google.com/go/cloudbuild v1.25.0/go.mod h1:lCu+T6IPkobPo2Nw+vCE7wuaAl9HbXLzdPx/tcF+oWo= +cloud.google.com/go/clouddms v1.8.8 h1:YWsmRXTyK6Ba0hm4qTBak5g1oLhryuM8rSBxHWC8iq4= +cloud.google.com/go/clouddms v1.8.8/go.mod h1:QtCyw+a73dlkDb2q20aTAPvfaTZCepDDi6Gb1AKq0a4= +cloud.google.com/go/cloudtasks v1.13.7 h1:H2v8GEolNtMFfYzUpZBaZbydqU7drpyo99GtAgA+m4I= +cloud.google.com/go/cloudtasks v1.13.7/go.mod h1:H0TThOUG+Ml34e2+ZtW6k6nt4i9KuH3nYAJ5mxh7OM4= cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +cloud.google.com/go/contactcenterinsights v1.17.4 h1:wA4j99BhsoeYlLx6xEIqrNN1aOTtUme0wimHZegg80s= +cloud.google.com/go/contactcenterinsights v1.17.4/go.mod h1:kZe6yOnKDfpPz2GphDHynxk/Spx+53UX/pGf+SmWAKM= +cloud.google.com/go/container v1.46.0 h1:xX94Lo3xrS5OkdMWKvpEVAbBwjN9uleVv6vOi02fL4s= +cloud.google.com/go/container v1.46.0/go.mod h1:A7gMqdQduTk46+zssWDTKbGS2z46UsJNXfKqvMI1ZO4= +cloud.google.com/go/containeranalysis v0.14.2 h1:OW2dlMPtR5VnjQGyAP+uJlZahc1l+JFxFlH/J3+l7gw= +cloud.google.com/go/containeranalysis v0.14.2/go.mod h1:FjppROiUtP9cyMegdWdY/TsBSGc6kqh1GjA2NOJXXL8= +cloud.google.com/go/datacatalog v1.26.1 h1:bCRKA8uSQN8wGW3Tw0gwko4E9a64GRmbW1nCblhgC2k= +cloud.google.com/go/datacatalog v1.26.1/go.mod h1:2Qcq8vsHNxMDgjgadRFmFG47Y+uuIVsyEGUrlrKEdrg= +cloud.google.com/go/dataflow v0.11.1 h1:Z+UYlGrE+IoB+5IAN4/qWdPKO0IpIK9bs2Dy40HK6lg= +cloud.google.com/go/dataflow v0.11.1/go.mod h1:3s6y/h5Qz7uuxTmKJKBifkYZ3zs63jS+6VGtSu8Cf7Y= +cloud.google.com/go/dataform v0.12.1 h1:yf6Up6m1FUt+YB5CBgNtIZfz2OzjuNBdzZWV3SLSVNE= +cloud.google.com/go/dataform v0.12.1/go.mod h1:atGS8ReRjfNDUQib0X/o/7Gi2bqHI2G7/J86LKiGimE= +cloud.google.com/go/datafusion v1.8.7 h1:tLCV+xYuOrSjdrRTkc9Cqsb5mBSQEsNfFmuTNYl5/rA= +cloud.google.com/go/datafusion v1.8.7/go.mod h1:4dkFb1la41qCEXh1AzYtFwl842bu2ikTUXyKhjvFCb0= +cloud.google.com/go/datalabeling v0.9.7 h1:wwoct7mw38s75XvEmLoItQ2TY0RFsGiRDb0iNbXUcX4= +cloud.google.com/go/datalabeling v0.9.7/go.mod h1:EEUVn+wNn3jl19P2S13FqE1s9LsKzRsPuuMRq2CMsOk= +cloud.google.com/go/dataplex v1.28.0 h1:rROI3iqMVI9nXT701ULoFRETQVAOAPC3mPSWFDxXFl0= +cloud.google.com/go/dataplex v1.28.0/go.mod h1:VB+xlYJiJ5kreonXsa2cHPj0A3CfPh/mgiHG4JFhbUA= +cloud.google.com/go/dataproc/v2 v2.15.0 h1:I/Yux/d8uaxf3W+d59kolGTOc52+VZaL6RzJw7oDOeg= +cloud.google.com/go/dataproc/v2 v2.15.0/go.mod h1:tSdkodShfzrrUNPDVEL6MdH9/mIEvp/Z9s9PBdbsZg8= +cloud.google.com/go/dataqna v0.9.8 h1:3FREvU+sjaEHSjlKrKF6KjUmafdOvM8CbZ897rttxNs= +cloud.google.com/go/dataqna v0.9.8/go.mod h1:2lHKmGPOqzzuqCc5NI0+Xrd5om4ulxGwPpLB4AnFgpA= +cloud.google.com/go/datastore v1.22.0 h1:FOyx2Ag6ibD2wFkz9S8EiNrmBugia8pQOfpyJxi2yqA= +cloud.google.com/go/datastore v1.22.0/go.mod h1:aopSX+Whx0lHspWWBj+AjWt68/zjYsPfDe3LjWtqZg8= +cloud.google.com/go/datastream v1.15.1 h1:7PKeDpksi8nbOR4gspmNokzsr0q/uRzDIt20bR3BtRs= +cloud.google.com/go/datastream v1.15.1/go.mod h1:aV1Grr9LFon0YvqryE5/gF1XAhcau2uxN2OvQJPpqRw= +cloud.google.com/go/deploy v1.27.3 h1:QU8gLXsXDRqLyEWNrI6zJiVzuuOBX/WpMi4p0oexV+c= +cloud.google.com/go/deploy v1.27.3/go.mod h1:7LFIYYTSSdljYRqY3n+JSmIFdD4lv6aMD5xg0crB5iw= +cloud.google.com/go/dialogflow v1.75.0 h1:4TFe375Ti6HjUgJd4JWFEqyCAMhRZFLJUIeMF16TqTo= +cloud.google.com/go/dialogflow v1.75.0/go.mod h1:z1W1ZogmigYVtP5YmyeUh+D219VCjdd3VJqY76PG3gA= +cloud.google.com/go/dlp v1.28.0 h1:+aMQYODOxCCZHpdzKvv/rIc9CbKd6XVmjVBRjaF8UvQ= +cloud.google.com/go/dlp v1.28.0/go.mod h1:C3od1fIK8lf7Kr62aU1Uh0z4OL5Z8s3do3znAiEupAw= +cloud.google.com/go/documentai v1.40.0 h1:GU9UjKXPZcLeJkteu6rzz5SNW/9/Rss+TMmSz3MK5U8= +cloud.google.com/go/documentai v1.40.0/go.mod h1:oDTm0aoG8ldKucW/yzRrLbaTO0NvtgGAWm5KPAT5iNY= +cloud.google.com/go/domains v0.10.7 h1:G3kUq0vKBMhyOj5GqAfEYbVuez05U+ENHZUAtrEp/pI= +cloud.google.com/go/domains v0.10.7/go.mod h1:T3WG/QUAO/52z4tUPooKS8AY7yXaFxPYn1V3F0/JbNQ= +cloud.google.com/go/edgecontainer v1.4.4 h1:6KTQo6Qf0iEtfPVotlG7orazEO1I93Ham0PMlkHYpdQ= +cloud.google.com/go/edgecontainer v1.4.4/go.mod h1:yyNVHsCKtsX/0mqFdbljQw0Uo660q2dlMPaiqYiC2Tg= +cloud.google.com/go/errorreporting v0.4.0 h1:uLcasn2hKpj6iSPvHrzRjkJcaNVaKx8yKQcP3VTS6aI= +cloud.google.com/go/errorreporting v0.4.0/go.mod h1:dZGEhqzdHZSRxxWLVjC3Ue5CVaROzvP58D9rU6zbBfw= +cloud.google.com/go/essentialcontacts v1.7.7 h1:v9sO4IHFuwplaOuDnEXZFtfOrjw2bi11TSIVp5PnAU4= +cloud.google.com/go/essentialcontacts v1.7.7/go.mod h1:ytycWAEn/aKUMRKQPMVgMrAtphEMgjbzL8vFwM3tqXs= +cloud.google.com/go/eventarc v1.18.0 h1:8WWG1/ogInYur1NQjML6EMHQ0ZBzAdMDGlUVpLD56cI= +cloud.google.com/go/eventarc v1.18.0/go.mod h1:/6SDoqh5+9QNUqCX4/oQcJVK16fG/snHBSXu7lrJtO8= +cloud.google.com/go/filestore v1.10.3 h1:3KZifUVTqGhNNv6MLeONYth1HjlVM4vDhaH+xrdPljU= +cloud.google.com/go/filestore v1.10.3/go.mod h1:94ZGyLTx9j+aWKozPQ6Wbq1DuImie/L/HIdGMshtwac= +cloud.google.com/go/firestore v1.21.0 h1:BhopUsx7kh6NFx77ccRsHhrtkbJUmDAxNY3uapWdjcM= +cloud.google.com/go/firestore v1.21.0/go.mod h1:1xH6HNcnkf/gGyR8udd6pFO4Z7GWJSwLKQMx/u6UrP4= +cloud.google.com/go/functions v1.19.7 h1:7LcOD18euIVGRUPaeCmgO6vfWSLNIsi6STWRQcdANG8= +cloud.google.com/go/functions v1.19.7/go.mod h1:xbcKfS7GoIcaXr2FSwmtn9NXal1JR4TV6iYZlgXffwA= +cloud.google.com/go/gkebackup v1.8.1 h1:gUgI3lZJYALZsHXE7YJOKI8bMpoAX/tF6jnNugvzT1g= +cloud.google.com/go/gkebackup v1.8.1/go.mod h1:GAaAl+O5D9uISH5MnClUop2esQW4pDa2qe/95A4l7YQ= +cloud.google.com/go/gkeconnect v0.12.5 h1:EFql3zRaFw74yATt5lf+mcPDqPZ4EeLvoIJ+0NaEkag= +cloud.google.com/go/gkeconnect v0.12.5/go.mod h1:wMD2RXcsAWlkREZWJDVeDV70PYka1iEb9stFmgpw+5o= +cloud.google.com/go/gkehub v0.16.0 h1:Jk5pAXG54FlQzTRXhuKyym/NzOgS8oWRs0XNatZYDf4= +cloud.google.com/go/gkehub v0.16.0/go.mod h1:ADp27Ucor8v81wY+x/5pOxTorxkPj/xswH3AUpN62GU= +cloud.google.com/go/gkemulticloud v1.6.0 h1:m0FX9o7t7xVmSZhqzm/m8nEZn8LnC5Kh60Wg4Yx1lyQ= +cloud.google.com/go/gkemulticloud v1.6.0/go.mod h1:bGpd4o/Z5Z/XFlaojkgdVisHRwb+fLJvUPzsmV0I9ok= +cloud.google.com/go/gsuiteaddons v1.7.8 h1:Dayrv57XW8kZIvmQjAc89Tp7Kr3O9Am/hf6pXkTjYFY= +cloud.google.com/go/gsuiteaddons v1.7.8/go.mod h1:DBKNHH4YXAdd/rd6zVvtOGAJNGo0ekOh+nIjTUDEJ5U= cloud.google.com/go/iam v1.5.3 h1:+vMINPiDF2ognBJ97ABAYYwRgsaqxPbQDlMnbHMjolc= cloud.google.com/go/iam v1.5.3/go.mod h1:MR3v9oLkZCTlaqljW6Eb2d3HGDGK5/bDv93jhfISFvU= +cloud.google.com/go/iap v1.11.3 h1:Nheb77nO0/pECm/thoE3wHVAbkQSI+G8KBWviqBepiA= +cloud.google.com/go/iap v1.11.3/go.mod h1:+gXO0ClH62k2LVlfhHzrpiHQNyINlEVmGAE3+DB4ShU= +cloud.google.com/go/ids v1.5.7 h1:V0pSk+KKW+5/AVpeQMhM9D1VI7aMZkayj5jddNETJos= +cloud.google.com/go/ids v1.5.7/go.mod h1:N3ZQOIgIBwwOu2tzyhmh3JDT+kt8PcoKkn2BRT9Qe4A= +cloud.google.com/go/iot v1.8.7 h1:PDUtxCzlFwFHODEFAgaGJy/Zv4tdvLbZ+lvZ1mKQXE4= +cloud.google.com/go/iot v1.8.7/go.mod h1:HvVcypV8LPv1yTXSLCNK+YCtqGHhq+p0F3BXETfpN+U= cloud.google.com/go/kms v1.23.2 h1:4IYDQL5hG4L+HzJBhzejUySoUOheh3Lk5YT4PCyyW6k= cloud.google.com/go/kms v1.23.2/go.mod h1:rZ5kK0I7Kn9W4erhYVoIRPtpizjunlrfU4fUkumUp8g= +cloud.google.com/go/language v1.14.6 h1:/0Fbd3/T4oNmpPqIq5/hrWdHc/eoYGtVH5lDNkuHH3k= +cloud.google.com/go/language v1.14.6/go.mod h1:7y3J9OexQsfkWNGCxhT+7lb64pa60e12ZCoWDOHxJ1M= +cloud.google.com/go/lifesciences v0.10.7 h1:MO5aBahcYv7JeuCpHbg/11h7KL/BYt1+PpgHhleLDbI= +cloud.google.com/go/lifesciences v0.10.7/go.mod h1:v3AbTki9iWttEls/Wf4ag3EqeLRHofploOcpsLnu7iY= +cloud.google.com/go/logging v1.13.2 h1:qqlHCBvieJT9Cdq4QqYx1KPadCQ2noD4FK02eNqHAjA= +cloud.google.com/go/logging v1.13.2/go.mod h1:zaybliM3yun1J8mU2dVQ1/qDzjbOqEijZCn6hSBtKak= cloud.google.com/go/longrunning v0.7.0 h1:FV0+SYF1RIj59gyoWDRi45GiYUMM3K1qO51qoboQT1E= cloud.google.com/go/longrunning v0.7.0/go.mod h1:ySn2yXmjbK9Ba0zsQqunhDkYi0+9rlXIwnoAf+h+TPY= +cloud.google.com/go/managedidentities v1.7.7 h1:vC/q7D+97PZfb0UNf7r/+/clHauuaf1PqWwP7neuaeg= +cloud.google.com/go/managedidentities v1.7.7/go.mod h1:nwNlMxtBo2YJMvsKXRtAD1bL41qiCI9npS7cbqrsJUs= +cloud.google.com/go/maps v1.26.0 h1:tcdo9oB3Ap4N9JJJFOhxRFldKUok4Mesd3ta7Rm79r0= +cloud.google.com/go/maps v1.26.0/go.mod h1:+auempdONAP8emtm48aCfNo1ZC+3CJniRA1h8J4u7bY= +cloud.google.com/go/mediatranslation v0.9.7 h1:JXbjms+JxgaWkj/YuaQm1OeCzuF+IZCDV17uUcZgFOU= +cloud.google.com/go/mediatranslation v0.9.7/go.mod h1:mz3v6PR7+Fd/1bYrRxNFGnd+p4wqdc/fyutqC5QHctw= +cloud.google.com/go/memcache v1.11.7 h1:ZDIfIMZsKKPzwdbvTMOL1il0shX24J7B9DC+sEt4Yj4= +cloud.google.com/go/memcache v1.11.7/go.mod h1:AU1jYlUqCihxapcJ1GGMtlMWDVhzjbfUWBXqsXa4rBg= +cloud.google.com/go/metastore v1.14.8 h1:nfyUDD9AeKIs6btY5buQ1No0OVco20WpX9wIruL8UOA= +cloud.google.com/go/metastore v1.14.8/go.mod h1:h1XI2LpD4ohJhQYn9TwXqKb5sVt6KSo47ft96SiFF1s= cloud.google.com/go/monitoring v1.24.3 h1:dde+gMNc0UhPZD1Azu6at2e79bfdztVDS5lvhOdsgaE= cloud.google.com/go/monitoring v1.24.3/go.mod h1:nYP6W0tm3N9H/bOw8am7t62YTzZY+zUeQ+Bi6+2eonI= +cloud.google.com/go/networkconnectivity v1.20.0 h1:A0uRcZJdq7F6LYWcc2NIea3h0i7p6kY1/CyLavOTG0I= +cloud.google.com/go/networkconnectivity v1.20.0/go.mod h1:9MzGwD4ljiq+Z2Pg3ue27OEewCuHz7IUfw1fITrIdSw= +cloud.google.com/go/networkmanagement v1.22.0 h1:ibvtNUXQj07zlSbfwmS11YWan4+W8tQ/2L7zXOZ4V7U= +cloud.google.com/go/networkmanagement v1.22.0/go.mod h1:RGR62aLOlm72C7DT/3yaMUK43oill6hj9wqktUQ8h6Q= +cloud.google.com/go/networksecurity v0.11.0 h1:+ahtCqEqwHw3a3UIeG21vT817xt9kkDDAO6k9+LCc18= +cloud.google.com/go/networksecurity v0.11.0/go.mod h1:JLgDsg4tOyJ3eMO8lypjqMftbfd60SJ+P7T+DUmWBsM= +cloud.google.com/go/notebooks v1.12.7 h1:g5LTI1LHa/86abDTWd8nrq7/4qq8oFhVx1SmnNpZLVg= +cloud.google.com/go/notebooks v1.12.7/go.mod h1:uR9pxAkKmlNloibMr9Q1t8WhIu4P2JeqJs7c064/0Mo= +cloud.google.com/go/optimization v1.7.7 h1:dMtxINB6G7wULbdm8nZ/x1NMa579Q+GfJc5gaN8VeDw= +cloud.google.com/go/optimization v1.7.7/go.mod h1:OY2IAlX23o52qwMAZ0w65wibKuV12a4x6IHDTCq6kcU= +cloud.google.com/go/orchestration v1.11.10 h1:TVWDiZyvcflLFeTQH2GexHmtJ6iUSjzr0zsSiT338dA= +cloud.google.com/go/orchestration v1.11.10/go.mod h1:tz7m1s4wNEvhNNIM3JOMH0lYxBssu9+7si5MCPw/4/0= +cloud.google.com/go/orgpolicy v1.15.1 h1:0hq12wxNwcfUMojr5j3EjWECSInIuyYDhkAWXTomRhc= +cloud.google.com/go/orgpolicy v1.15.1/go.mod h1:bpvi9YIyU7wCW9WiXL/ZKT7pd2Ovegyr2xENIeRX5q0= +cloud.google.com/go/osconfig v1.16.0 h1:0L635e0OSdWylzE/v40Riko6p142PVmWL8Rt+9fbPO4= +cloud.google.com/go/osconfig v1.16.0/go.mod h1:PRmLgZ1loD1hGaqnTBww1nETbqcqAvmTQOLYiIZ7Nvk= +cloud.google.com/go/oslogin v1.14.7 h1:YQ8P/+MLwH0tpENYU9QOgwKQxe8DYfAKxIfm6y+OBtA= +cloud.google.com/go/oslogin v1.14.7/go.mod h1:NB6NqBHfDMwznePdBVX+ILllc1oPCdNSGp5u/WIyndY= +cloud.google.com/go/phishingprotection v0.9.7 h1:ZJqHirY2/H6s+uTq1y1iiVASzm3ZuDiMglT5NXywPBE= +cloud.google.com/go/phishingprotection v0.9.7/go.mod h1:JTI4HNGyAbWolBoNOoCyCF0e3cqPNrYnlievHU49EwE= +cloud.google.com/go/policytroubleshooter v1.11.7 h1:Bbj1EiVh96u9mfO2p+JNoHrvvyC0Ms6zP+vxqQnsaG8= +cloud.google.com/go/policytroubleshooter v1.11.7/go.mod h1:JP/aQ+bUkt4Gz6lQXBi/+A/6nyNRZ0Pvxui5Xl9ieyk= +cloud.google.com/go/privatecatalog v0.10.8 h1:yOdy85WDvSCPxAMixkhs5X0Z96D74kosgOTp7aJEYvU= +cloud.google.com/go/privatecatalog v0.10.8/go.mod h1:BkLHi+rtAGYBt5DocXLytHhF0n6F03Tegxgty40Y7aA= +cloud.google.com/go/profiler v0.4.3 h1:IY3QNKlr8VbXwGWHcZbJQsMA/83ZTH6uAHf8jYyj7OI= +cloud.google.com/go/profiler v0.4.3/go.mod h1:3xFodugWfPIQZWFcXdUmfa+yTiiyQ8fWrdT+d2Sg4J0= +cloud.google.com/go/pubsub v1.50.1 h1:fzbXpPyJnSGvWXF1jabhQeXyxdbCIkXTpjXHy7xviBM= +cloud.google.com/go/pubsub v1.50.1/go.mod h1:6YVJv3MzWJUVdvQXG081sFvS0dWQOdnV+oTo++q/xFk= +cloud.google.com/go/pubsub/v2 v2.3.0 h1:DgAN907x+sP0nScYfBzneRiIhWoXcpCD8ZAut8WX9vs= +cloud.google.com/go/pubsub/v2 v2.3.0/go.mod h1:O5f0KHG9zDheZAd3z5rlCRhxt2JQtB+t/IYLKK3Bpvw= +cloud.google.com/go/pubsublite v1.8.2 h1:jLQozsEVr+c6tOU13vDugtnaBSUy/PD5zK6mhm+uF1Y= +cloud.google.com/go/pubsublite v1.8.2/go.mod h1:4r8GSa9NznExjuLPEJlF1VjOPOpgf3IT6k8x/YgaOPI= +cloud.google.com/go/recaptchaenterprise/v2 v2.21.0 h1:zHaPdgmV3LmzaUfn9Xiiqp5zE1Y16f0O8XCwERrAs2E= +cloud.google.com/go/recaptchaenterprise/v2 v2.21.0/go.mod h1:HxQYqZC2/zl2CvKN7jJEv71vEdDi1GMGNUiZxnpiuVI= +cloud.google.com/go/recommendationengine v0.9.7 h1:NH89CyKQP8e98kpdKLwV0jXkQGzSEEZia0V867vkoy8= +cloud.google.com/go/recommendationengine v0.9.7/go.mod h1:snZ/FL147u86Jqpv1j95R+CyU5NvL/UzYiyDo6UByTM= +cloud.google.com/go/recommender v1.13.6 h1:ZVZg4wr1G7yzjIPcYUNSUJAaz9+2o78rmBU4QJgC7kg= +cloud.google.com/go/recommender v1.13.6/go.mod h1:y5/5womtdOaIM3xx+76vbsiA+8EBTIVfWnxHDFHBGJM= +cloud.google.com/go/redis v1.18.3 h1:6LI8zSt+vmE3WQ7hE5GsJ13CbJBLV1qUw6B7CY31Wcw= +cloud.google.com/go/redis v1.18.3/go.mod h1:x8HtXZbvMBDNT6hMHaQ022Pos5d7SP7YsUH8fCJ2Wm4= +cloud.google.com/go/resourcemanager v1.10.7 h1:oPZKIdjyVTuag+D4HF7HO0mnSqcqgjcuA18xblwA0V0= +cloud.google.com/go/resourcemanager v1.10.7/go.mod h1:rScGkr6j2eFwxAjctvOP/8sqnEpDbQ9r5CKwKfomqjs= +cloud.google.com/go/resourcesettings v1.8.3 h1:13HOFU7v4cEvIHXSAQbinF4wp2Baybbq7q9FMctg1Ek= +cloud.google.com/go/resourcesettings v1.8.3/go.mod h1:BzgfXFHIWOOmHe6ZV9+r3OWfpHJgnqXy8jqwx4zTMLw= +cloud.google.com/go/retail v1.26.0 h1:yOoyJs/IlLmohXzgDgF9N8xQYbJKIKtCw4oGAoYZpNY= +cloud.google.com/go/retail v1.26.0/go.mod h1:gMfh6s174Mvy1rK4g50J9TH5sRim8px+Krml25kdrqo= +cloud.google.com/go/run v1.15.0 h1:4cwyNv9SUQEsQOf5/DfPKyMWYSA52p38/o119BgMhO4= +cloud.google.com/go/run v1.15.0/go.mod h1:rgFHMdAopLl++57vzeqA+a1o2x0/ILZnEacRD6nC0EA= +cloud.google.com/go/scheduler v1.11.8 h1:BoXY2BvBsaRw3ggVMzC9tborZqJBu+NcJcD9PqeC5Kc= +cloud.google.com/go/scheduler v1.11.8/go.mod h1:bNKU7/f04eoM6iKQpwVLvFNBgGyJNS87RiFN73mIPik= +cloud.google.com/go/secretmanager v1.16.0 h1:19QT7ZsLJ8FSP1k+4esQvuCD7npMJml6hYzilxVyT+k= +cloud.google.com/go/secretmanager v1.16.0/go.mod h1://C/e4I8D26SDTz1f3TQcddhcmiC3rMEl0S1Cakvs3Q= +cloud.google.com/go/security v1.19.2 h1:cF3FkCRRbRC1oXuaGZFl3qU2sdu2gP3iOAHKzL5y04Y= +cloud.google.com/go/security v1.19.2/go.mod h1:KXmf64mnOsLVKe8mk/bZpU1Rsvxqc0Ej0A6tgCeN93w= +cloud.google.com/go/securitycenter v1.38.1 h1:D9zpeguY4frQU35GBw8+M6Gw79CiuTF9iVs4sFm3FDY= +cloud.google.com/go/securitycenter v1.38.1/go.mod h1:Ge2D/SlG2lP1FrQD7wXHy8qyeloRenvKXeB4e7zO6z0= +cloud.google.com/go/servicedirectory v1.12.7 h1:je2yZlVcVFI/TshPXjjF9ZAlWedj0s5EbO2kozJrzBo= +cloud.google.com/go/servicedirectory v1.12.7/go.mod h1:gOtN+qbuCMH6tj2dqlDY3qQL7w3V0+nkWaZElnJK8Ps= +cloud.google.com/go/shell v1.8.7 h1:K1C9sh9EuNNhGpyCoqRdeudcU9zmfYTA95bhF5cokK8= +cloud.google.com/go/shell v1.8.7/go.mod h1:OTke7qc3laNEW5Jr5OV9VR3IwU5x5VqGOE6705zFex4= +cloud.google.com/go/spanner v1.87.0 h1:M9RGcj/4gJk6yY1lRLOz1Ze+5ufoWhbIiurzXLOOfcw= +cloud.google.com/go/spanner v1.87.0/go.mod h1:tcj735Y2aqphB6/l+X5MmwG4NnV+X1NJIbFSZGaHYXw= +cloud.google.com/go/speech v1.29.0 h1:ehOzN/IsAhjjAtWg4fI8A3iNtonb1N8yWjofVhSTv+c= +cloud.google.com/go/speech v1.29.0/go.mod h1:wtUmIS/h0ZYU6cPA9klcyST3f6i2FdnvNDqENjrRDds= cloud.google.com/go/storage v1.57.1 h1:gzao6odNJ7dR3XXYvAgPK+Iw4fVPPznEPPyNjbaVkq8= cloud.google.com/go/storage v1.57.1/go.mod h1:329cwlpzALLgJuu8beyJ/uvQznDHpa2U5lGjWednkzg= +cloud.google.com/go/storagetransfer v1.13.1 h1:Sjukr1LtUt7vLTHNvGc2gaAqlXNFeDFRIRmWGrFaJlY= +cloud.google.com/go/storagetransfer v1.13.1/go.mod h1:S858w5l383ffkdqAqrAA+BC7KlhCqeNieK3sFf5Bj4Y= +cloud.google.com/go/talent v1.8.4 h1:1kJJ+WCY5LZ1A4rCa32zKh3N2xT3I8koiS63+vV0WC4= +cloud.google.com/go/talent v1.8.4/go.mod h1:3yukBXUTVFNyKcJpUExW/k5gqEy8qW6OCNj7WdN0MWo= +cloud.google.com/go/texttospeech v1.16.0 h1:Ra4w+6qmaeb12ozlPBqGw8Jzdge1yfzhvZgcXWdXw30= +cloud.google.com/go/texttospeech v1.16.0/go.mod h1:AeSkoH3ziPvapsuyI07TWY4oGxluAjntX+pF4PJ2jy0= +cloud.google.com/go/tpu v1.8.4 h1:5DDheA1f7yZ/KUbVT/9lL+Yhgd3IqHDSVVrSqDVkAFY= +cloud.google.com/go/tpu v1.8.4/go.mod h1:ul0cyWSHr6jHGZYElZe6HvQn35VY93RAlwpDiSBRnPA= +cloud.google.com/go/trace v1.11.7 h1:kDNDX8JkaAG3R2nq1lIdkb7FCSi1rCmsEtKVsty7p+U= +cloud.google.com/go/trace v1.11.7/go.mod h1:TNn9d5V3fQVf6s4SCveVMIBS2LJUqo73GACmq/Tky0s= +cloud.google.com/go/translate v1.12.7 h1:aSxMbfJ3MVmEdQzu5jGXmPPxCAb1ySsor2yBMCI5MT4= +cloud.google.com/go/translate v1.12.7/go.mod h1:wwJp14NZyWvcrFANhIXutXj0pOBkYciBHwSlUOykcjI= +cloud.google.com/go/video v1.27.1 h1:Hp+2AeM7b3AagdHcyh2820UTzSbGyqpFJVMu0nHbBcw= +cloud.google.com/go/video v1.27.1/go.mod h1:xzfAC77B4vtnbi/TT3UUxEjCa/+Ehy5EA8w470ytOig= +cloud.google.com/go/videointelligence v1.12.7 h1:FisUrSZ+y3oLuGdlFQQgZoNTDm7FAfb2hwSTsSqX+9g= +cloud.google.com/go/videointelligence v1.12.7/go.mod h1:XAk5hCMY+GihxJ55jNoMdwdXSNZnCl3wGs2+94gK7MA= +cloud.google.com/go/vision/v2 v2.9.6 h1:9UtOINPF8p9VACQ6KAyR/ZtkpuBHGmJsprutYupDcN0= +cloud.google.com/go/vision/v2 v2.9.6/go.mod h1:lJC+vP15D5znJvHQYjEoTKnpToX1L93BUlvBmzM0gyg= +cloud.google.com/go/vmmigration v1.10.0 h1:6AvttGxASQTiuIsNKUKOKsRiQG4qTMOY4KMyBhdZa1w= +cloud.google.com/go/vmmigration v1.10.0/go.mod h1:LDztCWEb+RwS1bPg4Xzt0fcJS9kVrFxa3ejhH7OW9vg= +cloud.google.com/go/vmwareengine v1.3.6 h1:TKvULKbk44QrIx674cnoVjcZueXhyCAm2sNAJu/S1ds= +cloud.google.com/go/vmwareengine v1.3.6/go.mod h1:ps0rb+Skgpt9ppHYC0o5DqtJ5ld2FyS8sAqtbHH8t9s= +cloud.google.com/go/vpcaccess v1.8.7 h1:K6siDR1T4HgSTv6sy6CAwupY7UGza6TQ1O8jtvEYoX4= +cloud.google.com/go/vpcaccess v1.8.7/go.mod h1:9RYw5bVvk4Z51Rc8vwXT63yjEiMD/l7XyEaDyrNHgmk= +cloud.google.com/go/webrisk v1.11.2 h1:q6zEdVgD8Ka+4fQl3azDcSNRug8clNnQ9iVS2iLh+MM= +cloud.google.com/go/webrisk v1.11.2/go.mod h1:yH44GeXz5iz4HFsIlGeoVvnjwnmfbni7Lwj1SelV4f0= +cloud.google.com/go/websecurityscanner v1.7.7 h1:udhvvDDRryM3nrITJk/eQe74D06KK2N3SF60/FH2njQ= +cloud.google.com/go/websecurityscanner v1.7.7/go.mod h1:ng/PzARaus3Bj4Os4LpUnyYHsbtJky1HbBDmz148v1o= +cloud.google.com/go/workflows v1.14.3 h1:FGF6QEl3rtOSIHPOMZofWRVy3KNx26jDdgoYzJZ6ZhY= +cloud.google.com/go/workflows v1.14.3/go.mod h1:CC9+YdVI2Kvp0L58WajHpEfKJxhrtRh3uQ0SYWcmAk4= code.gitea.io/sdk/gitea v0.22.1 h1:7K05KjRORyTcTYULQ/AwvlVS6pawLcWyXZcTr7gHFyA= code.gitea.io/sdk/gitea v0.22.1/go.mod h1:yyF5+GhljqvA30sRDreoyHILruNiy4ASufugzYg0VHM= +contrib.go.opencensus.io/exporter/stackdriver v0.13.14 h1:zBakwHardp9Jcb8sQHcHpXy/0+JIb1M8KjigCJzx7+4= +contrib.go.opencensus.io/exporter/stackdriver v0.13.14/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= +cuelabs.dev/go/oci/ociregistry v0.0.0-20250715075730-49cab49c8e9d h1:lX0EawyoAu4kgMJJfy7MmNkIHioBcdBGFRSKDZ+CWo0= +cuelabs.dev/go/oci/ociregistry v0.0.0-20250715075730-49cab49c8e9d/go.mod h1:4WWeZNxUO1vRoZWAHIG0KZOd6dA25ypyWuwD3ti0Tdc= +cuelang.org/go v0.14.1 h1:kxFAHr7bvrCikbtVps2chPIARazVdnRmlz65dAzKyWg= +cuelang.org/go v0.14.1/go.mod h1:aSP9UZUM5m2izHAHUvqtq0wTlWn5oLjuv2iBMQZBLLs= cyphar.com/go-pathrs v0.2.1 h1:9nx1vOgwVvX1mNBWDu93+vaceedpbsDqo+XuBGL40b8= cyphar.com/go-pathrs v0.2.1/go.mod h1:y8f1EMG7r+hCuFf/rXsKqMJrJAUoADZGNh5/vZPKcGc= -dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= -dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/42wim/httpsig v1.2.3 h1:xb0YyWhkYj57SPtfSttIobJUPJZB9as1nsfo7KWVcEs= github.com/42wim/httpsig v1.2.3/go.mod h1:nZq9OlYKDrUBhptd77IHx4/sZZD+IxTBADvAPI9G/EM= -github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= -github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0= +github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d h1:zjqpY4C7H15HjRPEenkS4SAn3Jy2eRRjkjZbGR30TOg= +github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d/go.mod h1:XNqJ7hv2kY++g8XEHREpi+JqZo3+0l+CH2egBVN4yqM= +github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/provider v0.14.0 h1:kcnfY4vljxXliXDBrA9K9lwF8IoEZ4Up6Eg9kWTIm28= +github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/provider v0.14.0/go.mod h1:tlqp9mUGbsP+0z3Q+c0Q5MgSdq/OMwQhm5bffR3Q3ss= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3 h1:uDF62mbd9bypXWi19V1bN5NZEO84JqgmI5G73ibAmrk= +github.com/Azure/azure-amqp-common-go/v3 v3.2.3/go.mod h1:7rPmbSfszeovxGfc5fSAXE4ehlXQZHpMja2OtxC2Tas= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0 h1:JXg2dwJUmPB9JmtVmdEB16APJ7jurfbY5jnfXpJoRMc= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 h1:Hk5QBxZQC1jb2Fwj6mpzme37xbCDdNTxU7O9eb5+LB4= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1/go.mod h1:IYus9qsFobWIc2YVwe/WPjcnyCkPKtnHAqUYeebc8z0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY= +github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI= github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0 h1:m/sWOGCREuSBqg2htVQTBY8nOZpyajYztF0vUvSZTuM= github.com/Azure/azure-sdk-for-go/sdk/keyvault/azkeys v0.10.0/go.mod h1:Pu5Zksi2KrU7LPbZbNINx6fuVrUp/ffvpxdDj+i8LeE= github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1 h1:FbH3BbSb4bvGluTesZZ+ttN/MDsnMmQP36OSnDuSXqw= github.com/Azure/azure-sdk-for-go/sdk/keyvault/internal v0.7.1/go.mod h1:9V2j0jn9jDEkCkv8w/bKTNppX/d0FVA1ud77xCIP4KA= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.9.1 h1:CRZwf68N55u7ZZo3Xx2ynuqEA6k5GZfwsEUkU8qsAPk= +github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus v1.9.1/go.mod h1:NydgUaroiShkgOcb+X6OUdS3RalWBrvDNtOyFHJtsZY= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.8.1 h1:/Zt+cDPnpC3OVDm/JKLOs7M2DKmLRIIp3XIx9pHHiig= +github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.8.1/go.mod h1:Ng3urmn6dYe8gnbCMoHHVl5APYz2txho3koEkV2o2HA= github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0 h1:E4MgwLBGeVB5f2MdcIVD3ELVAWpr+WD6MUe1i+tM/PA= github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0/go.mod h1:Y2b/1clN4zsAoUd/pgNAQHjLDnTis/6ROkUfyob6psM= github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 h1:nCYfgcSyHZXJI8J0IWE5MsCGlb2xp9fJiXyxWgmOFg4= github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0/go.mod h1:ucUjca2JtSZboY8IoUqyQyuuXvwbMBVwFOm0vdQPNhA= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1 h1:lhZdRq7TIx0GJQvSyX2Si406vrYsov2FXGp/RnSEtcs= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1/go.mod h1:8cl44BDmi+effbARHMQjgOKA2AYvcohNm7KEt42mSV8= +github.com/Azure/go-amqp v1.4.0 h1:Xj3caqi4comOF/L1Uc5iuBxR/pB6KumejC01YQOqOR4= +github.com/Azure/go-amqp v1.4.0/go.mod h1:vZAogwdrkbyK3Mla8m/CxSc/aKdnTZ4IbPxl51Y5WZE= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= @@ -64,48 +314,109 @@ github.com/Azure/go-autorest/autorest/azure/cli v0.4.7 h1:Q9R3utmFg9K1B4OYtAZ7ZU github.com/Azure/go-autorest/autorest/azure/cli v0.4.7/go.mod h1:bVrAueELJ0CKLBpUHDIvD516TwmHmzqwCpvONWRsw3s= github.com/Azure/go-autorest/autorest/date v0.3.1 h1:o9Z8Jyt+VJJTCZ/UORishuHOusBwolhjokt9s5k8I4w= github.com/Azure/go-autorest/autorest/date v0.3.1/go.mod h1:Dz/RDmXlfiFFS/eW+b/xMUSFs1tboPVy6UjgADToWDM= +github.com/Azure/go-autorest/autorest/mocks v0.4.2 h1:PGN4EDXnuQbojHbU0UWoNvmu9AGVwYHG9/fkDYhtAfw= github.com/Azure/go-autorest/autorest/to v0.4.1 h1:CxNHBqdzTr7rLtdrtb5CMjJcDut+WNGCVv7OmS5+lTc= github.com/Azure/go-autorest/autorest/to v0.4.1/go.mod h1:EtaofgU4zmtvn1zT2ARsjRFdq9vXx0YWtmElwL+GZ9M= github.com/Azure/go-autorest/logger v0.2.2 h1:hYqBsEBywrrOSW24kkOCXRcKfKhK76OzLTfF+MYDE2o= github.com/Azure/go-autorest/logger v0.2.2/go.mod h1:I5fg9K52o+iuydlWfa9T5K6WFos9XYr9dYTFzpqgibw= github.com/Azure/go-autorest/tracing v0.6.1 h1:YUMSrC/CeD1ZnnXcNYU4a/fzsO35u2Fsful9L/2nyR0= github.com/Azure/go-autorest/tracing v0.6.1/go.mod h1:/3EgjbsjraOqiicERAeu3m7/z0x1TzjQGAwDrJrXGkc= +github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1 h1:WJTmL004Abzc5wDB5VtZG2PJk5ndYDgVacGqfirKxjM= +github.com/AzureAD/microsoft-authentication-extensions-for-go/cache v0.1.1/go.mod h1:tCcJZ0uHAmvjsVYzEFivsRTN00oz5BEsRgQHu5JZ9WE= github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs= github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk= github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= +github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.37.8 h1:9aTh5GPncdE8BjUn+xanuF/BT3m2BJiyvS50Mmws/fw= +github.com/GoogleCloudPlatform/cloudsql-proxy v1.37.8/go.mod h1:exon/I6I+5u/ab7AHmGh0eCXGoYZO5cjqA3wHJlYFFQ= +github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.3 h1:2afWGsMzkIcN8Qm4mgPJKZWyroE5QBszMiDMYEBrnfw= +github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.3/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 h1:sBEjpZlNHzK1voKq9695PJSX2o5NEXl7/OL3coiIY0c= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.54.0 h1:lhhYARPUu3LmHysQ/igznQphfzynnqI3D75oUyw1HXk= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.54.0/go.mod h1:l9rva3ApbBpEJxSNYnwT9N4CDLrWgtq3u8736C5hyJw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.29.0 h1:YVtMlmfRUTaWs3+1acwMBp7rBUo6zrxl6Kn13/R9YW4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.29.0/go.mod h1:rKOFVIPbNs2wZeh7ZeQ0D9p/XLgbNiTr5m7x6KuAshk= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.55.0 h1:7t/qx5Ost0s0wbA/VDrByOooURhp+ikYwv20i9Y07TQ= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.55.0/go.mod h1:vB2GH9GAYYJTO3mEn8oYwzEdhlayZIdQz6zdzgUIRvA= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0 h1:s0WlVbf9qpvkh1c/uDAPElam0WrL7fHRIidgZJ7UqZI= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0/go.mod h1:Mf6O40IAyB9zR/1J8nGDDPirZQQPbYJni8Yisy7NTMc= -github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= -github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= -github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= -github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= -github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/propagator v0.53.0 h1:RAHqDHJmNMLe6JvDoRIlXmb72w+62Ue/k5p/qP9yfAg= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/propagator v0.53.0/go.mod h1:dtCRwgvytbGKWdlrjMOg9geBoRwRpCYWIOM/JhVsDIc= +github.com/Jorropo/jsync v1.0.1 h1:6HgRolFZnsdfzRUj+ImB9og1JYOxQoReSywkHOGSaUU= +github.com/Jorropo/jsync v1.0.1/go.mod h1:jCOZj3vrBCri3bSU3ErUYvevKlnbssrXeCivybS5ABQ= +github.com/MakeNowJust/heredoc/v2 v2.0.1 h1:rlCHh70XXXv7toz95ajQWOWQnN4WNLt0TdpZYIR/J6A= +github.com/MakeNowJust/heredoc/v2 v2.0.1/go.mod h1:6/2Abh5s+hc3g9nbWLe9ObDIOhaRrqsyY9MWy+4JdRM= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= -github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f h1:tCbYj7/299ekTTXpdwKYF8eBlsYsDVoggDAuAjoK66k= github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f/go.mod h1:gcr0kNtGBqin9zDW9GOHcVntrwnjrK+qdJ06mWYBybw= github.com/ProtonMail/gopenpgp/v2 v2.7.1 h1:Awsg7MPc2gD3I7IFac2qE3Gdls0lZW8SzrFZ3k1oz0s= github.com/ProtonMail/gopenpgp/v2 v2.7.1/go.mod h1:/BU5gfAVwqyd8EfC3Eu7zmuhwYQpKs+cGD8M//iiaxs= +github.com/PuerkitoBio/goquery v1.11.0 h1:jZ7pwMQXIITcUXNH83LLk+txlaEy6NVOfTuP43xxfqw= +github.com/PuerkitoBio/goquery v1.11.0/go.mod h1:wQHgxUOU3JGuj3oD/QFfxUdlzW6xPHfqyHre6VMY4DQ= +github.com/PuerkitoBio/purell v1.2.1 h1:QsZ4TjvwiMpat6gBCBxEQI0rcS9ehtkKtSpiUnd9N28= +github.com/PuerkitoBio/purell v1.2.1/go.mod h1:ZwHcC/82TOaovDi//J/804umJFFmbOHPngi8iYYv/Eo= +github.com/RussellLuo/slidingwindow v0.0.0-20200528002341-535bb99d338b h1:5/++qT1/z812ZqBvqQt6ToRswSuPZ/B33m6xVHRzADU= +github.com/RussellLuo/slidingwindow v0.0.0-20200528002341-535bb99d338b/go.mod h1:4+EPqMRApwwE/6yo6CxiHoSnBzjRr3jsqer7frxP8y4= +github.com/ThalesIgnite/crypto11 v1.2.5 h1:1IiIIEqYmBvUYFeMnHqRft4bwf/O36jryEUpY+9ef8E= +github.com/ThalesIgnite/crypto11 v1.2.5/go.mod h1:ILDKtnCKiQ7zRoNxcp36Y1ZR8LBPmR2E23+wTQe/MlE= +github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= +github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= +github.com/XSAM/otelsql v0.39.0 h1:4o374mEIMweaeevL7fd8Q3C710Xi2Jh/c8G4Qy9bvCY= +github.com/XSAM/otelsql v0.39.0/go.mod h1:uMOXLUX+wkuAuP0AR3B45NXX7E9lJS2mERa8gqdU8R0= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM= github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU= +github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= +github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0= +github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= +github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 h1:iW0a5ljuFxkLGPNem5Ui+KBjFJzKg4Fv2fnxe4dvzpM= +github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5/go.mod h1:Y2QMoi1vgtOIfc+6DhrMOGkLoGzqSV2rKp4Sm+opsyA= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 h1:iC9YFYKDGEy3n/FtqJnOkZsene9olVspKmkX5A2YBEo= +github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc= +github.com/alibabacloud-go/cr-20160607 v1.0.1 h1:WEnP1iPFKJU74ryUKh/YDPHoxMZawqlPajOymyNAkts= +github.com/alibabacloud-go/cr-20160607 v1.0.1/go.mod h1:QHeKZtZ3F3FOE+/uIXCBAp8POwnUYekpLwr1dtQa5r0= +github.com/alibabacloud-go/cr-20181201 v1.0.10 h1:B60f6S1imsgn2fgC6X6FrVNrONDrbCT0NwYhsJ0C9/c= +github.com/alibabacloud-go/cr-20181201 v1.0.10/go.mod h1:VN9orB/w5G20FjytoSpZROqu9ZqxwycASmGqYUJSoDc= +github.com/alibabacloud-go/darabonba-openapi v0.2.1 h1:WyzxxKvhdVDlwpAMOHgAiCJ+NXa6g5ZWPFEzaK/ewwY= +github.com/alibabacloud-go/darabonba-openapi v0.2.1/go.mod h1:zXOqLbpIqq543oioL9IuuZYOQgHQ5B8/n5OPrnko8aY= +github.com/alibabacloud-go/debug v1.0.0 h1:3eIEQWfay1fB24PQIEzXAswlVJtdQok8f3EVN5VrBnA= +github.com/alibabacloud-go/debug v1.0.0/go.mod h1:8gfgZCCAC3+SCzjWtY053FrOcd4/qlH6IHTI4QyICOc= +github.com/alibabacloud-go/endpoint-util v1.1.1 h1:ZkBv2/jnghxtU0p+upSU0GGzW1VL9GQdZO3mcSUTUy8= +github.com/alibabacloud-go/endpoint-util v1.1.1/go.mod h1:O5FuCALmCKs2Ff7JFJMudHs0I5EBgecXXxZRyswlEjE= +github.com/alibabacloud-go/openapi-util v0.1.0 h1:0z75cIULkDrdEhkLWgi9tnLe+KhAFE/r5Pb3312/eAY= +github.com/alibabacloud-go/openapi-util v0.1.0/go.mod h1:sQuElr4ywwFRlCCberQwKRFhRzIyG4QTP/P4y1CJ6Ws= +github.com/alibabacloud-go/tea v1.2.1 h1:rFF1LnrAdhaiPmKwH5xwYOKlMh66CqRwPUTzIK74ask= +github.com/alibabacloud-go/tea v1.2.1/go.mod h1:qbzof29bM/IFhLMtJPrgTGK3eauV5J2wSyEUo4OEmnA= +github.com/alibabacloud-go/tea-utils v1.4.5 h1:h0/6Xd2f3bPE4XHTvkpjwxowIwRCJAJOqY6Eq8f3zfA= +github.com/alibabacloud-go/tea-utils v1.4.5/go.mod h1:KNcT0oXlZZxOXINnZBs6YvgOd5aYp9U67G+E3R8fcQw= +github.com/alibabacloud-go/tea-xml v1.1.3 h1:7LYnm+JbOq2B+T/B0fHC4Ies4/FofC4zHzYtqw7dgt0= +github.com/alibabacloud-go/tea-xml v1.1.3/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8= +github.com/aliyun/credentials-go v1.3.2 h1:L4WppI9rctC8PdlMgyTkF8bBsy9pyKQEzBD1bHMRl+g= +github.com/aliyun/credentials-go v1.3.2/go.mod h1:tlpz4uys4Rn7Ik4/piGRrTbXy2uLKvePgQJJduE+Y5c= +github.com/anchore/go-logger v0.0.0-20251106021608-a5b0513fa9a9 h1:k+D5tVys8MC+CxfzXIOGm3bZ0FEkmn8udlKACPm4PPo= +github.com/anchore/go-logger v0.0.0-20251106021608-a5b0513fa9a9/go.mod h1:oFuE8YuTCM+spgMXhePGzk3asS94yO9biUfDzVTFqNw= github.com/anchore/go-macholibre v0.0.0-20250826193721-3cd206ca93aa h1:KPEP8f3enFJeus3Wo51I+riVuCvlf4OEYl2B4IfycbQ= github.com/anchore/go-macholibre v0.0.0-20250826193721-3cd206ca93aa/go.mod h1:7YJA6tAfRm4SzIF93b32pR4xnbf8g2nJIeQnp+2vzzI= -github.com/andygrunwald/vdf v1.1.0/go.mod h1:f31AAs7HOKvs5B167iwLHwKuqKc4bE46Vdt7xQogA0o= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= +github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= +github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= +github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= +github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de h1:FxWPpzIjnTlhPwqqXc4/vE0f7GvRjuAsbW+HOIe8KnA= +github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw= +github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= +github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= @@ -113,6 +424,8 @@ github.com/atc0005/go-teams-notify/v2 v2.14.0 h1:7N+xw+COnYANLREaAveQ65rsNQ12nIZ github.com/atc0005/go-teams-notify/v2 v2.14.0/go.mod h1:EECsWM2b0Hvoz7O+QdlsvyN2KCUOFQCGj8bUBXv3A3Q= github.com/avast/retry-go/v4 v4.7.0 h1:yjDs35SlGvKwRNSykujfjdMxMhMQQM0TnIjJaHB+Zio= github.com/avast/retry-go/v4 v4.7.0/go.mod h1:ZMPDa3sY2bKgpLtap9JRUgk2yTAba7cgiFhqxY2Sg6Q= +github.com/aws/aws-sdk-go v1.55.8 h1:JRmEUbU52aJQZ2AjX4q4Wu7t4uZjOu71uyNmaWlUkJQ= +github.com/aws/aws-sdk-go v1.55.8/go.mod h1:ZkViS9AqA6otK+JBBNH2++sx1sgxrPKcSzPPvQkUtXk= github.com/aws/aws-sdk-go-v2 v1.41.0 h1:tNvqh1s+v0vFYdA1xq0aOJH+Y5cRyZ5upu6roPgPKd4= github.com/aws/aws-sdk-go-v2 v1.41.0/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 h1:489krEF9xIGkOaaX3CE/Be2uWjiXrkCH6gUX+bZA/BU= @@ -121,8 +434,14 @@ github.com/aws/aws-sdk-go-v2/config v1.32.5 h1:pz3duhAfUgnxbtVhIK39PGF/AHYyrzGEy github.com/aws/aws-sdk-go-v2/config v1.32.5/go.mod h1:xmDjzSUs/d0BB7ClzYPAZMmgQdrodNjPPhd6bGASwoE= github.com/aws/aws-sdk-go-v2/credentials v1.19.5 h1:xMo63RlqP3ZZydpJDMBsH9uJ10hgHYfQFIk1cHDXrR4= github.com/aws/aws-sdk-go-v2/credentials v1.19.5/go.mod h1:hhbH6oRcou+LpXfA/0vPElh/e0M3aFeOblE1sssAAEk= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.19.5 h1:oUEqVqonG3xuarrsze1KVJ30KagNYDemikTbdu8KlN8= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.19.5/go.mod h1:VNM08cHlOsIbSHRqb6D/M2L4kKXfJv3A2/f0GNbOQSc= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.87 h1:oDPArGgCrG/4aTi86ij3S2PB59XXkTSKYVNQlmqRHXQ= +github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression v1.7.87/go.mod h1:ZeQC4gVarhdcWeM1c90DyBLaBCNhEeAbKUXwVI/byvw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 h1:80+uETIWS1BqjnN9uJ0dBUaETh+P1XwFy5vwHwK5r9k= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16/go.mod h1:wOOsYuxYuB/7FlnVtzeBYRcjSRtQpAW0hCP7tIULMwo= +github.com/aws/aws-sdk-go-v2/feature/rds/auth v1.5.13 h1:bJoSh9iQrFpt/u1A0fiSEwhrFkzhhQIvoa+mLkoNbVI= +github.com/aws/aws-sdk-go-v2/feature/rds/auth v1.5.13/go.mod h1:RxLhhGmjEidlLTRZyk1BLMigHONURhQakw2//prq+DA= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.16 h1:NkjoiJoSpZqzsRcpM6rlk5AOCLro8JkK8UqekAm/hxM= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.20.16/go.mod h1:l2736DvrgbOinD65Ksh8fc/WQHBBlvsd+0/ZaxtsmGY= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 h1:rgGwPzb82iBYSvHMHXc8h9mRoOUBZIGFgKb9qniaZZc= @@ -133,6 +452,10 @@ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEG github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16 h1:CjMzUs78RDDv4ROu3JnJn/Ig1r6ZD7/T2DXLLRpejic= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16/go.mod h1:uVW4OLBqbJXSHJYA9svT9BluSvvwbzLQ2Crf6UPzR3c= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.44.0 h1:A99gjqZDbdhjtjJVZrmVzVKO2+p3MSg35bDWtbMQVxw= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.44.0/go.mod h1:mWB0GE1bqcVSvpW7OtFA0sKuHk52+IqtnsYU2jUfYAs= +github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.26.0 h1:0wOCTKrmwkyC8Bk76hYH/B4IJn5MGt6gMkSXc0A2uyc= +github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.26.0/go.mod h1:He/RikglWUczbkV+fkdpcV/3GdL/rTRNVy7VaUiezMo= github.com/aws/aws-sdk-go-v2/service/ecr v1.54.4 h1:4THfkydiKvFeOFlfY1ABHe4Nsj+Jy6S6tHBqUAojY0M= github.com/aws/aws-sdk-go-v2/service/ecr v1.54.4/go.mod h1:8n8vVvu7LzveA0or4iWQwNndJStpKOX4HiVHM5jax2U= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.8 h1:2QlSMAimXfMKYRFlxGkbRMRtKN3OqIOB/CfxMcVdzjM= @@ -141,6 +464,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 h1:0ryTNEd github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4/go.mod h1:HQ4qwNZh32C3CBeO6iJLQlgtMzqeG17ziAA/3KDJFow= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.7 h1:DIBqIrJ7hv+e4CmIk2z3pyKT+3B6qVMgRsawHiR3qso= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.7/go.mod h1:vLm00xmBke75UmpNvOcZQ/Q30ZFjbczeLFqGx5urmGo= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.17 h1:x187MqiHwBGjMGAed8Y8K1VGuCtFvQvXb24r+bwmSdo= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.17/go.mod h1:mC9qMbA6e1pwEq6X3zDGtZRXMG2YaElJkbJlMVHLs5I= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 h1:oHjJHeUy0ImIV0bsrX0X91GkV5nJAyv1l1CC9lnO0TI= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16/go.mod h1:iRSNGgOYmiYwSCXxXaKb9HfOEj40+oTKn8pTxMlYkRM= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16 h1:NSbvS17MlI2lurYgXnCOLvCFX38sBW4eiVER7+kkgsU= @@ -149,8 +474,16 @@ github.com/aws/aws-sdk-go-v2/service/kms v1.48.2 h1:aL8Y/AbB6I+uw0MjLbdo68NQ8t5l github.com/aws/aws-sdk-go-v2/service/kms v1.48.2/go.mod h1:VJcNH6BLr+3VJwinRKdotLOMglHO8mIKlD3ea5c7hbw= github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0 h1:MIWra+MSq53CFaXXAywB2qg9YvVZifkk6vEGl/1Qor0= github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0/go.mod h1:79S2BdqCJpScXZA2y+cpZuocWsjGjJINyXnOsf5DTz8= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.7 h1:d+mnMa4JbJlooSbYQfrJpit/YINaB30JEVgrhtjZneA= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.7/go.mod h1:1X1NotbcGHH7PCQJ98PsExSxsJj/VWzz8MfFz43+02M= github.com/aws/aws-sdk-go-v2/service/signin v1.0.4 h1:HpI7aMmJ+mm1wkSHIA2t5EaFFv5EFYXePW30p1EIrbQ= github.com/aws/aws-sdk-go-v2/service/signin v1.0.4/go.mod h1:C5RdGMYGlfM0gYq/tifqgn4EbyX99V15P2V3R+VHbQU= +github.com/aws/aws-sdk-go-v2/service/sns v1.34.7 h1:OBuZE9Wt8h2imuRktu+WfjiTGrnYdCIJg8IX92aalHE= +github.com/aws/aws-sdk-go-v2/service/sns v1.34.7/go.mod h1:4WYoZAhHt+dWYpoOQUgkUKfuQbE6Gg/hW4oXE0pKS9U= +github.com/aws/aws-sdk-go-v2/service/sqs v1.38.8 h1:80dpSqWMwx2dAm30Ib7J6ucz1ZHfiv5OCRwN/EnCOXQ= +github.com/aws/aws-sdk-go-v2/service/sqs v1.38.8/go.mod h1:IzNt/udsXlETCdvBOL0nmyMe2t9cGmXmZgsdoZGYYhI= +github.com/aws/aws-sdk-go-v2/service/ssm v1.60.1 h1:OwMzNDe5VVTXD4kGmeK/FtqAITiV8Mw4TCa8IyNO0as= +github.com/aws/aws-sdk-go-v2/service/ssm v1.60.1/go.mod h1:IyVabkWrs8SNdOEZLyFFcW9bUltV4G6OQS0s6H20PHg= github.com/aws/aws-sdk-go-v2/service/sso v1.30.7 h1:eYnlt6QxnFINKzwxP5/Ucs1vkG7VT3Iezmvfgc2waUw= github.com/aws/aws-sdk-go-v2/service/sso v1.30.7/go.mod h1:+fWt2UHSb4kS7Pu8y+BMBvJF0EWx+4H0hzNwtDNRTrg= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 h1:AHDr0DaHIAo8c9t1emrzAlVDFp+iMMKnPdYy6XO4MCE= @@ -163,24 +496,40 @@ github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5q github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY= github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= -github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= -github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= +github.com/beevik/ntp v1.5.0 h1:y+uj/JjNwlY2JahivxYvtmv4ehfi3h74fAuABB9ZSM4= +github.com/beevik/ntp v1.5.0/go.mod h1:mJEhBrwT76w9D+IfOEGvuzyuudiW9E52U2BaTrMOYow= +github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= +github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.2.0 h1:tgObeVOf8WAvtuAX6DhJ4xks4CFNwPDZiqzGqIHE51E= +github.com/bgentry/speakeasy v0.2.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bits-and-blooms/bitset v1.24.4 h1:95H15Og1clikBrKr/DuzMXkQzECs1M6hhoGXLwLQOZE= github.com/bits-and-blooms/bitset v1.24.4/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8= github.com/blacktop/go-dwarf v1.0.14 h1:OjmzfSgg/qAKckn2tWFebcgKgJ7HOqCj7bS+CiE1lrY= github.com/blacktop/go-dwarf v1.0.14/go.mod h1:4W2FKgSFYcZLDwnR7k+apv5i3nrau4NGl9N6VQ9DSTo= github.com/blacktop/go-macho v1.1.258 h1:Un/fTCW0TAh5xloBLKESC7HgJsvIGvErCRTkiI51Qvw= github.com/blacktop/go-macho v1.1.258/go.mod h1:Hc5E2Lvt/U1VT+jOxr1O5l/LNFJeMYK4eAmDfazTiGc= -github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4= -github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bluesky-social/indigo v0.0.0-20240813042137-4006c0eca043 h1:927VIkxPFKpfJKVDtCNgSQtlhksARaLvsLxppR2FukM= github.com/bluesky-social/indigo v0.0.0-20240813042137-4006c0eca043/go.mod h1:dXjdzg6bhg1JKnKuf6EBJTtcxtfHYBFEe9btxX5YeAE= -github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= -github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bmatcuk/doublestar/v4 v4.0.2 h1:X0krlUVAVmtr2cRoTqR8aDMrDqnB36ht8wpWTiQ3jsA= +github.com/bmatcuk/doublestar/v4 v4.0.2/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc= +github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 h1:N7oVaKyGp8bttX0bfZGmcGkjz7DLQXhAn3DNd3T0ous= +github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874/go.mod h1:r5xuitiExdLAJ09PR7vBVENGvp4ZuTBeWTGtxuX3K+c= +github.com/brianvoe/gofakeit/v6 v6.25.0 h1:ZpFjktOpLZUeF8q223o0rUuXtA+m5qW5srjvVi+JkXk= +github.com/brianvoe/gofakeit/v6 v6.25.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= +github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw= +github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c= +github.com/buildkite/agent/v3 v3.104.0 h1:VLwNHHb5cmOeWp7clutY3Qnz88lfKb8yj+OTWrwDp+o= +github.com/buildkite/agent/v3 v3.104.0/go.mod h1:HPO/Bv8C/aC2wfwVarAgU8LSXjUh/fTa9P3pxuGB+vw= +github.com/buildkite/go-pipeline v0.15.0 h1:ae/TEXC/4HhajbED2vKcRL5vZTtb9C71cajzwoBlP8s= +github.com/buildkite/go-pipeline v0.15.0/go.mod h1:VE37qY3X5pmAKKUMoDZvPsHOQuyakB9cmXj9Qn6QasA= +github.com/buildkite/interpolate v0.1.5 h1:v2Ji3voik69UZlbfoqzx+qfcsOKLA61nHdU79VV+tPU= +github.com/buildkite/interpolate v0.1.5/go.mod h1:dHnrwHew5O8VNOAgMDpwRlFnhL5VSN6M1bHVmRZ9Ccc= +github.com/buildkite/roko v1.4.0 h1:DxixoCdpNqxu4/1lXrXbfsKbJSd7r1qoxtef/TT2J80= +github.com/buildkite/roko v1.4.0/go.mod h1:0vbODqUFEcVf4v2xVXRfZZRsqJVsCCHTG/TBRByGK4E= github.com/bwesterb/go-ristretto v1.2.3 h1:1w53tCkGhCQ5djbat3+MH0BAQ5Kfgbt56UZQ/JMzngw= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/caarlos0/env/v11 v11.3.1 h1:cArPWC15hWmEt+gWk7YBi7lEXTXCvpaSdCiZE2X5mCA= @@ -191,83 +540,121 @@ github.com/caarlos0/go-shellwords v1.0.12 h1:HWrUnu6lGbWfrDcFiHcZiwOLzHWjjrPVehU github.com/caarlos0/go-shellwords v1.0.12/go.mod h1:bYeeX1GrTLPl5cAMYEzdm272qdsQAZiaHgeF0KTk1Gw= github.com/caarlos0/go-version v0.2.2 h1:5r+nlrg4H2wOVwWjqRqRRIRbZ7ytRmjC9xoMIP0a5kQ= github.com/caarlos0/go-version v0.2.2/go.mod h1:X+rI5VAtJDpcjCjeEIXpxGa5+rTcgur1FK66wS0/944= -github.com/caarlos0/log v0.5.4 h1:4DJwTt8MvvRF8BM4I3j2sbmdf4DYY0HVqKpg09cAgaU= -github.com/caarlos0/log v0.5.4/go.mod h1:iAv3N3ZkiEQUmZ8fGdD8bMA4zq6jMSlnz9D87333Gi0= -github.com/caarlos0/testfs v0.4.4 h1:3PHvzHi5Lt+g332CiShwS8ogTgS3HjrmzZxCm6JCDr8= github.com/caarlos0/testfs v0.4.4/go.mod h1:bRN55zgG4XCUVVHZCeU+/Tz1Q6AxEJOEJTliBy+1DMk= github.com/carlmjohnson/versioninfo v0.22.5 h1:O00sjOLUAFxYQjlN/bzYTuZiS0y6fWDQjMRvwtKgwwc= github.com/carlmjohnson/versioninfo v0.22.5/go.mod h1:QT9mph3wcVfISUKd0i9sZfVrPviHuSF+cUtLjm2WSf8= -github.com/cavaliergopher/cpio v1.0.1 h1:KQFSeKmZhv0cr+kawA3a0xTQCU4QxXF1vhU7P7av2KM= -github.com/cavaliergopher/cpio v1.0.1/go.mod h1:pBdaqQjnvXxdS/6CvNDwIANIFSP0xRKI16PX4xejRQc= +github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e h1:YYUjy5BRwO5zPtfk+aa2gw255FIIoi93zMmuy19o0bc= +github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e/go.mod h1:V284PjgVwSk4ETmz84rpu9ehpGg7swlIH8npP9k2bGw= +github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8 h1:jP7ki8Tzx9ThnFPLDhBYAhEpI2+jOURnHQNURgsMvnY= +github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8/go.mod h1:AZIh1CCnMrcVm6afFf96PBvE2MRpWFco91z8ObJtgDY= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/certifi/gocertifi v0.0.0-20180118203423-deb3ae2ef261 h1:6/yVvBsKeAw05IUj4AzvrxaCnDjN4nUqKjW9+w5wixg= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charmbracelet/colorprofile v0.4.1 h1:a1lO03qTrSIRaK8c3JRxJDZOvhvIeSco3ej+ngLk1kk= -github.com/charmbracelet/colorprofile v0.4.1/go.mod h1:U1d9Dljmdf9DLegaJ0nGZNJvoXAhayhmidOdcBwAvKk= +github.com/chainguard-dev/clog v1.8.0 h1:frlTMEdg3XQR+ioQ6O9i92uigY8GTUcWKpuCFkhcCHA= +github.com/chainguard-dev/clog v1.8.0/go.mod h1:5MQOZi+Iu7fV7GcJG8ag8rCB5elEOpqRMKEASgnGVdo= github.com/charmbracelet/fang v0.4.4 h1:G4qKxF6or/eTPgmAolwPuRNyuci3hTUGGX1rj1YkHJY= github.com/charmbracelet/fang v0.4.4/go.mod h1:P5/DNb9DddQ0Z0dbc0P3ol4/ix5Po7Ofr2KMBfAqoCo= github.com/charmbracelet/keygen v0.5.4 h1:XQYgf6UEaTGgQSSmiPpIQ78WfseNQp4Pz8N/c1OsrdA= github.com/charmbracelet/keygen v0.5.4/go.mod h1:t4oBRr41bvK7FaJsAaAQhhkUuHslzFXVjOBwA55CZNM= -github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9 h1:dsDBRP9Iyco0EjVpCsAzl8VGbxk04fP3sa80ySJSAZw= github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9/go.mod h1:Ns3cOzzY9hEFFeGxB6VpfgRnqOJZJFhQAPfRxPqflQs= -github.com/charmbracelet/x/ansi v0.11.3 h1:6DcVaqWI82BBVM/atTyq6yBoRLZFBsnoDoX9GCu2YOI= github.com/charmbracelet/x/ansi v0.11.3/go.mod h1:yI7Zslym9tCJcedxz5+WBq+eUGMJT0bM06Fqy1/Y4dI= github.com/charmbracelet/x/exp/charmtone v0.0.0-20250603201427-c31516f43444 h1:IJDiTgVE56gkAGfq0lBEloWgkXMk4hl/bmuPoicI4R0= github.com/charmbracelet/x/exp/charmtone v0.0.0-20250603201427-c31516f43444/go.mod h1:T9jr8CzFpjhFVHjNjKwbAD7KwBNyFnj2pntAO7F2zw0= github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f h1:pk6gmGpCE7F3FcjaOEKYriCvpmIN4+6OS/RD0vm4uIA= github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f/go.mod h1:IfZAMTHB6XkZSeXUqriemErjAWCCzT0LwjKFYCZyw0I= -github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk= -github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI= -github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY= -github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo= -github.com/charmbracelet/x/windows v0.2.2 h1:IofanmuvaxnKHuV04sC0eBy/smG6kIKrWG2/jYn2GuM= -github.com/charmbracelet/x/windows v0.2.2/go.mod h1:/8XtdKZzedat74NQFn0NGlGL4soHB0YQZrETF96h75k= +github.com/cheggaaa/pb/v3 v3.1.6 h1:h0x+vd7EiUohAJ29DJtJy+SNAc55t/elW3jCD086EXk= +github.com/cheggaaa/pb/v3 v3.1.6/go.mod h1:urxmfVtaxT+9aWk92DbsvXFZtNSWQSO5TRAp+MJ3l1s= github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 h1:krfRl01rzPzxSxyLyrChD+U+MzsBXbm0OwYYB67uF+4= github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589/go.mod h1:OuDyvmLnMCwa2ep4Jkm6nyA0ocJuZlGyk2gGseVzERM= -github.com/clipperhouse/displaywidth v0.6.2 h1:ZDpTkFfpHOKte4RG5O/BOyf3ysnvFswpyYrV7z2uAKo= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= +github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME= +github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= github.com/clipperhouse/displaywidth v0.6.2/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o= github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= -github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= -github.com/cloudflare/circl v1.6.2 h1:hL7VBpHHKzrV5WTfHCaBsgx/HGbBYlgrwvNXEVDYYsQ= github.com/cloudflare/circl v1.6.2/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f h1:Y8xYupdHxryycyPlc9Y+bSQAYZnetRJ70VMVKm5CKI0= github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= +github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= +github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= +github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I= +github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8= +github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/esnpM7Geqxka4WSqI1SZc7sMJFd3y4= +github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= +github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= +github.com/cockroachdb/pebble v1.1.2 h1:CUh2IPtR4swHlEj48Rhfzw6l/d0qA31fItcIszQVIsA= +github.com/cockroachdb/pebble v1.1.2/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= +github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= +github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= +github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= +github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= +github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= +github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ= +github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w= github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4= github.com/containerd/continuity v0.4.5/go.mod h1:/lNJvtJKUQStBzpVQ1+rasXO1LAWtUQssk28EZvJ3nE= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/containerd/stargz-snapshotter/estargz v0.18.1 h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8= github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q= +github.com/containerd/typeurl/v2 v2.2.0 h1:6NBDbQzr7I5LHgp34xAXYF5DOTQDn05X58lsPEmzLso= +github.com/containerd/typeurl/v2 v2.2.0/go.mod h1:8XOOxnyatxSWuG8OfsZXVnAF4iZfedjS/8UHSPJnX4g= github.com/coreos/go-oidc/v3 v3.17.0 h1:hWBGaQfbi0iVviX4ibC7bk8OKT5qNr4klBaCHVNvehc= github.com/coreos/go-oidc/v3 v3.17.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8= -github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= +github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/crackcomm/go-gitignore v0.0.0-20241020182519-7843d2ba8fdf h1:dwGgBWn84wUS1pVikGiruW+x5XM4amhjaZO20vCjay4= +github.com/crackcomm/go-gitignore v0.0.0-20241020182519-7843d2ba8fdf/go.mod h1:p1d6YEZWvFzEh4KLyvBcVSnrfNDDvK2zfK/4x2v/4pE= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= +github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q= github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw= -github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= -github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/danielgtaylor/huma/v2 v2.35.0 h1:FRg3FgVKcMogVhbNY7FjyTwk+p/orLBR3hQBvXXg7dw= +github.com/danielgtaylor/huma/v2 v2.35.0/go.mod h1:3elp5brzdyyZsPlDVvf6w8RLnklKp3abolr+5op3fP0= +github.com/danieljoos/wincred v1.2.3 h1:v7dZC2x32Ut3nEfRH+vhoZGvN72+dQ/snVXo/vMFLdQ= +github.com/danieljoos/wincred v1.2.3/go.mod h1:6qqX0WNrS4RzPZ1tnroDzq9kY3fu1KwE7MRLQK4X0bs= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c h1:pFUpOrbxDR6AkioZ1ySsx5yxlDQZ8stG2b88gTPxgJU= +github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c/go.mod h1:6UhI8N9EjYm1c2odKpFpAYeR8dsBeM7PtzQhRgxRr9U= github.com/davidmz/go-pageant v1.0.2 h1:bPblRCh5jGU+Uptpz6LgMZGD5hJoOt7otgT454WvHn0= github.com/davidmz/go-pageant v1.0.2/go.mod h1:P2EDDnMqIwG5Rrp05dTRITj9z2zpGcD9efWSkTNKLIE= -github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= +github.com/depcheck-test/depcheck-test v0.0.0-20220607135614-199033aaa936 h1:foGzavPWwtoyBvjWyKJYDYsyzy+23iBV7NKTwdk+LRY= +github.com/depcheck-test/depcheck-test v0.0.0-20220607135614-199033aaa936/go.mod h1:ttKPnOepYt4LLzD+loXQ1rT6EmpyIYHro7TAJuIIlHo= github.com/dghubble/go-twitter v0.0.0-20211115160449-93a8679adecb h1:7ENzkH+O3juL+yj2undESLTaAeRllHwCs/b8z6aWSfc= github.com/dghubble/go-twitter v0.0.0-20211115160449-93a8679adecb/go.mod h1:qhZBgV9e4WyB1JNjHpcXVkUe3knWUwYuAPB1hITdm50= github.com/dghubble/oauth1 v0.7.3 h1:EkEM/zMDMp3zOsX2DC/ZQ2vnEX3ELK0/l9kb+vs4ptE= github.com/dghubble/oauth1 v0.7.3/go.mod h1:oxTe+az9NSMIucDPDCCtzJGsPhciJV33xocHfcR2sVY= github.com/dghubble/sling v1.4.0 h1:/n8MRosVTthvMbwlNZgLx579OGVjUOy3GNEv5BIqAWY= github.com/dghubble/sling v1.4.0/go.mod h1:0r40aNsU9EdDUVBNhfCstAtFgutjgJGYbO1oNzkMoM8= +github.com/dgraph-io/badger/v4 v4.8.0 h1:JYph1ChBijCw8SLeybvPINizbDKWZ5n/GYbz2yhN/bs= +github.com/dgraph-io/badger/v4 v4.8.0/go.mod h1:U6on6e8k/RTbUWxqKR0MvugJuVmkxSNc79ap4917h4w= +github.com/dgraph-io/ristretto/v2 v2.2.0 h1:bkY3XzJcXoMuELV8F+vS8kzNgicwQFAaGINAEJdWGOM= +github.com/dgraph-io/ristretto/v2 v2.2.0/go.mod h1:RZrm63UmcBAaYWC1DotLYBmTvgkrs0+XhBd7Npn7/zI= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54 h1:SG7nF6SRlWhcT7cNTs5R6Hk4V2lcmLz2NsG2VnInyNo= +github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA= github.com/digitorus/pkcs7 v0.0.0-20250730155240-ffadbf3f398c h1:g349iS+CtAvba7i0Ee9EP1TlTZ9w+UncBY6HSmsFZa0= github.com/digitorus/pkcs7 v0.0.0-20250730155240-ffadbf3f398c/go.mod h1:mCGGmWkOQvEuLdIRfPIpXViBfpWto4AhwtJlAvo62SQ= github.com/digitorus/timestamp v0.0.0-20250524132541-c45532741eea h1:ALRwvjsSP53QmnN3Bcj0NpR8SsFLnskny/EIMebAk1c= @@ -278,6 +665,8 @@ github.com/distribution/distribution/v3 v3.0.0 h1:q4R8wemdRQDClzoNNStftB2ZAfqOiN github.com/distribution/distribution/v3 v3.0.0/go.mod h1:tRNuFoZsUdyRVegq8xGNeds4KLjwLCRin/tTo6i1DhU= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= github.com/docker/cli v29.2.0-rc.1.0.20251223174200-874b831c0e49+incompatible h1:qzsQ4KSWZG5dBSDv3XFBCvBcy6/jC1odDTwe2SbMBh0= github.com/docker/cli v29.2.0-rc.1.0.20251223174200-874b831c0e49+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= @@ -292,37 +681,61 @@ github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQ github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/dprotaso/go-yit v0.0.0-20250513223454-5ece0c5aa76c h1:EMwsP/vaHQDLhAX1kNIng5mHEhg+CkS18m0AL825n6U= +github.com/dprotaso/go-yit v0.0.0-20250513223454-5ece0c5aa76c/go.mod h1:lHwJo6jMevQL9tNpW6vLyhkK13bYHBcoh9tUakMhbnE= +github.com/dunglas/httpsfv v1.1.0 h1:Jw76nAyKWKZKFrpMMcL76y35tOpYHqQPzHQiwDvpe54= +github.com/dunglas/httpsfv v1.1.0/go.mod h1:zID2mqw9mFsnt7YC3vYQ9/cjq30q41W+1AnDwH8TiMg= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= -github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= -github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= +github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/proto v1.14.2 h1:wJPxPy2Xifja9cEMrcA/g08art5+7CGJNFNk35iXC1I= +github.com/emicklei/proto v1.14.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A= +github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329 h1:K+fnvUM0VZ7ZFJf0n4L/BRlnsb9pL/GuDG6FqaH+PwM= +github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329/go.mod h1:Alz8LEClvR7xKsrq3qzoc4N0guvVNSS8KmSChGYr9hs= github.com/envoyproxy/go-control-plane/envoy v1.35.0 h1:ixjkELDE+ru6idPxcHLj8LBVc2bFP7iBytj353BoHUo= github.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs= +github.com/envoyproxy/go-control-plane/ratelimit v0.1.0 h1:/G9QYbddjL25KvtKTv3an9lx6VBE2cnb8wp1vEGNYGI= +github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= -github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= +github.com/fatih/set v0.2.1 h1:nn2CaJyknWE/6txyUDGwysr3G5QC6xWB/PtVjPBbeaA= +github.com/filecoin-project/go-clock v0.1.0 h1:SFbYIM75M8NnFm1yMHhN9Ahy3W5bEZV9gd6MPfXbKVU= +github.com/filecoin-project/go-clock v0.1.0/go.mod h1:4uB/O4PvOjlx1VCMdZ9MyDZXRm//gkj1ELEbxfI1AZs= +github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e h1:Ss/B3/5wWRh8+emnK0++g5zQzwDTi30W10pKxKc4JXI= +github.com/flynn/go-docopt v0.0.0-20140912013429-f6dd2ebbb31e/go.mod h1:HyVoz1Mz5Co8TFO8EupIdlcpwShBmY98dkT2xeHkvEI= +github.com/flynn/noise v1.1.0 h1:KjPQoQCEFdZDiP03phOvGi11+SVVhBG2wOWAorLsstg= +github.com/flynn/noise v1.1.0/go.mod h1:xbMo+0i6+IGbYdJhF31t2eR1BIU0CYc12+BNAKwUTag= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fullstorydev/grpcurl v1.9.3 h1:PC1Xi3w+JAvEE2Tg2Gf2RfVgPbf9+tbuQr1ZkyVU3jk= +github.com/fullstorydev/grpcurl v1.9.3/go.mod h1:/b4Wxe8bG6ndAjlfSUjwseQReUDUvBJiFEB7UllOlUE= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gabriel-vasile/mimetype v1.4.12 h1:e9hWvmLYvtp846tLHam2o++qitpguFiYCKbn0w9jyqw= github.com/gabriel-vasile/mimetype v1.4.12/go.mod h1:d+9Oxyo1wTzWdyVUPMmXFvp4F9tea18J8ufA774AB3s= +github.com/gammazero/chanqueue v1.1.1 h1:n9Y+zbBxw2f7uUE9wpgs0rOSkP/I/yhDLiNuhyVjojQ= +github.com/gammazero/chanqueue v1.1.1/go.mod h1:fMwpwEiuUgpab0sH4VHiVcEoji1pSi+EIzeG4TPeKPc= +github.com/gammazero/deque v1.2.0 h1:scEFO8Uidhw6KDU5qg1HA5fYwM0+us2qdeJqm43bitU= +github.com/gammazero/deque v1.2.0/go.mod h1:JVrR+Bj1NMQbPnYclvDlvSX0nVGReLrQZ0aUMuWLctg= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/github/smimesign v0.2.0 h1:Hho4YcX5N1I9XNqhq0fNx0Sts8MhLonHd+HRXVGNjvk= github.com/github/smimesign v0.2.0/go.mod h1:iZiiwNT4HbtGRVqCQu7uJPEZCuEE5sfSSttcnePkDl4= -github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= +github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec= +github.com/go-chi/chi v4.1.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-chi/chi/v5 v5.2.4 h1:WtFKPHwlywe8Srng8j2BhOD9312j9cGUxG1SP4V2cR4= +github.com/go-chi/chi/v5 v5.2.4/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0= github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= -github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= -github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.7.0 h1:83lBUJhGWhYp0ngzCMSgllhUSuoHP1iEWYjsPl9nwqM= -github.com/go-git/go-billy/v5 v5.7.0/go.mod h1:/1IUejTKH8xipsAcdfcSAlUlo2J7lkYV8GTKxAT/L3E= -github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.16.5 h1:mdkuqblwr57kVfXri5TTH+nMFLNUxIj9Z7F5ykFbw5s= -github.com/go-git/go-git/v5 v5.16.5/go.mod h1:QOMLpNf1qxuSY4StA/ArOdfFR2TrKEjJiye2kel2m+M= +github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= +github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs= github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= @@ -357,6 +770,8 @@ github.com/go-openapi/swag/jsonname v0.25.4 h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ98 github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag= github.com/go-openapi/swag/jsonutils v0.25.4 h1:VSchfbGhD4UTf4vCdR2F4TLBdLwHyUDTd1/q4i+jGZA= github.com/go-openapi/swag/jsonutils v0.25.4/go.mod h1:7OYGXpvVFPn4PpaSdPHJBtF0iGnbEaTk8AvBkoWnaAY= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4 h1:IACsSvBhiNJwlDix7wq39SS2Fh7lUOCJRmx/4SN4sVo= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4/go.mod h1:Mt0Ost9l3cUzVv4OEZG+WSeoHwjWLnarzMePNDAOBiM= github.com/go-openapi/swag/loading v0.25.4 h1:jN4MvLj0X6yhCDduRsxDDw1aHe+ZWoLjW+9ZQWIKn2s= github.com/go-openapi/swag/loading v0.25.4/go.mod h1:rpUM1ZiyEP9+mNLIQUdMiD7dCETXvkkC30z53i+ftTE= github.com/go-openapi/swag/mangling v0.25.4 h1:2b9kBJk9JvPgxr36V23FxJLdwBrpijI26Bx5JH4Hp48= @@ -369,184 +784,424 @@ github.com/go-openapi/swag/typeutils v0.25.4 h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv4 github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE= github.com/go-openapi/swag/yamlutils v0.25.4 h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw= github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc= +github.com/go-openapi/testify/enable/yaml/v2 v2.0.2 h1:0+Y41Pz1NkbTHz8NngxTuAXxEodtNSI1WG1c/m5Akw4= +github.com/go-openapi/testify/enable/yaml/v2 v2.0.2/go.mod h1:kme83333GCtJQHXQ8UKX3IBZu6z8T5Dvy5+CW3NLUUg= +github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= +github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= github.com/go-openapi/validate v0.25.1 h1:sSACUI6Jcnbo5IWqbYHgjibrhhmt3vR6lCzKZnmAgBw= github.com/go-openapi/validate v0.25.1/go.mod h1:RMVyVFYte0gbSTaZ0N4KmTn6u/kClvAFp+mAVfS/DQc= +github.com/go-piv/piv-go/v2 v2.4.0 h1:xamQ/fR4MJiw/Ndbk6yi7MVwhjrwlnDAPuaH9zcGb+I= +github.com/go-piv/piv-go/v2 v2.4.0/go.mod h1:ShZi74nnrWNQEdWzRUd/3cSig3uNOcEZp+EWl0oewnI= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.29.0 h1:lQlF5VNJWNlRbRZNeOIkWElR+1LL/OuHcc0Kp14w1xk= +github.com/go-playground/validator/v10 v10.29.0/go.mod h1:D6QxqeMlgIPuT02L66f2ccrZ7AGgHkzKmmTMZhk/Kc4= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= +github.com/go-redis/cache/v9 v9.0.0 h1:0thdtFo0xJi0/WXbRVu8B066z8OvVymXTJGaXrVWnN0= +github.com/go-redis/cache/v9 v9.0.0/go.mod h1:cMwi1N8ASBOufbIvk7cdXe2PbPjK/WMRL95FFHWsSgI= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-redis/redismock/v9 v9.2.0 h1:ZrMYQeKPECZPjOj5u9eyOjg8Nnb0BS9lkVIZ6IpsKLw= +github.com/go-redis/redismock/v9 v9.2.0/go.mod h1:18KHfGDK4Y6c2R0H38EUGWAdc7ZQS9gfYxc94k7rWT0= github.com/go-restruct/restruct v1.2.0-alpha h1:2Lp474S/9660+SJjpVxoKuWX09JsXHSrdV7Nv3/gkvc= github.com/go-restruct/restruct v1.2.0-alpha/go.mod h1:KqrpKpn4M8OLznErihXTGLlsXFGeLxHUrLRRI/1YjGk= +github.com/go-rod/rod v0.116.2 h1:A5t2Ky2A+5eD/ZJQr1EfsQSe5rms5Xof/qj296e+ZqA= +github.com/go-rod/rod v0.116.2/go.mod h1:H+CMO9SCNc2TJ2WfrG+pKhITz57uGNYU43qYHh438Mg= +github.com/go-sql-driver/mysql v1.9.3 h1:U/N249h2WzJ3Ukj8SowVFjdtZKfu9vlLZxjPXV1aweo= +github.com/go-sql-driver/mysql v1.9.3/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU= github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1 h1:wG8n/XJQ07TmjbITcGiUaOtXxdrINDz1b0J1w0SzqDc= github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.5.1/go.mod h1:A2S0CWkNylc2phvKXWBBdD3K0iGnDBGbzRpISP2zBl8= +github.com/go-test/deep v1.1.1 h1:0r/53hagsehfO4bzD2Pgr/+RgHqhmf+k1Bpse2cTu1U= +github.com/go-test/deep v1.1.1/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/go-training/helloworld v0.0.0-20200225145412-ba5f4379d78b h1:0pOrjn0UzTcHdhDVdxrH8LwM7QLnAp8qiUtwXM04JEE= +github.com/go-training/helloworld v0.0.0-20200225145412-ba5f4379d78b/go.mod h1:hGGmX3bRUkYkc9aKA6mkUxi6d+f1GmZF1je0FlVTgwU= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/go-yaml/yaml v2.1.0+incompatible h1:RYi2hDdss1u4YE7GwixGzWwVo47T8UQwnTLB6vQiq+o= +github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= +github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/gocql/gocql v1.7.0 h1:O+7U7/1gSN7QTEAaMEsJc1Oq2QHXvCWoF3DFK9HDHus= +github.com/gocql/gocql v1.7.0/go.mod h1:vnlvXyFZeLBF0Wy+RS8hrOdbn0UWsWtdg07XJnFxZ+4= +github.com/godbus/dbus/v5 v5.2.2 h1:TUR3TgtSVDmjiXOgAAyaZbYmIeP3DPkld3jgKGV8mXQ= +github.com/godbus/dbus/v5 v5.2.2/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= -github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= -github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/golang/glog v1.2.5 h1:DrW6hGnjIhtvhOIiAKT6Psh/Kd/ldepEa81DKeiRJ5I= +github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U= +github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/addlicense v1.1.1 h1:jpVf9qPbU8rz5MxKo7d+RMcNHkqxi4YJi/laauX4aAE= +github.com/google/addlicense v1.1.1/go.mod h1:Sm/DHu7Jk+T5miFHHehdIjbi4M5+dJDRS3Cq0rncIxA= +github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= +github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= +github.com/google/cel-go v0.27.0 h1:e7ih85+4qVrBuqQWTW4FKSqZYokVuc3HnhH5keboFTo= +github.com/google/cel-go v0.27.0/go.mod h1:tTJ11FWqnhw5KKpnWpvW9CJC3Y9GK4EIS0WXnBbebzw= github.com/google/certificate-transparency-go v1.3.2 h1:9ahSNZF2o7SYMaKaXhAumVEzXB2QaayzII9C8rv7v+A= github.com/google/certificate-transparency-go v1.3.2/go.mod h1:H5FpMUaGa5Ab2+KCYsxg6sELw3Flkl7pGZzWdBoYLXs= -github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/flatbuffers v25.2.10+incompatible h1:F3vclr7C3HpB1k9mxCGRMXq6FdUalZ6H/pNX4FP1v0Q= +github.com/google/flatbuffers v25.2.10+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= +github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-containerregistry v0.20.7 h1:24VGNpS0IwrOZ2ms2P1QE3Xa5X9p4phx0aUgzYzHW6I= github.com/google/go-containerregistry v0.20.7/go.mod h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM= +github.com/google/go-github/v73 v73.0.0 h1:aR+Utnh+Y4mMkS+2qLQwcQ/cF9mOTpdwnzlaw//rG24= +github.com/google/go-github/v73 v73.0.0/go.mod h1:fa6w8+/V+edSU0muqdhCVY7Beh1M8F1IlQPZIANKIYw= github.com/google/go-github/v80 v80.0.0 h1:BTyk3QOHekrk5VF+jIGz1TNEsmeoQG9K/UWaaP+EWQs= github.com/google/go-github/v80 v80.0.0/go.mod h1:pRo4AIMdHW83HNMGfNysgSAv0vmu+/pkY8nZO9FT9Yo= +github.com/google/go-pkcs11 v0.3.0 h1:PVRnTgtArZ3QQqTGtbtjtnIkzl2iY2kt24yqbrf7td8= +github.com/google/go-pkcs11 v0.3.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0= github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU= +github.com/google/go-replayers/grpcreplay v1.3.0 h1:1Keyy0m1sIpqstQmgz307zhiJ1pV4uIlFds5weTmxbo= +github.com/google/go-replayers/grpcreplay v1.3.0/go.mod h1:v6NgKtkijC0d3e3RW8il6Sy5sqRVUwoQa4mHOGEy8DI= +github.com/google/go-replayers/httpreplay v1.2.0 h1:VM1wEyyjaoU53BwrOnaf9VhAyQQEEioJvFYxYcLRKzk= +github.com/google/go-replayers/httpreplay v1.2.0/go.mod h1:WahEFFZZ7a1P4VM1qEeHy+tME4bwyqPcwWbNlUI1Mcg= +github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= +github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo= github.com/google/ko v0.18.1 h1:F2WDFIi/eZe5thmFCuk/uH0eVr7ilWCThl+UoTHEKSk= github.com/google/ko v0.18.1/go.mod h1:YjJWJhmZ7prVtHm/LFfwqeIAIhcyr/gxtztI8+Jrxl4= +github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc= +github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0= +github.com/google/pprof v0.0.0-20250602020802-c6617b811d0e h1:FJta/0WsADCe1r9vQjdHbd3KuiLPu7Y9WlyLGwMUNyE= +github.com/google/pprof v0.0.0-20250602020802-c6617b811d0e/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA= +github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio/v2 v2.0.0 h1:UifI23ZTGY8Tt29JbYFiuyIU3eX+RNFtUwefq9qAhxg= github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= -github.com/google/rpmpack v0.7.1 h1:YdWh1IpzOjBz60Wvdw0TU0A5NWP+JTVHA5poDqwMO2o= -github.com/google/rpmpack v0.7.1/go.mod h1:h1JL16sUTWCLI/c39ox1rDaTBo3BXUQGjczVJyK4toU= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/subcommands v1.2.0 h1:vWQspBTo2nEqTUFita5/KeEWlUL8kQObDFbub/EN9oE= +github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= +github.com/google/trillian v1.7.2 h1:EPBxc4YWY4Ak8tcuhyFleY+zYlbCDCa4Sn24e1Ka8Js= +github.com/google/trillian v1.7.2/go.mod h1:mfQJW4qRH6/ilABtPYNBerVJAJ/upxHLX81zxNQw05s= github.com/google/wire v0.7.0 h1:JxUKI6+CVBgCO2WToKy/nQk0sS+amI9z9EjVmdaocj4= github.com/google/wire v0.7.0/go.mod h1:n6YbUQD9cPKTnHXEBN2DXlOp/mVADhVErcMFb0v3J18= github.com/googleapis/enterprise-certificate-proxy v0.3.7 h1:zrn2Ee/nWmHulBx5sAVrGgAa0f2/R35S4DJwfFaUPFQ= github.com/googleapis/enterprise-certificate-proxy v0.3.7/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81vgd/bo= github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc= -github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gookit/color v1.6.0 h1:JjJXBTk1ETNyqyilJhkTXJYYigHG24TM9Xa2M1xAhRA= +github.com/gookit/color v1.6.0/go.mod h1:9ACFc7/1IpHGBW8RwuDm/0YEnhg3dwwXpoMsmtyHfjs= github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= -github.com/goreleaser/chglog v0.7.4 h1:3pnNt/XCrUcAOq+KC91Azlgp5CRv4GHo1nl8Aws7OzI= -github.com/goreleaser/chglog v0.7.4/go.mod h1:dTVoZZagTz7hHdWaZ9OshHntKiF44HbWIHWxYJQ/h0Y= -github.com/goreleaser/fileglob v1.4.0 h1:Y7zcUnzQjT1gbntacGAkIIfLv+OwojxTXBFxjSFoBBs= -github.com/goreleaser/fileglob v1.4.0/go.mod h1:1pbHx7hhmJIxNZvm6fi6WVrnP0tndq6p3ayWdLn1Yf8= -github.com/goreleaser/goreleaser/v2 v2.13.3 h1:S8d13YgzzFXxoUJ9NJInuyq3lPNCXTcuW8wSvM+rXnQ= -github.com/goreleaser/goreleaser/v2 v2.13.3/go.mod h1:Rj+yhhXrO6WHc6cNh1GggpxzhhHXv9lczL5M4cSV3oA= -github.com/goreleaser/nfpm/v2 v2.44.1 h1:g+QNjkEx+C2Zu8dB48t9da/VfV0CWS5TMjxT8HG1APY= github.com/goreleaser/nfpm/v2 v2.44.1/go.mod h1:drIYLqkla9SaOLbSnaFOmSIv5LXGfhHcbK54st97b4s= github.com/goreleaser/quill v0.0.0-20251224035235-ab943733386f h1:2HQF/pifDK7XnmVhQi3OecdUcHLOaXIKVKscW8qKzCk= github.com/goreleaser/quill v0.0.0-20251224035235-ab943733386f/go.mod h1:Xp6aA14QqdPBg7UHToFag7mrjsV7XaKEpw1t6fDfT6M= -github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/gorilla/schema v1.4.1/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM= -github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= +github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= +github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 h1:QGLs/O40yoNK9vmy4rhUGBVyMf1lISBGtXRpsu/Qu/o= +github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3 h1:B+8ClL/kCQkRiU82d9xajRPKYMrB7E0MbtzWVi1K4ns= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3/go.mod h1:NbCUVmiS4foBGBHOYlCT25+YmGpJ32dZPi75pGEUpj4= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= -github.com/hairyhenderson/go-which v0.2.2/go.mod h1:vBfncX6hXWQhY1Qte8qQNWuJNnsGPqFLjgmwEETyOAo= +github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= +github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= +github.com/hashicorp/go-hclog v1.6.3/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48= github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw= +github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0 h1:U+kC2dOhMFQctRfhK0gRctKAPTloZdMU5ZJxaesJ/VM= +github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0/go.mod h1:Ll013mhdmsVDuoIXVfBtvgGJsXDYkTw1kooNcoCXuE0= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= +github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-sockaddr v1.0.7 h1:G+pTkSO01HpR5qCxg7lxfsFEZaG+C0VssTy/9dbT+Fw= +github.com/hashicorp/go-sockaddr v1.0.7/go.mod h1:FZQbEYa1pxkQ7WLpyXJ6cbjpT8q0YgQaK/JakXqGyWw= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= -github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/hashicorp/golang-lru/arc/v2 v2.0.6 h1:4NU7uP5vSoK6TbaMj3NtY478TTAWLso/vL1gpNrInHg= +github.com/hashicorp/golang-lru/arc/v2 v2.0.6/go.mod h1:cfdDIX05DWvYV6/shsxDfa/OVcRieOt+q4FnM8x+Xno= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/hashicorp/hcl v1.0.1-vault-7 h1:ag5OxFVy3QYTFTJODRzTKVZ6xvdfLLCA1cy/Y6xGI0I= +github.com/hashicorp/hcl v1.0.1-vault-7/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= +github.com/hashicorp/vault/api v1.22.0 h1:+HYFquE35/B74fHoIeXlZIP2YADVboaPjaSicHEZiH0= +github.com/hashicorp/vault/api v1.22.0/go.mod h1:IUZA2cDvr4Ok3+NtK2Oq/r+lJeXkeCrHRmqdyWfpmGM= +github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef h1:A9HsByNhogrvm9cWb28sjiS3i7tcKCkflWFEkHfuAgM= +github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= +github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= +github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= +github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= +github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/in-toto/attestation v1.1.2 h1:MBFn6lsMq6dptQZJBhalXTcWMb/aJy3V+GX3VYj/V1E= github.com/in-toto/attestation v1.1.2/go.mod h1:gYFddHMZj3DiQ0b62ltNi1Vj5rC879bTmBbrv9CRHpM= github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E= -github.com/invopop/jsonschema v0.13.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= +github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA= +github.com/ipfs/go-bitfield v1.1.0/go.mod h1:paqf1wjq/D2BBmzfTVFlJQ9IlFOZpg422HL0HqsGWHU= github.com/ipfs/go-block-format v0.2.0 h1:ZqrkxBA2ICbDRbK8KJs/u0O3dlp6gmAuuXUJNiW1Ycs= github.com/ipfs/go-block-format v0.2.0/go.mod h1:+jpL11nFx5A/SPpsoBn6Bzkra/zaArfSmsknbPMYgzM= +github.com/ipfs/go-blockservice v0.5.2 h1:in9Bc+QcXwd1apOVM7Un9t8tixPKdaHQFdLSUM1Xgk8= +github.com/ipfs/go-blockservice v0.5.2/go.mod h1:VpMblFEqG67A/H2sHKAemeH9vlURVavlysbdUI632yk= github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s= github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk= +github.com/ipfs/go-cidutil v0.1.0 h1:RW5hO7Vcf16dplUU60Hs0AKDkQAVPVplr7lk97CFL+Q= +github.com/ipfs/go-cidutil v0.1.0/go.mod h1:e7OEVBMIv9JaOxt9zaGEmAoSlXW9jdFZ5lP/0PwcfpA= github.com/ipfs/go-datastore v0.6.0 h1:JKyz+Gvz1QEZw0LsX1IBn+JFCJQH4SJVFtM4uWU0Myk= github.com/ipfs/go-datastore v0.6.0/go.mod h1:rt5M3nNbSO/8q1t4LNkLyUwRs8HupMeN/8O4Vn9YAT8= +github.com/ipfs/go-detect-race v0.0.1 h1:qX/xay2W3E4Q1U7d9lNs1sU9nvguX0a7319XbyQ6cOk= +github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= +github.com/ipfs/go-ds-flatfs v0.5.1 h1:ZCIO/kQOS/PSh3vcF1H6a8fkRGS7pOfwfPdx4n/KJH4= +github.com/ipfs/go-ds-flatfs v0.5.1/go.mod h1:RWTV7oZD/yZYBKdbVIFXTX2fdY2Tbvl94NsWqmoyAX4= +github.com/ipfs/go-dsqueue v0.1.2 h1:jBMsgvT9Pj9l3cqI0m5jYpW/aWDYkW4Us6EuzrcSGbs= +github.com/ipfs/go-dsqueue v0.1.2/go.mod h1:OU94YuMVUIF/ctR7Ysov9PI4gOa2XjPGN9nd8imSv78= github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7PTTDQNsQ= github.com/ipfs/go-ipfs-blockstore v1.3.1/go.mod h1:KgtZyc9fq+P2xJUiCAzbRdhhqJHvsw8u2Dlqy2MyRTE= +github.com/ipfs/go-ipfs-delay v0.0.1 h1:r/UXYyRcddO6thwOnhiznIAiSvxMECGgtv35Xs1IeRQ= +github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= github.com/ipfs/go-ipfs-ds-help v1.1.1 h1:B5UJOH52IbcfS56+Ul+sv8jnIV10lbjLF5eOO0C66Nw= github.com/ipfs/go-ipfs-ds-help v1.1.1/go.mod h1:75vrVCkSdSFidJscs8n4W+77AtTpCIAdDGAwjitJMIo= +github.com/ipfs/go-ipfs-exchange-interface v0.2.1 h1:jMzo2VhLKSHbVe+mHNzYgs95n0+t0Q69GQ5WhRDZV/s= +github.com/ipfs/go-ipfs-exchange-interface v0.2.1/go.mod h1:MUsYn6rKbG6CTtsDp+lKJPmVt3ZrCViNyH3rfPGsZ2E= +github.com/ipfs/go-ipfs-pq v0.0.4 h1:U7jjENWJd1jhcrR8X/xHTaph14PTAK9O+yaLJbjqgOw= +github.com/ipfs/go-ipfs-pq v0.0.4/go.mod h1:9UdLOIIb99IFrgT0Fc53pvbvlJBhpUb4GJuAQf3+O2A= +github.com/ipfs/go-ipfs-redirects-file v0.1.2 h1:QCK7VtL91FH17KROVVy5KrzDx2hu68QvB2FTWk08ZQk= +github.com/ipfs/go-ipfs-redirects-file v0.1.2/go.mod h1:yIiTlLcDEM/8lS6T3FlCEXZktPPqSOyuY6dEzVqw7Fw= github.com/ipfs/go-ipfs-util v0.0.3 h1:2RFdGez6bu2ZlZdI+rWfIdbQb1KudQp3VGwPtdNCmE0= github.com/ipfs/go-ipfs-util v0.0.3/go.mod h1:LHzG1a0Ig4G+iZ26UUOMjHd+lfM84LZCrn17xAKWBvs= github.com/ipfs/go-ipld-cbor v0.1.0 h1:dx0nS0kILVivGhfWuB6dUpMa/LAwElHPw1yOGYopoYs= github.com/ipfs/go-ipld-cbor v0.1.0/go.mod h1:U2aYlmVrJr2wsUBU67K4KgepApSZddGRDWBYR0H4sCk= github.com/ipfs/go-ipld-format v0.6.0 h1:VEJlA2kQ3LqFSIm5Vu6eIlSxD/Ze90xtc4Meten1F5U= github.com/ipfs/go-ipld-format v0.6.0/go.mod h1:g4QVMTn3marU3qXchwjpKPKgJv+zF+OlaKMyhJ4LHPg= +github.com/ipfs/go-ipld-legacy v0.2.2 h1:DThbqCPVLpWBcGtU23KDLiY2YRZZnTkXQyfz8aOfBkQ= +github.com/ipfs/go-ipld-legacy v0.2.2/go.mod h1:hhkj+b3kG9b2BcUNw8IFYAsfeNo8E3U7eYlWeAOPyDU= +github.com/ipfs/go-libipfs v0.7.0 h1:Mi54WJTODaOL2/ZSm5loi3SwI3jI2OuFWUrQIkJ5cpM= +github.com/ipfs/go-libipfs v0.7.0/go.mod h1:KsIf/03CqhICzyRGyGo68tooiBE2iFbI/rXW7FhAYr0= github.com/ipfs/go-log v1.0.5 h1:2dOuUCB1Z7uoczMWgAyDck5JLb72zHzrMnGnCNNbvY8= github.com/ipfs/go-log v1.0.5/go.mod h1:j0b8ZoR+7+R99LD9jZ6+AJsrzkPbSXbZfGakb5JPtIo= github.com/ipfs/go-log/v2 v2.5.1 h1:1XdUzF7048prq4aBjDQQ4SL5RxftpRGdXhNRwKSAlcY= github.com/ipfs/go-log/v2 v2.5.1/go.mod h1:prSpmC1Gpllc9UYWxDiZDreBYw7zp4Iqp1kOLU9U5UI= +github.com/ipfs/go-merkledag v0.11.0 h1:DgzwK5hprESOzS4O1t/wi6JDpyVQdvm9Bs59N/jqfBY= +github.com/ipfs/go-merkledag v0.11.0/go.mod h1:Q4f/1ezvBiJV0YCIXvt51W/9/kqJGH4I1LsA7+djsM4= github.com/ipfs/go-metrics-interface v0.0.1 h1:j+cpbjYvu4R8zbleSs36gvB7jR+wsL2fGD6n0jO4kdg= github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= +github.com/ipfs/go-peertaskqueue v0.8.3 h1:tBPpGJy+A92RqtRFq5amJn0Uuj8Pw8tXi0X3eHfHM8w= +github.com/ipfs/go-peertaskqueue v0.8.3/go.mod h1:OqVync4kPOcXEGdj/LKvox9DCB5mkSBeXsPczCxLtYA= +github.com/ipfs/go-test v0.2.3 h1:Z/jXNAReQFtCYyn7bsv/ZqUwS6E7iIcSpJ2CuzCvnrc= +github.com/ipfs/go-test v0.2.3/go.mod h1:QW8vSKkwYvWFwIZQLGQXdkt9Ud76eQXRQ9Ao2H+cA1o= +github.com/ipfs/go-unixfsnode v1.10.2 h1:TREegX1J4X+k1w4AhoDuxxFvVcS9SegMRvrmxF6Tca8= +github.com/ipfs/go-unixfsnode v1.10.2/go.mod h1:ImDPTSiKZ+2h4UVdkSDITJHk87bUAp7kX/lgifjRicg= +github.com/ipfs/go-verifcid v0.0.3 h1:gmRKccqhWDocCRkC+a59g5QW7uJw5bpX9HWBevXa0zs= +github.com/ipfs/go-verifcid v0.0.3/go.mod h1:gcCtGniVzelKrbk9ooUSX/pM3xlH73fZZJDzQJRvOUw= +github.com/ipld/go-car v0.6.1-0.20230509095817-92d28eb23ba4 h1:oFo19cBmcP0Cmg3XXbrr0V/c+xU9U1huEZp8+OgBzdI= +github.com/ipld/go-car v0.6.1-0.20230509095817-92d28eb23ba4/go.mod h1:6nkFF8OmR5wLKBzRKi7/YFJpyYR7+oEn1DX+mMWnlLA= +github.com/ipld/go-car/v2 v2.16.0 h1:LWe0vmN/QcQmUU4tr34W5Nv5mNraW+G6jfN2s+ndBco= +github.com/ipld/go-car/v2 v2.16.0/go.mod h1:RqFGWN9ifcXVmCrTAVnfnxiWZk1+jIx67SYhenlmL34= +github.com/ipld/go-codec-dagpb v1.7.0 h1:hpuvQjCSVSLnTnHXn+QAMR0mLmb1gA6wl10LExo2Ts0= +github.com/ipld/go-codec-dagpb v1.7.0/go.mod h1:rD3Zg+zub9ZnxcLwfol/OTQRVjaLzXypgy4UqHQvilM= +github.com/ipld/go-ipld-prime v0.21.0 h1:n4JmcpOlPDIxBcY037SVfpd1G+Sj1nKZah0m6QH9C2E= +github.com/ipld/go-ipld-prime v0.21.0/go.mod h1:3RLqy//ERg/y5oShXXdx5YIp50cFGOanyMctpPjsvxQ= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.8.0 h1:TYPDoleBBme0xGSAX3/+NujXXtpZn9HBONkQC7IEZSo= +github.com/jackc/pgx/v5 v5.8.0/go.mod h1:QVeDInX2m9VyzvNeiCJVjCkNFqzsNb43204HshNSZKw= +github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= +github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A= github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= -github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc= +github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= +github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= github.com/jbenet/goprocess v0.1.4/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= github.com/jedisct1/go-minisign v0.0.0-20241212093149-d2f9f49435c7 h1:FWpSWRD8FbVkKQu8M1DM9jF5oXFLyE+XpisIYfdzbic= github.com/jedisct1/go-minisign v0.0.0-20241212093149-d2f9f49435c7/go.mod h1:BMxO138bOokdgt4UaxZiEfypcSHX0t6SIFimVP1oRfk= +github.com/jellydator/ttlcache/v3 v3.4.0 h1:YS4P125qQS0tNhtL6aeYkheEaB/m8HCqdMMP4mnWdTY= +github.com/jellydator/ttlcache/v3 v3.4.0/go.mod h1:Hw9EgjymziQD3yGsQdf1FqFdpp7YjFMd4Srg5EJlgD4= +github.com/jessevdk/go-flags v1.6.1 h1:Cvu5U8UGrLay1rZfv/zP7iLpSHGUZ/Ou68T0iX1bBK4= +github.com/jessevdk/go-flags v1.6.1/go.mod h1:Mk8T1hIAWpOiJiHa9rJASDK2UGWji0EuPGBnNLMooyc= +github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94= +github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= +github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24 h1:liMMTbpW34dhU4az1GN0pTPADwNmvoRSeoZ6PItiqnY= +github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= +github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I= +github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= -github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= -github.com/klauspost/compress v1.18.2 h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= +github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= +github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= +github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= +github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= -github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= -github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= -github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= -github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/koron/go-ssdp v0.0.6 h1:Jb0h04599eq/CY7rB5YEqPS83HmRfHP2azkxMN2rFtU= +github.com/koron/go-ssdp v0.0.6/go.mod h1:0R9LfRJGek1zWTjN3JUNlm5INCDYGpRDfAptnct63fI= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= -github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= -github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= -github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= -github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ= +github.com/labstack/echo-contrib v0.15.0 h1:9K+oRU265y4Mu9zpRDv3X+DGTqUALY6oRHCSZZKCRVU= +github.com/labstack/echo-contrib v0.15.0/go.mod h1:lei+qt5CLB4oa7VHTE0yEfQSEB9XTJI1LUqko9UWvo4= +github.com/labstack/echo/v4 v4.11.3 h1:Upyu3olaqSHkCjs1EJJwQ3WId8b8b1hxbogyommKktM= +github.com/labstack/echo/v4 v4.11.3/go.mod h1:UcGuQ8V6ZNRmSweBIJkPvGfwCMIlFmiqrPqiEBfPYws= +github.com/labstack/gommon v0.4.1 h1:gqEff0p/hTENGMABzezPoPSRtIh1Cvw0ueMOe0/dfOk= +github.com/labstack/gommon v0.4.1/go.mod h1:TyTrpPqxR5KMk8LKVtLmfMjeQ5FEkBYdxLYPw/WfrOM= +github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= +github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI= +github.com/lestrrat-go/blackmagic v1.0.4 h1:IwQibdnf8l2KoO+qC3uT4OaTWsW7tuRQXy9TRN9QanA= +github.com/lestrrat-go/blackmagic v1.0.4/go.mod h1:6AWFyKNNj0zEXQYfTMPfZrAXUWUfTIZ5ECEUEJaijtw= +github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE= +github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/httprc v1.0.4 h1:bAZymwoZQb+Oq8MEbyipag7iSq6YIga8Wj6GOiJGdI8= +github.com/lestrrat-go/httprc v1.0.4/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo= +github.com/lestrrat-go/httprc/v3 v3.0.0 h1:nZUx/zFg5uc2rhlu1L1DidGr5Sj02JbXvGSpnY4LMrc= +github.com/lestrrat-go/httprc/v3 v3.0.0/go.mod h1:k2U1QIiyVqAKtkffbg+cUmsyiPGQsb9aAfNQiNFuQ9Q= +github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI= +github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= +github.com/lestrrat-go/jwx/v2 v2.0.12 h1:3d589+5w/b9b7S3DneICPW16AqTyYXB7VRjgluSDWeA= +github.com/lestrrat-go/jwx/v2 v2.0.12/go.mod h1:Mq4KN1mM7bp+5z/W5HS8aCNs5RKZ911G/0y2qUjAQuQ= +github.com/lestrrat-go/jwx/v3 v3.0.10 h1:XuoCBhZBncRIjMQ32HdEc76rH0xK/Qv2wq5TBouYJDw= +github.com/lestrrat-go/jwx/v3 v3.0.10/go.mod h1:kNMedLgTpHvPJkK5EMVa1JFz+UVyY2dMmZKu3qjl/Pk= +github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU= +github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/option/v2 v2.0.0 h1:XxrcaJESE1fokHy3FpaQ/cXW8ZsIdWcdFzzLOcID3Ss= +github.com/lestrrat-go/option/v2 v2.0.0/go.mod h1:oSySsmzMoR0iRzCDCaUfsCzxQHUEuhOViQObyy7S6Vg= +github.com/letsencrypt/boulder v0.20251208.0 h1:rG1V+1Oiy8H7i6kSf85RwXeZZ8q2Vj65dbsSk88J7wI= +github.com/letsencrypt/boulder v0.20251208.0/go.mod h1:Wi99CY9yzFg4yaHamFCBIScvY8KOcBUe1rlPjUZNTJM= +github.com/letsencrypt/pkcs11key/v4 v4.0.0 h1:qLc/OznH7xMr5ARJgkZCCWk+EomQkiNTOoOF5LAgagc= +github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= +github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= +github.com/libp2p/go-cidranger v1.1.0 h1:ewPN8EZ0dd1LSnrtuwd4709PXVcITVeuwbag38yPW7c= +github.com/libp2p/go-cidranger v1.1.0/go.mod h1:KWZTfSr+r9qEo9OkI9/SIEeAtw+NNoU0dXIXt15Okic= +github.com/libp2p/go-doh-resolver v0.5.0 h1:4h7plVVW+XTS+oUBw2+8KfoM1jF6w8XmO7+skhePFdE= +github.com/libp2p/go-doh-resolver v0.5.0/go.mod h1:aPDxfiD2hNURgd13+hfo29z9IC22fv30ee5iM31RzxU= +github.com/libp2p/go-flow-metrics v0.3.0 h1:q31zcHUvHnwDO0SHaukewPYgwOBSxtt830uJtUx6784= +github.com/libp2p/go-flow-metrics v0.3.0/go.mod h1:nuhlreIwEguM1IvHAew3ij7A8BMlyHQJ279ao24eZZo= +github.com/libp2p/go-libp2p v0.47.0 h1:qQpBjSCWNQFF0hjBbKirMXE9RHLtSuzTDkTfr1rw0yc= +github.com/libp2p/go-libp2p v0.47.0/go.mod h1:s8HPh7mMV933OtXzONaGFseCg/BE//m1V34p3x4EUOY= +github.com/libp2p/go-libp2p-asn-util v0.4.1 h1:xqL7++IKD9TBFMgnLPZR6/6iYhawHKHl950SO9L6n94= +github.com/libp2p/go-libp2p-asn-util v0.4.1/go.mod h1:d/NI6XZ9qxw67b4e+NgpQexCIiFYJjErASrYW4PFDN8= +github.com/libp2p/go-libp2p-kad-dht v0.37.1 h1:jtX8bQIXVCs6/allskNB4m5n95Xvwav7wHAhopGZfS0= +github.com/libp2p/go-libp2p-kad-dht v0.37.1/go.mod h1:Uwokdh232k9Y1uMy2yJOK5zb7hpMHn4P8uWS4s9i05Q= +github.com/libp2p/go-libp2p-kbucket v0.8.0 h1:QAK7RzKJpYe+EuSEATAaaHYMYLkPDGC18m9jxPLnU8s= +github.com/libp2p/go-libp2p-kbucket v0.8.0/go.mod h1:JMlxqcEyKwO6ox716eyC0hmiduSWZZl6JY93mGaaqc4= +github.com/libp2p/go-libp2p-record v0.3.1 h1:cly48Xi5GjNw5Wq+7gmjfBiG9HCzQVkiZOUZ8kUl+Fg= +github.com/libp2p/go-libp2p-record v0.3.1/go.mod h1:T8itUkLcWQLCYMqtX7Th6r7SexyUJpIyPgks757td/E= +github.com/libp2p/go-libp2p-routing-helpers v0.7.5 h1:HdwZj9NKovMx0vqq6YNPTh6aaNzey5zHD7HeLJtq6fI= +github.com/libp2p/go-libp2p-routing-helpers v0.7.5/go.mod h1:3YaxrwP0OBPDD7my3D0KxfR89FlcX/IEbxDEDfAmj98= +github.com/libp2p/go-libp2p-testing v0.12.0 h1:EPvBb4kKMWO29qP4mZGyhVzUyR25dvfUIK5WDu6iPUA= +github.com/libp2p/go-libp2p-testing v0.12.0/go.mod h1:KcGDRXyN7sQCllucn1cOOS+Dmm7ujhfEyXQL5lvkcPg= +github.com/libp2p/go-msgio v0.3.0 h1:mf3Z8B1xcFN314sWX+2vOTShIE0Mmn2TXn3YCUQGNj0= +github.com/libp2p/go-msgio v0.3.0/go.mod h1:nyRM819GmVaF9LX3l03RMh10QdOroF++NBbxAb0mmDM= +github.com/libp2p/go-netroute v0.4.0 h1:sZZx9hyANYUx9PZyqcgE/E1GUG3iEtTZHUEvdtXT7/Q= +github.com/libp2p/go-netroute v0.4.0/go.mod h1:Nkd5ShYgSMS5MUKy/MU2T57xFoOKvvLR92Lic48LEyA= +github.com/libp2p/go-reuseport v0.4.0 h1:nR5KU7hD0WxXCJbmw7r2rhRYruNRl2koHw8fQscQm2s= +github.com/libp2p/go-reuseport v0.4.0/go.mod h1:ZtI03j/wO5hZVDFo2jKywN6bYKWLOy8Se6DrI2E1cLU= +github.com/libp2p/go-yamux/v5 v5.0.1 h1:f0WoX/bEF2E8SbE4c/k1Mo+/9z0O4oC/hWEA+nfYRSg= +github.com/libp2p/go-yamux/v5 v5.0.1/go.mod h1:en+3cdX51U0ZslwRdRLrvQsdayFt3TSUKvBGErzpWbU= +github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4 h1:sIXJOMrYnQZJu7OB7ANSF4MYri2fTEGIsRLz6LwI4xE= +github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= +github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= +github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= +github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= +github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= +github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-mastodon v0.0.10 h1:wz1d/aCkJOIkz46iv4eAqXHVreUMxydY1xBWrPBdDeE= github.com/mattn/go-mastodon v0.0.10/go.mod h1:YBofeqh7G6s787787NQR8erBYz6fKDu+KNMrn5RuD6Y= -github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= -github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= -github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= +github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= +github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= +github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b h1:z78hV3sbSMAUoyUMM0I83AUIT6Hu17AWfgjzIbtrYFc= +github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b/go.mod h1:lxPUiZwKoFL8DUUmalo2yJJUCxbPKtm8OKfqr2/FTNU= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc h1:PTfri+PuQmWDqERdnNMiD9ZejrlswWrCpBEZgWOiTrc= +github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc/go.mod h1:cGKTAVKx4SxOuR/czcZ/E2RSJ3sfHs8FpHhQ5CWMf9s= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= +github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE= +github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/moby/api v1.52.0 h1:00BtlJY4MXkkt84WhUZPRqt5TvPbgig2FZvTbe3igYg= github.com/moby/moby/api v1.52.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= github.com/moby/moby/client v0.2.1 h1:1Grh1552mvv6i+sYOdY+xKKVTvzJegcVMhuXocyDz/k= github.com/moby/moby/client v0.2.1/go.mod h1:O+/tw5d4a1Ha/ZA/tPxIZJapJRUS6LNZ1wiVRxYHyUE= +github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= +github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= +github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= +github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/user v0.3.0 h1:9ni5DlcW5an3SvRSx4MouotOygvzaXbaSrc/wGDFWPo= github.com/moby/sys/user v0.3.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/modelcontextprotocol/registry v1.4.0 h1:k07g5UPubxonZ627B/da+e3oCkFr9DLoYqaxa8aawwU= github.com/modelcontextprotocol/registry v1.4.0/go.mod h1:50oU8Q6ecBwVoH7G6e3KJwdhj0ShBH1Xmfvz8kst5AU= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE= +github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mozillazg/docker-credential-acr-helper v0.4.0 h1:Uoh3Z9CcpEDnLiozDx+D7oDgRq7X+R296vAqAumnOcw= +github.com/mozillazg/docker-credential-acr-helper v0.4.0/go.mod h1:2kiicb3OlPytmlNC9XGkLvVC+f0qTiJw3f/mhmeeQBg= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= -github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= -github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= github.com/muesli/mango v0.2.0 h1:iNNc0c5VLQ6fsMgAqGQofByNUBH2Q2nEbD6TaI+5yyQ= github.com/muesli/mango v0.2.0/go.mod h1:5XFpbC8jY5UUv89YQciiXNlbi+iJgt29VDC5xbzrLL4= github.com/muesli/mango-cobra v1.3.0 h1:vQy5GvPg3ndOSpduxutqFoINhWk3vD5K2dXo5E8pqec= @@ -559,41 +1214,108 @@ github.com/multiformats/go-base32 v0.1.0 h1:pVx9xoSPqEIQG8o+UbAe7DNi51oej1NtK+aG github.com/multiformats/go-base32 v0.1.0/go.mod h1:Kj3tFY6zNr+ABYMqeUNeGvkIC/UYgtWibDcT0rExnbI= github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9rQyccr0= github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4= +github.com/multiformats/go-multiaddr v0.16.1 h1:fgJ0Pitow+wWXzN9do+1b8Pyjmo8m5WhGfzpL82MpCw= +github.com/multiformats/go-multiaddr v0.16.1/go.mod h1:JSVUmXDjsVFiW7RjIFMP7+Ev+h1DTbiJgVeTV/tcmP0= +github.com/multiformats/go-multiaddr-dns v0.4.1 h1:whi/uCLbDS3mSEUMb1MsoT4uzUeZB0N32yzufqS0i5M= +github.com/multiformats/go-multiaddr-dns v0.4.1/go.mod h1:7hfthtB4E4pQwirrz+J0CcDUfbWzTqEzVyYKKIKpgkc= +github.com/multiformats/go-multiaddr-fmt v0.1.0 h1:WLEFClPycPkp4fnIzoFoV9FVd49/eQsuaL3/CWe167E= +github.com/multiformats/go-multiaddr-fmt v0.1.0/go.mod h1:hGtDIW4PU4BqJ50gW2quDuPVjyWNZxToGUh/HwTZYJo= github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g= github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk= +github.com/multiformats/go-multicodec v0.10.0 h1:UpP223cig/Cx8J76jWt91njpK3GTAO1w02sdcjZDSuc= +github.com/multiformats/go-multicodec v0.10.0/go.mod h1:wg88pM+s2kZJEQfRCKBNU+g32F5aWBEjyFHXvZLTcLI= github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U= github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM= +github.com/multiformats/go-multistream v0.6.1 h1:4aoX5v6T+yWmc2raBHsTvzmFhOI8WVOer28DeBBEYdQ= +github.com/multiformats/go-multistream v0.6.1/go.mod h1:ksQf6kqHAb6zIsyw7Zm+gAuVo57Qbq84E27YlYqavqw= github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A= +github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nozzle/throttler v0.0.0-20180817012639-2ea982251481 h1:Up6+btDp321ZG5/zdSLo48H9Iaq0UQGthrhWC6pCxzE= +github.com/nozzle/throttler v0.0.0-20180817012639-2ea982251481/go.mod h1:yKZQO8QE2bHlgozqWDiRVqTFlLQSj30K/6SAK8EeYFw= +github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= +github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= +github.com/oleiade/reflections v1.1.0 h1:D+I/UsXQB4esMathlt0kkZRJZdUDmhv5zGi/HOwYTWo= +github.com/oleiade/reflections v1.1.0/go.mod h1:mCxx0QseeVCHs5Um5HhJeCKVC7AwS8kO67tky4rdisA= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= +github.com/open-policy-agent/opa v1.8.0 h1:4JdYuZcANeUF1v/87NGpirocpaZzJA0PcuL7xfmsMNM= +github.com/open-policy-agent/opa v1.8.0/go.mod h1:vOVZuIJQISnaYcZtQ58yTDkVCp1FmGPwK43pO9qPDqM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/opencontainers/runc v1.2.8 h1:RnEICeDReapbZ5lZEgHvj7E9Q3Eex9toYmaGBsbvU5Q= github.com/opencontainers/runc v1.2.8/go.mod h1:cC0YkmZcuvr+rtBZ6T7NBoVbMGNAdLa/21vIElJDOzI= +github.com/opensearch-project/opensearch-go/v2 v2.3.0 h1:nQIEMr+A92CkhHrZgUhcfsrZjibvB3APXf2a1VwCmMQ= +github.com/opensearch-project/opensearch-go/v2 v2.3.0/go.mod h1:8LDr9FCgUTVoT+5ESjc2+iaZuldqE+23Iq0r1XeNue8= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg= +github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c= +github.com/orandin/slog-gorm v1.3.2 h1:C0lKDQPAx/pF+8K2HL7bdShPwOEJpPM0Bn80zTzxU1g= +github.com/orandin/slog-gorm v1.3.2/go.mod h1:MoZ51+b7xE9lwGNPYEhxcUtRNrYzjdcKvA8QXQQGEPA= github.com/ory/dockertest/v3 v3.12.0 h1:3oV9d0sDzlSQfHtIaB5k6ghUCVMVLpAY8hwrqoCyRCw= github.com/ory/dockertest/v3 v3.12.0/go.mod h1:aKNDTva3cp8dwOWwb9cWuX84aH5akkxXRvO7KCwWVjE= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= +github.com/pborman/getopt v0.0.0-20180811024354-2b5b3bfb099b h1:K1wa7ads2Bu1PavI6LfBRMYSy6Zi+Rky0OhWBfrmkmY= +github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= +github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= -github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0= -github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= +github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9 h1:1/WtZae0yGtPq+TI6+Tv1WTxkukpXeMlviSxvL7SRgk= +github.com/petar/GoLLRB v0.0.0-20210522233825-ae3b015fd3e9/go.mod h1:x3N5drFsm2uilKKuuYo6LdyD8vZAW55sH/9w+pbo1sw= +github.com/pion/datachannel v1.5.10 h1:ly0Q26K1i6ZkGf42W7D4hQYR90pZwzFOjTq5AuCKk4o= +github.com/pion/datachannel v1.5.10/go.mod h1:p/jJfC9arb29W7WrxyKbepTU20CFgyx5oLo8Rs4Py/M= +github.com/pion/dtls/v2 v2.2.12 h1:KP7H5/c1EiVAAKUmXyCzPiQe5+bCJrpOeKg/L05dunk= +github.com/pion/dtls/v2 v2.2.12/go.mod h1:d9SYc9fch0CqK90mRk1dC7AkzzpwJj6u2GU3u+9pqFE= +github.com/pion/dtls/v3 v3.0.6 h1:7Hkd8WhAJNbRgq9RgdNh1aaWlZlGpYTzdqjy9x9sK2E= +github.com/pion/dtls/v3 v3.0.6/go.mod h1:iJxNQ3Uhn1NZWOMWlLxEEHAN5yX7GyPvvKw04v9bzYU= +github.com/pion/ice/v4 v4.0.10 h1:P59w1iauC/wPk9PdY8Vjl4fOFL5B+USq1+xbDcN6gT4= +github.com/pion/ice/v4 v4.0.10/go.mod h1:y3M18aPhIxLlcO/4dn9X8LzLLSma84cx6emMSu14FGw= +github.com/pion/interceptor v0.1.40 h1:e0BjnPcGpr2CFQgKhrQisBU7V3GXK6wrfYrGYaU6Jq4= +github.com/pion/interceptor v0.1.40/go.mod h1:Z6kqH7M/FYirg3frjGJ21VLSRJGBXB/KqaTIrdqnOic= +github.com/pion/logging v0.2.3 h1:gHuf0zpoh1GW67Nr6Gj4cv5Z9ZscU7g/EaoC/Ke/igI= +github.com/pion/logging v0.2.3/go.mod h1:z8YfknkquMe1csOrxK5kc+5/ZPAzMxbKLX5aXpbpC90= +github.com/pion/mdns/v2 v2.0.7 h1:c9kM8ewCgjslaAmicYMFQIde2H9/lrZpjBkN8VwoVtM= +github.com/pion/mdns/v2 v2.0.7/go.mod h1:vAdSYNAT0Jy3Ru0zl2YiW3Rm/fJCwIeM0nToenfOJKA= +github.com/pion/randutil v0.1.0 h1:CFG1UdESneORglEsnimhUjf33Rwjubwj6xfiOXBa3mA= +github.com/pion/randutil v0.1.0/go.mod h1:XcJrSMMbbMRhASFVOlj/5hQial/Y8oH/HVo7TBZq+j8= +github.com/pion/rtcp v1.2.15 h1:LZQi2JbdipLOj4eBjK4wlVoQWfrZbh3Q6eHtWtJBZBo= +github.com/pion/rtcp v1.2.15/go.mod h1:jlGuAjHMEXwMUHK78RgX0UmEJFV4zUKOFHR7OP+D3D0= +github.com/pion/rtp v1.8.19 h1:jhdO/3XhL/aKm/wARFVmvTfq0lC/CvN1xwYKmduly3c= +github.com/pion/rtp v1.8.19/go.mod h1:bAu2UFKScgzyFqvUKmbvzSdPr+NGbZtv6UB2hesqXBk= +github.com/pion/sctp v1.8.39 h1:PJma40vRHa3UTO3C4MyeJDQ+KIobVYRZQZ0Nt7SjQnE= +github.com/pion/sctp v1.8.39/go.mod h1:cNiLdchXra8fHQwmIoqw0MbLLMs+f7uQ+dGMG2gWebE= +github.com/pion/sdp/v3 v3.0.13 h1:uN3SS2b+QDZnWXgdr69SM8KB4EbcnPnPf2Laxhty/l4= +github.com/pion/sdp/v3 v3.0.13/go.mod h1:88GMahN5xnScv1hIMTqLdu/cOcUkj6a9ytbncwMCq2E= +github.com/pion/srtp/v3 v3.0.6 h1:E2gyj1f5X10sB/qILUGIkL4C2CqK269Xq167PbGCc/4= +github.com/pion/srtp/v3 v3.0.6/go.mod h1:BxvziG3v/armJHAaJ87euvkhHqWe9I7iiOy50K2QkhY= +github.com/pion/stun v0.6.1 h1:8lp6YejULeHBF8NmV8e2787BogQhduZugh5PdhDyyN4= +github.com/pion/stun v0.6.1/go.mod h1:/hO7APkX4hZKu/D0f2lHzNyvdkTGtIy3NDmLR7kSz/8= +github.com/pion/stun/v3 v3.0.0 h1:4h1gwhWLWuZWOJIJR9s2ferRO+W3zA/b6ijOI6mKzUw= +github.com/pion/stun/v3 v3.0.0/go.mod h1:HvCN8txt8mwi4FBvS3EmDghW6aQJ24T+y+1TKjB5jyU= +github.com/pion/transport/v2 v2.2.10 h1:ucLBLE8nuxiHfvkFKnkDQRYWYfp8ejf4YBOPfaQpw6Q= +github.com/pion/transport/v2 v2.2.10/go.mod h1:sq1kSLWs+cHW9E+2fJP95QudkzbK7wscs8yYgQToO5E= +github.com/pion/transport/v3 v3.0.7 h1:iRbMH05BzSNwhILHoBoAPxoB9xQgOaJk+591KC9P1o0= +github.com/pion/transport/v3 v3.0.7/go.mod h1:YleKiTZ4vqNxVwh77Z0zytYi7rXHl7j6uPLGhhz9rwo= +github.com/pion/turn/v4 v4.0.2 h1:ZqgQ3+MjP32ug30xAbD6Mn+/K4Sxi3SdNOTFf+7mpps= +github.com/pion/turn/v4 v4.0.2/go.mod h1:pMMKP/ieNAG/fN5cZiN4SDuyKsXtNTr0ccN7IToA1zs= +github.com/pion/webrtc/v4 v4.1.2 h1:mpuUo/EJ1zMNKGE79fAdYNFZBX790KE7kQQpLMjjR54= +github.com/pion/webrtc/v4 v4.1.2/go.mod h1:xsCXiNAmMEjIdFxAYU0MbB3RwRieJsegSB2JZsGN+8U= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f h1:VXTQfuJj9vKR4TCkEuWIckKvdHFeJH/huIFJ9/cXOB0= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f/go.mod h1:/zvteZs/GwLtCgZ4BL6CBsk9IKIlexP43ObX9AxTqTw= github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= @@ -602,34 +1324,61 @@ github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNw github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.67.4 h1:yR3NqWO1/UyO1w2PhUvXlGQs/PtFmoveVO0KZ4+Lvsc= github.com/prometheus/common v0.67.4/go.mod h1:gP0fq6YjjNCLssJCQp0yk4M8W6ikLURwkdd/YKtTbyI= +github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= +github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= github.com/prometheus/otlptranslator v1.0.0 h1:s0LJW/iN9dkIH+EnhiD3BlkkP5QVIUVEoIwkU+A6qos= github.com/prometheus/otlptranslator v1.0.0/go.mod h1:vRYWnXvI6aWGpsdY/mOT/cbeVRBlPWtBNDb7kGR3uKM= github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= -github.com/r3labs/diff/v3 v3.0.2 h1:yVuxAY1V6MeM4+HNur92xkS39kB/N+cFi2hMkY06BbA= +github.com/prometheus/prometheus v0.51.0 h1:aRdjTnmHLved29ILtdzZN2GNvOjWATtA/z+3fYuexOc= +github.com/prometheus/prometheus v0.51.0/go.mod h1:yv4MwOn3yHMQ6MZGHPg/U7Fcyqf+rxqiZfSur6myVtc= +github.com/protocolbuffers/txtpbfmt v0.0.0-20250627152318-f293424e46b5 h1:WWs1ZFnGobK5ZXNu+N9If+8PDNVB9xAqrib/stUXsV4= +github.com/protocolbuffers/txtpbfmt v0.0.0-20250627152318-f293424e46b5/go.mod h1:BnHogPTyzYAReeQLZrOxyxzS739DaTNtTvohVdbENmA= +github.com/puzpuzpuz/xsync/v3 v3.0.2 h1:3yESHrRFYr6xzkz61LLkvNiPFXxJEAABanTQpKbAaew= +github.com/puzpuzpuz/xsync/v3 v3.0.2/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= +github.com/puzpuzpuz/xsync/v4 v4.2.0 h1:dlxm77dZj2c3rxq0/XNvvUKISAmovoXF4a4qM6Wvkr0= +github.com/puzpuzpuz/xsync/v4 v4.2.0/go.mod h1:VJDmTCJMBt8igNxnkQd86r+8KUeN1quSfNKu5bLYFQo= +github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= +github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= +github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SAw= +github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= +github.com/quic-go/webtransport-go v0.10.0 h1:LqXXPOXuETY5Xe8ITdGisBzTYmUOy5eSj+9n4hLTjHI= +github.com/quic-go/webtransport-go v0.10.0/go.mod h1:LeGIXr5BQKE3UsynwVBeQrU1TPrbh73MGoC6jd+V7ow= github.com/r3labs/diff/v3 v3.0.2/go.mod h1:Cy542hv0BAEmhDYWtGxXRQ4kqRsVIcEjG9gChUlTmkw= -github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= -github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/redis/go-redis/v9 v9.17.2 h1:P2EGsA4qVIM3Pp+aPocCJ7DguDHhqrXNhVcEp4ViluI= +github.com/redis/go-redis/v9 v9.17.2/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= +github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= +github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= +github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/samber/lo v1.38.1 h1:j2XEAqXKb09Am4ebOg31SpvzUTTs6EN3VfgeLUhPdXM= +github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= +github.com/samber/slog-echo v1.8.0 h1:DQQRtAliSvQw+ScEdu5gv3jbHu9cCTzvHuTD8GDv7zI= +github.com/samber/slog-echo v1.8.0/go.mod h1:0ab2AwcciQXNAXEcjkHwD9okOh9vEHEYn8xP97ocuhM= github.com/sassoftware/go-rpmutils v0.4.0 h1:ojND82NYBxgwrV+mX1CWsd5QJvvEZTKddtCdFLPWhpg= github.com/sassoftware/go-rpmutils v0.4.0/go.mod h1:3goNWi7PGAT3/dlql2lv3+MSN5jNYPjT5mVcQcIsYzI= github.com/sassoftware/relic v7.2.1+incompatible h1:Pwyh1F3I0r4clFJXkSI8bOyJINGqpgjJU3DYAZeI05A= github.com/sassoftware/relic v7.2.1+incompatible/go.mod h1:CWfAxv73/iLZ17rbyhIEq3K9hs5w6FpNMdUT//qR+zk= +github.com/sassoftware/relic/v7 v7.6.2 h1:rS44Lbv9G9eXsukknS4mSjIAuuX+lMq/FnStgmZlUv4= +github.com/sassoftware/relic/v7 v7.6.2/go.mod h1:kjmP0IBVkJZ6gXeAu35/KCEfca//+PKM6vTAsyDPY+k= github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e h1:7q6NSFZDeGfvvtIRwBrU/aegEYJYmvev0cHAwo17zZQ= github.com/scylladb/go-set v1.0.3-0.20200225121959-cc7b2070d91e/go.mod h1:DkpGd78rljTxKAnTDPFqXSGxvETQnJyuSOQwsHycqfs= github.com/secure-systems-lab/go-securesystemslib v0.9.1 h1:nZZaNz4DiERIQguNy0cL5qTdn9lR8XKHf4RUyG1Sx3g= github.com/secure-systems-lab/go-securesystemslib v0.9.1/go.mod h1:np53YzT0zXGMv6x4iEWc9Z59uR+x+ndLwCLqPYpLXVU= -github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= -github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= +github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= -github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= -github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/sigstore/cosign/v2 v2.6.1 h1:7Wf67ENNCjg+1fLqHRPgKUNaCCnCavnEfCe1LApOoIo= github.com/sigstore/cosign/v2 v2.6.1/go.mod h1:L37doL+7s6IeCXFODV2J7kds5Po/srlVzA//++YqAJ8= +github.com/sigstore/fulcio v1.8.4 h1:awmmItiPwteo8t8sVOoIAPnmbDfLb1JGW0LPY8SNCdY= +github.com/sigstore/fulcio v1.8.4/go.mod h1:2jh+uWOfWroKHlhUzr81AFqnAYeZiIi3NC/vegCbiYw= github.com/sigstore/protobuf-specs v0.5.0 h1:F8YTI65xOHw70NrvPwJ5PhAzsvTnuJMGLkA4FIkofAY= github.com/sigstore/protobuf-specs v0.5.0/go.mod h1:+gXR+38nIa2oEupqDdzg4qSBT0Os+sP7oYv6alWewWc= github.com/sigstore/rekor v1.4.3 h1:2+aw4Gbgumv8vYM/QVg6b+hvr4x4Cukur8stJrVPKU0= @@ -640,67 +1389,126 @@ github.com/sigstore/sigstore v1.10.3 h1:s7fBYYOzW/2Vd0nND2ZdpWySb5vRF2u9eix/NZMH github.com/sigstore/sigstore v1.10.3/go.mod h1:T26vXIkpnGEg391v3TaZ8EERcXbnjtZb/1erh5jbIQk= github.com/sigstore/sigstore-go v1.1.4 h1:wTTsgCHOfqiEzVyBYA6mDczGtBkN7cM8mPpjJj5QvMg= github.com/sigstore/sigstore-go v1.1.4/go.mod h1:2U/mQOT9cjjxrtIUeKDVhL+sHBKsnWddn8URlswdBsg= +github.com/sigstore/sigstore/pkg/signature/kms/aws v1.10.4 h1:VZ+L6SKVWbLPHznIF0tBuO7qKMFdJiJMVwFKu9DlY5o= +github.com/sigstore/sigstore/pkg/signature/kms/aws v1.10.4/go.mod h1:Rstj47WpJym25il8j4jTL0BfikzP/9AhVD+DsBcYzZc= +github.com/sigstore/sigstore/pkg/signature/kms/azure v1.10.3 h1:k5VMLf/ms7hh6MLgVoorM0K+hSMwZLXoywlxh4CXqP8= +github.com/sigstore/sigstore/pkg/signature/kms/azure v1.10.3/go.mod h1:S1Bp3dmP7jYlXcGLAxG81wRbE01NIZING8ZIy0dJlAI= +github.com/sigstore/sigstore/pkg/signature/kms/gcp v1.10.4 h1:Qxt6dE4IwhJ6gIXmg2q4S/SeqEDSZ29nmfsv7Zb6LL4= +github.com/sigstore/sigstore/pkg/signature/kms/gcp v1.10.4/go.mod h1:hJVeNOwarqfyALjOwsf0OR8YA/A96NABucEaQumPr30= +github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.10.3 h1:lJSdaC/aOlFHlvqmmV696n1HdXLMLEKGwpNZMV0sKts= +github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.10.3/go.mod h1:b2rV9qPbt/jv/Yy75AIOZThP8j+pe1ZdLEjOwmjPdoA= github.com/sigstore/timestamp-authority/v2 v2.0.3 h1:sRyYNtdED/ttLCMdaYnwpf0zre1A9chvjTnCmWWxN8Y= github.com/sigstore/timestamp-authority/v2 v2.0.3/go.mod h1:mDaHxkt3HmZYoIlwYj4QWo0RUr7VjYU52aVO5f5Qb3I= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28JjdBg= -github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow= github.com/slack-go/slack v0.17.3 h1:zV5qO3Q+WJAQ/XwbGfNFrRMaJ5T/naqaonyPV/1TP4g= github.com/slack-go/slack v0.17.3/go.mod h1:X+UqOufi3LYQHDnMG1vxf0J8asC6+WllXrVrhl8/Prk= -github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= +github.com/slok/go-http-metrics v0.13.0 h1:lQDyJJx9wKhmbliyUsZ2l6peGnXRHjsjoqPt5VYzcP8= +github.com/slok/go-http-metrics v0.13.0/go.mod h1:HIr7t/HbN2sJaunvnt9wKP9xoBBVZFo1/KiHU3b0w+4= github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= -github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= +github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= +github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 h1:+jumHNA0Wrelhe64i8F6HNlS8pkoyMv5sreGx2Ry5Rw= github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= -github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= -github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spiffe/go-spiffe/v2 v2.6.0 h1:l+DolpxNWYgruGQVV0xsfeya3CsC7m8iBzDnMpsbLuo= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= +github.com/tchap/go-patricia/v2 v2.3.3 h1:xfNEsODumaEcCcY3gI0hYPZ/PcpVv5ju6RMAhgwZDDc= +github.com/tchap/go-patricia/v2 v2.3.3/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= +github.com/thales-e-security/pool v0.0.2 h1:RAPs4q2EbWsTit6tpzuvTFlgFRJ3S8Evf5gtvVDbmPg= +github.com/thales-e-security/pool v0.0.2/go.mod h1:qtpMm2+thHtqhLzTwgDBj/OuNnMpupY8mv0Phz0gjhU= github.com/theupdateframework/go-tuf v0.7.0 h1:CqbQFrWo1ae3/I0UCblSbczevCCbS31Qvs5LdxRWqRI= github.com/theupdateframework/go-tuf v0.7.0/go.mod h1:uEB7WSY+7ZIugK6R1hiBMBjQftaFzn7ZCDJcp1tCUug= github.com/theupdateframework/go-tuf/v2 v2.3.0 h1:gt3X8xT8qu/HT4w+n1jgv+p7koi5ad8XEkLXXZqG9AA= github.com/theupdateframework/go-tuf/v2 v2.3.0/go.mod h1:xW8yNvgXRncmovMLvBxKwrKpsOwJZu/8x+aB0KtFcdw= +github.com/tink-crypto/tink-go-awskms/v2 v2.1.0 h1:N9UxlsOzu5mttdjhxkDLbzwtEecuXmlxZVo/ds7JKJI= +github.com/tink-crypto/tink-go-awskms/v2 v2.1.0/go.mod h1:PxSp9GlOkKL9rlybW804uspnHuO9nbD98V/fDX4uSis= +github.com/tink-crypto/tink-go-gcpkms/v2 v2.2.0 h1:3B9i6XBXNTRspfkTC0asN5W0K6GhOSgcujNiECNRNb0= +github.com/tink-crypto/tink-go-gcpkms/v2 v2.2.0/go.mod h1:jY5YN2BqD/KSCHM9SqZPIpJNG/u3zwfLXHgws4x2IRw= +github.com/tink-crypto/tink-go-hcvault/v2 v2.4.0 h1:j+S+WKBQ5ya26A5EM/uXoVe+a2IaPQN8KgBJZ22cJ+4= +github.com/tink-crypto/tink-go-hcvault/v2 v2.4.0/go.mod h1:OCKJIujnTzDq7f+73NhVs99oA2c1TR6nsOpuasYM6Yo= +github.com/tink-crypto/tink-go/v2 v2.6.0 h1:+KHNBHhWH33Vn+igZWcsgdEPUxKwBMEe0QC60t388v4= +github.com/tink-crypto/tink-go/v2 v2.6.0/go.mod h1:2WbBA6pfNsAfBwDCggboaHeB2X29wkU8XHtGwh2YIk8= +github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0= +github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs= +github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho= +github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE= +github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce h1:fb190+cK2Xz/dvi9Hv8eCYJYvIGUTN2/KLq1pT6CjEc= +github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 h1:nrZ3ySNYwJbSpD6ce9duiP+QkD3JuLCcWkdaehUS/3Y= github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80/go.mod h1:iFyPdL66DjUD96XmzVL3ZntbzcflLnznH0fr99w5VqE= github.com/transparency-dev/formats v0.0.0-20251208091212-1378f9e1b1b7 h1:PwfIAvobqihWBi1/KIsw0IzTEJ89rYJqmXfzmqacySw= github.com/transparency-dev/formats v0.0.0-20251208091212-1378f9e1b1b7/go.mod h1:mQ5ASe7MNPT+yRc47hLguwsNdE2Go0mT6piyzUO+ynw= github.com/transparency-dev/merkle v0.0.2 h1:Q9nBoQcZcgPamMkGn7ghV8XiTZ/kRxn1yCG81+twTK4= github.com/transparency-dev/merkle v0.0.2/go.mod h1:pqSy+OXefQ1EDUVmAJ8MUhHB9TXGuzVAT58PqBoHz1A= -github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= -github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/transparency-dev/tessera v1.0.1 h1:t2PS/GzuxU5x6kAQQ4ZGBBUqLGOF2R+N/jMmxy9gYnw= +github.com/transparency-dev/tessera v1.0.1/go.mod h1:s1dUEOprg84J3WGKGviBn2sz+08l5dR+l0aoXUP1FOs= +github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= +github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb/go.mod h1:ikPs9bRWicNw3S7XpJ8sK/smGwU9WcSVU3dy9qahYBM= +github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ= +github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= +github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs= +github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= +github.com/urfave/cli/v3 v3.4.1 h1:1M9UOCy5bLmGnuu1yn3t3CB4rG79Rtoxuv1sPhnm6qM= +github.com/urfave/cli/v3 v3.4.1/go.mod h1:FJSKtM/9AiiTOJL4fJ6TbMUkxBXn7GO9guZqoZtpYpo= +github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ= +github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= +github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= +github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/vbatts/tar-split v0.12.2 h1:w/Y6tjxpeiFMR47yzZPlPj/FcPLpXbTUi/9H7d3CPa4= github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= -github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= +github.com/vektah/gqlparser/v2 v2.5.30 h1:EqLwGAFLIzt1wpx1IPpY67DwUujF1OfzgEyDsLrN6kE= +github.com/vektah/gqlparser/v2 v2.5.30/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo= +github.com/veraison/go-cose v1.3.0 h1:2/H5w8kdSpQJyVtIhx8gmwPJ2uSz1PkyWFx0idbd7rk= +github.com/veraison/go-cose v1.3.0/go.mod h1:df09OV91aHoQWLmy1KsDdYiagtXgyAwAl8vFeFn1gMc= +github.com/vmihailenco/go-tinylfu v0.2.2 h1:H1eiG6HM36iniK6+21n9LLpzx1G9R3DJa2UjUjbynsI= +github.com/vmihailenco/go-tinylfu v0.2.2/go.mod h1:CutYi2Q9puTxfcolkliPq4npPuofg9N9t8JVrjzwa3Q= github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0 h1:0KGbf+0SMg+UFy4e1A/CPVvXn21f1qtWdeJwxZFoQG8= github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0/go.mod h1:jLXFoL31zFaHKAAyZUh+sxiTDFe1L1ZHrcK2T1itVKA= +github.com/warpfork/go-wish v0.0.0-20220906213052-39a1cc7a02d0 h1:GDDkbFiaK8jsSDJfjId/PEGEShv6ugrt4kYsC5UIDaQ= +github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc h1:BCPnHtcboadS0DvysUuJXZ4lWVv5Bh5i7+tbIyi+ck4= +github.com/whyrusleeping/base32 v0.0.0-20170828182744-c30ac30633cc/go.mod h1:r45hJU7yEoA81k6MWNhpMj/kms0n14dkzkxYHoB96UM= +github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11 h1:5HZfQkwe0mIfyDmc1Em5GqlNRzcdtlv4HTNmdpt7XH0= +github.com/whyrusleeping/cbor v0.0.0-20171005072247-63513f603b11/go.mod h1:Wlo/SzPmxVp6vXpGt/zaXhHH0fn4IxgqZc82aKg6bpQ= github.com/whyrusleeping/cbor-gen v0.1.3-0.20240731173018-74d74643234c h1:Jmc9fHbd0LKFmS5CkLgczNUyW36UbiyvbHCG9xCTyiw= github.com/whyrusleeping/cbor-gen v0.1.3-0.20240731173018-74d74643234c/go.mod h1:pM99HXyEbSQHcosHc0iW7YFmwnscr+t9Te4ibko05so= -github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= -github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= -github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= -github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f h1:jQa4QT2UP9WYv2nzyawpKMOCl+Z/jW7djv2/J50lj9E= +github.com/whyrusleeping/chunker v0.0.0-20181014151217-fe64bd25879f/go.mod h1:p9UJB6dDgdPgMJZs7UjUOdulKyRr9fqkS+6JKAInPy8= +github.com/whyrusleeping/go-did v0.0.0-20230824162731-404d1707d5d6 h1:yJ9/LwIGIk/c0CdoavpC9RNSGSruIspSZtxG3Nnldic= +github.com/whyrusleeping/go-did v0.0.0-20230824162731-404d1707d5d6/go.mod h1:39U9RRVr4CKbXpXYopWn+FSH5s+vWu6+RmguSPWAq5s= +github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 h1:EKhdznlJHPMoKr0XTrX+IlJs1LH3lyx2nfr1dOlZ79k= +github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= +github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc h1:9lDbC6Rz4bwmou+oE6Dt4Cb2BGMur5eR/GYptkKUVHo= +github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= +github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1 h1:+dBg5k7nuTE38VVdoroRsT0Z88fmvdYrI2EjzJst35I= +github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1/go.mod h1:nmuySobZb4kFgFy6BptpXp/BBw+xFSyvVPP6auoJB4k= +github.com/wlynxg/anet v0.0.5 h1:J3VJGi1gvo0JwZ/P1/Yc/8p63SoW98B5dHkYDmpgvvU= +github.com/wlynxg/anet v0.0.5/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= @@ -709,30 +1517,88 @@ github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= -github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= -github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= +github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 h1:S2dVYn90KE98chqDkyE9Z4N61UnQd+KOfgp5Iu53llk= +github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= +github.com/yashtewari/glob-intersection v0.2.0 h1:8iuHdN88yYuCzCdjt0gDe+6bAhUwBeEWqThExu54RFg= +github.com/yashtewari/glob-intersection v0.2.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= +github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM= +github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI= +github.com/ysmood/fetchup v0.2.3 h1:ulX+SonA0Vma5zUFXtv52Kzip/xe7aj4vqT5AJwQ+ZQ= +github.com/ysmood/fetchup v0.2.3/go.mod h1:xhibcRKziSvol0H1/pj33dnKrYyI2ebIvz5cOOkYGns= +github.com/ysmood/goob v0.4.0 h1:HsxXhyLBeGzWXnqVKtmT9qM7EuVs/XOgkX7T6r1o1AQ= +github.com/ysmood/goob v0.4.0/go.mod h1:u6yx7ZhS4Exf2MwciFr6nIM8knHQIE22lFpWHnfql18= +github.com/ysmood/got v0.40.0 h1:ZQk1B55zIvS7zflRrkGfPDrPG3d7+JOza1ZkNxcc74Q= +github.com/ysmood/got v0.40.0/go.mod h1:W7DdpuX6skL3NszLmAsC5hT7JAhuLZhByVzHTq874Qg= +github.com/ysmood/gson v0.7.3 h1:QFkWbTH8MxyUTKPkVWAENJhxqdBa4lYTQWqZCiLG6kE= +github.com/ysmood/gson v0.7.3/go.mod h1:3Kzs5zDl21g5F/BlLTNcuAGAYLKt2lV5G8D1zF3RNmg= +github.com/ysmood/leakless v0.9.0 h1:qxCG5VirSBvmi3uynXFkcnLMzkphdh3xx5FtrORwDCU= +github.com/ysmood/leakless v0.9.0/go.mod h1:R8iAXPRaG97QJwqxs74RdwzcRHT1SWCGTNqY8q0JvMQ= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -gitlab.com/digitalxero/go-conventional-commit v1.0.7 h1:8/dO6WWG+98PMhlZowt/YjuiKhqhGlOCwlIV8SqqGh8= -gitlab.com/digitalxero/go-conventional-commit v1.0.7/go.mod h1:05Xc2BFsSyC5tKhK0y+P3bs0AwUtNuTp+mTpbCU/DZ0= +github.com/zalando/go-keyring v0.2.6 h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8ua9s= +github.com/zalando/go-keyring v0.2.6/go.mod h1:2TCrxYrbUNYfNS/Kgy/LSrkSQzZ5UPVH85RwfczwvcI= +github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= +github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= gitlab.com/gitlab-org/api/client-go v1.11.0 h1:L+qzw4kiCf3jKdKHQAwiqYKITvzBrW/tl8ampxNLlv0= gitlab.com/gitlab-org/api/client-go v1.11.0/go.mod h1:adtVJ4zSTEJ2fP5Pb1zF4Ox1OKFg0MH43yxpb0T0248= +gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b h1:CzigHMRySiX3drau9C6Q5CAbNIApmLdat5jPMqChvDA= +gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b/go.mod h1:/y/V339mxv2sZmYYR64O07VuCpdNZqCTwO8ZcouTMI8= +gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02 h1:qwDnMxjkyLmAFgcfgTnfJrmYKWhHnci3GjDqcZp1M3Q= +gitlab.com/yawning/tuplehash v0.0.0-20230713102510-df83abbf9a02/go.mod h1:JTnUj0mpYiAsuZLmKjTx/ex3AtMowcCgnE7YNyCEP0I= +go.etcd.io/bbolt v1.4.0 h1:TU77id3TnN/zKr7CO/uk+fBCwF2jGcMuw2B/FMAzYIk= +go.etcd.io/bbolt v1.4.0/go.mod h1:AsD+OCi/qPN1giOX1aiLAha3o1U8rAz65bvN4j0sRuk= +go.etcd.io/etcd/api/v3 v3.6.0 h1:vdbkcUBGLf1vfopoGE/uS3Nv0KPyIpUV/HM6w9yx2kM= +go.etcd.io/etcd/api/v3 v3.6.0/go.mod h1:Wt5yZqEmxgTNJGHob7mTVBJDZNXiHPtXTcPab37iFOw= +go.etcd.io/etcd/client/pkg/v3 v3.6.0 h1:nchnPqpuxvv3UuGGHaz0DQKYi5EIW5wOYsgUNRc365k= +go.etcd.io/etcd/client/pkg/v3 v3.6.0/go.mod h1:Jv5SFWMnGvIBn8o3OaBq/PnT0jjsX8iNokAUessNjoA= +go.etcd.io/etcd/client/v3 v3.6.0 h1:/yjKzD+HW5v/3DVj9tpwFxzNbu8hjcKID183ug9duWk= +go.etcd.io/etcd/client/v3 v3.6.0/go.mod h1:Jzk/Knqe06pkOZPHXsQ0+vNDvMQrgIqJ0W8DwPdMJMg= +go.etcd.io/etcd/etcdctl/v3 v3.6.0 h1:Fob3xEUJ7uJCEYxPAihTkLufYnnVtGbCiRd0NqE7M1o= +go.etcd.io/etcd/etcdctl/v3 v3.6.0/go.mod h1:ukAtyfIbiTajTDRfXruqUluVGvqcn/aGn0HEWdnzWC4= +go.etcd.io/etcd/etcdutl/v3 v3.6.0 h1:MixJh+DgSa4h8D2jD27rZwT7O+im/Kp8BaCz86JsMfI= +go.etcd.io/etcd/etcdutl/v3 v3.6.0/go.mod h1:gheEcr7WMMV9TN+TvXSxP9ixk8Bg5Lwp63uz1OANeKg= +go.etcd.io/etcd/pkg/v3 v3.6.0 h1:0o70c/NR4OZNO5mOtRFBATtMv6xjEoTVZjFtn6MlsNE= +go.etcd.io/etcd/pkg/v3 v3.6.0/go.mod h1:pFym9TwvGyAp9VHK/0LoJ1n2D+sX4ukzP15ZqN5gYO8= +go.etcd.io/etcd/server/v3 v3.6.0 h1:YcYxiJzmFCpjzzd7d/XmQE09p60248OzaaOaySRJyt0= +go.etcd.io/etcd/server/v3 v3.6.0/go.mod h1:y8PLrWY4upkE79xxRCkbWmCmGUmTeAG0RmzfzDhHO/E= +go.etcd.io/etcd/tests/v3 v3.6.0 h1:GCOGw+hXIYxssTpOZw03N/0YwrjFuZs6fXPdi3XS57o= +go.etcd.io/etcd/tests/v3 v3.6.0/go.mod h1:wuyuwvXTF33++K6kQtpsMrbsISxCQZNbVGpFgx63E9w= +go.etcd.io/etcd/v3 v3.6.0 h1:38RAx40IZDrWQqPfIt6+nCfWeIDZNJrhJOP5DQwyR74= +go.etcd.io/etcd/v3 v3.6.0/go.mod h1:0sMPTfyOUZNFRYJEweFWFmr2vppoupl4gBiDF/IB7ng= +go.etcd.io/gofail v0.2.0 h1:p19drv16FKK345a09a1iubchlw/vmRuksmRzgBIGjcA= +go.etcd.io/gofail v0.2.0/go.mod h1:nL3ILMGfkXTekKI3clMBNazKnjUZjYLKmBHzsVAnC1o= +go.etcd.io/raft/v3 v3.6.0 h1:5NtvbDVYpnfZWcIHgGRk9DyzkBIXOi8j+DDp1IcnUWQ= +go.etcd.io/raft/v3 v3.6.0/go.mod h1:nLvLevg6+xrVtHUmVaTcTz603gQPHfh7kUAwV6YpfGo= go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss= go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib/bridges/prometheus v0.63.0 h1:/Rij/t18Y7rUayNg7Id6rPrEnHgorxYabm2E6wUdPP4= go.opentelemetry.io/contrib/bridges/prometheus v0.63.0/go.mod h1:AdyDPn6pkbkt2w01n3BubRVk7xAsCRq1Yg1mpfyA/0E= +go.opentelemetry.io/contrib/detectors/aws/ec2 v1.37.0 h1:BJnWw8+FULhuuF/6R6B/JYqAlCTCy9E4J8qmLpo/7KU= +go.opentelemetry.io/contrib/detectors/aws/ec2 v1.37.0/go.mod h1:gs3y8jvJscW5D+FzrZvJZEsGj+xlMCF0S1x4R6ktiNo= go.opentelemetry.io/contrib/detectors/gcp v1.38.0 h1:ZoYbqX7OaA/TAikspPl3ozPI6iY6LiIY9I8cUfm+pJs= go.opentelemetry.io/contrib/detectors/gcp v1.38.0/go.mod h1:SU+iU7nu5ud4oCb3LQOhIZ3nRLj6FNVrKgtflbaf2ts= go.opentelemetry.io/contrib/exporters/autoexport v0.57.0 h1:jmTVJ86dP60C01K3slFQa2NQ/Aoi7zA+wy7vMOKD9H4= go.opentelemetry.io/contrib/exporters/autoexport v0.57.0/go.mod h1:EJBheUMttD/lABFyLXhce47Wr6DPWYReCzaZiXadH7g= +go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.45.0 h1:JJCIHAxGCB5HM3NxeIwFjHc087Xwk96TG9kaZU6TAec= +go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho v0.45.0/go.mod h1:Px9kH7SJ+NhsgWRtD/eMcs15Tyt4uL3rM7X54qv6pfA= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 h1:RN3ifU8y4prNWeEnQp2kRRHz8UwonAEYZl8tUzHEXAk= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0/go.mod h1:habDz3tEWiFANTo6oUE99EmaFUrCNYAAg3wiVmusm70= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 h1:ssfIgGNANqpVFCndZvcuyKbl0g+UAVcbBcqGkG28H0Y= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0/go.mod h1:GQ/474YrbE4Jx8gZ4q5I4hrhUzM6UPzyrqJYV2AqPoQ= +go.opentelemetry.io/contrib/instrumentation/runtime v0.65.0 h1:n8qdwrebNEHF/zHpueuZ4OacdJ8CdSaP7xef9WRZXTQ= +go.opentelemetry.io/contrib/instrumentation/runtime v0.65.0/go.mod h1:Z1pjGxUL3nJ/IbDDfL6rBD0Xbz7ZOViRqrIUg4l1CYE= +go.opentelemetry.io/contrib/propagators/aws v1.37.0 h1:cp8AFiM/qjBm10C/ATIRnEDXpD5MBknrA0ANw4T2/ss= +go.opentelemetry.io/contrib/propagators/aws v1.37.0/go.mod h1:Cy8Hk2E2iSGEbsLnPUdeigrexaAOAGIAmBFK919EQs0= go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel/exporters/jaeger v1.14.0 h1:CjbUNd4iN2hHmWekmOqZ+zSCU+dzZppG8XsV+A3oc8Q= +go.opentelemetry.io/otel/exporters/jaeger v1.14.0/go.mod h1:4Ay9kk5vELRrbg5z4cpP9EtmQRFap2Wb0woPG4lujZA= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0 h1:OMqPldHt79PqWKOMYIAQs3CxAi7RLgPxwfFSwr4ZxtM= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0/go.mod h1:1biG4qiqTxKiUCtoWDPpL3fB3KxVwCiGw81j3nKMuHE= go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0 h1:QQqYw3lkrzwVsoEX0w//EhH/TCnpRdEenKBOOEIMjWc= @@ -747,14 +1613,24 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4D go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4= go.opentelemetry.io/otel/exporters/prometheus v0.61.0 h1:cCyZS4dr67d30uDyh8etKM2QyDsQ4zC9ds3bdbrVoD0= go.opentelemetry.io/otel/exporters/prometheus v0.61.0/go.mod h1:iivMuj3xpR2DkUrUya3TPS/Z9h3dz7h01GxU+fQBRNg= +go.opentelemetry.io/otel/exporters/prometheus v0.62.0 h1:krvC4JMfIOVdEuNPTtQ0ZjCiXrybhv+uOHMfHRmnvVo= +go.opentelemetry.io/otel/exporters/prometheus v0.62.0/go.mod h1:fgOE6FM/swEnsVQCqCnbOfRV4tOnWPg7bVeo4izBuhQ= go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.14.0 h1:B/g+qde6Mkzxbry5ZZag0l7QrQBCtVm7lVjaLgmpje8= go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.14.0/go.mod h1:mOJK8eMmgW6ocDJn6Bn11CcZ05gi3P8GylBXEkZtbgA= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0 h1:6VjV6Et+1Hd2iLZEPtdV7vie80Yyqf7oikJLjQ/myi0= go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.37.0/go.mod h1:u8hcp8ji5gaM/RfcOo8z9NMnf1pVLfVY7lBY2VOGuUU= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.39.0 h1:5gn2urDL/FBnK8OkCfD1j3/ER79rUuTYmCvlXBKeYL8= +go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.39.0/go.mod h1:0fBG6ZJxhqByfFZDwSwpZGzJU671HkwpWaNe2t4VUPI= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 h1:cC2yDI3IQd0Udsux7Qmq8ToKAx1XCilTQECZ0KDZyTw= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0/go.mod h1:2PD5Ex6z8CFzDbTdOlwyNIUywRr1DN0ospafJM1wJ+s= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.38.0 h1:kJxSDN4SgWWTjG/hPp3O7LCGLcHXFlvS2/FFOrwL+SE= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.38.0/go.mod h1:mgIOzS7iZeKJdeB8/NYHrJ48fdGc71Llo5bJ1J4DWUE= +go.opentelemetry.io/otel/exporters/zipkin v1.38.0 h1:0rJ2TmzpHDG+Ib9gPmu3J3cE0zXirumQcKS4wCoZUa0= +go.opentelemetry.io/otel/exporters/zipkin v1.38.0/go.mod h1:Su/nq/K5zRjDKKC3Il0xbViE3juWgG3JDoqLumFx5G0= go.opentelemetry.io/otel/log v0.14.0 h1:2rzJ+pOAZ8qmZ3DDHg73NEKzSZkhkGIua9gXtxNGgrM= go.opentelemetry.io/otel/log v0.14.0/go.mod h1:5jRG92fEAgx0SU/vFPxmJvhIuDU9E1SUnEQrMlJpOno= go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= @@ -769,44 +1645,40 @@ go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6 go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +go.step.sm/crypto v0.76.0 h1:K23BSaeoiY7Y5dvvijTeYC9EduDBetNwQYMBwMhi1aA= +go.step.sm/crypto v0.76.0/go.mod h1:PXYJdKkK8s+GHLwLguFaLxHNAFsFL3tL1vSBrYfey5k= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= +go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= +go.uber.org/dig v1.19.0 h1:BACLhebsYdpQ7IROQ1AGPjrXcP5dF80U3gKoFzbaq/4= +go.uber.org/dig v1.19.0/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= +go.uber.org/fx v1.24.0 h1:wE8mruvpg2kiiL1Vqd0CC+tr0/24XIB10Iwp2lLWzkg= +go.uber.org/fx v1.24.0/go.mod h1:AmDeGyS+ZARGKM4tlH4FY2Jr63VjbEDJHtqXTGP5hbo= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4= go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= gocloud.dev v0.44.0 h1:iVyMAqFl2r6xUy7M4mfqwlN+21UpJoEtgHEcfiLMUXs= gocloud.dev v0.44.0/go.mod h1:ZmjROXGdC/eKZLF1N+RujDlFRx3D+4Av2thREKDMVxY= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= -golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= -golang.org/x/exp v0.0.0-20260112195511-716be5621a96/go.mod h1:nzimsREAkjBCIEFtHiYkrJyT+2uy9YZJB7H1k68CXZU= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2 h1:O1cMQHRfwNpDfDJerqRoE2oD+AFlyid87D40L/OkkJo= golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2/go.mod h1:b7fPSJ0pKZ3ccUh8gnTONJxhn3c/PS6tyzQvyqw4iA8= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4 h1:bTLqdHv7xrGlFbvf5/TXNxy/iUwwdkjhqQTJDjW7aj0= +golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4/go.mod h1:g5NllXBEermZrmR51cJDQxmJUHUOfRAaNyWBM+R+548= golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= @@ -814,39 +1686,77 @@ golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTF golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY= golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= google.golang.org/api v0.257.0 h1:8Y0lzvHlZps53PEaw+G29SsQIkuKrumGWs9puiexNAA= google.golang.org/api v0.257.0/go.mod h1:4eJrr+vbVaZSqs7vovFd1Jb/A6ml6iw2e6FBYf3GAO4= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2 h1:stRtB2UVzFOWnorVuwF0BVVEjQ3AN6SjHWdg811UIQM= google.golang.org/genproto v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:yJ2HH4EHEDTd3JiLmhds6NkJ17ITVYOdV3m3VKOnws0= google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2 h1:7LRqPCEdE4TP4/9psdaB7F2nhZFfBiGJomA5sojLWdU= google.golang.org/genproto/googleapis/api v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20260203192932-546029d2fa20 h1:zQTtWukWCqGTV6Pt60SqvPGnEi2CE3PeeIRlu4SYgAc= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20260203192932-546029d2fa20/go.mod h1:Tej9lWiwVvQJP+b43pjJIsr/3mZycXWCIyoiXmbFf40= google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2 h1:2I6GHUeJ/4shcDpoUlLs/2WPnhg7yJwvXtqcMJt9liA= google.golang.org/genproto/googleapis/rpc v0.0.0-20251213004720-97cd9d5aeac2/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= +google.golang.org/grpc/examples v0.0.0-20250407062114-b368379ef8f6 h1:ExN12ndbJ608cboPYflpTny6mXSzPrDLh0iTaVrRrds= +google.golang.org/grpc/examples v0.0.0-20250407062114-b368379ef8f6/go.mod h1:6ytKWczdvnpnO+m+JiG9NjEDzR1FJfsnmJdG7B8QVZ8= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= +gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= +gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.67.1 h1:tVBILHy0R6e4wkYOn3XmiITt/hEVH4TFMYvAX2Ytz6k= +gopkg.in/ini.v1 v1.67.1/go.mod h1:x/cyOwCgZqOkJoDIJ3c1KNHMo10+nLGAhh+kn3Zizss= gopkg.in/mail.v2 v2.3.1 h1:WYFn/oANrAGP2C0dcV6/pbkPzv8yGzqTjPmTeO7qoXk= gopkg.in/mail.v2 v2.3.1/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= -gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= +gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/postgres v1.5.7 h1:8ptbNJTDbEmhdr62uReG5BGkdQyeasu/FZHxI0IMGnM= +gorm.io/driver/postgres v1.5.7/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA= +gorm.io/driver/sqlite v1.5.5 h1:7MDMtUZhV065SilG62E0MquljeArQZNfJnjd9i9gx3E= +gorm.io/driver/sqlite v1.5.5/go.mod h1:6NgQ7sQWAIFsPrJJl1lSNSu2TABh0ZZ/zm5fosATavE= +gorm.io/gorm v1.25.9 h1:wct0gxZIELDk8+ZqF/MVnHLkA1rvYlBWUMv2EdsK1g8= +gorm.io/gorm v1.25.9/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8= +gorm.io/plugin/opentelemetry v0.1.3 h1:z6QgEBef/+4S6D00+jUeRPreI0LAf7Idfqe3dz3TWKg= +gorm.io/plugin/opentelemetry v0.1.3/go.mod h1:tndJHOdvPT0pyGhOb8E2209eXJCUxhC5UpKw7bGVWeI= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.1-2019.2.3 h1:3JgtbtFHMiCmsznwGVTUWbgGov+pVqnlf1dEJTNAXeM= +k8s.io/api v0.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM= +k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk= +k8s.io/apimachinery v0.34.3 h1:/TB+SFEiQvN9HPldtlWOTp0hWbJ+fjU+wkxysf/aQnE= +k8s.io/apimachinery v0.34.3/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/client-go v0.34.1 h1:ZUPJKgXsnKwVwmKKdPfw4tB58+7/Ik3CrjOEhsiZ7mY= +k8s.io/client-go v0.34.1/go.mod h1:kA8v0FP+tk6sZA0yKLRG67LWjqufAoSHA2xVGKw9Of8= +k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= +k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= mvdan.cc/editorconfig v0.3.0 h1:D1D2wLYEYGpawWT5SpM5pRivgEgXjtEXwC9MWhEY0gQ= mvdan.cc/editorconfig v0.3.0/go.mod h1:NcJHuDtNOTEJ6251indKiWuzK6+VcrMuLzGMLKBFupQ= -mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= +sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= +sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= +sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= +sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= +sigs.k8s.io/release-utils v0.12.3 h1:iNVJY81QfmMCmXxMg8IvvkkeQNk6ZWlLj+iPKSlKyVQ= +sigs.k8s.io/release-utils v0.12.3/go.mod h1:BvbNmm1BmM3cnEpBmNHWL3wOSziOdGlsYR8vCFq/Q0o= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= software.sslmate.com/src/go-pkcs12 v0.6.0 h1:f3sQittAeF+pao32Vb+mkli+ZyT+VwKaD014qFGq6oU= diff --git a/launcher-agent/go.mod b/launcher-agent/go.mod index d788960d..fb336993 100644 --- a/launcher-agent/go.mod +++ b/launcher-agent/go.mod @@ -1,5 +1,5 @@ module github.com/luskaner/ageLANServer/launcher-agent -go 1.25.0 +go 1.26.0 require github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 diff --git a/launcher-agent/go.sum b/launcher-agent/go.sum index c7eca025..78ce296a 100644 --- a/launcher-agent/go.sum +++ b/launcher-agent/go.sum @@ -1 +1,2 @@ github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 h1:EB9EKyv7koSQSIR3+DvnwOjpGzCUD2HjtqPuFOFOj/k= +github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0/go.mod h1:USeNRD3Mdc+K6EMtZaexx+ngXZz7kTCCMbuz8dt/vDo= diff --git a/launcher-common/go.mod b/launcher-common/go.mod index 8f075255..71b9f811 100644 --- a/launcher-common/go.mod +++ b/launcher-common/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/launcher-common -go 1.25.0 +go 1.26.0 require ( github.com/deckarep/golang-set/v2 v2.8.0 diff --git a/launcher-common/go.sum b/launcher-common/go.sum index abb0da3d..577e802d 100644 --- a/launcher-common/go.sum +++ b/launcher-common/go.sum @@ -1,10 +1,24 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/hairyhenderson/go-which v0.2.2 h1:yMyAHo4InxHiTAboIeOji8nZ5EXwIp116a2uo/MFkFI= +github.com/hairyhenderson/go-which v0.2.2/go.mod h1:vBfncX6hXWQhY1Qte8qQNWuJNnsGPqFLjgmwEETyOAo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/launcher-common/serverKill/serverKill_windows.go b/launcher-common/serverKill/serverKill_windows.go index 040f0e56..cc273918 100644 --- a/launcher-common/serverKill/serverKill_windows.go +++ b/launcher-common/serverKill/serverKill_windows.go @@ -37,8 +37,7 @@ func Do(path string) error { } else if proc == nil { return nil } - wait := 2 * time.Second - if process.WaitForProcess(proc, &wait) { + if process.WaitForProcess(proc, new(2*time.Second)) { return nil } if err = process.KillPidProc(pid, proc); err != nil { diff --git a/launcher-config-admin-agent/go.mod b/launcher-config-admin-agent/go.mod index 3d9a49ad..83eb7bc0 100644 --- a/launcher-config-admin-agent/go.mod +++ b/launcher-config-admin-agent/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/launcher-config-admin-agent -go 1.25.0 +go 1.26.0 require github.com/Microsoft/go-winio v0.6.2 diff --git a/launcher-config-admin-agent/go.sum b/launcher-config-admin-agent/go.sum index 4a17c16b..601ed925 100644 --- a/launcher-config-admin-agent/go.sum +++ b/launcher-config-admin-agent/go.sum @@ -1,2 +1,4 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= diff --git a/launcher-config-admin/go.mod b/launcher-config-admin/go.mod index 90f0dc49..aa864e52 100644 --- a/launcher-config-admin/go.mod +++ b/launcher-config-admin/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/launcher-config-admin -go 1.25.0 +go 1.26.0 require ( github.com/deckarep/golang-set/v2 v2.8.0 diff --git a/launcher-config-admin/go.sum b/launcher-config-admin/go.sum index 1cf17f07..7461b965 100644 --- a/launcher-config-admin/go.sum +++ b/launcher-config-admin/go.sum @@ -1,4 +1,13 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/launcher-config/go.mod b/launcher-config/go.mod index 570aaa4a..42aa64e5 100644 --- a/launcher-config/go.mod +++ b/launcher-config/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/launcher-config -go 1.25.0 +go 1.26.0 require ( github.com/Microsoft/go-winio v0.6.2 diff --git a/launcher-config/go.sum b/launcher-config/go.sum index 1d5ebc85..7c40c4c5 100644 --- a/launcher-config/go.sum +++ b/launcher-config/go.sum @@ -1,6 +1,17 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/launcher/go.mod b/launcher/go.mod index 80426fc0..3d7248ea 100644 --- a/launcher/go.mod +++ b/launcher/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/launcher -go 1.25.0 +go 1.26.0 require ( github.com/deckarep/golang-set/v2 v2.8.0 diff --git a/launcher/go.sum b/launcher/go.sum index 95f58533..9e1d7f34 100644 --- a/launcher/go.sum +++ b/launcher/go.sum @@ -1,29 +1,58 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0 h1:EB9EKyv7koSQSIR3+DvnwOjpGzCUD2HjtqPuFOFOj/k= github.com/luskaner/ageLANServer/battle-server-broadcast v1.3.0/go.mod h1:USeNRD3Mdc+K6EMtZaexx+ngXZz7kTCCMbuz8dt/vDo= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.12.0 h1:/NQhBAkUb4+fH1jivKHWusDYFjMOOKU88eegjfxfHb4= +github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/launcher/internal/cmd/root.go b/launcher/internal/cmd/root.go index 24197117..3059d117 100644 --- a/launcher/internal/cmd/root.go +++ b/launcher/internal/cmd/root.go @@ -714,8 +714,7 @@ func initConfig() *internal.Configuration { logger.Println("Using main config file:", v.ConfigFileUsed()) logger.PrintFile("main config", v.ConfigFileUsed()) } else { - var configFileNotFoundError viper.ConfigFileNotFoundError - if !errors.As(err, &configFileNotFoundError) { + if _, ok := errors.AsType[viper.ConfigFileNotFoundError](err); !ok { logger.Println("Error parsing config file:", v.ConfigFileUsed()+":", err.Error()) os.Exit(common.ErrConfigParse) } @@ -729,8 +728,7 @@ func initConfig() *internal.Configuration { logger.Println("Using game config file:", v.ConfigFileUsed()) logger.PrintFile("game config", v.ConfigFileUsed()) } else { - var configFileNotFoundError viper.ConfigFileNotFoundError - if !errors.As(err, &configFileNotFoundError) { + if _, ok := errors.AsType[viper.ConfigFileNotFoundError](err); !ok { logger.Println("Error parsing game config file:", v.ConfigFileUsed()+":", err.Error()) os.Exit(internal.ErrGameConfigParse) } diff --git a/server-genCert/go.mod b/server-genCert/go.mod index a1489e87..8418238b 100644 --- a/server-genCert/go.mod +++ b/server-genCert/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/server-genCert -go 1.25.0 +go 1.26.0 require github.com/spf13/cobra v1.10.2 diff --git a/server-genCert/go.sum b/server-genCert/go.sum index faf154c2..ef5d78dd 100644 --- a/server-genCert/go.sum +++ b/server-genCert/go.sum @@ -1,3 +1,11 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/server/README.md b/server/README.md index 7d03175e..620112b9 100644 --- a/server/README.md +++ b/server/README.md @@ -21,7 +21,7 @@ system. - Solaris-based (Solaris and Illumos). - AIX. -Note: For the full list see [minimum requirements for Go](https://go.dev/wiki/MinimumRequirements) 1.25. +Note: For the full list see [minimum requirements for Go](https://go.dev/wiki/MinimumRequirements) 1.26. diff --git a/server/go.mod b/server/go.mod index 6c3d682f..b99ccc6a 100644 --- a/server/go.mod +++ b/server/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/server -go 1.25.0 +go 1.26.0 require ( github.com/deckarep/golang-set/v2 v2.8.0 @@ -10,7 +10,7 @@ require ( github.com/gorilla/websocket v1.5.3 github.com/spf13/cobra v1.10.2 github.com/spf13/viper v1.21.0 - golang.org/x/exp v0.0.0-20260112195511-716be5621a96 + golang.org/x/exp v0.0.0-20260211191109-2735e65f0518 golang.org/x/net v0.50.0 ) diff --git a/server/go.sum b/server/go.sum index e2436561..4aa558e0 100644 --- a/server/go.sum +++ b/server/go.sum @@ -1,32 +1,66 @@ +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set/v2 v2.8.0 h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ= +github.com/deckarep/golang-set/v2 v2.8.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE= +github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w= github.com/gorilla/schema v1.4.1 h1:jUg5hUjCSDZpNGLuXQOgIWGdlgrIdYvgQ0wZtdK1M3E= +github.com/gorilla/schema v1.4.1/go.mod h1:Dg5SSm5PV60mhF2NFaTV1xuYYj8tV8NOPRo4FggUMnM= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.12.0 h1:/NQhBAkUb4+fH1jivKHWusDYFjMOOKU88eegjfxfHb4= +github.com/sagikazarmark/locafero v0.12.0/go.mod h1:sZh36u/YSZ918v0Io+U9ogLYQJ9tLLBmM4eneO6WwsI= github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.21.0 h1:x5S+0EU27Lbphp4UKm1C+1oQO+rKx36vfCoaVebLFSU= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -golang.org/x/exp v0.0.0-20260112195511-716be5621a96 h1:Z/6YuSHTLOHfNFdb8zVZomZr7cqNgTJvA8+Qz75D8gU= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +golang.org/x/exp v0.0.0-20260211191109-2735e65f0518 h1:2E1CW7v5QB+Wi3N+MXllOtVR6SFmI8iJM8EdzgxrgrU= +golang.org/x/exp v0.0.0-20260211191109-2735e65f0518/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= +golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/server/internal/Map.go b/server/internal/Map.go index f1db94ad..329d49a9 100644 --- a/server/internal/Map.go +++ b/server/internal/Map.go @@ -24,8 +24,7 @@ func NewSafeMap[K comparable, V any]() *SafeMap[K, V] { } func (m *SafeMap[K, V]) updateReadOnly() { - clone := maps.Clone(m.wo) - m.ro.Store(&clone) + m.ro.Store(new(maps.Clone(m.wo))) } func (m *SafeMap[K, V]) Load(key K) (value V, ok bool) { diff --git a/server/internal/cmd/root.go b/server/internal/cmd/root.go index 52c4a81e..70558cc4 100644 --- a/server/internal/cmd/root.go +++ b/server/internal/cmd/root.go @@ -351,8 +351,7 @@ func initConfig() *internal.Configuration { if err := v.ReadInConfig(); err == nil { logger.Println("Using config file:", v.ConfigFileUsed()) } else { - var configFileNotFoundError viper.ConfigFileNotFoundError - if !errors.As(err, &configFileNotFoundError) { + if _, ok := errors.AsType[viper.ConfigFileNotFoundError](err); !ok { logger.Println("Error parsing config file:", v.ConfigFileUsed()+":", err.Error()) os.Exit(common.ErrConfigParse) } diff --git a/server/internal/http.go b/server/internal/http.go index b221c8f5..e5601e34 100644 --- a/server/internal/http.go +++ b/server/internal/http.go @@ -43,11 +43,9 @@ func decode(dst any, src map[string][]string) error { return nil } - var merr schema.MultiError - if errors.As(err, &merr) { + if merr, ok := errors.AsType[schema.MultiError](err); ok { for k, err := range merr { - var unknownKeyError schema.UnknownKeyError - if errors.As(err, &unknownKeyError) { + if _, ok := errors.AsType[schema.UnknownKeyError](err); ok { delete(merr, k) } } diff --git a/server/internal/logger/commLog.go b/server/internal/logger/commLog.go index 46043eda..39099e3e 100644 --- a/server/internal/logger/commLog.go +++ b/server/internal/logger/commLog.go @@ -47,8 +47,7 @@ var CommBuffer *Buffer func Uptime(startTime *time.Time) time.Duration { if startTime == nil { - t := time.Now() - startTime = &t + startTime = new(time.Now()) } return startTime.Sub(StartTime) } diff --git a/server/internal/models/playfab/data/data.go b/server/internal/models/playfab/data/data.go index c9bc90d9..73d2ed07 100644 --- a/server/internal/models/playfab/data/data.go +++ b/server/internal/models/playfab/data/data.go @@ -29,11 +29,10 @@ type Value[T any] struct { func (v *Value[T]) MarshalJSON() ([]byte, error) { if val, err := json.Marshal(v.Value); err == nil { - stringVal := string(val) return json.Marshal(BaseValue[string]{ LastUpdated: v.LastUpdated, Permission: v.Permission, - Value: &stringVal, + Value: new(string(val)), }) } else { return nil, err diff --git a/server/internal/models/presence.go b/server/internal/models/presence.go index 820ebcf0..31fc5980 100644 --- a/server/internal/models/presence.go +++ b/server/internal/models/presence.go @@ -27,8 +27,7 @@ func (pd *MainPresenceDefinitions) Initialize(presence i.A) { id := int32(rawPresenceArr[0].(float64)) var label *string if rawPresenceArr[2] != nil { - tmpLabel := rawPresenceArr[2].(string) - label = &tmpLabel + label = new(rawPresenceArr[2].(string)) } pd.data[id] = &MainPresenceDefinition{ id: id, diff --git a/server/internal/routes/playfab/Client/LoginWithCustomID.go b/server/internal/routes/playfab/Client/LoginWithCustomID.go index 5d4ed98f..09b70afd 100644 --- a/server/internal/routes/playfab/Client/LoginWithCustomID.go +++ b/server/internal/routes/playfab/Client/LoginWithCustomID.go @@ -25,8 +25,7 @@ func LoginWithCustomID(w http.ResponseWriter, r *http.Request) { return nil } sessions := game.PlayfabSessions() - id := sessions.CreateWithUserId(game.Users(), int32(userId)) - return &id + return new(sessions.CreateWithUserId(game.Users(), int32(userId))) }); response != nil { shared.RespondOK(&w, loginWithCustomIDResponse{ *response, diff --git a/server/internal/routes/playfab/Client/LoginWithSteam.go b/server/internal/routes/playfab/Client/LoginWithSteam.go index b5564021..bb375b7a 100644 --- a/server/internal/routes/playfab/Client/LoginWithSteam.go +++ b/server/internal/routes/playfab/Client/LoginWithSteam.go @@ -99,8 +99,7 @@ func LoginWithSteam(w http.ResponseWriter, r *http.Request) { return nil } sessions := game.PlayfabSessions() - id := sessions.CreateWithSteamUserId(game.Users(), steamId) - return &id + return new(sessions.CreateWithSteamUserId(game.Users(), steamId)) }); response != nil { shared.RespondOK(&w, response) } diff --git a/server/internal/routes/wss/wss.go b/server/internal/routes/wss/wss.go index 4f643e3e..f6b0a743 100644 --- a/server/internal/routes/wss/wss.go +++ b/server/internal/routes/wss/wss.go @@ -86,22 +86,21 @@ func (c *connectionWrapper) logJSON(sender string, receiver string, data any) { if logger.CommBuffer != nil { dataMarshalled, _ := json.Marshal(data) d := computeData(dataMarshalled) - msg := wss.NewWrite( + logger.CommBuffer.Log(new(wss.NewWrite( *d, serverCommunication.Uptime{ Uptime: logger.Uptime(nil), }, serverCommunication.Sender{Sender: sender}, receiver, - ) - logger.CommBuffer.Log(&msg) + ))) } } func (c *connectionWrapper) logControl(sender string, receiver string, messageType int, data []byte) { if logger.CommBuffer != nil { d := computeData(data) - msg := wss.NewWrite( + logger.CommBuffer.Log(new(wss.NewWrite( wss.Control{ Data: *d, MessageType: messageType, @@ -111,8 +110,7 @@ func (c *connectionWrapper) logControl(sender string, receiver string, messageTy }, serverCommunication.Sender{Sender: sender}, receiver, - ) - logger.CommBuffer.Log(&msg) + ))) } } @@ -132,15 +130,14 @@ func (c *connectionWrapper) WriteControl(messageType int, data []byte, deadline func (c *connectionWrapper) logClose(sender string, receiver string) { if logger.CommBuffer != nil { - msg := wss.NewWrite( + logger.CommBuffer.Log(new(wss.NewWrite( wss.Disconnection{}, serverCommunication.Uptime{ Uptime: logger.Uptime(nil), }, serverCommunication.Sender{Sender: sender}, receiver, - ) - logger.CommBuffer.Log(&msg) + ))) } } @@ -231,15 +228,14 @@ func Handle(w http.ResponseWriter, r *http.Request) { conn: conn, } if logger.CommBuffer != nil { - msg := wss.NewWrite( + logger.CommBuffer.Log(new(wss.NewWrite( wss.Connection{}, serverCommunication.Uptime{ Uptime: logger.Uptime(nil), }, serverCommunication.Sender{Sender: connWrapper.RemoteAddr()}, connWrapper.LocalAddr(), - ) - logger.CommBuffer.Log(&msg) + ))) } connWrapper.conn.SetCloseHandler(func(code int, text string) error { closeConn(connWrapper, code, text) @@ -287,8 +283,7 @@ func Handle(w http.ResponseWriter, r *http.Request) { return nil } - var e net.Error - if errors.As(pingErr, &e) && e.Temporary() { + if e, ok := errors.AsType[net.Error](pingErr); ok && e.Temporary() { return nil } return pingErr diff --git a/tools/scripts/go.mod b/tools/scripts/go.mod index 43706b2c..765dcd9c 100644 --- a/tools/scripts/go.mod +++ b/tools/scripts/go.mod @@ -1,6 +1,6 @@ module scripts -go 1.25.0 +go 1.26.0 require ( github.com/deckarep/golang-set/v2 v2.8.0 @@ -9,6 +9,8 @@ require ( gopkg.in/yaml.v3 v3.0.1 ) +require github.com/klauspost/compress v1.18.4 // indirect + require ( charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63 // indirect dario.cat/mergo v1.0.2 // indirect @@ -22,15 +24,14 @@ require ( github.com/buger/jsonparser v1.1.1 // indirect github.com/caarlos0/log v0.5.4 // indirect github.com/charmbracelet/colorprofile v0.4.1 // indirect - github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9 // indirect - github.com/charmbracelet/x/ansi v0.11.3 // indirect + github.com/charmbracelet/ultraviolet v0.0.0-20260209111912-3cca7cf7b09b // indirect + github.com/charmbracelet/x/ansi v0.11.6 // indirect github.com/charmbracelet/x/term v0.2.2 // indirect github.com/charmbracelet/x/termios v0.1.1 // indirect github.com/charmbracelet/x/windows v0.2.2 // indirect - github.com/clipperhouse/displaywidth v0.6.2 // indirect - github.com/clipperhouse/stringish v0.1.1 // indirect - github.com/clipperhouse/uax29/v2 v2.3.0 // indirect - github.com/cloudflare/circl v1.6.2 // indirect + github.com/clipperhouse/displaywidth v0.10.0 // indirect + github.com/clipperhouse/uax29/v2 v2.6.0 // indirect + github.com/cloudflare/circl v1.6.3 // indirect github.com/cyphar/filepath-securejoin v0.6.1 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect @@ -40,7 +41,7 @@ require ( github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/goreleaser/chglog v0.7.4 // indirect github.com/goreleaser/fileglob v1.4.0 // indirect - github.com/goreleaser/nfpm/v2 v2.44.1 // indirect + github.com/goreleaser/nfpm/v2 v2.45.0 // indirect github.com/huandu/xstrings v1.5.0 // indirect github.com/invopop/jsonschema v0.13.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect @@ -64,7 +65,7 @@ require ( gitlab.com/digitalxero/go-conventional-commit v1.0.7 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.48.0 // indirect - golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect; i + golang.org/x/exp v0.0.0-20260211191109-2735e65f0518 // indirect; i golang.org/x/net v0.50.0 // indirect golang.org/x/sync v0.19.0 // indirect golang.org/x/sys v0.41.0 // indirect diff --git a/tools/scripts/internal/goreleaser/binary.go b/tools/scripts/internal/goreleaser/binary.go index c85b39bb..e34aa564 100644 --- a/tools/scripts/internal/goreleaser/binary.go +++ b/tools/scripts/internal/goreleaser/binary.go @@ -5,8 +5,7 @@ import mapset "github.com/deckarep/golang-set/v2" type BinaryTargets map[OperatingSystem]map[Architecture]mapset.Set[string] func NewBinaryTargets() *BinaryTargets { - targets := make(BinaryTargets) - return &targets + return new(make(BinaryTargets)) } func (bt *BinaryTargets) Clone() *BinaryTargets { diff --git a/tools/server-docker/genCert/Dockerfile b/tools/server-docker/genCert/Dockerfile index 346e1490..8f0dfc06 100644 --- a/tools/server-docker/genCert/Dockerfile +++ b/tools/server-docker/genCert/Dockerfile @@ -1,7 +1,7 @@ # syntax=docker/dockerfile:1 # Compile -FROM golang:1.25-alpine3.23 AS compiler +FROM golang:1.26-alpine3.23 AS compiler WORKDIR /app COPY server-docker/genCert/go.work.template go.work COPY common common diff --git a/tools/server-docker/genCert/go.work.template b/tools/server-docker/genCert/go.work.template index 58a9f851..c91b5525 100644 --- a/tools/server-docker/genCert/go.work.template +++ b/tools/server-docker/genCert/go.work.template @@ -1,6 +1,6 @@ -go 1.25.0 +go 1.26.0 -toolchain go1.25.7 +toolchain go1.26.0 use ( common diff --git a/tools/server-docker/server/Dockerfile b/tools/server-docker/server/Dockerfile index 80908938..ccb5499c 100644 --- a/tools/server-docker/server/Dockerfile +++ b/tools/server-docker/server/Dockerfile @@ -1,7 +1,7 @@ # syntax=docker/dockerfile:1 # Compile -FROM golang:1.25-alpine3.23 AS compiler +FROM golang:1.26-alpine3.23 AS compiler WORKDIR /app COPY server-docker/server/go.work.template go.work COPY common common diff --git a/tools/server-docker/server/go.work.template b/tools/server-docker/server/go.work.template index 054984cb..20bc2cc7 100644 --- a/tools/server-docker/server/go.work.template +++ b/tools/server-docker/server/go.work.template @@ -1,6 +1,6 @@ -go 1.25.0 +go 1.26.0 -toolchain go1.25.7 +toolchain go1.26.0 use ( common diff --git a/tools/server-replay/go.mod b/tools/server-replay/go.mod index a8a154ca..2aa2dd9e 100644 --- a/tools/server-replay/go.mod +++ b/tools/server-replay/go.mod @@ -1,6 +1,6 @@ module github.com/luskaner/ageLANServer/server-replay -go 1.25.0 +go 1.26.0 require ( github.com/gorilla/websocket v1.5.3 From 0eb0615c83dbd7eb9a7d85d6525c4515983bcdeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Fri, 13 Feb 2026 21:27:48 +0100 Subject: [PATCH 06/13] Github: Integrate windows 7 builds in the GitHub workflow (#394) --- .env.example | 3 +- .github/workflows/releaser.yml | 17 +- DEVELOPMENT.md | 23 ++- Taskfile.yml | 2 +- go.work.sum | 153 ++++++++++++++++++ tools/scripts/internal/goreleaser/archive.go | 111 +++++++------ tools/scripts/internal/goreleaser/config.go | 16 +- .../scripts/internal/goreleaser/constants.go | 2 +- tools/scripts/internal/goreleaser/os.go | 90 ++++++++--- tools/scripts/internal/goreleaser/project.go | 2 +- 10 files changed, 322 insertions(+), 97 deletions(-) diff --git a/.env.example b/.env.example index 67429324..be4e057f 100644 --- a/.env.example +++ b/.env.example @@ -1 +1,2 @@ -GPG_FINGERPRINT= \ No newline at end of file +GPG_FINGERPRINT= +GOROOT_LEGACY= \ No newline at end of file diff --git a/.github/workflows/releaser.yml b/.github/workflows/releaser.yml index cabb680d..36ddb956 100644 --- a/.github/workflows/releaser.yml +++ b/.github/workflows/releaser.yml @@ -22,10 +22,25 @@ jobs: go-version: '1.26.0' cache-dependency-path: | go.work.sum + - name: Set up Go legacy + id: setup_go_legacy + run: | + dir="${{ vars.GOROOT_LEGACY }}" + subdir="go-legacy-win7" + curl -L https://github.com/thongtech/$subdir/releases/download/v1.26.0-1/$subdir-1.26.0-1.linux_amd64.tar.gz -o go.tar.gz + sudo mkdir -p "$dir" + sudo tar -C "$dir" --strip-components=1 -xzf go.tar.gz + rm go.tar.gz + echo "goroot=$dir/$subdir" >> $GITHUB_OUTPUT - name: Generate Goreleaser config shell: bash run: | - go run tools/scripts/cmd/generateGoreleaserConfig.go + go run tools/scripts/cmd/generateGoreleaserConfig.go "${{ steps.setup_go_legacy.outputs.goroot }}" + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 + with: + version: '~> v2' + args: release --clean --snapshot --fail-fast --skip=sign - name: Import GPG key id: import_gpg uses: crazy-max/ghaction-import-gpg@v6 diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 9cdd04cc..fbb49635 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -1,13 +1,23 @@ ### System requirements - OS requirements correspond to the server/launcher ones. Cross-compilation works on all systems out-the-box. -- [Go 1.26](https://go.dev/dl/) or higher, except for Windows 7-8 (and equivalent) which need an unofficial fork - like [thongtech/go-legacy-win7](https://github.com/thongtech/go-legacy-win7) (recommended) - or [XTLS/go-win7](https://github.com/XTLS/go-win7). -- [Git](https://git-scm.com/downloads), with the latest supported for Windows 7/8 being v2.46.2. +- Go 1.26: + * Officially from https://go.dev/dl/ if not running Windows or is 10 and higher (or equivalent). + * Unnoficially from [thongtech/go-legacy-win7](https://github.com/thongtech/go-legacy-win7) if running Windows + 7-8.X (or equivalent). Regardless if you install the official version, you need to install this one too for + release. +- [Git](https://git-scm.com/downloads), with the latest supported for Windows 7-8 being v2.46.2. - [Task](https://taskfile.dev/installation/). - [GoReleaser](https://goreleaser.com/). +### Setup + +Copy `.env.example` to `.env` and set: + +* ```GPG_FINGERPRINT``` to the fingerprint of the key. Required only for `task release`. +* ```GOROOT_LEGACY``` to the legacy go installation path. Required for `task build` and + `task release`. + ### Debug It is recommended to use an IDE such as [GoLand](https://www.jetbrains.com/go/) (free for academia) @@ -26,13 +36,14 @@ Depending on the module you want to debug, you will need to run the correspondin ### Build -Run ```task build```. +1. Make sure you have CGO disabled with ```go env -w CGO_ENABLED=0``` +2. Run ```task build```. ### Release 1. Install [gpg2](https://docs.releng.linuxfoundation.org/en/latest/gpg.html) if needed. 2. Create a new sign-only GPG key pair (*RSA 4096-bit*) with a passphrase. -3. Copy .env.example to .env and set ```GPG_FINGERPRINT``` to the fingerprint of the key. +3. Make sure you have CGO disabled with ```go env -w CGO_ENABLED=0``` 4. Finally run ```task release``` *Note: You will also need a local tag in semantic form like vX.Y.Z* diff --git a/Taskfile.yml b/Taskfile.yml index 241b3a20..1c96420e 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -8,7 +8,7 @@ tasks: build-goreleaser-cfg: internal: true cmds: - - go run tools/scripts/cmd/generateGoreleaserConfig.go + - go run tools/scripts/cmd/generateGoreleaserConfig.go "{{ .GOROOT_LEGACY }}" build: deps: - build-goreleaser-cfg diff --git a/go.work.sum b/go.work.sum index 4522dd13..b3ef4b92 100644 --- a/go.work.sum +++ b/go.work.sum @@ -10,6 +10,8 @@ buf.build/go/protoyaml v0.6.0 h1:Nzz1lvcXF8YgNZXk+voPPwdU8FjDPTUV4ndNTXN0n2w= buf.build/go/protoyaml v0.6.0/go.mod h1:RgUOsBu/GYKLDSIRgQXniXbNgFlGEZnQpRAUdLAFV2Q= cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= +charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63 h1:KgI+p678truaonNOQek4i+aJdWAtdpvFzz5lqHBaDeI= +charm.land/lipgloss/v2 v2.0.0-beta.3.0.20251120230642-dcccabe2cd63/go.mod h1:bjsp2D+VGi56y8f53S7xCphcoqJb36vo3dBVh0RrpP8= cloud.google.com/go v0.123.0 h1:2NAUJwPR47q+E35uaJeYoNhuNEM9kM8SjgRgdeOJUSE= cloud.google.com/go v0.123.0/go.mod h1:xBoMV08QcqUGuPW65Qfm1o9Y4zKZBpGS+7bImXLTAZU= cloud.google.com/go/accessapproval v1.8.8 h1:gq8OS+rQWgGRo91D2qztN+ion6AZ2T1CxBIu0ifCmVo= @@ -264,12 +266,16 @@ cuelang.org/go v0.14.1 h1:kxFAHr7bvrCikbtVps2chPIARazVdnRmlz65dAzKyWg= cuelang.org/go v0.14.1/go.mod h1:aSP9UZUM5m2izHAHUvqtq0wTlWn5oLjuv2iBMQZBLLs= cyphar.com/go-pathrs v0.2.1 h1:9nx1vOgwVvX1mNBWDu93+vaceedpbsDqo+XuBGL40b8= cyphar.com/go-pathrs v0.2.1/go.mod h1:y8f1EMG7r+hCuFf/rXsKqMJrJAUoADZGNh5/vZPKcGc= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/42wim/httpsig v1.2.3 h1:xb0YyWhkYj57SPtfSttIobJUPJZB9as1nsfo7KWVcEs= github.com/42wim/httpsig v1.2.3/go.mod h1:nZq9OlYKDrUBhptd77IHx4/sZZD+IxTBADvAPI9G/EM= github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d h1:zjqpY4C7H15HjRPEenkS4SAn3Jy2eRRjkjZbGR30TOg= github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d/go.mod h1:XNqJ7hv2kY++g8XEHREpi+JqZo3+0l+CH2egBVN4yqM= +github.com/AlekSi/pointer v1.2.0 h1:glcy/gc4h8HnG2Z3ZECSzZ1IX1x2JxRVuDzaJwQE0+w= +github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0= github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/provider v0.14.0 h1:kcnfY4vljxXliXDBrA9K9lwF8IoEZ4Up6Eg9kWTIm28= github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/provider v0.14.0/go.mod h1:tlqp9mUGbsP+0z3Q+c0Q5MgSdq/OMwQhm5bffR3Q3ss= github.com/Azure/azure-amqp-common-go/v3 v3.2.3 h1:uDF62mbd9bypXWi19V1bN5NZEO84JqgmI5G73ibAmrk= @@ -351,8 +357,17 @@ github.com/Jorropo/jsync v1.0.1 h1:6HgRolFZnsdfzRUj+ImB9og1JYOxQoReSywkHOGSaUU= github.com/Jorropo/jsync v1.0.1/go.mod h1:jCOZj3vrBCri3bSU3ErUYvevKlnbssrXeCivybS5ABQ= github.com/MakeNowJust/heredoc/v2 v2.0.1 h1:rlCHh70XXXv7toz95ajQWOWQnN4WNLt0TdpZYIR/J6A= github.com/MakeNowJust/heredoc/v2 v2.0.1/go.mod h1:6/2Abh5s+hc3g9nbWLe9ObDIOhaRrqsyY9MWy+4JdRM= +github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= +github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= +github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= +github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= +github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f h1:tCbYj7/299ekTTXpdwKYF8eBlsYsDVoggDAuAjoK66k= github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f/go.mod h1:gcr0kNtGBqin9zDW9GOHcVntrwnjrK+qdJ06mWYBybw= github.com/ProtonMail/gopenpgp/v2 v2.7.1 h1:Awsg7MPc2gD3I7IFac2qE3Gdls0lZW8SzrFZ3k1oz0s= @@ -408,6 +423,7 @@ github.com/anchore/go-macholibre v0.0.0-20250826193721-3cd206ca93aa/go.mod h1:7Y github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -417,6 +433,7 @@ github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de h1:FxWPpzIjnTlhP github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= @@ -496,6 +513,8 @@ github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5q github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= github.com/aymanbagabas/go-udiff v0.3.1 h1:LV+qyBQ2pqe0u42ZsUEtPiCaUoqgA9gYRDs3vj1nolY= github.com/aymanbagabas/go-udiff v0.3.1/go.mod h1:G0fsKmG+P6ylD0r6N/KgQD/nWzgfnl8ZBcNLgcbrw8E= +github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk= +github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg= github.com/beevik/ntp v1.5.0 h1:y+uj/JjNwlY2JahivxYvtmv4ehfi3h74fAuABB9ZSM4= github.com/beevik/ntp v1.5.0/go.mod h1:mJEhBrwT76w9D+IfOEGvuzyuudiW9E52U2BaTrMOYow= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= @@ -510,6 +529,8 @@ github.com/blacktop/go-dwarf v1.0.14 h1:OjmzfSgg/qAKckn2tWFebcgKgJ7HOqCj7bS+CiE1 github.com/blacktop/go-dwarf v1.0.14/go.mod h1:4W2FKgSFYcZLDwnR7k+apv5i3nrau4NGl9N6VQ9DSTo= github.com/blacktop/go-macho v1.1.258 h1:Un/fTCW0TAh5xloBLKESC7HgJsvIGvErCRTkiI51Qvw= github.com/blacktop/go-macho v1.1.258/go.mod h1:Hc5E2Lvt/U1VT+jOxr1O5l/LNFJeMYK4eAmDfazTiGc= +github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4= +github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bluesky-social/indigo v0.0.0-20240813042137-4006c0eca043 h1:927VIkxPFKpfJKVDtCNgSQtlhksARaLvsLxppR2FukM= @@ -522,6 +543,8 @@ github.com/brianvoe/gofakeit/v6 v6.25.0 h1:ZpFjktOpLZUeF8q223o0rUuXtA+m5qW5srjvV github.com/brianvoe/gofakeit/v6 v6.25.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw= github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c= +github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/buildkite/agent/v3 v3.104.0 h1:VLwNHHb5cmOeWp7clutY3Qnz88lfKb8yj+OTWrwDp+o= github.com/buildkite/agent/v3 v3.104.0/go.mod h1:HPO/Bv8C/aC2wfwVarAgU8LSXjUh/fTa9P3pxuGB+vw= github.com/buildkite/go-pipeline v0.15.0 h1:ae/TEXC/4HhajbED2vKcRL5vZTtb9C71cajzwoBlP8s= @@ -540,6 +563,9 @@ github.com/caarlos0/go-shellwords v1.0.12 h1:HWrUnu6lGbWfrDcFiHcZiwOLzHWjjrPVehU github.com/caarlos0/go-shellwords v1.0.12/go.mod h1:bYeeX1GrTLPl5cAMYEzdm272qdsQAZiaHgeF0KTk1Gw= github.com/caarlos0/go-version v0.2.2 h1:5r+nlrg4H2wOVwWjqRqRRIRbZ7ytRmjC9xoMIP0a5kQ= github.com/caarlos0/go-version v0.2.2/go.mod h1:X+rI5VAtJDpcjCjeEIXpxGa5+rTcgur1FK66wS0/944= +github.com/caarlos0/log v0.5.4 h1:4DJwTt8MvvRF8BM4I3j2sbmdf4DYY0HVqKpg09cAgaU= +github.com/caarlos0/log v0.5.4/go.mod h1:iAv3N3ZkiEQUmZ8fGdD8bMA4zq6jMSlnz9D87333Gi0= +github.com/caarlos0/testfs v0.4.4 h1:3PHvzHi5Lt+g332CiShwS8ogTgS3HjrmzZxCm6JCDr8= github.com/caarlos0/testfs v0.4.4/go.mod h1:bRN55zgG4XCUVVHZCeU+/Tz1Q6AxEJOEJTliBy+1DMk= github.com/carlmjohnson/versioninfo v0.22.5 h1:O00sjOLUAFxYQjlN/bzYTuZiS0y6fWDQjMRvwtKgwwc= github.com/carlmjohnson/versioninfo v0.22.5/go.mod h1:QT9mph3wcVfISUKd0i9sZfVrPviHuSF+cUtLjm2WSf8= @@ -547,6 +573,8 @@ github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e h1:YYUjy5BRwO5 github.com/cavaliercoder/badio v0.0.0-20160213150051-ce5280129e9e/go.mod h1:V284PjgVwSk4ETmz84rpu9ehpGg7swlIH8npP9k2bGw= github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8 h1:jP7ki8Tzx9ThnFPLDhBYAhEpI2+jOURnHQNURgsMvnY= github.com/cavaliercoder/go-rpm v0.0.0-20200122174316-8cb9fd9c31a8/go.mod h1:AZIh1CCnMrcVm6afFf96PBvE2MRpWFco91z8ObJtgDY= +github.com/cavaliergopher/cpio v1.0.1 h1:KQFSeKmZhv0cr+kawA3a0xTQCU4QxXF1vhU7P7av2KM= +github.com/cavaliergopher/cpio v1.0.1/go.mod h1:pBdaqQjnvXxdS/6CvNDwIANIFSP0xRKI16PX4xejRQc= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= @@ -558,16 +586,28 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chainguard-dev/clog v1.8.0 h1:frlTMEdg3XQR+ioQ6O9i92uigY8GTUcWKpuCFkhcCHA= github.com/chainguard-dev/clog v1.8.0/go.mod h1:5MQOZi+Iu7fV7GcJG8ag8rCB5elEOpqRMKEASgnGVdo= +github.com/charmbracelet/colorprofile v0.4.1 h1:a1lO03qTrSIRaK8c3JRxJDZOvhvIeSco3ej+ngLk1kk= +github.com/charmbracelet/colorprofile v0.4.1/go.mod h1:U1d9Dljmdf9DLegaJ0nGZNJvoXAhayhmidOdcBwAvKk= github.com/charmbracelet/fang v0.4.4 h1:G4qKxF6or/eTPgmAolwPuRNyuci3hTUGGX1rj1YkHJY= github.com/charmbracelet/fang v0.4.4/go.mod h1:P5/DNb9DddQ0Z0dbc0P3ol4/ix5Po7Ofr2KMBfAqoCo= github.com/charmbracelet/keygen v0.5.4 h1:XQYgf6UEaTGgQSSmiPpIQ78WfseNQp4Pz8N/c1OsrdA= github.com/charmbracelet/keygen v0.5.4/go.mod h1:t4oBRr41bvK7FaJsAaAQhhkUuHslzFXVjOBwA55CZNM= github.com/charmbracelet/ultraviolet v0.0.0-20251217160852-6b0c0e26fad9/go.mod h1:Ns3cOzzY9hEFFeGxB6VpfgRnqOJZJFhQAPfRxPqflQs= +github.com/charmbracelet/ultraviolet v0.0.0-20260209111912-3cca7cf7b09b h1:jyHmbVXscPtC1S4Cg2OW1Zq3bwTJoY6/q40Ahi8CqaA= +github.com/charmbracelet/ultraviolet v0.0.0-20260209111912-3cca7cf7b09b/go.mod h1:42rCfhmE+4ZM7twEctghIzlIWyPj6FCDTBiMepHE2Ss= github.com/charmbracelet/x/ansi v0.11.3/go.mod h1:yI7Zslym9tCJcedxz5+WBq+eUGMJT0bM06Fqy1/Y4dI= +github.com/charmbracelet/x/ansi v0.11.6 h1:GhV21SiDz/45W9AnV2R61xZMRri5NlLnl6CVF7ihZW8= +github.com/charmbracelet/x/ansi v0.11.6/go.mod h1:2JNYLgQUsyqaiLovhU2Rv/pb8r6ydXKS3NIttu3VGZQ= github.com/charmbracelet/x/exp/charmtone v0.0.0-20250603201427-c31516f43444 h1:IJDiTgVE56gkAGfq0lBEloWgkXMk4hl/bmuPoicI4R0= github.com/charmbracelet/x/exp/charmtone v0.0.0-20250603201427-c31516f43444/go.mod h1:T9jr8CzFpjhFVHjNjKwbAD7KwBNyFnj2pntAO7F2zw0= github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f h1:pk6gmGpCE7F3FcjaOEKYriCvpmIN4+6OS/RD0vm4uIA= github.com/charmbracelet/x/exp/golden v0.0.0-20250806222409-83e3a29d542f/go.mod h1:IfZAMTHB6XkZSeXUqriemErjAWCCzT0LwjKFYCZyw0I= +github.com/charmbracelet/x/term v0.2.2 h1:xVRT/S2ZcKdhhOuSP4t5cLi5o+JxklsoEObBSgfgZRk= +github.com/charmbracelet/x/term v0.2.2/go.mod h1:kF8CY5RddLWrsgVwpw4kAa6TESp6EB5y3uxGLeCqzAI= +github.com/charmbracelet/x/termios v0.1.1 h1:o3Q2bT8eqzGnGPOYheoYS8eEleT5ZVNYNy8JawjaNZY= +github.com/charmbracelet/x/termios v0.1.1/go.mod h1:rB7fnv1TgOPOyyKRJ9o+AsTU/vK5WHJ2ivHeut/Pcwo= +github.com/charmbracelet/x/windows v0.2.2 h1:IofanmuvaxnKHuV04sC0eBy/smG6kIKrWG2/jYn2GuM= +github.com/charmbracelet/x/windows v0.2.2/go.mod h1:/8XtdKZzedat74NQFn0NGlGL4soHB0YQZrETF96h75k= github.com/cheggaaa/pb/v3 v3.1.6 h1:h0x+vd7EiUohAJ29DJtJy+SNAc55t/elW3jCD086EXk= github.com/cheggaaa/pb/v3 v3.1.6/go.mod h1:urxmfVtaxT+9aWk92DbsvXFZtNSWQSO5TRAp+MJ3l1s= github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 h1:krfRl01rzPzxSxyLyrChD+U+MzsBXbm0OwYYB67uF+4= @@ -577,10 +617,16 @@ github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObk github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME= github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s= github.com/clipperhouse/displaywidth v0.6.2/go.mod h1:R+kHuzaYWFkTm7xoMmK1lFydbci4X2CicfbGstSGg0o= +github.com/clipperhouse/displaywidth v0.10.0 h1:GhBG8WuerxjFQQYeuZAeVTuyxuX+UraiZGD4HJQ3Y8g= +github.com/clipperhouse/displaywidth v0.10.0/go.mod h1:XqJajYsaiEwkxOj4bowCTMcT1SgvHo9flfF3jQasdbs= github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/clipperhouse/uax29/v2 v2.6.0 h1:z0cDbUV+aPASdFb2/ndFnS9ts/WNXgTNNGFoKXuhpos= +github.com/clipperhouse/uax29/v2 v2.6.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= github.com/cloudflare/circl v1.6.2/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= +github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8= +github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f h1:Y8xYupdHxryycyPlc9Y+bSQAYZnetRJ70VMVKm5CKI0= github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= @@ -629,6 +675,8 @@ github.com/cskr/pubsub v1.0.2 h1:vlOzMhl6PFn60gRlTQQsIfVwaPB/B/8MziK8FhEPt/0= github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q= github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw= +github.com/cyphar/filepath-securejoin v0.6.1 h1:5CeZ1jPXEiYt3+Z6zqprSAgSWiggmpVyciv8syjIpVE= +github.com/cyphar/filepath-securejoin v0.6.1/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= github.com/danielgtaylor/huma/v2 v2.35.0 h1:FRg3FgVKcMogVhbNY7FjyTwk+p/orLBR3hQBvXXg7dw= github.com/danielgtaylor/huma/v2 v2.35.0/go.mod h1:3elp5brzdyyZsPlDVvf6w8RLnklKp3abolr+5op3fP0= github.com/danieljoos/wincred v1.2.3 h1:v7dZC2x32Ut3nEfRH+vhoZGvN72+dQ/snVXo/vMFLdQ= @@ -687,11 +735,14 @@ github.com/dunglas/httpsfv v1.1.0 h1:Jw76nAyKWKZKFrpMMcL76y35tOpYHqQPzHQiwDvpe54 github.com/dunglas/httpsfv v1.1.0/go.mod h1:zID2mqw9mFsnt7YC3vYQ9/cjq30q41W+1AnDwH8TiMg= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/proto v1.14.2 h1:wJPxPy2Xifja9cEMrcA/g08art5+7CGJNFNk35iXC1I= github.com/emicklei/proto v1.14.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329 h1:K+fnvUM0VZ7ZFJf0n4L/BRlnsb9pL/GuDG6FqaH+PwM= github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329/go.mod h1:Alz8LEClvR7xKsrq3qzoc4N0guvVNSS8KmSChGYr9hs= github.com/envoyproxy/go-control-plane/envoy v1.35.0 h1:ixjkELDE+ru6idPxcHLj8LBVc2bFP7iBytj353BoHUo= @@ -726,6 +777,7 @@ github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/github/smimesign v0.2.0 h1:Hho4YcX5N1I9XNqhq0fNx0Sts8MhLonHd+HRXVGNjvk= github.com/github/smimesign v0.2.0/go.mod h1:iZiiwNT4HbtGRVqCQu7uJPEZCuEE5sfSSttcnePkDl4= +github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec= github.com/go-chi/chi v4.1.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= @@ -733,7 +785,14 @@ github.com/go-chi/chi/v5 v5.2.4 h1:WtFKPHwlywe8Srng8j2BhOD9312j9cGUxG1SP4V2cR4= github.com/go-chi/chi/v5 v5.2.4/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0= github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.7.0 h1:83lBUJhGWhYp0ngzCMSgllhUSuoHP1iEWYjsPl9nwqM= +github.com/go-git/go-billy/v5 v5.7.0/go.mod h1:/1IUejTKH8xipsAcdfcSAlUlo2J7lkYV8GTKxAT/L3E= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= +github.com/go-git/go-git/v5 v5.16.5 h1:mdkuqblwr57kVfXri5TTH+nMFLNUxIj9Z7F5ykFbw5s= +github.com/go-git/go-git/v5 v5.16.5/go.mod h1:QOMLpNf1qxuSY4StA/ArOdfFR2TrKEjJiye2kel2m+M= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs= @@ -819,6 +878,8 @@ github.com/go-training/helloworld v0.0.0-20200225145412-ba5f4379d78b h1:0pOrjn0U github.com/go-training/helloworld v0.0.0-20200225145412-ba5f4379d78b/go.mod h1:hGGmX3bRUkYkc9aKA6mkUxi6d+f1GmZF1je0FlVTgwU= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/go-yaml/yaml v2.1.0+incompatible h1:RYi2hDdss1u4YE7GwixGzWwVo47T8UQwnTLB6vQiq+o= +github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/gocql/gocql v1.7.0 h1:O+7U7/1gSN7QTEAaMEsJc1Oq2QHXvCWoF3DFK9HDHus= @@ -833,6 +894,8 @@ github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9v github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/glog v1.2.5 h1:DrW6hGnjIhtvhOIiAKT6Psh/Kd/ldepEa81DKeiRJ5I= github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U= github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= @@ -878,6 +941,8 @@ github.com/google/pprof v0.0.0-20250602020802-c6617b811d0e/go.mod h1:5hDyRhoBCxV github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio/v2 v2.0.0 h1:UifI23ZTGY8Tt29JbYFiuyIU3eX+RNFtUwefq9qAhxg= github.com/google/renameio/v2 v2.0.0/go.mod h1:BtmJXm5YlszgC+TD4HOEEUFgkJP3nLxehU6hfe7jRt4= +github.com/google/rpmpack v0.7.1 h1:YdWh1IpzOjBz60Wvdw0TU0A5NWP+JTVHA5poDqwMO2o= +github.com/google/rpmpack v0.7.1/go.mod h1:h1JL16sUTWCLI/c39ox1rDaTBo3BXUQGjczVJyK4toU= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= @@ -894,8 +959,17 @@ github.com/googleapis/gax-go/v2 v2.15.0 h1:SyjDc1mGgZU5LncH8gimWo9lW1DtIfPibOG81 github.com/googleapis/gax-go/v2 v2.15.0/go.mod h1:zVVkkxAQHa1RQpg9z2AUCMnKhi0Qld9rcmyfL1OZhoc= github.com/gookit/color v1.6.0 h1:JjJXBTk1ETNyqyilJhkTXJYYigHG24TM9Xa2M1xAhRA= github.com/gookit/color v1.6.0/go.mod h1:9ACFc7/1IpHGBW8RwuDm/0YEnhg3dwwXpoMsmtyHfjs= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= +github.com/goreleaser/chglog v0.7.4 h1:3pnNt/XCrUcAOq+KC91Azlgp5CRv4GHo1nl8Aws7OzI= +github.com/goreleaser/chglog v0.7.4/go.mod h1:dTVoZZagTz7hHdWaZ9OshHntKiF44HbWIHWxYJQ/h0Y= +github.com/goreleaser/fileglob v1.4.0 h1:Y7zcUnzQjT1gbntacGAkIIfLv+OwojxTXBFxjSFoBBs= +github.com/goreleaser/fileglob v1.4.0/go.mod h1:1pbHx7hhmJIxNZvm6fi6WVrnP0tndq6p3ayWdLn1Yf8= +github.com/goreleaser/goreleaser/v2 v2.13.3 h1:S8d13YgzzFXxoUJ9NJInuyq3lPNCXTcuW8wSvM+rXnQ= +github.com/goreleaser/goreleaser/v2 v2.13.3/go.mod h1:Rj+yhhXrO6WHc6cNh1GggpxzhhHXv9lczL5M4cSV3oA= github.com/goreleaser/nfpm/v2 v2.44.1/go.mod h1:drIYLqkla9SaOLbSnaFOmSIv5LXGfhHcbK54st97b4s= +github.com/goreleaser/nfpm/v2 v2.45.0 h1:rTqqX/vqvln4x7B2HmPL57gh21iIMqyxzP8goI3Jv+Y= +github.com/goreleaser/nfpm/v2 v2.45.0/go.mod h1:O0h9bB68D39NTnM9rSOJhVCYxQk7sU8i04q2bzczFdk= github.com/goreleaser/quill v0.0.0-20251224035235-ab943733386f h1:2HQF/pifDK7XnmVhQi3OecdUcHLOaXIKVKscW8qKzCk= github.com/goreleaser/quill v0.0.0-20251224035235-ab943733386f/go.mod h1:Xp6aA14QqdPBg7UHToFag7mrjsV7XaKEpw1t6fDfT6M= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= @@ -946,6 +1020,8 @@ github.com/hashicorp/vault/api v1.22.0 h1:+HYFquE35/B74fHoIeXlZIP2YADVboaPjaSicH github.com/hashicorp/vault/api v1.22.0/go.mod h1:IUZA2cDvr4Ok3+NtK2Oq/r+lJeXkeCrHRmqdyWfpmGM= github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef h1:A9HsByNhogrvm9cWb28sjiS3i7tcKCkflWFEkHfuAgM= github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= +github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= +github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI= @@ -954,6 +1030,8 @@ github.com/in-toto/attestation v1.1.2 h1:MBFn6lsMq6dptQZJBhalXTcWMb/aJy3V+GX3VYj github.com/in-toto/attestation v1.1.2/go.mod h1:gYFddHMZj3DiQ0b62ltNi1Vj5rC879bTmBbrv9CRHpM= github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo= +github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E= +github.com/invopop/jsonschema v0.13.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0= github.com/ipfs/bbloom v0.0.4 h1:Gi+8EGJ2y5qiD5FbsbpX/TMNcJw8gSqr7eyjHa4Fhvs= github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= github.com/ipfs/go-bitfield v1.1.0 h1:fh7FIo8bSwaJEh6DdTWbCeZ1eqOaOkKFI74SCnsWbGA= @@ -1033,6 +1111,8 @@ github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+ github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A= github.com/jarcoal/httpmock v1.4.1/go.mod h1:ftW1xULwo+j0R0JJkJIIi7UKigZUXCLLanykgjwBXL0= github.com/jbenet/go-cienv v0.1.0 h1:Vc/s0QbQtoxX8MwwSLWWh+xNNZvM3Lw7NsTcHrvvhMc= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jbenet/go-temp-err-catcher v0.1.0 h1:zpb3ZH6wIE8Shj2sKS+khgRvf7T7RABoLk/+KKHggpk= github.com/jbenet/go-temp-err-catcher v0.1.0/go.mod h1:0kJRvmDZXNMIiJirNPEYfhpPwbGVtZVWC34vc5WLsDk= github.com/jbenet/goprocess v0.1.4 h1:DRGOFReOMqqDNXwW70QkacFW0YN9QnwLV0Vqk+3oU0o= @@ -1061,15 +1141,26 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= +github.com/kevinburke/ssh_config v1.4.0 h1:6xxtP5bZ2E4NF5tuQulISpTO2z8XbtH8cg1PWkxoFkQ= +github.com/kevinburke/ssh_config v1.4.0/go.mod h1:q2RIzfka+BXARoNexmF9gkxEX7DmvbW9P4hIVx2Kg4M= github.com/keybase/go-keychain v0.0.1 h1:way+bWYa6lDppZoZcgMbYsvC7GxljxrskdNInRtuthU= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.4 h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c= +github.com/klauspost/compress v1.18.4/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y= +github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0= +github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= +github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/koron/go-ssdp v0.0.6 h1:Jb0h04599eq/CY7rB5YEqPS83HmRfHP2azkxMN2rFtU= github.com/koron/go-ssdp v0.0.6/go.mod h1:0R9LfRJGek1zWTjN3JUNlm5INCDYGpRDfAptnct63fI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1 h1:VkoXIwSboBpnk99O/KFauAEILuNHv5DVFKZMBN/gUgw= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -1137,16 +1228,21 @@ github.com/libp2p/go-reuseport v0.4.0 h1:nR5KU7hD0WxXCJbmw7r2rhRYruNRl2koHw8fQsc github.com/libp2p/go-reuseport v0.4.0/go.mod h1:ZtI03j/wO5hZVDFo2jKywN6bYKWLOy8Se6DrI2E1cLU= github.com/libp2p/go-yamux/v5 v5.0.1 h1:f0WoX/bEF2E8SbE4c/k1Mo+/9z0O4oC/hWEA+nfYRSg= github.com/libp2p/go-yamux/v5 v5.0.1/go.mod h1:en+3cdX51U0ZslwRdRLrvQsdayFt3TSUKvBGErzpWbU= +github.com/lucasb-eyer/go-colorful v1.3.0 h1:2/yBRLdWBZKrf7gB40FoiKfAWYQ0lqNcbuQwVHXptag= +github.com/lucasb-eyer/go-colorful v1.3.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4 h1:sIXJOMrYnQZJu7OB7ANSF4MYri2fTEGIsRLz6LwI4xE= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.9.1 h1:LbtsOm5WAswyWbvTEOqhypdPeZzHavpZx96/n553mR8= +github.com/mailru/easyjson v0.9.1/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd h1:br0buuQ854V8u83wA0rVZ8ttrq5CpaPZdvrK0LP2lOk= github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd/go.mod h1:QuCEs1Nt24+FYQEqAAncTDPJIuGs+LxK1MCiFL25pMU= +github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ= github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= @@ -1154,6 +1250,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-mastodon v0.0.10 h1:wz1d/aCkJOIkz46iv4eAqXHVreUMxydY1xBWrPBdDeE= github.com/mattn/go-mastodon v0.0.10/go.mod h1:YBofeqh7G6s787787NQR8erBYz6fKDu+KNMrn5RuD6Y= +github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= +github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= @@ -1168,12 +1266,16 @@ github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0 github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE= github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/moby/api v1.52.0 h1:00BtlJY4MXkkt84WhUZPRqt5TvPbgig2FZvTbe3igYg= @@ -1202,6 +1304,8 @@ github.com/mozillazg/docker-credential-acr-helper v0.4.0 h1:Uoh3Z9CcpEDnLiozDx+D github.com/mozillazg/docker-credential-acr-helper v0.4.0/go.mod h1:2kiicb3OlPytmlNC9XGkLvVC+f0qTiJw3f/mhmeeQBg= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= github.com/muesli/mango v0.2.0 h1:iNNc0c5VLQ6fsMgAqGQofByNUBH2Q2nEbD6TaI+5yyQ= github.com/muesli/mango v0.2.0/go.mod h1:5XFpbC8jY5UUv89YQciiXNlbi+iJgt29VDC5xbzrLL4= github.com/muesli/mango-cobra v1.3.0 h1:vQy5GvPg3ndOSpduxutqFoINhWk3vD5K2dXo5E8pqec= @@ -1246,6 +1350,7 @@ github.com/oleiade/reflections v1.1.0 h1:D+I/UsXQB4esMathlt0kkZRJZdUDmhv5zGi/HOw github.com/oleiade/reflections v1.1.0/go.mod h1:mCxx0QseeVCHs5Um5HhJeCKVC7AwS8kO67tky4rdisA= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= github.com/open-policy-agent/opa v1.8.0 h1:4JdYuZcANeUF1v/87NGpirocpaZzJA0PcuL7xfmsMNM= github.com/open-policy-agent/opa v1.8.0/go.mod h1:vOVZuIJQISnaYcZtQ58yTDkVCp1FmGPwK43pO9qPDqM= @@ -1312,8 +1417,12 @@ github.com/pion/turn/v4 v4.0.2 h1:ZqgQ3+MjP32ug30xAbD6Mn+/K4Sxi3SdNOTFf+7mpps= github.com/pion/turn/v4 v4.0.2/go.mod h1:pMMKP/ieNAG/fN5cZiN4SDuyKsXtNTr0ccN7IToA1zs= github.com/pion/webrtc/v4 v4.1.2 h1:mpuUo/EJ1zMNKGE79fAdYNFZBX790KE7kQQpLMjjR54= github.com/pion/webrtc/v4 v4.1.2/go.mod h1:xsCXiNAmMEjIdFxAYU0MbB3RwRieJsegSB2JZsGN+8U= +github.com/pjbgf/sha1cd v0.5.0 h1:a+UkboSi1znleCDUNT3M5YxjOnN1fz2FhN48FlwCxs0= +github.com/pjbgf/sha1cd v0.5.0/go.mod h1:lhpGlyHLpQZoxMv8HcgXvZEhcGs0PG/vsZnEJ7H0iCM= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/polydawn/refmt v0.89.1-0.20221221234430-40501e09de1f h1:VXTQfuJj9vKR4TCkEuWIckKvdHFeJH/huIFJ9/cXOB0= @@ -1344,11 +1453,14 @@ github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SA github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= github.com/quic-go/webtransport-go v0.10.0 h1:LqXXPOXuETY5Xe8ITdGisBzTYmUOy5eSj+9n4hLTjHI= github.com/quic-go/webtransport-go v0.10.0/go.mod h1:LeGIXr5BQKE3UsynwVBeQrU1TPrbh73MGoC6jd+V7ow= +github.com/r3labs/diff/v3 v3.0.2 h1:yVuxAY1V6MeM4+HNur92xkS39kB/N+cFi2hMkY06BbA= github.com/r3labs/diff/v3 v3.0.2/go.mod h1:Cy542hv0BAEmhDYWtGxXRQ4kqRsVIcEjG9gChUlTmkw= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/redis/go-redis/v9 v9.17.2 h1:P2EGsA4qVIM3Pp+aPocCJ7DguDHhqrXNhVcEp4ViluI= github.com/redis/go-redis/v9 v9.17.2/go.mod h1:u410H11HMLoB+TP67dz8rL9s6QW2j76l0//kSOd3370= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= @@ -1372,8 +1484,12 @@ github.com/secure-systems-lab/go-securesystemslib v0.9.1 h1:nZZaNz4DiERIQguNy0cL github.com/secure-systems-lab/go-securesystemslib v0.9.1/go.mod h1:np53YzT0zXGMv6x4iEWc9Z59uR+x+ndLwCLqPYpLXVU= github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= +github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= +github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= +github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= +github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/sigstore/cosign/v2 v2.6.1 h1:7Wf67ENNCjg+1fLqHRPgKUNaCCnCavnEfCe1LApOoIo= github.com/sigstore/cosign/v2 v2.6.1/go.mod h1:L37doL+7s6IeCXFODV2J7kds5Po/srlVzA//++YqAJ8= @@ -1399,14 +1515,19 @@ github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.10.3 h1:lJSdaC/aOlF github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.10.3/go.mod h1:b2rV9qPbt/jv/Yy75AIOZThP8j+pe1ZdLEjOwmjPdoA= github.com/sigstore/timestamp-authority/v2 v2.0.3 h1:sRyYNtdED/ttLCMdaYnwpf0zre1A9chvjTnCmWWxN8Y= github.com/sigstore/timestamp-authority/v2 v2.0.3/go.mod h1:mDaHxkt3HmZYoIlwYj4QWo0RUr7VjYU52aVO5f5Qb3I= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.3.2 h1:EDL9mgf4NzwMXCTfaxSD/o/a5fxDw/xL9nkU28JjdBg= +github.com/skeema/knownhosts v1.3.2/go.mod h1:bEg3iQAuw+jyiw+484wwFJoKSLwcfd7fqRy+N0QTiow= github.com/slack-go/slack v0.17.3 h1:zV5qO3Q+WJAQ/XwbGfNFrRMaJ5T/naqaonyPV/1TP4g= github.com/slack-go/slack v0.17.3/go.mod h1:X+UqOufi3LYQHDnMG1vxf0J8asC6+WllXrVrhl8/Prk= github.com/slok/go-http-metrics v0.13.0 h1:lQDyJJx9wKhmbliyUsZ2l6peGnXRHjsjoqPt5VYzcP8= github.com/slok/go-http-metrics v0.13.0/go.mod h1:HIr7t/HbN2sJaunvnt9wKP9xoBBVZFo1/KiHU3b0w+4= +github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= github.com/smartystreets/assertions v1.2.0 h1:42S6lae5dvLc7BrLu/0ugRtcFVjoJNMC/N3yZFZkDFs= +github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= @@ -1420,6 +1541,8 @@ github.com/spiffe/go-spiffe/v2 v2.6.0 h1:l+DolpxNWYgruGQVV0xsfeya3CsC7m8iBzDnMps github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= github.com/tchap/go-patricia/v2 v2.3.3 h1:xfNEsODumaEcCcY3gI0hYPZ/PcpVv5ju6RMAhgwZDDc= @@ -1456,6 +1579,8 @@ github.com/transparency-dev/tessera v1.0.1 h1:t2PS/GzuxU5x6kAQQ4ZGBBUqLGOF2R+N/j github.com/transparency-dev/tessera v1.0.1/go.mod h1:s1dUEOprg84J3WGKGviBn2sz+08l5dR+l0aoXUP1FOs= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb h1:Ywfo8sUltxogBpFuMOFRrrSifO788kAFxmvVw31PtQQ= github.com/ucarion/urlpath v0.0.0-20200424170820-7ccc79b76bbb/go.mod h1:ikPs9bRWicNw3S7XpJ8sK/smGwU9WcSVU3dy9qahYBM= +github.com/ulikunitz/xz v0.5.15 h1:9DNdB5s+SgV3bQ2ApL10xRc35ck0DuIX/isZvIk+ubY= +github.com/ulikunitz/xz v0.5.15/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ= github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs= @@ -1478,7 +1603,9 @@ github.com/veraison/go-cose v1.3.0 h1:2/H5w8kdSpQJyVtIhx8gmwPJ2uSz1PkyWFx0idbd7r github.com/veraison/go-cose v1.3.0/go.mod h1:df09OV91aHoQWLmy1KsDdYiagtXgyAwAl8vFeFn1gMc= github.com/vmihailenco/go-tinylfu v0.2.2 h1:H1eiG6HM36iniK6+21n9LLpzx1G9R3DJa2UjUjbynsI= github.com/vmihailenco/go-tinylfu v0.2.2/go.mod h1:CutYi2Q9puTxfcolkliPq4npPuofg9N9t8JVrjzwa3Q= +github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IUPn0Bjt8= github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0 h1:0KGbf+0SMg+UFy4e1A/CPVvXn21f1qtWdeJwxZFoQG8= github.com/wagoodman/go-progress v0.0.0-20230925121702-07e42b3cdba0/go.mod h1:jLXFoL31zFaHKAAyZUh+sxiTDFe1L1ZHrcK2T1itVKA= @@ -1499,10 +1626,14 @@ github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc h1:9lDbC6 github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1 h1:+dBg5k7nuTE38VVdoroRsT0Z88fmvdYrI2EjzJst35I= github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1/go.mod h1:nmuySobZb4kFgFy6BptpXp/BBw+xFSyvVPP6auoJB4k= +github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc= +github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw= github.com/wlynxg/anet v0.0.5 h1:J3VJGi1gvo0JwZ/P1/Yc/8p63SoW98B5dHkYDmpgvvU= github.com/wlynxg/anet v0.0.5/go.mod h1:eay5PRQr7fIVAMbTbchTnO9gG65Hg/uYGdc7mguHxoA= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= @@ -1519,6 +1650,8 @@ github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofm github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 h1:S2dVYn90KE98chqDkyE9Z4N61UnQd+KOfgp5Iu53llk= github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= github.com/yashtewari/glob-intersection v0.2.0 h1:8iuHdN88yYuCzCdjt0gDe+6bAhUwBeEWqThExu54RFg= @@ -1541,6 +1674,8 @@ github.com/zalando/go-keyring v0.2.6 h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8u github.com/zalando/go-keyring v0.2.6/go.mod h1:2TCrxYrbUNYfNS/Kgy/LSrkSQzZ5UPVH85RwfczwvcI= github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= +gitlab.com/digitalxero/go-conventional-commit v1.0.7 h1:8/dO6WWG+98PMhlZowt/YjuiKhqhGlOCwlIV8SqqGh8= +gitlab.com/digitalxero/go-conventional-commit v1.0.7/go.mod h1:05Xc2BFsSyC5tKhK0y+P3bs0AwUtNuTp+mTpbCU/DZ0= gitlab.com/gitlab-org/api/client-go v1.11.0 h1:L+qzw4kiCf3jKdKHQAwiqYKITvzBrW/tl8ampxNLlv0= gitlab.com/gitlab-org/api/client-go v1.11.0/go.mod h1:adtVJ4zSTEJ2fP5Pb1zF4Ox1OKFg0MH43yxpb0T0248= gitlab.com/yawning/secp256k1-voi v0.0.0-20230925100816-f2616030848b h1:CzigHMRySiX3drau9C6Q5CAbNIApmLdat5jPMqChvDA= @@ -1668,17 +1803,30 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= gocloud.dev v0.44.0 h1:iVyMAqFl2r6xUy7M4mfqwlN+21UpJoEtgHEcfiLMUXs= gocloud.dev v0.44.0/go.mod h1:ZmjROXGdC/eKZLF1N+RujDlFRx3D+4Av2thREKDMVxY= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= +golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2 h1:O1cMQHRfwNpDfDJerqRoE2oD+AFlyid87D40L/OkkJo= golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2/go.mod h1:b7fPSJ0pKZ3ccUh8gnTONJxhn3c/PS6tyzQvyqw4iA8= golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4 h1:bTLqdHv7xrGlFbvf5/TXNxy/iUwwdkjhqQTJDjW7aj0= golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4/go.mod h1:g5NllXBEermZrmR51cJDQxmJUHUOfRAaNyWBM+R+548= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/tools/go/expect v0.1.1-deprecated h1:jpBZDwmgPhXsKZC6WhL20P4b/wmnpsEAGHaNy0n/rJM= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= @@ -1708,6 +1856,7 @@ google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBN google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= @@ -1719,7 +1868,11 @@ gopkg.in/mail.v2 v2.3.1 h1:WYFn/oANrAGP2C0dcV6/pbkPzv8yGzqTjPmTeO7qoXk= gopkg.in/mail.v2 v2.3.1/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gorm.io/driver/postgres v1.5.7 h1:8ptbNJTDbEmhdr62uReG5BGkdQyeasu/FZHxI0IMGnM= gorm.io/driver/postgres v1.5.7/go.mod h1:3e019WlBaYI5o5LIdNV+LyxCMNtLOQETBXL2h4chKpA= gorm.io/driver/sqlite v1.5.5 h1:7MDMtUZhV065SilG62E0MquljeArQZNfJnjd9i9gx3E= diff --git a/tools/scripts/internal/goreleaser/archive.go b/tools/scripts/internal/goreleaser/archive.go index 6a1fe41f..c19a718d 100644 --- a/tools/scripts/internal/goreleaser/archive.go +++ b/tools/scripts/internal/goreleaser/archive.go @@ -23,10 +23,10 @@ func extChange(ext string) DestinationFn { } type DestinationFn func(source string) Renders[FileData] -type DestinationsFnMap = map[OperatingSystem][]DestinationFn -type SourceIgnoreFn = map[OperatingSystem]func(path string) bool +type DestinationsFnMap = map[string][]DestinationFn +type SourceIgnoreFn = map[string]func(path string) bool type OperatingSystemsArchs = map[OperatingSystem]mapset.Set[Architecture] -type OverrideOsFriendlyName func(name string, os OperatingSystem, arch Architecture) string +type OverrideOsName func(name string, os OperatingSystem, arch Architecture) string type File struct { source string @@ -43,19 +43,19 @@ type FileData struct { Game string } -func NewFileData(os OperatingSystem) FileData { +func NewFileData(goos string) FileData { f := FileData{} - switch os { - case OSWindows: + switch goos { + case "windows": f.BaseOS = "windows" f.SrcScriptExt = "bat" f.DstScriptExt = f.SrcScriptExt f.DstDocExt = "txt" - case OSLinux: + case "linux": f.BaseOS = "unix" f.SrcScriptExt = "sh" f.DstScriptExt = f.SrcScriptExt - case OSMacOS: + case "darwin": f.BaseOS = "unix" f.SrcScriptExt = "sh" f.DstScriptExt = "command" @@ -64,29 +64,29 @@ func NewFileData(os OperatingSystem) FileData { } type Archive struct { - name string - files mapset.Set[File] - targets *BinaryTargets - binaries map[string]*Binary - overrideOsFriendlyName OverrideOsFriendlyName + name string + files mapset.Set[File] + targets *BinaryTargets + binaries map[string]*Binary + overrideOsName OverrideOsName } -func NewArchive(name string, targets *BinaryTargets, overrideOsFriendlyName OverrideOsFriendlyName) *Archive { - if overrideOsFriendlyName == nil { - overrideOsFriendlyName = func(name string, os OperatingSystem, arch Architecture) string { - return os.FriendlyName() +func NewArchive(name string, targets *BinaryTargets, overrideOsName OverrideOsName) *Archive { + if overrideOsName == nil { + overrideOsName = func(name string, os OperatingSystem, arch Architecture) string { + return os.Name() } } return &Archive{ - name: name, - files: mapset.NewSet[File](), - targets: targets, - binaries: make(map[string]*Binary), - overrideOsFriendlyName: overrideOsFriendlyName, + name: name, + files: mapset.NewSet[File](), + targets: targets, + binaries: make(map[string]*Binary), + overrideOsName: overrideOsName, } } -func NewMergedArchive(name string, overrideOsFriendlyName OverrideOsFriendlyName, archives ...*Archive) *Archive { +func NewMergedArchive(name string, overrideOsName OverrideOsName, archives ...*Archive) *Archive { mergedOsesArchs := archives[0].targets.Clone() for _, a := range archives[1:] { osesToDelete := make([]OperatingSystem, 0) @@ -133,7 +133,7 @@ func NewMergedArchive(name string, overrideOsFriendlyName OverrideOsFriendlyName for osKey := range *mergedOsesArchs { oses.Add(osKey) } - mergedArchive := NewArchive(name, mergedOsesArchs, overrideOsFriendlyName) + mergedArchive := NewArchive(name, mergedOsesArchs, overrideOsName) for _, a := range archives { for file := range a.files.Iter() { if file.os == nil { @@ -170,8 +170,9 @@ func (a *Archive) AddSrcDstFileWithMode(source string, destination string, mode func (a *Archive) addFile(os OperatingSystem, fileMode os.FileMode, fileData FileData, source Renders[FileData], sourceIgnoreFn SourceIgnoreFn, destinationFn ...DestinationFn) { var sourceRendered string - if sourceIgnoreFn != nil && sourceIgnoreFn[os] != nil { - if sourceRendered = source.Render(fileData); sourceIgnoreFn[os](sourceRendered) { + goos := os.Goos() + if sourceIgnoreFn != nil && sourceIgnoreFn[goos] != nil { + if sourceRendered = source.Render(fileData); sourceIgnoreFn[goos](sourceRendered) { return } } else { @@ -203,12 +204,12 @@ func (a *Archive) AddSrcOsDstFile(source Renders[FileData], sourceIgnoreFn Sourc destinationsFns := make(map[OperatingSystem][]DestinationFn) for oses := range *a.targets { destinationsFns[oses] = []DestinationFn{destinationFn} - if value, exists := destinationsFn[oses]; exists { + if value, exists := destinationsFn[oses.Goos()]; exists { destinationsFns[oses] = append(destinationsFns[oses], value...) } } for operatingSystem, osDestinationFns := range destinationsFns { - fileData := NewFileData(operatingSystem) + fileData := NewFileData(operatingSystem.Goos()) if perGame { for game := range common.SupportedGames.Iter() { fileData.Game = game @@ -234,10 +235,10 @@ func (a *Archive) AddScriptFiles(destDir string, source Renders[FileData], sourc if finalDestinationsFn == nil { finalDestinationsFn = make(DestinationsFnMap) } - if _, exists := finalDestinationsFn[OSMacOS]; !exists { - finalDestinationsFn[OSMacOS] = []DestinationFn{} + if _, exists := finalDestinationsFn["darwin"]; !exists { + finalDestinationsFn["darwin"] = []DestinationFn{} } - finalDestinationsFn[OSMacOS] = append([]DestinationFn{extChange("command")}, finalDestinationsFn[OSMacOS]...) + finalDestinationsFn["darwin"] = append([]DestinationFn{extChange("command")}, finalDestinationsFn["darwin"]...) a.AddSrcOsDstFile( source, sourceIgnoreFn, @@ -273,23 +274,23 @@ func (a *Archive) AddDocFiles(destDir string, destinationFn DestinationFn, desti if finalDestinationsFn == nil { finalDestinationsFn = make(DestinationsFnMap) } - if _, exists := finalDestinationsFn[OSWindows]; !exists { - finalDestinationsFn[OSWindows] = []DestinationFn{} + if _, exists := finalDestinationsFn["windows"]; !exists { + finalDestinationsFn["windows"] = []DestinationFn{} } - if _, exists := finalDestinationsFn[OSMacOS]; !exists { - finalDestinationsFn[OSMacOS] = []DestinationFn{} + if _, exists := finalDestinationsFn["darwin"]; !exists { + finalDestinationsFn["darwin"] = []DestinationFn{} } - if _, exists := finalDestinationsFn[OSLinux]; !exists { - finalDestinationsFn[OSLinux] = []DestinationFn{} + if _, exists := finalDestinationsFn["linux"]; !exists { + finalDestinationsFn["linux"] = []DestinationFn{} } if destinationFn == nil { destinationFn = func(source string) Renders[FileData] { return LiteralString[FileData](source) } } - finalDestinationsFn[OSWindows] = append([]DestinationFn{extChange("txt")}, finalDestinationsFn[OSWindows]...) - finalDestinationsFn[OSMacOS] = append([]DestinationFn{extChange("")}, finalDestinationsFn[OSMacOS]...) - finalDestinationsFn[OSLinux] = append([]DestinationFn{extChange("")}, finalDestinationsFn[OSLinux]...) + finalDestinationsFn["windows"] = append([]DestinationFn{extChange("txt")}, finalDestinationsFn["windows"]...) + finalDestinationsFn["darwin"] = append([]DestinationFn{extChange("")}, finalDestinationsFn["darwin"]...) + finalDestinationsFn["linux"] = append([]DestinationFn{extChange("")}, finalDestinationsFn["linux"]...) for _, source := range sources { a.AddSrcOsDstFile( LiteralString[FileData](source), @@ -314,7 +315,7 @@ func (a *Archive) AddAuxiliarBinary(binary *Binary) { } func (a *Archive) CloneWithFilesPrefix(prefix string) *Archive { - newArchive := NewArchive(a.name, a.targets, a.overrideOsFriendlyName) + newArchive := NewArchive(a.name, a.targets, a.overrideOsName) for file := range a.files.Iter() { newFile := file newFile.destination = filepath.ToSlash(filepath.Join(prefix, file.destination)) @@ -346,8 +347,11 @@ func build(path, main string, operatingSystem OperatingSystem, architecture Arch ID: buildName(path, operatingSystem, &architecture, instructionSet), Main: main, Binary: path, - Goos: []string{operatingSystem.Name()}, - Goarch: []string{architecture.Name()}, + Goos: []string{operatingSystem.Goos()}, + Goarch: []string{architecture.Goarch()}, + } + if tool := operatingSystem.Tool(); tool != "" { + b.Tool = tool } if instructionSet != "" { switch architecture { @@ -367,7 +371,7 @@ func build(path, main string, operatingSystem OperatingSystem, architecture Arch func buildName(path string, operatingSystem OperatingSystem, architecture *Architecture, instructionSet string) string { name := fmt.Sprintf("%s_%s", path, operatingSystem.Name()) if architecture != nil { - name = fmt.Sprintf("%s_%s", name, (*architecture).Name()) + name = fmt.Sprintf("%s_%s", name, (*architecture).Goarch()) } if instructionSet != "" { name = fmt.Sprintf("%s_%s", name, instructionSet) @@ -380,7 +384,10 @@ func mergeBuilds(path string, main string, operatingSystem OperatingSystem, buil ID: buildName(path, operatingSystem, nil, ""), Main: main, Binary: path, - Goos: []string{operatingSystem.Name()}, + Goos: []string{operatingSystem.Goos()}, + } + if tool := operatingSystem.Tool(); tool != "" { + b.Tool = tool } for _, currentBuild := range builds { b.Goarch = append(b.Goarch, currentBuild.Goarch...) @@ -441,10 +448,10 @@ func (a *Archive) Builds(mergedOSes ...OperatingSystem) []config.Build { return builds } -func archive(name string, overrideOsFriendlyName OverrideOsFriendlyName, operatingSystem OperatingSystem, architecture Architecture, instructionSet string, allBuilds []config.Build, files mapset.Set[File]) *config.Archive { +func archive(name string, overrideOsName OverrideOsName, operatingSystem OperatingSystem, architecture Architecture, instructionSet string, allBuilds []config.Build, files mapset.Set[File]) *config.Archive { matchingBuildIds := mapset.NewSet[string]() for _, b := range allBuilds { - if slices.Contains(b.Goos, operatingSystem.Name()) && slices.Contains(b.Goarch, architecture.Name()) { + if b.Tool == operatingSystem.Tool() && slices.Contains(b.Goos, operatingSystem.Goos()) && slices.Contains(b.Goarch, architecture.Goarch()) { if instructionSet == "" { matchingBuildIds.Add(b.ID) } else if archValues := archToValues(architecture, b); archValues.Contains(instructionSet) { @@ -455,14 +462,14 @@ func archive(name string, overrideOsFriendlyName OverrideOsFriendlyName, operati if matchingBuildIds.IsEmpty() { return nil } - id := fmt.Sprintf("%s_%s_%s", name, operatingSystem.Name(), architecture.Name()) - nameTemplate := fmt.Sprintf(`{{ .ProjectName }}_%s_{{ .RawVersion }}_%s_%s`, name, overrideOsFriendlyName(name, operatingSystem, architecture), architecture.FriendlyName()) + id := fmt.Sprintf("%s_%s_%s", name, operatingSystem.Name(), architecture.Goarch()) + nameTemplate := fmt.Sprintf(`{{ .ProjectName }}_%s_{{ .RawVersion }}_%s_%s`, name, overrideOsName(name, operatingSystem, architecture), architecture.Name()) if instructionSet != "" { id = fmt.Sprintf("%s-%s", id, instructionSet) nameTemplate = fmt.Sprintf(`%s-%s`, nameTemplate, instructionSet) } formats := mapset.NewSet[string]() - if operatingSystem == OSWindows { + if operatingSystem.Goos() == "windows" { formats.Add("zip") } else { formats.Add("tar.gz") @@ -510,7 +517,7 @@ func (a *Archive) Archives(builds []config.Build) []config.Archive { for operatingSystem, architectures := range *a.targets { for architecture, instructionSets := range architectures { if instructionSets.Cardinality() == 0 { - if currentArchive := archive(a.name, a.overrideOsFriendlyName, operatingSystem, architecture, "", builds, a.files); currentArchive != nil { + if currentArchive := archive(a.name, a.overrideOsName, operatingSystem, architecture, "", builds, a.files); currentArchive != nil { id := keyFromStrings(currentArchive.IDs) if _, exists := binaryIdsArchives[id]; !exists { binaryIdsArchives[id] = []config.Archive{} @@ -519,7 +526,7 @@ func (a *Archive) Archives(builds []config.Build) []config.Archive { } } else { for intructionSet := range instructionSets.Iter() { - if currentArchive := archive(a.name, a.overrideOsFriendlyName, operatingSystem, architecture, intructionSet, builds, a.files); currentArchive != nil { + if currentArchive := archive(a.name, a.overrideOsName, operatingSystem, architecture, intructionSet, builds, a.files); currentArchive != nil { id := keyFromStrings(currentArchive.IDs) if _, exists := binaryIdsArchives[id]; !exists { binaryIdsArchives[id] = []config.Archive{} diff --git a/tools/scripts/internal/goreleaser/config.go b/tools/scripts/internal/goreleaser/config.go index fc8fd521..56123fa2 100644 --- a/tools/scripts/internal/goreleaser/config.go +++ b/tools/scripts/internal/goreleaser/config.go @@ -10,11 +10,11 @@ const configSource = `%s/resources/config.game.toml` const scriptSource = `%s/resources/{{.BaseOS}}/%s.{{.SrcScriptExt}}` const gameScriptSource = `%s/resources/{{.BaseOS}}/start_{{.Game}}.{{.SrcScriptExt}}` -func overrideWindowsFriendlyName(name string, os OperatingSystem, arch Architecture) string { - if os == OSWindows && arch == ArchArm64 && (name == "full" || name == "launcher" || name == "battle-server-manager") { +func overrideWindowsName(name string, os OperatingSystem, arch Architecture) string { + if os == OSWindowsModern && arch == ArchArm64 && (name == "full" || name == "launcher" || name == "battle-server-manager") { return "win11" } - return os.FriendlyName() + return os.Name() } func Generate() error { @@ -25,10 +25,10 @@ func Generate() error { serverArchive.AddSrcDstFile("server/resources/config", "resources/config") serverArchive.AddScriptFiles("", NewTemplate[FileData](fmt.Sprintf(gameScriptSource, `server`)), nil, nil, true) serverArchive.AddScriptFiles("bin", NewTemplate[FileData](fmt.Sprintf(scriptSource, `server-genCert`, `genCert`)), SourceIgnoreFn{ - OSWindows: func(path string) bool { + "windows": func(path string) bool { return path == `server-genCert/resources/windows/genCert.bat` }, - OSMacOS: func(path string) bool { + "darwin": func(path string) bool { return path == `server-genCert/resources/unix/genCert.sh` }, }, nil, false) @@ -37,7 +37,7 @@ func Generate() error { serverGenCert := NewBinary("./server-genCert", Targets3264) serverArchive.AddAuxiliarBinary(serverGenCert) // Battle Server Manager Archive - battleServerManagerArchive := NewArchive("battle-server-manager", Targets64ExceptMacOS, overrideWindowsFriendlyName) + battleServerManagerArchive := NewArchive("battle-server-manager", Targets64ExceptMacOS, overrideWindowsName) battleServerManagerArchive.AddDocFiles("docs", nil, nil, "battle-server-manager/README.md") battleServerManagerArchive.AddScriptFiles("", NewTemplate[FileData](fmt.Sprintf(gameScriptSource, `battle-server-manager`)), nil, nil, true) battleServerManagerArchive.AddScriptFiles("", NewTemplate[FileData](fmt.Sprintf(scriptSource, `battle-server-manager`, `clean`)), nil, nil, false) @@ -46,7 +46,7 @@ func Generate() error { battleServerManager := NewBinary("./battle-server-manager", Targets64ExceptMacOS) battleServerManagerArchive.AddMainBinary(battleServerManager) // Launcher archive - launcherArchive := NewArchive("launcher", Targets64ExceptMacOS, overrideWindowsFriendlyName) + launcherArchive := NewArchive("launcher", Targets64ExceptMacOS, overrideWindowsName) launcherArchive.AddSrcDstFile("launcher/resources/config.toml", "resources/config.toml") launcherArchive.AddScriptFiles("", NewTemplate[FileData](fmt.Sprintf(gameScriptSource, `launcher`)), nil, nil, true) launcherArchive.AddConfigFiles("", NewTemplate[FileData](fmt.Sprintf(configSource, `launcher`)), true) @@ -70,7 +70,7 @@ func Generate() error { fullServerArchive := serverArchive.CloneWithFilesPrefix(`server`) fullLauncherArchive := launcherArchive.CloneWithFilesPrefix(`launcher`) fullBattleServerManager := battleServerManagerArchive.CloneWithFilesPrefix(`battle-server-manager`) - fullArchive := NewMergedArchive("full", overrideWindowsFriendlyName, fullServerArchive, fullLauncherArchive, fullBattleServerManager) + fullArchive := NewMergedArchive("full", overrideWindowsName, fullServerArchive, fullLauncherArchive, fullBattleServerManager) fullArchive.RemoveFiles("LICENSE") fullArchive.AddDocFiles("docs", nil, nil, "LICENSE", "README.md") return GenerateConfig(serverArchive, battleServerManagerArchive, launcherArchive, fullArchive) diff --git a/tools/scripts/internal/goreleaser/constants.go b/tools/scripts/internal/goreleaser/constants.go index 9cf4c444..414f3bce 100644 --- a/tools/scripts/internal/goreleaser/constants.go +++ b/tools/scripts/internal/goreleaser/constants.go @@ -3,7 +3,7 @@ package goreleaser import mapset "github.com/deckarep/golang-set/v2" var UnixBasedOperatingSystems = mapset.NewSet(OSLinux, OSMacOS) -var operatingSystems = UnixBasedOperatingSystems.Union(mapset.NewSet(OSWindows)) +var operatingSystems = UnixBasedOperatingSystems.Union(mapset.NewSet(OSWindowsLegacy, OSWindowsModern)) var Targets64 *BinaryTargets var Targets64ExceptMacOS *BinaryTargets var Targets32 *BinaryTargets diff --git a/tools/scripts/internal/goreleaser/os.go b/tools/scripts/internal/goreleaser/os.go index 6b868658..c12a96cb 100644 --- a/tools/scripts/internal/goreleaser/os.go +++ b/tools/scripts/internal/goreleaser/os.go @@ -1,6 +1,11 @@ package goreleaser -import mapset "github.com/deckarep/golang-set/v2" +import ( + "os" + "path/filepath" + + mapset "github.com/deckarep/golang-set/v2" +) var ( Arch386 Architecture = X8632{} @@ -10,30 +15,32 @@ var ( ) var ( - OSWindows OperatingSystem = Windows{} - OSLinux OperatingSystem = Linux{} - OSMacOS OperatingSystem = MacOS{} + OSWindowsLegacy OperatingSystem = WindowsLegacy{} + OSWindowsModern OperatingSystem = WindowsModern{} + OSLinux OperatingSystem = Linux{} + OSMacOS OperatingSystem = MacOS{} ) type OperatingSystem interface { Name() string - FriendlyName() string + Goos() string + Tool() string Archs() mapset.Set[Architecture] } type Architecture interface { - Name() string + Goarch() string InstructionSet() mapset.Set[string] - FriendlyName() string + Name() string } type X8632 struct{} -func (a X8632) Name() string { +func (a X8632) Goarch() string { return "386" } -func (a X8632) FriendlyName() string { +func (a X8632) Name() string { return "x86-32" } @@ -43,11 +50,11 @@ func (a X8632) InstructionSet() mapset.Set[string] { type X8664 struct{} -func (a X8664) Name() string { +func (a X8664) Goarch() string { return "amd64" } -func (a X8664) FriendlyName() string { +func (a X8664) Name() string { return "x86-64" } @@ -57,12 +64,12 @@ func (a X8664) InstructionSet() mapset.Set[string] { type Arm32 struct{} -func (a Arm32) Name() string { +func (a Arm32) Goarch() string { return "arm" } -func (a Arm32) FriendlyName() string { - return a.Name() +func (a Arm32) Name() string { + return a.Goarch() } func (a Arm32) InstructionSet() mapset.Set[string] { @@ -71,12 +78,12 @@ func (a Arm32) InstructionSet() mapset.Set[string] { type Arm64 struct{} -func (a Arm64) Name() string { +func (a Arm64) Goarch() string { return "arm64" } -func (a Arm64) FriendlyName() string { - return a.Name() +func (a Arm64) Name() string { + return a.Goarch() } func (a Arm64) InstructionSet() mapset.Set[string] { @@ -99,27 +106,56 @@ func (a Arm64) InstructionSet() mapset.Set[string] { return set } +type DefaultTool struct{} + +func (t DefaultTool) Tool() string { + return "" +} + type Windows struct{} -func (w Windows) Name() string { +func (w Windows) Goos() string { return "windows" } -func (w Windows) FriendlyName() string { +type WindowsLegacy struct { + Windows +} + +func (w WindowsLegacy) Tool() string { + return filepath.ToSlash(filepath.Join(os.Args[1], "bin", "go")) +} + +func (w WindowsLegacy) Name() string { + return "win7" +} + +func (w WindowsLegacy) Archs() mapset.Set[Architecture] { + return mapset.NewSet[Architecture](Arch386, ArchAmd64) +} + +type WindowsModern struct { + Windows + DefaultTool +} + +func (w WindowsModern) Name() string { return "win10" } -func (w Windows) Archs() mapset.Set[Architecture] { +func (w WindowsModern) Archs() mapset.Set[Architecture] { return mapset.NewSet[Architecture](Arch386, ArchAmd64, ArchArm64) } -type Linux struct{} +type Linux struct { + DefaultTool +} func (l Linux) Name() string { return "linux" } -func (l Linux) FriendlyName() string { +func (l Linux) Goos() string { return l.Name() } @@ -127,14 +163,16 @@ func (l Linux) Archs() mapset.Set[Architecture] { return mapset.NewSet[Architecture](Arch386, ArchAmd64, ArchArm32, ArchArm64) } -type MacOS struct{} +type MacOS struct { + DefaultTool +} func (m MacOS) Name() string { - return "darwin" + return "mac" } -func (m MacOS) FriendlyName() string { - return "mac" +func (m MacOS) Goos() string { + return "darwin" } func (m MacOS) Archs() mapset.Set[Architecture] { diff --git a/tools/scripts/internal/goreleaser/project.go b/tools/scripts/internal/goreleaser/project.go index 977a8ec8..c0971c23 100644 --- a/tools/scripts/internal/goreleaser/project.go +++ b/tools/scripts/internal/goreleaser/project.go @@ -11,7 +11,7 @@ import ( func universalBinaries(binaries []config.Build) []config.UniversalBinary { var result []config.UniversalBinary for _, binary := range binaries { - if slices.Contains(binary.Goos, OSMacOS.Name()) { + if slices.Contains(binary.Goos, OSMacOS.Goos()) { result = append(result, config.UniversalBinary{ ID: binary.ID, NameTemplate: binary.Binary, From 0f39a71794c403fa0d592fdf3b0e72866a287f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Fri, 13 Feb 2026 22:04:19 +0100 Subject: [PATCH 07/13] Battle Server Manager: fix not showing config if logroot is not passed (#396) --- battle-server-manager/internal/cmd/start.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/battle-server-manager/internal/cmd/start.go b/battle-server-manager/internal/cmd/start.go index a12e967d..5299ea1a 100644 --- a/battle-server-manager/internal/cmd/start.go +++ b/battle-server-manager/internal/cmd/start.go @@ -259,8 +259,10 @@ func initConfig() *internal.Configuration { } if err := v.ReadInConfig(); err == nil { commonLogger.Println("Using config file:", v.ConfigFileUsed()) - data, _ := os.ReadFile(v.ConfigFileUsed()) - commonLogger.PrefixPrintln("config", string(data)) + if logRoot != "" { + data, _ := os.ReadFile(v.ConfigFileUsed()) + commonLogger.PrefixPrintln("config", string(data)) + } } else { if _, ok := errors.AsType[viper.ConfigFileNotFoundError](err); ok { commonLogger.Println("No config file found, using defaults.") From f8b9121a38fc1f2303e65d3b9379aad8bc52926b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Fri, 13 Feb 2026 23:32:31 +0100 Subject: [PATCH 08/13] Server: Update for 18.65484 for AoM (#397) --- common/domain.go | 2 +- server/README.md | 5 +- server/internal/models/playfab/static.go | 2 +- .../responses/athens/achievements.json | 2 +- .../responses/athens/challenges.json | 2 +- .../responses/athens/leaderboards.json | 2 +- .../2/gauntlet_mission_pools.json | 32869 ++++++++++------ 7 files changed, 20431 insertions(+), 12453 deletions(-) diff --git a/common/domain.go b/common/domain.go index 408ba8d8..2adf0a07 100644 --- a/common/domain.go +++ b/common/domain.go @@ -72,7 +72,7 @@ func generateDomains(gameId string) (domains []string) { subDomainReleasePart = "-activerelease" case GameAoM: prefix = "andromeda" - releaseMin = 13 + releaseMin = 15 subDomainReleasePart = stdSubDomainReleasePart default: return diff --git a/server/README.md b/server/README.md index 620112b9..f3123215 100644 --- a/server/README.md +++ b/server/README.md @@ -115,7 +115,7 @@ the [`responses`](resources/responses) base directory. challenges and other items. - [`Item Bundle Items`](resources/responses/age2/itemBundleItems.json): Grouping of items into bundles. -- [`Item Locations`](resources/responses/age4/itemLocations.json): Locations of items. +- [`Item Locations`](resources/responses/age2/itemLocations.json): Locations of items. #### Age of Empires III: Definitive Edition @@ -124,7 +124,7 @@ the [`responses`](resources/responses) base directory. - [`Item Definitions`](resources/responses/age3/itemDefinitions.json): Definitions of items. Includes rewards, challenges and other items. -- [`Item Locations`](resources/responses/age4/itemLocations.json): Locations of items. +- [`Item Locations`](resources/responses/age3/itemLocations.json): Locations of items. #### Age of Empires IV: Anniversary Edition @@ -153,6 +153,7 @@ the [`responses`](resources/responses) base directory. offline or away. Also includes the screen the player is in +- [`Item Locations`](resources/responses/athens/itemLocations.json): Locations of items. - [`Item Definitions`](resources/responses/athens/itemDefinitions.json): Definitions of items. Includes rewards, challenges and other items. diff --git a/server/internal/models/playfab/static.go b/server/internal/models/playfab/static.go index 8440b1d0..f6afaad0 100644 --- a/server/internal/models/playfab/static.go +++ b/server/internal/models/playfab/static.go @@ -39,7 +39,7 @@ const branch = "public/production" /* Ids: * 1: c8c9727eb975e7aba1f949beaa6153e7e7ccb415 -* 2: 1edf70cddb1a814c20cc368c3770a60ab2657358 +* 2: 98b78bc8eb80efd4429fd03de36bbc8dad46667f */ func init() { diff --git a/server/resources/responses/athens/achievements.json b/server/resources/responses/athens/achievements.json index 6e73c70c..bb0930b1 100644 --- a/server/resources/responses/athens/achievements.json +++ b/server/resources/responses/athens/achievements.json @@ -1 +1 @@ -[0,[[4,"ACHIEVEMENT_ANNIHILATION",null,null,"",1763661430,0,-1],[5,"ACHIEVEMENT_DEMOLITION",null,null,"",1763661430,0,-1],[6,"ACHIEVEMENT_CREATING_A_MASTERPIECE",null,null,"",1763661430,0,-1],[7,"ACHIEVEMENT_HORROR_UNLEASHED",null,null,"",1763661430,0,-1],[8,"ACHIEVEMENT_I_BELIEVE_THEY_CAN_FLY",null,null,"",1763661430,0,-1],[10,"ACHIEVEMENT_AUTO_EVERYTHING",null,null,"",1763661430,0,-1],[11,"ACHIEVEMENT_BIG_BOOMER",null,null,"",1763661430,0,-1],[12,"ACHIEVEMENT_CYCLOPEAN_MASONRY",null,null,"",1763661430,0,-1],[13,"ACHIEVEMENT_AGE_AGAINST_THE_MACHINE",null,null,"",1763661430,0,-1],[14,"ACHIEVEMENT_FIRST_BLOOD",null,null,"",1763661430,0,-1],[15,"ACHIEVEMENT_BOXING_MATCH",null,null,"",1763661430,0,-1],[16,"ACHIEVEMENT_ZEUS_EAT_TOWN_CENTER",null,null,"",1763661430,0,-1],[18,"ACHIEVEMENT_POSEIDONS_REVOLT",null,null,"",1763661430,0,-1],[19,"ACHIEVEMENT_CENTUM_CENTAURI",null,null,"",1763661430,0,-1],[21,"ACHIEVEMENT_ANUBITTEN",null,null,"",1763661430,0,-1],[22,"ACHIEVEMENT_A_HERO_IN_THE_MAKING",null,null,"",1763661430,0,-1],[23,"ACHIEVEMENT_AND_SO_IT_BEGINS",null,null,"",1763661430,0,-1],[24,"ACHIEVEMENT_TO_HADES_AND_BACK",null,null,"",1763661430,0,-1],[25,"ACHIEVEMENT_OSIRIS_REBORN",null,null,"",1763661430,0,-1],[26,"ACHIEVEMENT_THIS_IS_FOR_CHIRON",null,null,"",1763661430,0,-1],[27,"ACHIEVEMENT_ARKANTOS_ASCENDED",null,null,"",1763661430,0,-1],[28,"ACHIEVEMENT_INTO_THE_MINES",null,null,"",1763661430,0,-1],[29,"ACHIEVEMENT_FREYRS_GIFT",null,null,"",1763661430,0,-1],[30,"ACHIEVEMENT_NEW_WORLD_NEW_GODS",null,null,"",1763661430,0,-1],[31,"ACHIEVEMENT_HONOR_TO_KASTOR",null,null,"",1763661430,0,-1],[32,"ACHIEVEMENT_FAST_FOOD",null,null,"",1763661430,0,-1],[33,"ACHIEVEMENT_NO_TIME_FOR_MORTALS",null,null,"",1763661430,0,-1],[34,"ACHIEVEMENT_ALL_IN",null,null,"",1763661430,0,-1],[35,"ACHIEVEMENT_HOPLITE_HERESY",null,null,"",1763661430,0,-1],[36,"ACHIEVEMENT_HERSIR_YOUR_HONOR",null,null,"",1763661430,0,-1],[37,"ACHIEVEMENT_PROWL_PATROL",null,null,"",1763661430,0,-1],[38,"ACHIEVEMENT_TITANIC_TERROR",null,null,"",1763661430,0,-1],[39,"ACHIEVEMENT_WRATH_OF_THE_GODS",null,null,"",1763661430,0,-1],[40,"ACHIEVEMENT_CHONKERS",null,null,"",1763661430,0,-1],[41,"ACHIEVEMENT_PRAISE_THE_SUN",null,null,"",1763661430,0,-1],[42,"ACHIEVEMENT_PET_OF_SET",null,null,"",1763661430,0,-1],[43,"ACHIEVEMENT_THORIUM_MINING",null,null,"",1763661430,0,-1],[44,"ACHIEVEMENT_KRONOS_TELEPHONE_BOOTH",null,null,"",1763661430,0,-1],[45,"ACHIEVEMENT_MINOAN_TENNIS",null,null,"",1763661430,0,-1],[46,"ACHIEVEMENT_RIDE_OF_THE_VALKYRIES",null,null,"",1763661430,0,-1],[47,"ACHIEVEMENT_CARE_AND_CALAMITY",null,null,"",1763661430,0,-1],[48,"ACHIEVEMENT_BEASTLY_BULWARK",null,null,"",1763661430,0,-1],[49,"ACHIEVEMENT_ANGER_PROBLEMS",null,null,"",1763661430,0,-1],[50,"ACHIEVEMENT_NORSE_SPACE_PROGRAM",null,null,"",1763661430,0,-1],[51,"ACHIEVEMENT_TERRIF_EYEING",null,null,"",1763661430,0,-1],[52,"ACHIEVEMENT_OMNIVORE",null,null,"",1763661430,0,-1],[53,"ACHIEVEMENT_CHIRONS_APPRENTICE",null,null,"",1763661430,0,-1],[54,"ACHIEVEMENT_POWER_OF_THE_GODS",null,null,"",1763661430,0,-1],[55,"ACHIEVEMENT_PREPARATION",null,null,"",1763661430,0,-1],[56,"ACHIEVEMENT_LOST_TREASURE",null,null,"",1763661430,0,-1],[57,"ACHIEVEMENT_AOTG_SLAYER",null,null,"",1763661430,0,-1],[59,"ACHIEVEMENT_AOTG_BLESSED_BE_THE_LEGEND",null,null,"",1763661430,0,-1],[60,"ACHIEVEMENT_AOTG_CHOSEN_BY_THE_GODS",null,null,"",1763661430,0,-1],[61,"ACHIEVEMENT_AOTG_GODS_FAVORITE",null,null,"",1763661430,0,-1],[62,"ACHIEVEMENT_AOTG_DEICIDE",null,null,"",1763661430,0,-1],[63,"ACHIEVEMENT_AOTG_TRAVELER",null,null,"",1763661430,0,-1],[64,"ACHIEVEMENT_AOTG_NOMAD",null,null,"",1763661430,0,-1],[65,"ACHIEVEMENT_AOTG_UNDERDOG",null,null,"",1763661430,0,-1],[66,"ACHIEVEMENT_AOTG_IRONSIDE",null,null,"",1763661430,0,-1],[67,"ACHIEVEMENT_AOTG_VETERAN",null,null,"",1763661430,0,-1],[68,"ACHIEVEMENT_AOTG_WAR_HERO",null,null,"",1763661430,0,-1],[69,"ACHIEVEMENT_AOTG_THROUGH_THICK_AND_THIN",null,null,"",1763661430,0,-1],[70,"ACHIEVEMENT_IMPERIAL_GARDEN",null,null,"",1763661430,0,-1],[71,"ACHIEVEMENT_FORGED_FROM_CLAY",null,null,"",1763661430,0,-1],[72,"ACHIEVEMENT_AGRICULTURAL_REVOLUTION",null,null,"",1763661430,0,-1],[73,"ACHIEVEMENT_ARCHAIC_SHOT_PUT",null,null,"",1763661430,0,-1],[74,"ACHIEVEMENT_BRINGING_ALL_KINDS_OF_HURT",null,null,"",1763661430,0,-1],[75,"ACHIEVEMENT_THREE_KINGDOMS",null,null,"",1763661430,0,-1],[76,"ACHIEVEMENT_TERRACOTTA_ARMY",null,null,"",1763661430,0,-1],[77,"ACHIEVEMENT_BEAST_BUFFET",null,null,"",1763661430,0,-1],[78,"ACHIEVEMENT_DONT_MESS_WITH_ME",null,null,"",1763661430,0,-1],[79,"ACHIEVEMENT_SET_THE_WORLD_ON_FIRE",null,null,"",1763661430,0,-1],[80,"ACHIEVEMENT_TENPIN_STRIKE",null,null,"",1763661430,0,-1],[81,"ACHIEVEMENT_RAIN_OF_PAIN",null,null,"",1763661430,0,-1],[82,"ACHIEVEMENT_EMBARRASSMENT_OF_RICHES",null,null,"",1763661430,0,-1],[83,"ACHIEVEMENT_PICKUP_ARTIST",null,null,"",1763661430,0,-1],[84,"ACHIEVEMENT_BECOME_IMMORTAL",null,null,"",1763661430,0,-1],[85,"ACHIEVEMENT_PILLAR_OF_THE_COMMUNITY",null,null,"",1763661430,0,-1],[86,"ACHIEVEMENT_ALL_YOUR_BASE_ARE_BELONG_TO_US",null,null,"",1763661430,0,-1],[87,"ACHIEVEMENT_GOTTA_CATCH_EM_ALL",null,null,"",1763661430,0,-1],[88,"ACHIEVEMENT_IT_DOESNT_LOOK_SCRATCHED",null,null,"",1763661430,0,-1],[89,"ACHIEVEMENT_BURN_BABY_BURN",null,null,"",1763661430,0,-1],[90,"ACHIEVEMENT_XUANYUAN_SWORD",null,null,"",1763661430,0,-1],[101,"ACHIEVEMENT_INVINCIBLE_WARLORD",null,null,"",1763661430,0,-1],[102,"ACHIEVEMENT_ETERNAL_REAPER",null,null,"",1763661430,0,-1],[103,"ACHIEVEMENT_TYPHOON_SEASON",null,null,"",1763661430,0,-1],[104,"ACHIEVEMENT_BUSHIDO_MASTER",null,null,"",1763661430,0,-1],[105,"ACHIEVEMENT_CLASSICAL_CHAMPIONS",null,null,"",1763661430,0,-1],[106,"ACHIEVEMENT_WHEEL_OF_MISFORTUNE",null,null,"",1763661430,0,-1],[107,"ACHIEVEMENT_ITS_OVER_NINE_THOUSAND",null,null,"",1763661430,0,-1],[108,"ACHIEVEMENT_THE_ONE_AND_ONI",null,null,"",1763661430,0,-1],[109,"ACHIEVEMENT_THE_ULTIMATE_DISCOUNT",null,null,"",1763661430,0,-1],[110,"ACHIEVEMENT_A_BLESSING_SENT_FROM_HEAVEN",null,null,"",1763661430,0,-1],[111,"ACHIEVEMENT_PROVEN_WORTHY",null,null,"",1763661430,0,-1],[112,"ACHIEVEMENT_CUT_OFF_THE_HEAD_OF_THE_SNAKE",null,null,"",1763661430,0,-1],[113,"ACHIEVEMENT_EMERGENCY_RESPONSE",null,null,"",1763661430,0,-1],[114,"ACHIEVEMENT_LABYRINTH_RUNNER",null,null,"",1763661430,0,-1],[115,"ACHIEVEMENT_GOD_TIER",null,null,"",1763661430,0,-1],[116,"ACHIEVEMENT_A_LEGENDARY_RUSH",null,null,"",1763661430,0,-1],[117,"ACHIEVEMENT_LEGENDS_ASSEMBLE",null,null,"",1763661430,0,-1],[118,"ACHIEVEMENT_CONNOISSEUR_OF_THE_GODS",null,null,"",1763661430,0,-1],[119,"ACHIEVEMENT_DONT_GO_IT_ALONE",null,null,"",1763661430,0,-1],[120,"ACHIEVEMENT_FRIENDS_IN_THE_END",null,null,"",1763661430,0,-1],[121,"ACHIEVEMENT_WE_HAVE_TITANS_AT_HOME",null,null,"",1763661430,0,-1],[122,"ACHIEVEMENT_I_CHOOSE_VIOLENCE",null,null,"",1763661430,0,-1],[123,"ACHIEVEMENT_ALL_DOLLED_UP",null,null,"",1763661430,0,-1]],"WgZJqTk0fCD4tEXSSUcPNm9dIGd1O5zw4iVfyjUZJ3mloJhQ1GPGJANHz74GDpA+OjXgEIKVJGrRtCNSI8sB54fAB6l+E78gmdIkRktoX3wnmCykiFOVFLUTruxQrUUKp8gSKykKPPjOBDioM1h3Oe531Ctqs0xG2lpcgW1E1cv1lg54aBfKqQkxn1vPk7qNgs9ztARKPpBnYIUnGqATSCijDHPT0Om/i2cYqQqg04xOA5Xpyg0oY6jbfebWL6H9Q6vQMWMhC3YroCQY/Fi2A1Q2Y1+mz8vNO/4rEIHo9d/sfyiyEh487JYdAKPjHebJycBY92WKoB5pD9icdZ1Kdw=="] \ No newline at end of file +[0,[[4,"ACHIEVEMENT_ANNIHILATION",null,null,"",1770746035,0,-1],[5,"ACHIEVEMENT_DEMOLITION",null,null,"",1770746035,0,-1],[6,"ACHIEVEMENT_CREATING_A_MASTERPIECE",null,null,"",1770746035,0,-1],[7,"ACHIEVEMENT_HORROR_UNLEASHED",null,null,"",1770746035,0,-1],[8,"ACHIEVEMENT_I_BELIEVE_THEY_CAN_FLY",null,null,"",1770746035,0,-1],[10,"ACHIEVEMENT_AUTO_EVERYTHING",null,null,"",1770746035,0,-1],[11,"ACHIEVEMENT_BIG_BOOMER",null,null,"",1770746035,0,-1],[12,"ACHIEVEMENT_CYCLOPEAN_MASONRY",null,null,"",1770746035,0,-1],[13,"ACHIEVEMENT_AGE_AGAINST_THE_MACHINE",null,null,"",1770746035,0,-1],[14,"ACHIEVEMENT_FIRST_BLOOD",null,null,"",1770746035,0,-1],[15,"ACHIEVEMENT_BOXING_MATCH",null,null,"",1770746035,0,-1],[16,"ACHIEVEMENT_ZEUS_EAT_TOWN_CENTER",null,null,"",1770746035,0,-1],[18,"ACHIEVEMENT_POSEIDONS_REVOLT",null,null,"",1770746035,0,-1],[19,"ACHIEVEMENT_CENTUM_CENTAURI",null,null,"",1770746035,0,-1],[21,"ACHIEVEMENT_ANUBITTEN",null,null,"",1770746035,0,-1],[22,"ACHIEVEMENT_A_HERO_IN_THE_MAKING",null,null,"",1770746035,0,-1],[23,"ACHIEVEMENT_AND_SO_IT_BEGINS",null,null,"",1770746035,0,-1],[24,"ACHIEVEMENT_TO_HADES_AND_BACK",null,null,"",1770746035,0,-1],[25,"ACHIEVEMENT_OSIRIS_REBORN",null,null,"",1770746035,0,-1],[26,"ACHIEVEMENT_THIS_IS_FOR_CHIRON",null,null,"",1770746035,0,-1],[27,"ACHIEVEMENT_ARKANTOS_ASCENDED",null,null,"",1770746035,0,-1],[28,"ACHIEVEMENT_INTO_THE_MINES",null,null,"",1770746035,0,-1],[29,"ACHIEVEMENT_FREYRS_GIFT",null,null,"",1770746035,0,-1],[30,"ACHIEVEMENT_NEW_WORLD_NEW_GODS",null,null,"",1770746035,0,-1],[31,"ACHIEVEMENT_HONOR_TO_KASTOR",null,null,"",1770746035,0,-1],[32,"ACHIEVEMENT_FAST_FOOD",null,null,"",1770746035,0,-1],[33,"ACHIEVEMENT_NO_TIME_FOR_MORTALS",null,null,"",1770746035,0,-1],[34,"ACHIEVEMENT_ALL_IN",null,null,"",1770746035,0,-1],[35,"ACHIEVEMENT_HOPLITE_HERESY",null,null,"",1770746035,0,-1],[36,"ACHIEVEMENT_HERSIR_YOUR_HONOR",null,null,"",1770746035,0,-1],[37,"ACHIEVEMENT_PROWL_PATROL",null,null,"",1770746035,0,-1],[38,"ACHIEVEMENT_TITANIC_TERROR",null,null,"",1770746035,0,-1],[39,"ACHIEVEMENT_WRATH_OF_THE_GODS",null,null,"",1770746035,0,-1],[40,"ACHIEVEMENT_CHONKERS",null,null,"",1770746035,0,-1],[41,"ACHIEVEMENT_PRAISE_THE_SUN",null,null,"",1770746035,0,-1],[42,"ACHIEVEMENT_PET_OF_SET",null,null,"",1770746035,0,-1],[43,"ACHIEVEMENT_THORIUM_MINING",null,null,"",1770746035,0,-1],[44,"ACHIEVEMENT_KRONOS_TELEPHONE_BOOTH",null,null,"",1770746035,0,-1],[45,"ACHIEVEMENT_MINOAN_TENNIS",null,null,"",1770746035,0,-1],[46,"ACHIEVEMENT_RIDE_OF_THE_VALKYRIES",null,null,"",1770746035,0,-1],[47,"ACHIEVEMENT_CARE_AND_CALAMITY",null,null,"",1770746035,0,-1],[48,"ACHIEVEMENT_BEASTLY_BULWARK",null,null,"",1770746035,0,-1],[49,"ACHIEVEMENT_ANGER_PROBLEMS",null,null,"",1770746035,0,-1],[50,"ACHIEVEMENT_NORSE_SPACE_PROGRAM",null,null,"",1770746035,0,-1],[51,"ACHIEVEMENT_TERRIF_EYEING",null,null,"",1770746035,0,-1],[52,"ACHIEVEMENT_OMNIVORE",null,null,"",1770746035,0,-1],[53,"ACHIEVEMENT_CHIRONS_APPRENTICE",null,null,"",1770746035,0,-1],[54,"ACHIEVEMENT_POWER_OF_THE_GODS",null,null,"",1770746035,0,-1],[55,"ACHIEVEMENT_PREPARATION",null,null,"",1770746035,0,-1],[56,"ACHIEVEMENT_LOST_TREASURE",null,null,"",1770746035,0,-1],[57,"ACHIEVEMENT_AOTG_SLAYER",null,null,"",1770746035,0,-1],[59,"ACHIEVEMENT_AOTG_BLESSED_BE_THE_LEGEND",null,null,"",1770746035,0,-1],[60,"ACHIEVEMENT_AOTG_CHOSEN_BY_THE_GODS",null,null,"",1770746035,0,-1],[61,"ACHIEVEMENT_AOTG_GODS_FAVORITE",null,null,"",1770746035,0,-1],[62,"ACHIEVEMENT_AOTG_DEICIDE",null,null,"",1770746035,0,-1],[63,"ACHIEVEMENT_AOTG_TRAVELER",null,null,"",1770746035,0,-1],[64,"ACHIEVEMENT_AOTG_NOMAD",null,null,"",1770746035,0,-1],[65,"ACHIEVEMENT_AOTG_UNDERDOG",null,null,"",1770746035,0,-1],[66,"ACHIEVEMENT_AOTG_IRONSIDE",null,null,"",1770746035,0,-1],[67,"ACHIEVEMENT_AOTG_VETERAN",null,null,"",1770746035,0,-1],[68,"ACHIEVEMENT_AOTG_WAR_HERO",null,null,"",1770746035,0,-1],[69,"ACHIEVEMENT_AOTG_THROUGH_THICK_AND_THIN",null,null,"",1770746035,0,-1],[70,"ACHIEVEMENT_IMPERIAL_GARDEN",null,null,"",1770746035,0,-1],[71,"ACHIEVEMENT_FORGED_FROM_CLAY",null,null,"",1770746035,0,-1],[72,"ACHIEVEMENT_AGRICULTURAL_REVOLUTION",null,null,"",1770746035,0,-1],[73,"ACHIEVEMENT_ARCHAIC_SHOT_PUT",null,null,"",1770746035,0,-1],[74,"ACHIEVEMENT_BRINGING_ALL_KINDS_OF_HURT",null,null,"",1770746035,0,-1],[75,"ACHIEVEMENT_THREE_KINGDOMS",null,null,"",1770746035,0,-1],[76,"ACHIEVEMENT_TERRACOTTA_ARMY",null,null,"",1770746035,0,-1],[77,"ACHIEVEMENT_BEAST_BUFFET",null,null,"",1770746035,0,-1],[78,"ACHIEVEMENT_DONT_MESS_WITH_ME",null,null,"",1770746035,0,-1],[79,"ACHIEVEMENT_SET_THE_WORLD_ON_FIRE",null,null,"",1770746035,0,-1],[80,"ACHIEVEMENT_TENPIN_STRIKE",null,null,"",1770746035,0,-1],[81,"ACHIEVEMENT_RAIN_OF_PAIN",null,null,"",1770746035,0,-1],[82,"ACHIEVEMENT_EMBARRASSMENT_OF_RICHES",null,null,"",1770746035,0,-1],[83,"ACHIEVEMENT_PICKUP_ARTIST",null,null,"",1770746035,0,-1],[84,"ACHIEVEMENT_BECOME_IMMORTAL",null,null,"",1770746035,0,-1],[85,"ACHIEVEMENT_PILLAR_OF_THE_COMMUNITY",null,null,"",1770746035,0,-1],[86,"ACHIEVEMENT_ALL_YOUR_BASE_ARE_BELONG_TO_US",null,null,"",1770746035,0,-1],[87,"ACHIEVEMENT_GOTTA_CATCH_EM_ALL",null,null,"",1770746035,0,-1],[88,"ACHIEVEMENT_IT_DOESNT_LOOK_SCRATCHED",null,null,"",1770746035,0,-1],[89,"ACHIEVEMENT_BURN_BABY_BURN",null,null,"",1770746035,0,-1],[90,"ACHIEVEMENT_XUANYUAN_SWORD",null,null,"",1770746035,0,-1],[91,"ACHIEVEMENT_THE_SECRET_GROVE",null,null,"",1770746035,0,-1],[92,"ACHIEVEMENT_RELIC_RACER",null,null,"",1770746035,0,-1],[93,"ACHIEVEMENT_BANDIT_BUSTER",null,null,"",1770746035,0,-1],[94,"ACHIEVEMENT_AGE_OF_THE_GOAT",null,null,"",1770746035,0,-1],[95,"ACHIEVEMENT_HERDING_FOR_GLORY",null,null,"",1770746035,0,-1],[96,"ACHIEVEMENT_HEARTH_AND_HOME",null,null,"",1770746035,0,-1],[97,"ACHIEVEMENT_LUPINE_LETHALITY",null,null,"",1770746035,0,-1],[98,"ACHIEVEMENT_WITHER_WOODCHIPPER",null,null,"",1770746035,0,-1],[99,"ACHIEVEMENT_WOODLAND_WHAMMY",null,null,"",1770746035,0,-1],[100,"ACHIEVEMENT_BATTLE_BARD",null,null,"",1770746035,0,-1],[101,"ACHIEVEMENT_INVINCIBLE_WARLORD",null,null,"",1770746035,0,-1],[102,"ACHIEVEMENT_ETERNAL_REAPER",null,null,"",1770746035,0,-1],[103,"ACHIEVEMENT_TYPHOON_SEASON",null,null,"",1770746035,0,-1],[104,"ACHIEVEMENT_BUSHIDO_MASTER",null,null,"",1770746035,0,-1],[105,"ACHIEVEMENT_CLASSICAL_CHAMPIONS",null,null,"",1770746035,0,-1],[106,"ACHIEVEMENT_WHEEL_OF_MISFORTUNE",null,null,"",1770746035,0,-1],[107,"ACHIEVEMENT_ITS_OVER_NINE_THOUSAND",null,null,"",1770746035,0,-1],[108,"ACHIEVEMENT_THE_ONE_AND_ONI",null,null,"",1770746035,0,-1],[109,"ACHIEVEMENT_THE_ULTIMATE_DISCOUNT",null,null,"",1770746035,0,-1],[110,"ACHIEVEMENT_A_BLESSING_SENT_FROM_HEAVEN",null,null,"",1770746035,0,-1],[111,"ACHIEVEMENT_PROVEN_WORTHY",null,null,"",1770746035,0,-1],[112,"ACHIEVEMENT_CUT_OFF_THE_HEAD_OF_THE_SNAKE",null,null,"",1770746035,0,-1],[113,"ACHIEVEMENT_EMERGENCY_RESPONSE",null,null,"",1770746035,0,-1],[114,"ACHIEVEMENT_LABYRINTH_RUNNER",null,null,"",1770746035,0,-1],[115,"ACHIEVEMENT_GOD_TIER",null,null,"",1770746035,0,-1],[116,"ACHIEVEMENT_A_LEGENDARY_RUSH",null,null,"",1770746035,0,-1],[117,"ACHIEVEMENT_LEGENDS_ASSEMBLE",null,null,"",1770746035,0,-1],[118,"ACHIEVEMENT_CONNOISSEUR_OF_THE_GODS",null,null,"",1770746035,0,-1],[119,"ACHIEVEMENT_DONT_GO_IT_ALONE",null,null,"",1770746035,0,-1],[120,"ACHIEVEMENT_FRIENDS_IN_THE_END",null,null,"",1770746035,0,-1],[121,"ACHIEVEMENT_WE_HAVE_TITANS_AT_HOME",null,null,"",1770746035,0,-1],[122,"ACHIEVEMENT_I_CHOOSE_VIOLENCE",null,null,"",1770746035,0,-1],[123,"ACHIEVEMENT_ALL_DOLLED_UP",null,null,"",1770746035,0,-1]],"EJcVLSwuUlgUWet3CyzVkuxKSGVPUB0skTVW/IStYvxCn4QAxtgXS3ue131M7NGdVqM19eY8Kf7laob4d1BKNlOTHiRxe5xwbQw/DWujP7VWwpydg13gVkVgxtHR/a1rdIFIelp2vMw3sNBu8cqav6SFEc0SnzqfMYPygLhkcJfgZC/TfP6scxWw9IiTJWtK/DfB0ru2XVQGqj6ZqyCy3cySeqnc891LFmaYpoZsTH0MSunfcwIL4GOtZiTMRYSjrSOBrmVvvpq7+DhZrgt/z+heFJifsHx6YJccR/EthDQqY2CU8qL2zNs4lm/f0VcWImFH9ARPrgRUE+5EjsN8Gw=="] \ No newline at end of file diff --git a/server/resources/responses/athens/challenges.json b/server/resources/responses/athens/challenges.json index 3c297a96..53bb1f46 100644 --- a/server/resources/responses/athens/challenges.json +++ b/server/resources/responses/athens/challenges.json @@ -1 +1 @@ -[0,[[3,"CommunityMonthly_Challenge","Group to house all community monthly rewards",2,null,null,-1,""],[1000,"Persistent_TheSwift","Persistent Challenge Badge and Title The Swift",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheSwift\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_01\", \"params\": [\"12\"]} }"],[1001,"Persistent_ThePunctual","Persistent Challenge Badge and Title The Punctual",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ThePunctual\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_01\", \"params\": [\"16\"]} }"],[1002,"Persistent_Speedrunner","Persistent Challenge Badge and Title Speedrunner",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Speedrunner\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_01\", \"params\": [\"8\"]} }"],[1003,"Persistent_Chronomancer","Persistent Challenge Badge and Title Chronomancer",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Chronomancer\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_124\", \"params\": [\"6\",\"STR_SW_HARD\"]} }"],[1004,"Persistent_TheTimeless","Persistent Challenge Badge and Title The Timeless",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheTimeless\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_131\", \"params\": [\"10\",\"STR_SW_EXTREME\"]} }"],[1005,"Persistent_ChildOfHermes","Persistent Challenge Badge and Title Child Of Hermes",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChildOfHermes\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_GREEKS\"]} }"],[1006,"Persistent_WarriorOfHorus","Persistent Challenge Badge and Title Warrior Of Horus",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_WarriorOfHorus\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_EGYPTIANS\"]} }"],[1007,"Persistent_HermodsFury","Persistent Challenge Badge and Title Hermods Fury",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_HermodsFury\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_NORSE\"]} }"],[1008,"Persistent_ZephyrusWing","Persistent Challenge Badge and Title Zephyrus Wing",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ZephyrusWing\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_ATLANTEANS\"]} }"],[1009,"Persistent_TheTempest","Persistent Challenge Badge and Title The Tempest",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheTempest\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_CHINESE\"]} }"],[1010,"Persistent_FujinsGale","Persistent Challenge Badge and Title FujinsGale",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_FujinsGale\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_JAPANESE\"]} }"],[1011,"Persistent_TheLucky","Persistent Challenge Badge and Title The Lucky",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheLucky\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_05\", \"params\": [\"5\"]} }"],[1012,"Persistent_TheUnscathed","Persistent Challenge Badge and Title The Unscathed",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheUnscathed\", \"requirement_description\": \"STR_BDGTTL_OBJECTIVE_61\" }"],[1013,"Persistent_FlawlessExecutioner","Persistent Challenge Badge and Title Flawless Executioner",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_FlawlessExecutioner\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_05\", \"params\": [\"25\"]} }"],[1014,"Persistent_Demigod","Persistent Challenge Badge and Title Demigod",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Demigod\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_10\", \"params\": [\"5\",\"STR_SW_HARD\"]} }"],[1015,"Persistent_God","Persistent Challenge Badge and Title God",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_God\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_10\", \"params\": [\"10\",\"STR_SW_EXTREME\"]} }"],[1016,"Persistent_MinotaurOverlord","Persistent Challenge Badge and Title Minotaur Overlord",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_MinotaurOverlord\", \"requirement_description\": \"STR_BDGTTL_OBJECTIVE_11\" }"],[1017,"Persistent_BossTamer","Persistent Challenge Badge and Title Boss Tamer",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_BossTamer\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_13\", \"params\": [\"STR_SW_HARD\"]} }"],[1018,"Persistent_LordOfTheLabyrinth","Persistent Challenge Badge and Title Lord Of The Labyrinth",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_LordOfTheLabyrinth\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_13\", \"params\": [\"STR_SW_EXTREME\"]} }"],[1019,"Persistent_Progenitor","Persistent Challenge Badge and Title Progenitor",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Progenitor\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_127\", \"params\": [\"STR_SW_LEGENDARY\"]} }"],[1020,"Persistent_ChildOfTheseus","Persistent Challenge Badge and Title Child Of Theseus",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChildOfTheseus\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_GREEKS\"]} }"],[1021,"Persistent_Gatekeeper","Persistent Challenge Badge and Title Gatekeeper",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Gatekeeper\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_EGYPTIANS\"]} }"],[1022,"Persistent_Marauder","Persistent Challenge Badge and Title Marauder",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Marauder\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_NORSE\"]} }"],[1023,"Persistent_HandOfAtlas","Persistent Challenge Badge and Title Hand Of Atlas",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_HandOfAtlas\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_ATLANTEANS\"]} }"],[1024,"Persistent_Emperor","Persistent Challenge Badge and Title Emperor",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Emperor\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_CHINESE\"]} }"],[1025,"Persistent_Daimyo","Persistent Challenge Badge and Title Daimyo",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Daimyo\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_JAPANESE\"]} }"],[1026,"Persistent_IronFist","Persistent Challenge Badge and Title Iron Fist",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_IronFist\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_20\", \"params\": [\"STR_SW_EASY\"]} }"],[1027,"Persistent_Tyrant","Persistent Challenge Badge and Title Tyrant",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Tyrant\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_20\", \"params\": [\"STR_SW_HARD\"]} }"],[1028,"Persistent_PrimordialBeing","Persistent Challenge Badge and Title Primordial Being",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_PrimordialBeing\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_19\", \"params\": [\"STR_SW_LEGENDARY\"]} }"],[1029,"Persistent_SupremeDeity","Persistent Challenge Badge and Title Supreme Deity",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_SupremeDeity\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_128\", \"params\": [\"STR_SW_LEGENDARY\"]} }"],[1030,"Persistent_Spartan","Persistent Challenge Badge and Title Spartan",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Spartan\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_GREEKS\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1031,"Persistent_RasChosen","Persistent Challenge Badge and Title Ras Chosen",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_RasChosen\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_EGYPTIANS\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1032,"Persistent_BloodAxe","Persistent Challenge Badge and Title Blood Axe",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_BloodAxe\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_NORSE\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1033,"Persistent_ChampionOfAtlantis","Persistent Challenge Badge and Title Champion Of Atlantis",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChampionOfAtlantis\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_ATLANTEANS\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1034,"Persistent_JadeEmperor","Persistent Challenge Badge and Title Jade Emperor",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_JadeEmperor\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_CHINESE\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1035,"Persistent_GreaterVirtue","Persistent Challenge Badge and Title Greater Virtue",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_GreaterVirtue\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_JAPANESE\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1036,"Persistent_ConquerorOfOlympus","Persistent Challenge Badge and Title Conqueror Of Olympus",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ConquerorOfOlympus\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_GREEKS\"]} }"],[1037,"Persistent_RulerOfTheNile","Persistent Challenge Badge and Title Ruler Of The Nile",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_RulerOfTheNile\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_EGYPTIANS\"]} }"],[1038,"Persistent_ChampionOfValhalla","Persistent Challenge Badge and Title Champion Of Valhalla",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChampionOfValhalla\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_NORSE\"]} }"],[1039,"Persistent_Utopian","Persistent Challenge Badge and Title Utopian",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Utopian\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_ATLANTEANS\"]} }"],[1040,"Persistent_PrimordialThunder","Persistent Challenge Badge and Title Primordial Thunder",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_PrimordialThunder\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_CHINESE\"]} }"],[1041,"Persistent_ChildOfIzanami","Persistent Challenge Badge and Title Child Of Izanami",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChildOfIzanami\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_JAPANESE\"]} }"]],[[4,3,"CommunityMonthlyChallenge01","bundle01",null,null,null,1,"",-1,-1,1,0],[5,3,"CommunityMonthlyChallenge02","bundle02",null,null,null,1,"",-1,-1,2,0],[6,3,"CommunityMonthlyChallenge03","bundle03",null,null,null,1,"",-1,-1,3,0],[7,3,"CommunityMonthlyChallenge04","bundle04",null,null,null,1,"",-1,-1,4,0],[8,3,"CommunityMonthlyChallenge05","bundle05",null,null,null,1,"",-1,-1,5,0],[9,3,"CommunityMonthlyChallenge06","bundle06",null,null,null,1,"",-1,-1,6,0],[10,3,"CommunityMonthlyChallenge07","bundle07",null,null,null,1,"",-1,-1,7,0],[11,3,"CommunityMonthlyChallenge08","bundle08",null,null,null,1,"",-1,-1,8,0],[12,3,"CommunityMonthlyChallenge09","bundle09",null,null,null,1,"",-1,-1,9,0],[13,3,"CommunityMonthlyChallenge10","bundle10",null,null,null,1,"",-1,-1,10,0],[14,3,"CommunityMonthlyChallenge11","bundle11",null,null,null,1,"",-1,-1,11,0],[15,3,"CommunityMonthlyChallenge12","bundle12",null,null,null,1,"",-1,-1,12,0],[16,3,"CommunityMonthlyChallenge13","bundle13",null,null,null,1,"",-1,-1,13,0],[17,3,"CommunityMonthlyChallenge14","bundle14",null,null,null,1,"",-1,-1,14,0],[18,3,"CommunityMonthlyChallenge15","bundle15",null,null,null,1,"",-1,-1,15,0],[19,3,"CommunityMonthlyChallenge16","bundle16",null,null,null,1,"",-1,-1,16,0],[20,3,"CommunityMonthlyChallenge17","bundle18",null,null,null,1,"",-1,-1,18,0],[21,3,"CommunityMonthlyChallenge18","bundle19",null,null,null,1,"",-1,-1,19,0],[22,3,"CommunityMonthlyChallenge19","bundle20",null,null,null,1,"",-1,-1,20,0],[23,3,"CommunityMonthlyChallenge20","bundle21",null,null,null,1,"",-1,-1,21,0],[24,3,"CommunityMonthlyChallenge21","bundle22",null,null,null,1,"",-1,-1,22,0],[25,3,"CommunityMonthlyChallenge22","bundle23",null,null,null,1,"",-1,-1,23,0],[26,3,"CommunityMonthlyChallenge23","bundle24",null,null,null,1,"",-1,-1,24,0],[27,3,"CommunityMonthlyChallenge24","bundle25",null,null,null,1,"",-1,-1,25,0],[28,3,"CommunityMonthlyChallenge25","bundle26",null,null,null,1,"",-1,-1,26,0],[29,3,"CommunityMonthlyChallenge26","bundle27",null,null,null,1,"",-1,-1,27,0],[30,3,"CommunityMonthlyChallenge27","bundle28",null,null,null,1,"",-1,-1,28,0],[31,3,"CommunityMonthlyChallenge28","bundle29",null,null,null,1,"",-1,-1,29,0],[32,3,"CommunityMonthlyChallenge29","bundle30",null,null,null,1,"",-1,-1,30,0],[33,3,"CommunityMonthlyChallenge30","bundle31",null,null,null,1,"",-1,-1,31,0],[34,3,"CommunityMonthlyChallenge31","bundle32",null,null,null,1,"",-1,-1,32,0],[35,3,"CommunityMonthlyChallenge32","bundle33",null,null,null,1,"",-1,-1,33,0],[36,3,"CommunityMonthlyChallenge33","bundle34",null,null,null,1,"",-1,-1,34,0],[37,3,"CommunityMonthlyChallenge34","bundle35",null,null,null,1,"",-1,-1,35,0],[38,3,"CommunityMonthlyChallenge35","bundle36",null,null,null,1,"",-1,-1,36,0],[39,3,"CommunityMonthlyChallenge36","bundle37",null,null,null,1,"",-1,-1,37,0],[40,3,"CommunityMonthlyChallenge37","bundle38",null,null,null,1,"",-1,-1,38,0],[41,3,"CommunityMonthlyChallenge38","bundle39",null,null,null,1,"",-1,-1,39,0],[42,3,"CommunityMonthlyChallenge39","bundle40",null,null,null,1,"",-1,-1,40,0],[43,3,"CommunityMonthlyChallenge40","bundle41",null,null,null,1,"",-1,-1,41,0],[44,3,"CommunityMonthlyChallenge41","bundle42",null,null,null,1,"",-1,-1,42,0],[45,3,"CommunityMonthlyChallenge42","bundle43",null,null,null,1,"",-1,-1,43,0],[46,3,"CommunityMonthlyChallenge43","bundle44",null,null,null,1,"",-1,-1,44,0],[47,3,"CommunityMonthlyChallenge44","bundle45",null,null,null,1,"",-1,-1,45,0],[48,3,"CommunityMonthlyChallenge45","bundle46",null,null,null,1,"",-1,-1,46,0],[49,3,"CommunityMonthlyChallenge46","bundle47",null,null,null,1,"",-1,-1,47,0],[50,3,"CommunityMonthlyChallenge47","bundle48",null,null,null,1,"",-1,-1,48,0],[51,3,"CommunityMonthlyChallenge48","bundle49",null,null,null,1,"",-1,-1,49,0],[10000,1000,"BadgeChallenge_TheSwift","tracker",null,null,null,1,"",-1,-1,1000,0],[10001,1000,"BadgeChallenge_TheSwift_Req01","Beat a Gauntlet Node in 12 minutes",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":720000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10002,1001,"BadgeChallenge_ThePunctual","tracker",null,null,null,1,"",-1,-1,1001,0],[10003,1001,"BadgeChallenge_ThePunctual_Req01","Beat a Gauntlet Node in 16 minutes",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":960000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10004,1002,"BadgeChallenge_Speedrunner","tracker",null,null,null,1,"",-1,-1,1002,0],[10005,1002,"BadgeChallenge_Speedrunner_Req01","Beat a Gauntlet Node in 8 minutes",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10006,1003,"BadgeChallenge_Chronomancer","tracker",null,null,null,1,"",-1,-1,1003,0],[10007,1003,"BadgeChallenge_Chronomancer_Req01","Beat a Gauntlet Node in 6 minutes on Hard Difficulty or above",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":360000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10008,1004,"BadgeChallenge_TheTimeless","tracker",null,null,null,1,"",-1,-1,1004,0],[10009,1004,"BadgeChallenge_TheTimeless_Req01","Defeat a Boss in 10 minutes on Extreme Difficulty or above",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireAotgMissionNodeType\":\"Boss\" , \"RequireMinGauntletDifficulty\":\"Extreme\", \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":600000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10010,1005,"BadgeChallenge_ChildOfHermes","tracker",null,null,null,1,"",-1,-1,1005,0],[10011,1005,"BadgeChallenge_ChildOfHermes_Req01","Beat a Gauntlet Node in 8 min playing as Greek",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":0, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10012,1006,"BadgeChallenge_WarriorOfHorus","tracker",null,null,null,1,"",-1,-1,1006,0],[10013,1006,"BadgeChallenge_WarriorOfHorus_Req01","Beat a Gauntlet Node in 8 min playing as Egyptian",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":1, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10014,1007,"BadgeChallenge_HermodsFury","tracker",null,null,null,1,"",-1,-1,1007,0],[10015,1007,"BadgeChallenge_HermodsFury_Req01","Beat a Gauntlet Node in 8 min playing as Norse",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":2, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10016,1008,"BadgeChallenge_ZephyrusWing","tracker",null,null,null,1,"",-1,-1,1008,0],[10017,1008,"BadgeChallenge_ZephyrusWing_Req01","Beat a Gauntlet Node in 8 min playing as Atlantean",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":3, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10018,1009,"BadgeChallenge_TheTempest","tracker",null,null,null,1,"",-1,-1,1009,0],[10019,1009,"BadgeChallenge_TheTempest_Req01","Beat a Gauntlet Node in 8 min playing as Chinese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":4, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10020,1010,"BadgeChallenge_FujinsGale","tracker",null,null,null,1,"",-1,-1,1010,0],[10021,1010,"BadgeChallenge_FujinsGale_Req01","Beat a Gauntlet Node in 8 min playing as Japanese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":5, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10022,1011,"BadgeChallenge_TheLucky","tracker",null,null,null,1,"",-1,-1,1011,0],[10023,1011,"BadgeChallenge_TheLucky_Req01","Complete 5 nodes without losing a life",null,null,null,1,"{ \"Name\": \"AvatarStatCheck\", \"Tracked\":true, \"RequireAvatarStatChecks\":[{\"avatarStatName\":\"STAT_GAUNTLET_NODES_ANY_DIFFICULTY_CURRENT_STREAK\",\"comparison\":\">=\",\"value\":5}]}",-1,-1,-1,0],[10024,1012,"BadgeChallenge_TheUnscathed","tracker",null,null,null,1,"",-1,-1,1012,0],[10025,1012,"BadgeChallenge_TheUnscathed_Req01","Complete a labyrinth run without losing a life",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\", \"LifeCount\":3}",-1,-1,-1,0],[10026,1013,"BadgeChallenge_FlawlessExecutioner","tracker",null,null,null,1,"",-1,-1,1013,0],[10027,1013,"BadgeChallenge_FlawlessExecutioner_Req01","Complete 25 nodes without losing a life",null,null,null,1,"{ \"Name\": \"AvatarStatCheck\", \"Tracked\":true, \"RequireAvatarStatChecks\":[{\"avatarStatName\":\"STAT_GAUNTLET_NODES_ANY_DIFFICULTY_CURRENT_STREAK\",\"comparison\":\">=\",\"value\":25}]}",-1,-1,-1,0],[10028,1014,"BadgeChallenge_Demigod","tracker",null,null,null,1,"",-1,-1,1014,0],[10029,1014,"BadgeChallenge_Demigod_Req01","Complete 5 labyrinth runs on Hard or above without losing a life",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"Count\":5, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\", \"LifeCount\":3}",-1,-1,-1,0],[10030,1015,"BadgeChallenge_God","tracker",null,null,null,1,"",-1,-1,1015,0],[10031,1015,"BadgeChallenge_God_Req01","Complete 10 labyrinth runs on Extreme or above without losing a life",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"Count\":10, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Extreme\", \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\", \"LifeCount\":3}",-1,-1,-1,0],[10032,1016,"BadgeChallenge_MinotaurOverlord","tracker",null,null,null,1,"",-1,-1,1016,0],[10033,1016,"BadgeChallenge_MinotaurOverlord_Req01","Defeat a labyrinth boss on any Difficulty",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10034,1017,"BadgeChallenge_BossTamer","tracker",null,null,null,1,"",-1,-1,1017,0],[10035,1017,"BadgeChallenge_BossTamer_Req01","Defeat a labyrinth boss on Hard or Titan",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10036,1018,"BadgeChallenge_LordOfTheLabyrinth","tracker",null,null,null,1,"",-1,-1,1018,0],[10037,1018,"BadgeChallenge_LordOfTheLabyrinth_Req01","Defeat a labyrinth boss on Extreme or above",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Extreme\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10038,1019,"BadgeChallenge_Progenitor","tracker",null,null,null,1,"",-1,-1,1019,0],[10039,1019,"BadgeChallenge_Progenitor_Req01","Defeat a Labyrinth boss on Legendary with all Major Gods - Zeus",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Zeus\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10040,1019,"BadgeChallenge_Progenitor_Req02","Defeat a Labyrinth boss on Legendary with all Major Gods - Hades",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Hades\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10041,1019,"BadgeChallenge_Progenitor_Req03","Defeat a Labyrinth boss on Legendary with all Major Gods - Poseidon",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Poseidon\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10042,1019,"BadgeChallenge_Progenitor_Req04","Defeat a Labyrinth boss on Legendary with all Major Gods - Ra",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Ra\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10043,1019,"BadgeChallenge_Progenitor_Req05","Defeat a Labyrinth boss on Legendary with all Major Gods - Isis",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Isis\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10044,1019,"BadgeChallenge_Progenitor_Req06","Defeat a Labyrinth boss on Legendary with all Major Gods - Set",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Set\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10045,1019,"BadgeChallenge_Progenitor_Req07","Defeat a Labyrinth boss on Legendary with all Major Gods - Thor",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Thor\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10046,1019,"BadgeChallenge_Progenitor_Req08","Defeat a Labyrinth boss on Legendary with all Major Gods - Odin",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Odin\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10047,1019,"BadgeChallenge_Progenitor_Req09","Defeat a Labyrinth boss on Legendary with all Major Gods - Loki",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Loki\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10048,1019,"BadgeChallenge_Progenitor_Req10","Defeat a Labyrinth boss on Legendary with all Major Gods - Kronos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Kronos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10049,1019,"BadgeChallenge_Progenitor_Req11","Defeat a Labyrinth boss on Legendary with all Major Gods - Oranos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Oranos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10050,1019,"BadgeChallenge_Progenitor_Req12","Defeat a Labyrinth boss on Legendary with all Major Gods - Gaia",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Gaia\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10051,1020,"BadgeChallenge_ChildOfTheseus","tracker",null,null,null,1,"",-1,-1,1020,0],[10052,1020,"BadgeChallenge_ChildOfTheseus_Req01","Defeat a labyrinth boss playing as Greek",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":0, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10053,1021,"BadgeChallenge_Gatekeeper","tracker",null,null,null,1,"",-1,-1,1021,0],[10054,1021,"BadgeChallenge_Gatekeeper_Req01","Defeat a labyrinth boss playing as Egyptian",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":1, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10055,1022,"BadgeChallenge_Marauder","tracker",null,null,null,1,"",-1,-1,1022,0],[10056,1022,"BadgeChallenge_Marauder_Req01","Defeat a labyrinth boss playing as Norse",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":2, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10057,1023,"BadgeChallenge_HandOfAtlas","tracker",null,null,null,1,"",-1,-1,1023,0],[10058,1023,"BadgeChallenge_HandOfAtlas_Req01","Defeat a labyrinth boss playing as Atlantean",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":3, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10059,1024,"BadgeChallenge_Emperor","tracker",null,null,null,1,"",-1,-1,1024,0],[10060,1024,"BadgeChallenge_Emperor_Req01","Defeat a labyrinth boss playing as Chinese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":4, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10061,1025,"BadgeChallenge_Daimyo","tracker",null,null,null,1,"",-1,-1,1025,0],[10062,1025,"BadgeChallenge_Daimyo_Req01","Defeat a labyrinth boss playing as Japanese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":5, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10063,1026,"BadgeChallenge_IronFist","tracker",null,null,null,1,"",-1,-1,1026,0],[10064,1026,"BadgeChallenge_IronFist_Req01","Defeat a labyrinth boss on Standard or above with no Blessings equipped",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Standard\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10065,1027,"BadgeChallenge_Tyrant","tracker",null,null,null,1,"",-1,-1,1027,0],[10066,1027,"BadgeChallenge_Tyrant_Req01","Defeat a labyrinth boss on Hard or above with no Blessings equipped",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10067,1028,"BadgeChallenge_PrimordialBeing","tracker",null,null,null,1,"",-1,-1,1028,0],[10068,1028,"BadgeChallenge_PrimordialBeing_Req01","Defeat a labyrinth boss on Legendary or above with no Blessings equipped",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10069,1029,"BadgeChallenge_SupremeDeity","tracker",null,null,null,1,"",-1,-1,1029,0],[10070,1029,"BadgeChallenge_SupremeDeity_Req01","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Zeus",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Zeus\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10071,1029,"BadgeChallenge_SupremeDeity_Req02","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Hades",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Hades\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10072,1029,"BadgeChallenge_SupremeDeity_Req03","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Poseidon",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Poseidon\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10073,1029,"BadgeChallenge_SupremeDeity_Req04","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Ra",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Ra\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10074,1029,"BadgeChallenge_SupremeDeity_Req05","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Isis",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Isis\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10075,1029,"BadgeChallenge_SupremeDeity_Req06","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Set",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Set\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10076,1029,"BadgeChallenge_SupremeDeity_Req07","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Thor",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Thor\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10077,1029,"BadgeChallenge_SupremeDeity_Req08","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Odin",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Odin\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10078,1029,"BadgeChallenge_SupremeDeity_Req09","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Loki",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Loki\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10079,1029,"BadgeChallenge_SupremeDeity_Req10","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Kronos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Kronos\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10080,1029,"BadgeChallenge_SupremeDeity_Req11","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Oranos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Oranos\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10081,1029,"BadgeChallenge_SupremeDeity_Req12","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Gaia",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Gaia\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10082,1030,"BadgeChallenge_Spartan","tracker",null,null,null,1,"",-1,-1,1030,0],[10083,1030,"BadgeChallenge_Spartan_Req01","Defeat a labyrinth boss on Hard playing as Greek with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":0, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10084,1031,"BadgeChallenge_RasChosen","tracker",null,null,null,1,"",-1,-1,1031,0],[10085,1031,"BadgeChallenge_RasChosen_Req01","Defeat a labyrinth boss on Hard playing as Egyptian with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":1, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10086,1032,"BadgeChallenge_BloodAxe","tracker",null,null,null,1,"",-1,-1,1032,0],[10087,1032,"BadgeChallenge_BloodAxe_Req01","Defeat a labyrinth boss on Hard playing as Norse with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":2, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10088,1033,"BadgeChallenge_ChampionOfAtlantis","tracker",null,null,null,1,"",-1,-1,1033,0],[10089,1033,"BadgeChallenge_ChampionOfAtlantis_Req01","Defeat a labyrinth boss on Hard playing as Atlantean with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":3, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10090,1034,"BadgeChallenge_JadeEmperor","tracker",null,null,null,1,"",-1,-1,1034,0],[10091,1034,"BadgeChallenge_JadeEmperor_Req01","Defeat a labyrinth boss on Hard playing as Chinese with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":4, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10092,1035,"BadgeChallenge_GreaterVirtue","tracker",null,null,null,1,"",-1,-1,1035,0],[10093,1035,"BadgeChallenge_GreaterVirtue_Req01","Defeat a labyrinth boss on Hard playing as Japanese with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":5, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10094,1036,"BadgeChallenge_ConquerorOfOlympus","tracker",null,null,null,1,"",-1,-1,1036,0],[10095,1036,"BadgeChallenge_ConquerorOfOlympus_Req01","Defeat a labyrinth boss with each Greek Major God - Zeus",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Zeus\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10096,1036,"BadgeChallenge_ConquerorOfOlympus_Req02","Defeat a labyrinth boss with each Greek Major God - Hades",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Hades\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10097,1036,"BadgeChallenge_ConquerorOfOlympus_Req03","Defeat a labyrinth boss with each Greek Major God - Poseidon",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Poseidon\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10098,1037,"BadgeChallenge_RulerOfTheNile","tracker",null,null,null,1,"",-1,-1,1037,0],[10099,1037,"BadgeChallenge_RulerOfTheNile_Req01","Defeat a labyrinth boss with each Egyptian Major God - Ra",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Ra\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10100,1037,"BadgeChallenge_RulerOfTheNile_Req02","Defeat a labyrinth boss with each Egyptian Major God - Isis",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Isis\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10101,1037,"BadgeChallenge_RulerOfTheNile_Req03","Defeat a labyrinth boss with each Egyptian Major God - Set",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Set\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10102,1038,"BadgeChallenge_ChampionOfValhalla","tracker",null,null,null,1,"",-1,-1,1038,0],[10103,1038,"BadgeChallenge_ChampionOfValhalla_Req01","Defeat a labyrinth boss with each Norse Major God - Thor",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Thor\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10104,1038,"BadgeChallenge_ChampionOfValhalla_Req02","Defeat a labyrinth boss with each Norse Major God - Odin",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Odin\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10105,1038,"BadgeChallenge_ChampionOfValhalla_Req03","Defeat a labyrinth boss with each Norse Major God - Loki",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Loki\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10106,1039,"BadgeChallenge_Utopian","tracker",null,null,null,1,"",-1,-1,1039,0],[10107,1039,"BadgeChallenge_Utopian_Req01","Defeat a labyrinth boss with each Atlantean Major God - Kronos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Kronos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10108,1039,"BadgeChallenge_Utopian_Req02","Defeat a labyrinth boss with each Atlantean Major God - Oranos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Oranos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10109,1039,"BadgeChallenge_Utopian_Req03","Defeat a labyrinth boss with each Atlantean Major God - Gaia",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Gaia\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10110,1040,"BadgeChallenge_PrimordialThunder","tracker",null,null,null,1,"",-1,-1,1040,0],[10111,1040,"BadgeChallenge_PrimordialThunder_Req01","Defeat a labyrinth boss with each Chinese Major God - Fuxi",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Fuxi\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10112,1040,"BadgeChallenge_PrimordialThunder_Req02","Defeat a labyrinth boss with each Chinese Major God - Nuwa",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Nuwa\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10113,1040,"BadgeChallenge_PrimordialThunder_Req03","Defeat a labyrinth boss with each Chinese Major God - Shennong",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Shennong\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10114,1041,"BadgeChallenge_ChildOfIzanami","tracker",null,null,null,1,"",-1,-1,1041,0],[10115,1041,"BadgeChallenge_ChildOfIzanami_Req01","Defeat a labyrinth boss with each Japanese Major God - Amaterasu",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Amaterasu\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10116,1041,"BadgeChallenge_ChildOfIzanami_Req02","Defeat a labyrinth boss with each Japanese Major God - Tsukuyomi",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Tsukuyomi\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10117,1041,"BadgeChallenge_ChildOfIzanami_Req03","Defeat a labyrinth boss with each Japanese Major God - Susanoo",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Susanoo\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0]],"uRjEkKyFz6fMKZy+UsPbx3mYcuTFsCEby2UfUNS+PMfw+/kFZ0/jh4ChxEZpUfSVcKqXWSJ4WqkeGiGiLjR4PWc6y1J1eUDE0D7sD1AIakhpok4KT/rA9FWU7v6vpW6KNc7gOL9XTOnM6VFZj1IBtARcfEkZLC6SL03/qi+ooxqEdvEY6QnIFLvV+BeS7mGA1dZS7mKNEDJN7N9FDnt9zmUgcDZQMe4yK4ZUcTylrqfCG5NXjg5P+BEILMCYoV770vNXhLJR/CuJxdq+aqfSU6jTcoqH7CBFW++v+JKplhqwsit/t5tNjqPHkkZex7GjCrsAo5krPhOO/G0inG73dg=="] \ No newline at end of file +[0,[[3,"CommunityMonthly_Challenge","Group to house all community monthly rewards",2,null,null,-1,""],[1000,"Persistent_TheSwift","Persistent Challenge Badge and Title The Swift",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheSwift\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_01\", \"params\": [\"12\"]} }"],[1001,"Persistent_ThePunctual","Persistent Challenge Badge and Title The Punctual",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ThePunctual\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_01\", \"params\": [\"16\"]} }"],[1002,"Persistent_Speedrunner","Persistent Challenge Badge and Title Speedrunner",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Speedrunner\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_01\", \"params\": [\"8\"]} }"],[1003,"Persistent_Chronomancer","Persistent Challenge Badge and Title Chronomancer",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Chronomancer\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_124\", \"params\": [\"6\",\"STR_SW_HARD\"]} }"],[1004,"Persistent_TheTimeless","Persistent Challenge Badge and Title The Timeless",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheTimeless\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_131\", \"params\": [\"10\",\"STR_SW_EXTREME\"]} }"],[1005,"Persistent_ChildOfHermes","Persistent Challenge Badge and Title Child Of Hermes",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChildOfHermes\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_GREEKS\"]} }"],[1006,"Persistent_WarriorOfHorus","Persistent Challenge Badge and Title Warrior Of Horus",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_WarriorOfHorus\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_EGYPTIANS\"]} }"],[1007,"Persistent_HermodsFury","Persistent Challenge Badge and Title Hermods Fury",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_HermodsFury\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_NORSE\"]} }"],[1008,"Persistent_ZephyrusWing","Persistent Challenge Badge and Title Zephyrus Wing",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ZephyrusWing\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_ATLANTEANS\"]} }"],[1009,"Persistent_TheTempest","Persistent Challenge Badge and Title The Tempest",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheTempest\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_CHINESE\"]} }"],[1010,"Persistent_FujinsGale","Persistent Challenge Badge and Title FujinsGale",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_FujinsGale\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_03\", \"params\": [\"8\",\"STR_CULTURE_JAPANESE\"]} }"],[1011,"Persistent_TheLucky","Persistent Challenge Badge and Title The Lucky",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheLucky\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_05\", \"params\": [\"5\"]} }"],[1012,"Persistent_TheUnscathed","Persistent Challenge Badge and Title The Unscathed",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_TheUnscathed\", \"requirement_description\": \"STR_BDGTTL_OBJECTIVE_61\" }"],[1013,"Persistent_FlawlessExecutioner","Persistent Challenge Badge and Title Flawless Executioner",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_FlawlessExecutioner\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_05\", \"params\": [\"25\"]} }"],[1014,"Persistent_Demigod","Persistent Challenge Badge and Title Demigod",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Demigod\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_10\", \"params\": [\"5\",\"STR_SW_HARD\"]} }"],[1015,"Persistent_God","Persistent Challenge Badge and Title God",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_God\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_10\", \"params\": [\"10\",\"STR_SW_EXTREME\"]} }"],[1016,"Persistent_MinotaurOverlord","Persistent Challenge Badge and Title Minotaur Overlord",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_MinotaurOverlord\", \"requirement_description\": \"STR_BDGTTL_OBJECTIVE_11\" }"],[1017,"Persistent_BossTamer","Persistent Challenge Badge and Title Boss Tamer",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_BossTamer\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_13\", \"params\": [\"STR_SW_HARD\"]} }"],[1018,"Persistent_LordOfTheLabyrinth","Persistent Challenge Badge and Title Lord Of The Labyrinth",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_LordOfTheLabyrinth\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_13\", \"params\": [\"STR_SW_EXTREME\"]} }"],[1019,"Persistent_Progenitor","Persistent Challenge Badge and Title Progenitor",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Progenitor\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_127\", \"params\": [\"STR_SW_LEGENDARY\"]} }"],[1020,"Persistent_ChildOfTheseus","Persistent Challenge Badge and Title Child Of Theseus",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChildOfTheseus\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_GREEKS\"]} }"],[1021,"Persistent_Gatekeeper","Persistent Challenge Badge and Title Gatekeeper",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Gatekeeper\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_EGYPTIANS\"]} }"],[1022,"Persistent_Marauder","Persistent Challenge Badge and Title Marauder",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Marauder\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_NORSE\"]} }"],[1023,"Persistent_HandOfAtlas","Persistent Challenge Badge and Title Hand Of Atlas",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_HandOfAtlas\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_ATLANTEANS\"]} }"],[1024,"Persistent_Emperor","Persistent Challenge Badge and Title Emperor",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Emperor\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_CHINESE\"]} }"],[1025,"Persistent_Daimyo","Persistent Challenge Badge and Title Daimyo",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Daimyo\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_14\", \"params\": [\"STR_CULTURE_JAPANESE\"]} }"],[1026,"Persistent_IronFist","Persistent Challenge Badge and Title Iron Fist",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_IronFist\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_20\", \"params\": [\"STR_SW_EASY\"]} }"],[1027,"Persistent_Tyrant","Persistent Challenge Badge and Title Tyrant",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Tyrant\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_20\", \"params\": [\"STR_SW_HARD\"]} }"],[1028,"Persistent_PrimordialBeing","Persistent Challenge Badge and Title Primordial Being",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_PrimordialBeing\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_19\", \"params\": [\"STR_SW_LEGENDARY\"]} }"],[1029,"Persistent_SupremeDeity","Persistent Challenge Badge and Title Supreme Deity",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_SupremeDeity\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_128\", \"params\": [\"STR_SW_LEGENDARY\"]} }"],[1030,"Persistent_Spartan","Persistent Challenge Badge and Title Spartan",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Spartan\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_GREEKS\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1031,"Persistent_RasChosen","Persistent Challenge Badge and Title Ras Chosen",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_RasChosen\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_EGYPTIANS\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1032,"Persistent_BloodAxe","Persistent Challenge Badge and Title Blood Axe",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_BloodAxe\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_NORSE\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1033,"Persistent_ChampionOfAtlantis","Persistent Challenge Badge and Title Champion Of Atlantis",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChampionOfAtlantis\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_ATLANTEANS\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1034,"Persistent_JadeEmperor","Persistent Challenge Badge and Title Jade Emperor",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_JadeEmperor\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_CHINESE\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1035,"Persistent_GreaterVirtue","Persistent Challenge Badge and Title Greater Virtue",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_GreaterVirtue\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_25\", \"params\": [\"STR_SW_HARD\", \"STR_CULTURE_JAPANESE\", \"STR_AOTG_BLESSINGS_NAME_HEROIC\"]} }"],[1036,"Persistent_ConquerorOfOlympus","Persistent Challenge Badge and Title Conqueror Of Olympus",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ConquerorOfOlympus\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_132\", \"params\": [\"STR_INGAME_HELP_HISTORY_TITLE_GREEK\"]} }"],[1037,"Persistent_RulerOfTheNile","Persistent Challenge Badge and Title Ruler Of The Nile",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_RulerOfTheNile\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_INGAME_HELP_HISTORY_TITLE_EGYPTIAN\"]} }"],[1038,"Persistent_ChampionOfValhalla","Persistent Challenge Badge and Title Champion Of Valhalla",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChampionOfValhalla\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_132\", \"params\": [\"STR_CULTURE_NORSE\"]} }"],[1039,"Persistent_Utopian","Persistent Challenge Badge and Title Utopian",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_Utopian\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_INGAME_HELP_HISTORY_TITLE_ATLANTEAN\"]} }"],[1040,"Persistent_PrimordialThunder","Persistent Challenge Badge and Title Primordial Thunder",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_PrimordialThunder\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_CHINESE\"]} }"],[1041,"Persistent_ChildOfIzanami","Persistent Challenge Badge and Title Child Of Izanami",2,null,null,-1,"{ \"type\": \"persistent\", \"tracker\": \"BadgeChallenge_ChildOfIzanami\", \"requirement_description\": {\"id\": \"STR_BDGTTL_OBJECTIVE_95\", \"params\": [\"STR_CULTURE_JAPANESE\"]} }"]],[[4,3,"CommunityMonthlyChallenge01","bundle01",null,null,null,1,"",-1,-1,1,0],[5,3,"CommunityMonthlyChallenge02","bundle02",null,null,null,1,"",-1,-1,2,0],[6,3,"CommunityMonthlyChallenge03","bundle03",null,null,null,1,"",-1,-1,3,0],[7,3,"CommunityMonthlyChallenge04","bundle04",null,null,null,1,"",-1,-1,4,0],[8,3,"CommunityMonthlyChallenge05","bundle05",null,null,null,1,"",-1,-1,5,0],[9,3,"CommunityMonthlyChallenge06","bundle06",null,null,null,1,"",-1,-1,6,0],[10,3,"CommunityMonthlyChallenge07","bundle07",null,null,null,1,"",-1,-1,7,0],[11,3,"CommunityMonthlyChallenge08","bundle08",null,null,null,1,"",-1,-1,8,0],[12,3,"CommunityMonthlyChallenge09","bundle09",null,null,null,1,"",-1,-1,9,0],[13,3,"CommunityMonthlyChallenge10","bundle10",null,null,null,1,"",-1,-1,10,0],[14,3,"CommunityMonthlyChallenge11","bundle11",null,null,null,1,"",-1,-1,11,0],[15,3,"CommunityMonthlyChallenge12","bundle12",null,null,null,1,"",-1,-1,12,0],[16,3,"CommunityMonthlyChallenge13","bundle13",null,null,null,1,"",-1,-1,13,0],[17,3,"CommunityMonthlyChallenge14","bundle14",null,null,null,1,"",-1,-1,14,0],[18,3,"CommunityMonthlyChallenge15","bundle15",null,null,null,1,"",-1,-1,15,0],[19,3,"CommunityMonthlyChallenge16","bundle16",null,null,null,1,"",-1,-1,16,0],[20,3,"CommunityMonthlyChallenge17","bundle18",null,null,null,1,"",-1,-1,18,0],[21,3,"CommunityMonthlyChallenge18","bundle19",null,null,null,1,"",-1,-1,19,0],[22,3,"CommunityMonthlyChallenge19","bundle20",null,null,null,1,"",-1,-1,20,0],[23,3,"CommunityMonthlyChallenge20","bundle21",null,null,null,1,"",-1,-1,21,0],[24,3,"CommunityMonthlyChallenge21","bundle22",null,null,null,1,"",-1,-1,22,0],[25,3,"CommunityMonthlyChallenge22","bundle23",null,null,null,1,"",-1,-1,23,0],[26,3,"CommunityMonthlyChallenge23","bundle24",null,null,null,1,"",-1,-1,24,0],[27,3,"CommunityMonthlyChallenge24","bundle25",null,null,null,1,"",-1,-1,25,0],[28,3,"CommunityMonthlyChallenge25","bundle26",null,null,null,1,"",-1,-1,26,0],[29,3,"CommunityMonthlyChallenge26","bundle27",null,null,null,1,"",-1,-1,27,0],[30,3,"CommunityMonthlyChallenge27","bundle28",null,null,null,1,"",-1,-1,28,0],[31,3,"CommunityMonthlyChallenge28","bundle29",null,null,null,1,"",-1,-1,29,0],[32,3,"CommunityMonthlyChallenge29","bundle30",null,null,null,1,"",-1,-1,30,0],[33,3,"CommunityMonthlyChallenge30","bundle31",null,null,null,1,"",-1,-1,31,0],[34,3,"CommunityMonthlyChallenge31","bundle32",null,null,null,1,"",-1,-1,32,0],[35,3,"CommunityMonthlyChallenge32","bundle33",null,null,null,1,"",-1,-1,33,0],[36,3,"CommunityMonthlyChallenge33","bundle34",null,null,null,1,"",-1,-1,34,0],[37,3,"CommunityMonthlyChallenge34","bundle35",null,null,null,1,"",-1,-1,35,0],[38,3,"CommunityMonthlyChallenge35","bundle36",null,null,null,1,"",-1,-1,36,0],[39,3,"CommunityMonthlyChallenge36","bundle37",null,null,null,1,"",-1,-1,37,0],[40,3,"CommunityMonthlyChallenge37","bundle38",null,null,null,1,"",-1,-1,38,0],[41,3,"CommunityMonthlyChallenge38","bundle39",null,null,null,1,"",-1,-1,39,0],[42,3,"CommunityMonthlyChallenge39","bundle40",null,null,null,1,"",-1,-1,40,0],[43,3,"CommunityMonthlyChallenge40","bundle41",null,null,null,1,"",-1,-1,41,0],[44,3,"CommunityMonthlyChallenge41","bundle42",null,null,null,1,"",-1,-1,42,0],[45,3,"CommunityMonthlyChallenge42","bundle43",null,null,null,1,"",-1,-1,43,0],[46,3,"CommunityMonthlyChallenge43","bundle44",null,null,null,1,"",-1,-1,44,0],[47,3,"CommunityMonthlyChallenge44","bundle45",null,null,null,1,"",-1,-1,45,0],[48,3,"CommunityMonthlyChallenge45","bundle46",null,null,null,1,"",-1,-1,46,0],[49,3,"CommunityMonthlyChallenge46","bundle47",null,null,null,1,"",-1,-1,47,0],[50,3,"CommunityMonthlyChallenge47","bundle48",null,null,null,1,"",-1,-1,48,0],[51,3,"CommunityMonthlyChallenge48","bundle49",null,null,null,1,"",-1,-1,49,0],[10000,1000,"BadgeChallenge_TheSwift","tracker",null,null,null,1,"",-1,-1,1000,0],[10001,1000,"BadgeChallenge_TheSwift_Req01","Beat a Gauntlet Node in 12 minutes",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":720000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10002,1001,"BadgeChallenge_ThePunctual","tracker",null,null,null,1,"",-1,-1,1001,0],[10003,1001,"BadgeChallenge_ThePunctual_Req01","Beat a Gauntlet Node in 16 minutes",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":960000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10004,1002,"BadgeChallenge_Speedrunner","tracker",null,null,null,1,"",-1,-1,1002,0],[10005,1002,"BadgeChallenge_Speedrunner_Req01","Beat a Gauntlet Node in 8 minutes",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10006,1003,"BadgeChallenge_Chronomancer","tracker",null,null,null,1,"",-1,-1,1003,0],[10007,1003,"BadgeChallenge_Chronomancer_Req01","Beat a Gauntlet Node in 6 minutes on Hard Difficulty or above",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":360000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10008,1004,"BadgeChallenge_TheTimeless","tracker",null,null,null,1,"",-1,-1,1004,0],[10009,1004,"BadgeChallenge_TheTimeless_Req01","Defeat a Boss in 10 minutes on Extreme Difficulty or above",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireAotgMissionNodeType\":\"Boss\" , \"RequireMinGauntletDifficulty\":\"Extreme\", \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":600000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10010,1005,"BadgeChallenge_ChildOfHermes","tracker",null,null,null,1,"",-1,-1,1005,0],[10011,1005,"BadgeChallenge_ChildOfHermes_Req01","Beat a Gauntlet Node in 8 min playing as Greek",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":0, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10012,1006,"BadgeChallenge_WarriorOfHorus","tracker",null,null,null,1,"",-1,-1,1006,0],[10013,1006,"BadgeChallenge_WarriorOfHorus_Req01","Beat a Gauntlet Node in 8 min playing as Egyptian",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":1, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10014,1007,"BadgeChallenge_HermodsFury","tracker",null,null,null,1,"",-1,-1,1007,0],[10015,1007,"BadgeChallenge_HermodsFury_Req01","Beat a Gauntlet Node in 8 min playing as Norse",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":2, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10016,1008,"BadgeChallenge_ZephyrusWing","tracker",null,null,null,1,"",-1,-1,1008,0],[10017,1008,"BadgeChallenge_ZephyrusWing_Req01","Beat a Gauntlet Node in 8 min playing as Atlantean",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":3, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10018,1009,"BadgeChallenge_TheTempest","tracker",null,null,null,1,"",-1,-1,1009,0],[10019,1009,"BadgeChallenge_TheTempest_Req01","Beat a Gauntlet Node in 8 min playing as Chinese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":4, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10020,1010,"BadgeChallenge_FujinsGale","tracker",null,null,null,1,"",-1,-1,1010,0],[10021,1010,"BadgeChallenge_FujinsGale_Req01","Beat a Gauntlet Node in 8 min playing as Japanese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":5, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"Count\": 1, \"Time\":{\"EventCount\":1, \"Timeframe\":480000, \"CheckTimeFrameFromStartOfMatch\":true} }",-1,-1,-1,0],[10022,1011,"BadgeChallenge_TheLucky","tracker",null,null,null,1,"",-1,-1,1011,0],[10023,1011,"BadgeChallenge_TheLucky_Req01","Complete 5 nodes without losing a life",null,null,null,1,"{ \"Name\": \"AvatarStatCheck\", \"Tracked\":true, \"RequireAvatarStatChecks\":[{\"avatarStatName\":\"STAT_GAUNTLET_NODES_ANY_DIFFICULTY_CURRENT_STREAK\",\"comparison\":\">=\",\"value\":5}]}",-1,-1,-1,0],[10024,1012,"BadgeChallenge_TheUnscathed","tracker",null,null,null,1,"",-1,-1,1012,0],[10025,1012,"BadgeChallenge_TheUnscathed_Req01","Complete a labyrinth run without losing a life",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\", \"LifeCount\":3}",-1,-1,-1,0],[10026,1013,"BadgeChallenge_FlawlessExecutioner","tracker",null,null,null,1,"",-1,-1,1013,0],[10027,1013,"BadgeChallenge_FlawlessExecutioner_Req01","Complete 25 nodes without losing a life",null,null,null,1,"{ \"Name\": \"AvatarStatCheck\", \"Tracked\":true, \"RequireAvatarStatChecks\":[{\"avatarStatName\":\"STAT_GAUNTLET_NODES_ANY_DIFFICULTY_CURRENT_STREAK\",\"comparison\":\">=\",\"value\":25}]}",-1,-1,-1,0],[10028,1014,"BadgeChallenge_Demigod","tracker",null,null,null,1,"",-1,-1,1014,0],[10030,1015,"BadgeChallenge_God","tracker",null,null,null,1,"",-1,-1,1015,0],[10032,1016,"BadgeChallenge_MinotaurOverlord","tracker",null,null,null,1,"",-1,-1,1016,0],[10033,1016,"BadgeChallenge_MinotaurOverlord_Req01","Defeat a labyrinth boss on any Difficulty",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10034,1017,"BadgeChallenge_BossTamer","tracker",null,null,null,1,"",-1,-1,1017,0],[10035,1017,"BadgeChallenge_BossTamer_Req01","Defeat a labyrinth boss on Hard or Titan",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10036,1018,"BadgeChallenge_LordOfTheLabyrinth","tracker",null,null,null,1,"",-1,-1,1018,0],[10037,1018,"BadgeChallenge_LordOfTheLabyrinth_Req01","Defeat a labyrinth boss on Extreme or above",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Extreme\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10038,1019,"BadgeChallenge_Progenitor","tracker",null,null,null,1,"",-1,-1,1019,0],[10039,1019,"BadgeChallenge_Progenitor_Req01","Defeat a Labyrinth boss on Legendary with all Major Gods - Zeus",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Zeus\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10040,1019,"BadgeChallenge_Progenitor_Req02","Defeat a Labyrinth boss on Legendary with all Major Gods - Hades",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Hades\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10041,1019,"BadgeChallenge_Progenitor_Req03","Defeat a Labyrinth boss on Legendary with all Major Gods - Poseidon",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Poseidon\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10042,1019,"BadgeChallenge_Progenitor_Req04","Defeat a Labyrinth boss on Legendary with all Major Gods - Ra",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Ra\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10043,1019,"BadgeChallenge_Progenitor_Req05","Defeat a Labyrinth boss on Legendary with all Major Gods - Isis",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Isis\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10044,1019,"BadgeChallenge_Progenitor_Req06","Defeat a Labyrinth boss on Legendary with all Major Gods - Set",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Set\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10045,1019,"BadgeChallenge_Progenitor_Req07","Defeat a Labyrinth boss on Legendary with all Major Gods - Thor",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Thor\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10046,1019,"BadgeChallenge_Progenitor_Req08","Defeat a Labyrinth boss on Legendary with all Major Gods - Odin",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Odin\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10047,1019,"BadgeChallenge_Progenitor_Req09","Defeat a Labyrinth boss on Legendary with all Major Gods - Loki",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Loki\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10048,1019,"BadgeChallenge_Progenitor_Req10","Defeat a Labyrinth boss on Legendary with all Major Gods - Kronos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Kronos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10049,1019,"BadgeChallenge_Progenitor_Req11","Defeat a Labyrinth boss on Legendary with all Major Gods - Oranos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Oranos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10050,1019,"BadgeChallenge_Progenitor_Req12","Defeat a Labyrinth boss on Legendary with all Major Gods - Gaia",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Gaia\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10051,1020,"BadgeChallenge_ChildOfTheseus","tracker",null,null,null,1,"",-1,-1,1020,0],[10052,1020,"BadgeChallenge_ChildOfTheseus_Req01","Defeat a labyrinth boss playing as Greek",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":0, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10053,1021,"BadgeChallenge_Gatekeeper","tracker",null,null,null,1,"",-1,-1,1021,0],[10054,1021,"BadgeChallenge_Gatekeeper_Req01","Defeat a labyrinth boss playing as Egyptian",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":1, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10055,1022,"BadgeChallenge_Marauder","tracker",null,null,null,1,"",-1,-1,1022,0],[10056,1022,"BadgeChallenge_Marauder_Req01","Defeat a labyrinth boss playing as Norse",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":2, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10057,1023,"BadgeChallenge_HandOfAtlas","tracker",null,null,null,1,"",-1,-1,1023,0],[10058,1023,"BadgeChallenge_HandOfAtlas_Req01","Defeat a labyrinth boss playing as Atlantean",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":3, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10059,1024,"BadgeChallenge_Emperor","tracker",null,null,null,1,"",-1,-1,1024,0],[10060,1024,"BadgeChallenge_Emperor_Req01","Defeat a labyrinth boss playing as Chinese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":4, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10061,1025,"BadgeChallenge_Daimyo","tracker",null,null,null,1,"",-1,-1,1025,0],[10062,1025,"BadgeChallenge_Daimyo_Req01","Defeat a labyrinth boss playing as Japanese",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":5, \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10063,1026,"BadgeChallenge_IronFist","tracker",null,null,null,1,"",-1,-1,1026,0],[10064,1026,"BadgeChallenge_IronFist_Req01","Defeat a labyrinth boss on Standard or above with no Blessings equipped",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Standard\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10065,1027,"BadgeChallenge_Tyrant","tracker",null,null,null,1,"",-1,-1,1027,0],[10066,1027,"BadgeChallenge_Tyrant_Req01","Defeat a labyrinth boss on Hard or above with no Blessings equipped",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10067,1028,"BadgeChallenge_PrimordialBeing","tracker",null,null,null,1,"",-1,-1,1028,0],[10068,1028,"BadgeChallenge_PrimordialBeing_Req01","Defeat a labyrinth boss on Legendary or above with no Blessings equipped",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10069,1029,"BadgeChallenge_SupremeDeity","tracker",null,null,null,1,"",-1,-1,1029,0],[10070,1029,"BadgeChallenge_SupremeDeity_Req01","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Zeus",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Zeus\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10071,1029,"BadgeChallenge_SupremeDeity_Req02","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Hades",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Hades\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10072,1029,"BadgeChallenge_SupremeDeity_Req03","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Poseidon",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Poseidon\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10073,1029,"BadgeChallenge_SupremeDeity_Req04","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Ra",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Ra\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10074,1029,"BadgeChallenge_SupremeDeity_Req05","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Isis",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Isis\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10075,1029,"BadgeChallenge_SupremeDeity_Req06","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Set",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Set\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10076,1029,"BadgeChallenge_SupremeDeity_Req07","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Thor",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Thor\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10077,1029,"BadgeChallenge_SupremeDeity_Req08","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Odin",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Odin\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10078,1029,"BadgeChallenge_SupremeDeity_Req09","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Loki",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Loki\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10079,1029,"BadgeChallenge_SupremeDeity_Req10","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Kronos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Kronos\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10080,1029,"BadgeChallenge_SupremeDeity_Req11","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Oranos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Oranos\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10081,1029,"BadgeChallenge_SupremeDeity_Req12","Defeat a labyrinth boss on Legendary with no Blessings equipped using all Major Gods - Gaia",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Gaia\", \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Legendary\", \"RequireWonGame\":true, \"RequireGauntletNumberBlessings\":0, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10082,1030,"BadgeChallenge_Spartan","tracker",null,null,null,1,"",-1,-1,1030,0],[10083,1030,"BadgeChallenge_Spartan_Req01","Defeat a labyrinth boss on Hard playing as Greek with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":0, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10084,1031,"BadgeChallenge_RasChosen","tracker",null,null,null,1,"",-1,-1,1031,0],[10085,1031,"BadgeChallenge_RasChosen_Req01","Defeat a labyrinth boss on Hard playing as Egyptian with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":1, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10086,1032,"BadgeChallenge_BloodAxe","tracker",null,null,null,1,"",-1,-1,1032,0],[10087,1032,"BadgeChallenge_BloodAxe_Req01","Defeat a labyrinth boss on Hard playing as Norse with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":2, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10088,1033,"BadgeChallenge_ChampionOfAtlantis","tracker",null,null,null,1,"",-1,-1,1033,0],[10089,1033,"BadgeChallenge_ChampionOfAtlantis_Req01","Defeat a labyrinth boss on Hard playing as Atlantean with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":3, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10090,1034,"BadgeChallenge_JadeEmperor","tracker",null,null,null,1,"",-1,-1,1034,0],[10091,1034,"BadgeChallenge_JadeEmperor_Req01","Defeat a labyrinth boss on Hard playing as Chinese with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":4, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10092,1035,"BadgeChallenge_GreaterVirtue","tracker",null,null,null,1,"",-1,-1,1035,0],[10093,1035,"BadgeChallenge_GreaterVirtue_Req01","Defeat a labyrinth boss on Hard playing as Japanese with no Heroic Blessings or stronger",null,null,null,1,"{ \"Name\": \"PlayGame\", \"RequireCulture\":5, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireGauntletBlessingRarity\":\"Heroic\",\"RequireGauntletBlessingRarityComparison\":\"<\", \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10094,1036,"BadgeChallenge_ConquerorOfOlympus","tracker",null,null,null,1,"",-1,-1,1036,0],[10095,1036,"BadgeChallenge_ConquerorOfOlympus_Req01","Defeat a labyrinth boss with each Greek Major God - Zeus",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Zeus\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10096,1036,"BadgeChallenge_ConquerorOfOlympus_Req02","Defeat a labyrinth boss with each Greek Major God - Hades",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Hades\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10097,1036,"BadgeChallenge_ConquerorOfOlympus_Req03","Defeat a labyrinth boss with each Greek Major God - Poseidon",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Poseidon\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10098,1037,"BadgeChallenge_RulerOfTheNile","tracker",null,null,null,1,"",-1,-1,1037,0],[10099,1037,"BadgeChallenge_RulerOfTheNile_Req01","Defeat a labyrinth boss with each Egyptian Major God - Ra",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Ra\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10100,1037,"BadgeChallenge_RulerOfTheNile_Req02","Defeat a labyrinth boss with each Egyptian Major God - Isis",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Isis\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10101,1037,"BadgeChallenge_RulerOfTheNile_Req03","Defeat a labyrinth boss with each Egyptian Major God - Set",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Set\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10102,1038,"BadgeChallenge_ChampionOfValhalla","tracker",null,null,null,1,"",-1,-1,1038,0],[10103,1038,"BadgeChallenge_ChampionOfValhalla_Req01","Defeat a labyrinth boss with each Norse Major God - Thor",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Thor\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10104,1038,"BadgeChallenge_ChampionOfValhalla_Req02","Defeat a labyrinth boss with each Norse Major God - Odin",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Odin\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10105,1038,"BadgeChallenge_ChampionOfValhalla_Req03","Defeat a labyrinth boss with each Norse Major God - Loki",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Loki\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10106,1039,"BadgeChallenge_Utopian","tracker",null,null,null,1,"",-1,-1,1039,0],[10107,1039,"BadgeChallenge_Utopian_Req01","Defeat a labyrinth boss with each Atlantean Major God - Kronos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Kronos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10108,1039,"BadgeChallenge_Utopian_Req02","Defeat a labyrinth boss with each Atlantean Major God - Oranos",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Oranos\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10109,1039,"BadgeChallenge_Utopian_Req03","Defeat a labyrinth boss with each Atlantean Major God - Gaia",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Gaia\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10110,1040,"BadgeChallenge_PrimordialThunder","tracker",null,null,null,1,"",-1,-1,1040,0],[10111,1040,"BadgeChallenge_PrimordialThunder_Req01","Defeat a labyrinth boss with each Chinese Major God - Fuxi",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Fuxi\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10112,1040,"BadgeChallenge_PrimordialThunder_Req02","Defeat a labyrinth boss with each Chinese Major God - Nuwa",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Nuwa\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10113,1040,"BadgeChallenge_PrimordialThunder_Req03","Defeat a labyrinth boss with each Chinese Major God - Shennong",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Shennong\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10114,1041,"BadgeChallenge_ChildOfIzanami","tracker",null,null,null,1,"",-1,-1,1041,0],[10115,1041,"BadgeChallenge_ChildOfIzanami_Req01","Defeat a labyrinth boss with each Japanese Major God - Amaterasu",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Amaterasu\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10116,1041,"BadgeChallenge_ChildOfIzanami_Req02","Defeat a labyrinth boss with each Japanese Major God - Tsukuyomi",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Tsukuyomi\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10117,1041,"BadgeChallenge_ChildOfIzanami_Req03","Defeat a labyrinth boss with each Japanese Major God - Susanoo",null,null,null,1,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"RequireMajorGod\":\"Susanoo\", \"RequireGauntlet\":true, \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\"}",-1,-1,-1,0],[10118,1014,"BadgeChallenge_Demigod_Req01_FIXED","Complete 5 labyrinth runs on Hard or above without losing a life",null,null,null,5,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"Count\":5, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Hard\", \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\", \"LifeCount\":3}",-1,-1,-1,0],[10119,1015,"BadgeChallenge_God_Req01_FIXED","Complete 10 labyrinth runs on Extreme or above without losing a life",null,null,null,10,"{ \"Name\": \"PlayGame\", \"Tracked\":true, \"Count\":10, \"RequireGauntlet\":true, \"RequireMinGauntletDifficulty\":\"Extreme\", \"RequireWonGame\":true, \"RequireAotgMissionNodeType\":\"Boss\", \"LifeCount\":3}",-1,-1,-1,0]],"YY32e5cY+SVG1gL6eIVYrwq3RGTH9HtMozOScxUS2jE/kByGbaXPeXXPEuiAXXfzBGJAGoQxOqRfHsHIXYCtIFgBT0pATsSPnlOObomIxQvaMxH052kjkr9Nz+pZm10usaPKXxLIGRu8/eNq9NxXhsSaSNQJC1Ix7Jxd/HrrjDJ57yEcQi60gYd4GxOE6H+Ix2CfU6nqFceWAtdUQRozkrYHWBmxGNNNJ7ttXyWQ+gZP7mBagAG7fYxkeGneeCGh84g+4jfzvrZrHAkfUkyKyi+1oz7v/88a9j6s6FAkM0LI/PpBZwc0v7mdgFHl98zcfTcdHxTipgUScojhCq6Cjw=="] \ No newline at end of file diff --git a/server/resources/responses/athens/leaderboards.json b/server/resources/responses/athens/leaderboards.json index 31ca87f2..47c75add 100644 --- a/server/resources/responses/athens/leaderboards.json +++ b/server/resources/responses/athens/leaderboards.json @@ -1 +1 @@ -[0,[[0,0,1,-1,-1],[1,1,1,-1,-1],[2,2,1,-1,-1],[2,3,1,-1,-1],[2,4,1,-1,-1],[3,5,1,-1,-1],[4,6,1,-1,-1],[4,7,1,-1,-1],[4,8,1,-1,-1],[11,40,1,-1,-1],[12,41,1,-1,-1],[12,42,1,-1,-1],[12,43,1,-1,-1],[13,44,1,-1,-1],[14,45,1,-1,-1],[14,46,1,-1,-1],[14,47,1,-1,-1]],[[0,"Custom",0],[1,"1v1Supremacy",1],[2,"TeamSupremacy",1],[3,"Deathmatch",1],[4,"TeamDeathmatch",1],[11,"1v1SupremacyControllerOnly",1],[12,"TeamSupremacyControllerOnly",1],[13,"DeathmatchControllerOnly",1],[14,"TeamDeathmatchControllerOnly",1]],[[-1,"INVALID",0,0,null,0.0,0,"","Custom_Game",1],[0,"CUSTOM",0,0,null,1.0,1,"","Custom_Game",1],[1,"1V1_SUPREMACY",1,2,null,1.0,2,"","Ranked_Supremacy_1v1",1],[2,"2V2_SUPREMACY",2,2,null,1.0,2,"","Ranked_Supremacy_2v2",1],[3,"3V3_SUPREMACY",3,2,null,1.0,2,"","Ranked_Supremacy_3v3",1],[4,"4V4_SUPREMACY",4,2,null,1.0,2,"","Ranked_Supremacy_4v4",1],[5,"1V1_DEATHMATCH",1,2,null,1.0,2,"","Ranked_Deathmatch_1v1",1],[6,"2V2_DEATHMATCH",2,2,null,1.0,2,"","Ranked_Deathmatch_2v2",1],[7,"3V3_DEATHMATCH",3,2,null,1.0,2,"","Ranked_Deathmatch_3v3",1],[8,"4V4_DEATHMATCH",4,2,null,1.0,2,"","Ranked_Deathmatch_4v4",1],[9,"1V1_CONQUEST",1,2,null,1.0,2,"","Custom_Game",1],[10,"2V2_CONQUEST",2,2,null,1.0,2,"","Custom_Game",1],[11,"3V3_CONQUEST",3,2,null,1.0,2,"","Custom_Game",1],[12,"4V4_CONQUEST",4,2,null,1.0,2,"","Custom_Game",1],[13,"1V1_LIGHTNING",1,2,null,1.0,2,"","Custom_Game",1],[14,"2V2_LIGHTNING",2,2,null,1.0,2,"","Custom_Game",1],[15,"3V3_LIGHTNING",3,2,null,1.0,2,"","Custom_Game",1],[16,"4V4_LIGHTNING",4,2,null,1.0,2,"","Custom_Game",1],[17,"1V1_TREATY_20MIN",1,2,null,1.0,2,"","Custom_Game",1],[18,"2V2_TREATY_20MIN",2,2,null,1.0,2,"","Custom_Game",1],[19,"3V3_TREATY_20MIN",3,2,null,1.0,2,"","Custom_Game",1],[20,"4V4_TREATY_20MIN",4,2,null,1.0,2,"","Custom_Game",1],[21,"1V1_TREATY_40MIN",1,2,null,1.0,2,"","Custom_Game",1],[22,"2V2_TREATY_40MIN",2,2,null,1.0,2,"","Custom_Game",1],[23,"3V3_TREATY_40MIN",3,2,null,1.0,2,"","Custom_Game",1],[24,"4V4_TREATY_40MIN",4,2,null,1.0,2,"","Custom_Game",1],[25,"MATCHMAKING",4,1,null,1.0,0,"","Ranked_Matchmaking",1],[26,"ARENA_OF_THE_GODS_COOP",0,0,null,1.0,1,"","AotG",1],[27,"MATCHMAKING_QUICKMATCH",4,1,null,1.0,0,"","Quickmatch_Matchmaking",1],[28,"1V1_SUPREMACY_QUICKMATCH",1,2,null,1.0,2,"","Quickmatch_Supremacy_1v1",1],[29,"2V2_SUPREMACY_QUICKMATCH",2,2,null,1.0,2,"","Quickmatch_Supremacy_2v2",1],[30,"3V3_SUPREMACY_QUICKMATCH",3,2,null,1.0,2,"","Quickmatch_Supremacy_3v3",1],[31,"4V4_SUPREMACY_QUICKMATCH",4,2,null,1.0,2,"","Quickmatch_Supremacy_4v4",1],[32,"1V1_DEATHMATCH_QUICKMATCH",1,2,null,1.0,2,"","Quickmatch_Deathmatch_1v1",1],[33,"2V2_DEATHMATCH_QUICKMATCH",2,2,null,1.0,2,"","Quickmatch_Deathmatch_2v2",1],[34,"3V3_DEATHMATCH_QUICKMATCH",3,2,null,1.0,2,"","Quickmatch_Deathmatch_3v3",1],[35,"4V4_DEATHMATCH_QUICKMATCH",4,2,null,1.0,2,"","Quickmatch_Deathmatch_4v4",1],[36,"1V1_LIGHTNING_QUICKMATCH",1,2,null,1.0,2,"","Quickmatch_Lightning_1v1",1],[37,"2V2_LIGHTNING_QUICKMATCH",2,2,null,1.0,2,"","Quickmatch_Lightning_2v2",1],[38,"3V3_LIGHTNING_QUICKMATCH",3,2,null,1.0,2,"","Quickmatch_Lightning_3v3",1],[39,"4V4_LIGHTNING_QUICKMATCH",4,2,null,1.0,2,"","Quickmatch_Lightning_4v4",1],[40,"1V1_SUPREMACY_CONTROLLER_ONLY",1,2,null,1.0,2,"","Ranked_Supremacy_1v1",1],[41,"2V2_SUPREMACY_CONTROLLER_ONLY",2,2,null,1.0,2,"","Ranked_Supremacy_2v2",1],[42,"3V3_SUPREMACY_CONTROLLER_ONLY",3,2,null,1.0,2,"","Ranked_Supremacy_3v3",1],[43,"4V4_SUPREMACY_CONTROLLER_ONLY",4,2,null,1.0,2,"","Ranked_Supremacy_4v4",1],[44,"1V1_DEATHMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Ranked_Deathmatch_1v1",1],[45,"2V2_DEATHMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Ranked_Deathmatch_2v2",1],[46,"3V3_DEATHMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Ranked_Deathmatch_3v3",1],[47,"4V4_DEATHMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Ranked_Deathmatch_4v4",1],[48,"1V1_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Quickmatch_Supremacy_1v1",1],[49,"2V2_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Quickmatch_Supremacy_2v2",1],[50,"3V3_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Quickmatch_Supremacy_3v3",1],[51,"4V4_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Quickmatch_Supremacy_4v4",1],[52,"1V1_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Quickmatch_Deathmatch_1v1",1],[53,"2V2_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Quickmatch_Deathmatch_2v2",1],[54,"3V3_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Quickmatch_Deathmatch_3v3",1],[55,"4V4_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Quickmatch_Deathmatch_4v4",1],[56,"1V1_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Quickmatch_Lightning_1v1",1],[57,"2V2_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Quickmatch_Lightning_2v2",1],[58,"3V3_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Quickmatch_Lightning_3v3",1],[59,"4V4_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Quickmatch_Lightning_4v4",1],[60,"SKIRMISH_PLUS",0,0,null,1.0,1,"","Custom_Game",1],[61,"COMMUNITY_MONTHLY_LEADERBOARD1",0,0,null,1.0,1,"","Custom_Game",1],[62,"COMMUNITY_MONTHLY_LEADERBOARD2",0,0,null,1.0,1,"","Custom_Game",1],[63,"COMMUNITY_MONTHLY_LEADERBOARD3",0,0,null,1.0,1,"","Custom_Game",1],[64,"COMMUNITY_MONTHLY_LEADERBOARD4",0,0,null,1.0,1,"","Custom_Game",1],[65,"COMMUNITY_MONTHLY_LEADERBOARD5",0,0,null,1.0,1,"","Custom_Game",1],[66,"COMMUNITY_MONTHLY_LEADERBOARD6",0,0,null,1.0,1,"","Custom_Game",1],[67,"COMMUNITY_MONTHLY_LEADERBOARD7",0,0,null,1.0,1,"","Custom_Game",1],[68,"COMMUNITY_MONTHLY_LEADERBOARD8",0,0,null,1.0,1,"","Custom_Game",1],[69,"COMMUNITY_MONTHLY_LEADERBOARD9",0,0,null,1.0,1,"","Custom_Game",1],[70,"COMMUNITY_MONTHLY_LEADERBOARD10",0,0,null,1.0,1,"","Custom_Game",1],[71,"COMMUNITY_MONTHLY_LEADERBOARD11",0,0,null,1.0,1,"","Custom_Game",1],[72,"COMMUNITY_MONTHLY_LEADERBOARD12",0,0,null,1.0,1,"","Custom_Game",1],[73,"COMMUNITY_MONTHLY_LEADERBOARD13",0,0,null,1.0,1,"","Custom_Game",1],[74,"COMMUNITY_MONTHLY_LEADERBOARD14",0,0,null,1.0,1,"","Custom_Game",1],[75,"COMMUNITY_MONTHLY_LEADERBOARD15",0,0,null,1.0,1,"","Custom_Game",1],[76,"COMMUNITY_MONTHLY_LEADERBOARD16",0,0,null,1.0,1,"","Custom_Game",1]],[[1,"Zeus",1,null],[2,"Hades",1,null],[3,"Poseidon",1,null],[4,"Ra",2,null],[5,"Isis",2,null],[6,"Set",2,null],[7,"Thor",3,null],[8,"Odin",3,null],[9,"Loki",3,null],[10,"Kronos",4,null],[11,"Oranos",4,null],[12,"Gaia",4,null],[13,"Freyr",3,null],[14,"Fuxi",5,null],[15,"Nuwa",5,null],[16,"Shennong",5,null],[17,"Amaterasu",6,null],[18,"Tsukuyomi",6,null],[19,"Susanoo",6,null]],[[0,"MotherNature",null],[1,"Greek",null],[2,"Egyptian",null],[3,"Norse",null],[4,"Atlantean",null],[5,"Chinese",null],[6,"Japanese",null]],[[0,"Europe",null],[1,"Middle East",null],[2,"Asia",null],[3,"North America",null],[4,"South America",null],[5,"Oceania",null],[6,"Africa",null],[7,"Unknown",null]],[],[[1,"STAT_AOG_Test_Season_01_FACTION",null,4,0],[2,"STAT_AOG_Test_Season_01_M01",null,4,0],[3,"STAT_AOG_Test_Season_01_M02",null,4,0],[4,"STAT_AOG_Test_Season_01_M03",null,4,0],[5,"STAT_AOG_Test_Season_01_M04",null,4,0],[6,"STAT_AOG_Test_Season_01_M05",null,4,0],[7,"STAT_AOG_Test_Season_01_M06",null,4,0],[8,"STAT_AOG_Test_Season_01_M07",null,4,0],[9,"STAT_AOG_Test_Season_01_M08",null,4,0],[10,"STAT_AOG_Test_Season_01_M09",null,4,0],[11,"STAT_AOG_Test_Season_01_M10",null,4,0],[12,"STAT_AOG_Test_Season_01_M11",null,4,0],[13,"STAT_AOG_Test_Season_01_M12",null,4,0],[14,"STAT_AOG_Test_Season_01_M13",null,4,0],[15,"STAT_AOG_Test_Season_01_M14",null,4,0],[16,"STAT_AOG_Test_Season_01_M15",null,4,0],[17,"STAT_AOG_Test_Season_01_M16",null,4,0],[18,"STAT_AOG_Test_Season_01_M17",null,4,0],[19,"STAT_AOG_Test_Season_01_M18",null,4,0],[20,"STAT_AOG_Test_Season_01_M19",null,4,0],[21,"STAT_AOG_Test_Season_01_M20",null,4,0],[22,"STAT_AOG_Test_Season_01_Retellings",null,4,0],[23,"STAT_ACHIEVEMENT_ANNIHILATION",null,4,0],[24,"STAT_ACHIEVEMENT_DEMOLITION",null,4,0],[25,"STAT_ACHIEVEMENT_I_BELIEVE_THEY_CAN_FLY",null,4,0],[26,"STAT_ACHIEVEMENT_AUTO_EVERYTHING",null,4,0],[27,"STAT_ACHIEVEMENT_CYCLOPEAN_MASONRY",null,4,0],[28,"STAT_ACHIEVEMENT_AGE_AGAINST_THE_MACHINE",null,4,0],[29,"STAT_ACHIEVEMENT_BOXING_MATCH",null,4,0],[30,"STAT_ACHIEVEMENT_ZEUS_EAT_TOWN_CENTER",null,4,0],[31,"STAT_ACHIEVEMENT_POSEIDONS_REVOLT",null,4,0],[32,"STAT_ACHIEVEMENT_CENTUM_CENTAURI",null,4,0],[33,"STAT_ACHIEVEMENT_WADJAAAAP",null,4,0],[34,"STAT_ACHIEVEMENT_ANUBITTEN",null,4,0],[35,"STAT_ACHIEVEMENT_RIDE_OF_THE_VALKYRIES",null,4,0],[36,"STAT_ACHIEVEMENT_CARE_AND_CALAMITY",null,4,0],[37,"STAT_ACHIEVEMENT_OMNIVORE",null,4,0],[38,"STAT_ACHIEVEMENT_KRONOS_TELEPHONE_BOOTH",null,4,0],[39,"STAT_ACHIEVEMENT_BEASTLY_BULWARK",null,4,0],[40,"STAT_ACHIEVEMENT_ANGER_PROBLEMS",null,4,0],[41,"STAT_ACHIEVEMENT_TITANIC_TERROR_GREEK",null,4,0],[42,"STAT_ACHIEVEMENT_TITANIC_TERROR_EGYPTIAN",null,4,0],[43,"STAT_ACHIEVEMENT_TITANIC_TERROR_NORSE",null,4,0],[44,"STAT_ACHIEVEMENT_TITANIC_TERROR_ATLANTEAN",null,4,0],[45,"STAT_ACHIEVEMENT_PROWL_PATROL",null,4,0],[46,"STAT_ACHIEVEMENT_AOTG_SLAYER",null,4,0],[47,"STAT_ACHIEVEMENT_AOTG_IRONSIDE",null,4,0],[48,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_01",null,4,0],[49,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_02",null,4,0],[50,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03",null,4,0],[51,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_04",null,4,0],[52,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_05",null,4,0],[53,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_06",null,4,0],[54,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_07",null,4,0],[55,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_08",null,4,0],[56,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_09",null,4,0],[57,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10",null,4,0],[58,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_11",null,4,0],[59,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_12",null,4,0],[60,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_01_PROGRESS",null,4,0],[61,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_02_PROGRESS",null,4,0],[62,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03_PROGRESS_CHARIOT",null,4,0],[63,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03_PROGRESS_CAMEL",null,4,0],[64,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03_PROGRESS_WAR",null,4,0],[65,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_05_PROGRESS",null,4,0],[66,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_08_PROGRESS",null,4,0],[67,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_FORTRESS",null,4,0],[68,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_STRONGHOLD",null,4,0],[69,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_HILL_FORT",null,4,0],[70,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_PALACE",null,4,0],[71,"STAT_ACHIEVEMENT_EMBARRASSMENT_OF_RICHES_FOOD",null,4,0],[72,"STAT_ACHIEVEMENT_EMBARRASSMENT_OF_RICHES_WOOD",null,4,0],[73,"STAT_ACHIEVEMENT_DONT_MESS_WITH_ME",null,4,0],[74,"STAT_ACHIEVEMENT_BRINGING_ALL_KINDS_OF_HURT",null,4,0],[75,"STAT_ACHIEVEMENT_ARCHAIC_SHOT_PUT",null,4,0],[76,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_01",null,4,0],[77,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_02",null,4,0],[78,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_03",null,4,0],[79,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_04",null,4,0],[80,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_05",null,4,0],[81,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_06",null,4,0],[82,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_07",null,4,0],[83,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_08",null,4,0],[84,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_09",null,4,0],[85,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_10",null,4,0],[86,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_11",null,4,0],[87,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_12",null,4,0],[88,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_13",null,4,0],[89,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_14",null,4,0],[90,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_15",null,4,0],[91,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_16",null,4,0],[92,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_17",null,4,0],[93,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_18",null,4,0],[94,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_19",null,4,0],[95,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_20",null,4,0],[96,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21",null,4,0],[97,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_22",null,4,0],[98,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_23",null,4,0],[99,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_24",null,4,0],[100,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_25",null,4,0],[101,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_02_PROGRESS",null,4,0],[102,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_03_PROGRESS",null,4,0],[103,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_07_PROGRESS",null,4,0],[104,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_08_PROGRESS",null,4,0],[105,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_11_PROGRESS",null,4,0],[106,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_13_PROGRESS",null,4,0],[107,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_14_PROGRESS",null,4,0],[108,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_16_PROGRESS",null,4,0],[109,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_18_PROGRESS",null,4,0],[110,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21_PROGRESS_AXEMAN",null,4,0],[111,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21_PROGRESS_CAVALRY",null,4,0],[112,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21_PROGRESS_RAM",null,4,0],[116,"STAT_GAUNTLET_REWARD_XP",null,4,0],[117,"STAT_GAUNTLET_REWARD_FAVOUR",null,4,0],[118,"STAT_GAUNTLET_LABYRINTHS_STANDARD_ATTEMPTED",null,4,0],[119,"STAT_GAUNTLET_LABYRINTHS_STANDARD_COMPLETED",null,4,1],[120,"STAT_GAUNTLET_LABYRINTHS_HARD_ATTEMPTED",null,4,0],[121,"STAT_GAUNTLET_LABYRINTHS_HARD_COMPLETED",null,4,1],[122,"STAT_GAUNTLET_LABYRINTHS_EXTREME_ATTEMPTED",null,4,0],[123,"STAT_GAUNTLET_LABYRINTHS_EXTREME_COMPLETED",null,4,1],[124,"STAT_GAUNTLET_NODES_STANDARD_ATTEMPTED",null,4,0],[125,"STAT_GAUNTLET_NODES_STANDARD_COMPLETED",null,4,0],[126,"STAT_GAUNTLET_NODES_STANDARD_CURRENT_STREAK",null,4,0],[127,"STAT_GAUNTLET_NODES_HARD_ATTEMPTED",null,4,0],[128,"STAT_GAUNTLET_NODES_HARD_COMPLETED",null,4,0],[129,"STAT_GAUNTLET_NODES_HARD_CURRENT_STREAK",null,4,0],[130,"STAT_GAUNTLET_NODES_EXTREME_ATTEMPTED",null,4,0],[131,"STAT_GAUNTLET_NODES_EXTREME_COMPLETED",null,4,0],[132,"STAT_GAUNTLET_NODES_EXTREME_CURRENT_STREAK",null,4,0],[133,"STAT_GAUNTLET_NODES_ANY_DIFFICULTY_CURRENT_STREAK",null,4,0],[134,"STAT_GAUNTLET_LABYRINTHS_MODERATE_ATTEMPTED",null,4,0],[135,"STAT_GAUNTLET_LABYRINTHS_MODERATE_COMPLETED",null,4,1],[136,"STAT_GAUNTLET_LABYRINTHS_TITAN_ATTEMPTED",null,4,0],[137,"STAT_GAUNTLET_LABYRINTHS_TITAN_COMPLETED",null,4,1],[138,"STAT_GAUNTLET_LABYRINTHS_LEGENDARY_ATTEMPTED",null,4,0],[139,"STAT_GAUNTLET_LABYRINTHS_LEGENDARY_COMPLETED",null,4,1],[140,"STAT_GAUNTLET_NODES_MODERATE_ATTEMPTED",null,4,0],[141,"STAT_GAUNTLET_NODES_MODERATE_COMPLETED",null,4,0],[142,"STAT_GAUNTLET_NODES_MODERATE_CURRENT_STREAK",null,4,0],[143,"STAT_GAUNTLET_NODES_TITAN_ATTEMPTED",null,4,0],[144,"STAT_GAUNTLET_NODES_TITAN_COMPLETED",null,4,0],[145,"STAT_GAUNTLET_NODES_TITAN_CURRENT_STREAK",null,4,0],[146,"STAT_GAUNTLET_NODES_LEGENDARY_ATTEMPTED",null,4,0],[147,"STAT_GAUNTLET_NODES_LEGENDARY_COMPLETED",null,4,0],[148,"STAT_GAUNTLET_NODES_LEGENDARY_CURRENT_STREAK",null,4,0],[149,"STAT_GAUNTLET_RUN_TIME_CURRENT",null,4,0],[150,"STAT_GAUNTLET_RUN_TIME_BEST_STANDARD",null,4,0],[151,"STAT_GAUNTLET_RUN_TIME_BEST_MODERATE",null,4,0],[152,"STAT_GAUNTLET_RUN_TIME_BEST_HARD",null,4,0],[153,"STAT_GAUNTLET_RUN_TIME_BEST_TITAN",null,4,0],[154,"STAT_GAUNTLET_RUN_TIME_BEST_EXTREME",null,4,0],[155,"STAT_GAUNTLET_RUN_TIME_BEST_LEGENDARY",null,4,0],[156,"STAT_GAUNTLET_STARTER_BLESSING",null,4,0],[157,"STAT_ACHIEVEMENT_DONT_GO_IT_ALONE",null,4,0],[158,"STAT_ACHIEVEMENT_CONNOISSEUR_OF_THE_GODS",null,4,0],[159,"STAT_ACHIEVEMENT_A_LEGENDARY_RUSH",null,4,0],[160,"STAT_ACHIEVEMENT_WE_HAVE_TITANS_AT_HOME",null,4,0]],[]] \ No newline at end of file +[0,[[0,0,1,-1,-1],[1,1,1,-1,-1],[2,2,1,-1,-1],[2,3,1,-1,-1],[2,4,1,-1,-1],[3,5,1,-1,-1],[4,6,1,-1,-1],[4,7,1,-1,-1],[4,8,1,-1,-1],[11,40,1,-1,-1],[12,41,1,-1,-1],[12,42,1,-1,-1],[12,43,1,-1,-1],[13,44,1,-1,-1],[14,45,1,-1,-1],[14,46,1,-1,-1],[14,47,1,-1,-1]],[[0,"Custom",0],[1,"1v1Supremacy",1],[2,"TeamSupremacy",1],[3,"Deathmatch",1],[4,"TeamDeathmatch",1],[11,"1v1SupremacyControllerOnly",1],[12,"TeamSupremacyControllerOnly",1],[13,"DeathmatchControllerOnly",1],[14,"TeamDeathmatchControllerOnly",1]],[[-1,"INVALID",0,0,null,0.0,0,"","Custom_Game",1],[0,"CUSTOM",0,0,null,1.0,1,"","Custom_Game",1],[1,"1V1_SUPREMACY",1,2,null,1.0,2,"","Ranked_Supremacy_1v1",1],[2,"2V2_SUPREMACY",2,2,null,1.0,2,"","Ranked_Supremacy_2v2",1],[3,"3V3_SUPREMACY",3,2,null,1.0,2,"","Ranked_Supremacy_3v3",1],[4,"4V4_SUPREMACY",4,2,null,1.0,2,"","Ranked_Supremacy_4v4",1],[5,"1V1_DEATHMATCH",1,2,null,1.0,2,"","Ranked_Deathmatch_1v1",1],[6,"2V2_DEATHMATCH",2,2,null,1.0,2,"","Ranked_Deathmatch_2v2",1],[7,"3V3_DEATHMATCH",3,2,null,1.0,2,"","Ranked_Deathmatch_3v3",1],[8,"4V4_DEATHMATCH",4,2,null,1.0,2,"","Ranked_Deathmatch_4v4",1],[9,"1V1_CONQUEST",1,2,null,1.0,2,"","Custom_Game",1],[10,"2V2_CONQUEST",2,2,null,1.0,2,"","Custom_Game",1],[11,"3V3_CONQUEST",3,2,null,1.0,2,"","Custom_Game",1],[12,"4V4_CONQUEST",4,2,null,1.0,2,"","Custom_Game",1],[13,"1V1_LIGHTNING",1,2,null,1.0,2,"","Custom_Game",1],[14,"2V2_LIGHTNING",2,2,null,1.0,2,"","Custom_Game",1],[15,"3V3_LIGHTNING",3,2,null,1.0,2,"","Custom_Game",1],[16,"4V4_LIGHTNING",4,2,null,1.0,2,"","Custom_Game",1],[17,"1V1_TREATY_20MIN",1,2,null,1.0,2,"","Custom_Game",1],[18,"2V2_TREATY_20MIN",2,2,null,1.0,2,"","Custom_Game",1],[19,"3V3_TREATY_20MIN",3,2,null,1.0,2,"","Custom_Game",1],[20,"4V4_TREATY_20MIN",4,2,null,1.0,2,"","Custom_Game",1],[21,"1V1_TREATY_40MIN",1,2,null,1.0,2,"","Custom_Game",1],[22,"2V2_TREATY_40MIN",2,2,null,1.0,2,"","Custom_Game",1],[23,"3V3_TREATY_40MIN",3,2,null,1.0,2,"","Custom_Game",1],[24,"4V4_TREATY_40MIN",4,2,null,1.0,2,"","Custom_Game",1],[25,"MATCHMAKING",4,1,null,1.0,0,"","Ranked_Matchmaking",1],[26,"ARENA_OF_THE_GODS_COOP",0,0,null,1.0,1,"","AotG",1],[27,"MATCHMAKING_QUICKMATCH",4,1,null,1.0,0,"","Quickmatch_Matchmaking",1],[28,"1V1_SUPREMACY_QUICKMATCH",1,2,null,1.0,2,"","Quickmatch_Supremacy_1v1",1],[29,"2V2_SUPREMACY_QUICKMATCH",2,2,null,1.0,2,"","Quickmatch_Supremacy_2v2",1],[30,"3V3_SUPREMACY_QUICKMATCH",3,2,null,1.0,2,"","Quickmatch_Supremacy_3v3",1],[31,"4V4_SUPREMACY_QUICKMATCH",4,2,null,1.0,2,"","Quickmatch_Supremacy_4v4",1],[32,"1V1_DEATHMATCH_QUICKMATCH",1,2,null,1.0,2,"","Quickmatch_Deathmatch_1v1",1],[33,"2V2_DEATHMATCH_QUICKMATCH",2,2,null,1.0,2,"","Quickmatch_Deathmatch_2v2",1],[34,"3V3_DEATHMATCH_QUICKMATCH",3,2,null,1.0,2,"","Quickmatch_Deathmatch_3v3",1],[35,"4V4_DEATHMATCH_QUICKMATCH",4,2,null,1.0,2,"","Quickmatch_Deathmatch_4v4",1],[36,"1V1_LIGHTNING_QUICKMATCH",1,2,null,1.0,2,"","Quickmatch_Lightning_1v1",1],[37,"2V2_LIGHTNING_QUICKMATCH",2,2,null,1.0,2,"","Quickmatch_Lightning_2v2",1],[38,"3V3_LIGHTNING_QUICKMATCH",3,2,null,1.0,2,"","Quickmatch_Lightning_3v3",1],[39,"4V4_LIGHTNING_QUICKMATCH",4,2,null,1.0,2,"","Quickmatch_Lightning_4v4",1],[40,"1V1_SUPREMACY_CONTROLLER_ONLY",1,2,null,1.0,2,"","Ranked_Supremacy_1v1",1],[41,"2V2_SUPREMACY_CONTROLLER_ONLY",2,2,null,1.0,2,"","Ranked_Supremacy_2v2",1],[42,"3V3_SUPREMACY_CONTROLLER_ONLY",3,2,null,1.0,2,"","Ranked_Supremacy_3v3",1],[43,"4V4_SUPREMACY_CONTROLLER_ONLY",4,2,null,1.0,2,"","Ranked_Supremacy_4v4",1],[44,"1V1_DEATHMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Ranked_Deathmatch_1v1",1],[45,"2V2_DEATHMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Ranked_Deathmatch_2v2",1],[46,"3V3_DEATHMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Ranked_Deathmatch_3v3",1],[47,"4V4_DEATHMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Ranked_Deathmatch_4v4",1],[48,"1V1_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Quickmatch_Supremacy_1v1",1],[49,"2V2_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Quickmatch_Supremacy_2v2",1],[50,"3V3_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Quickmatch_Supremacy_3v3",1],[51,"4V4_SUPREMACY_QUICKMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Quickmatch_Supremacy_4v4",1],[52,"1V1_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Quickmatch_Deathmatch_1v1",1],[53,"2V2_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Quickmatch_Deathmatch_2v2",1],[54,"3V3_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Quickmatch_Deathmatch_3v3",1],[55,"4V4_DEATHMATCH_QUICKMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Quickmatch_Deathmatch_4v4",1],[56,"1V1_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",1,2,null,1.0,2,"","Quickmatch_Lightning_1v1",1],[57,"2V2_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",2,2,null,1.0,2,"","Quickmatch_Lightning_2v2",1],[58,"3V3_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",3,2,null,1.0,2,"","Quickmatch_Lightning_3v3",1],[59,"4V4_LIGHTNING_QUICKMATCH_CONTROLLER_ONLY",4,2,null,1.0,2,"","Quickmatch_Lightning_4v4",1],[60,"SKIRMISH_PLUS",0,0,null,1.0,1,"","Custom_Game",1],[61,"COMMUNITY_MONTHLY_LEADERBOARD1",0,0,null,1.0,1,"","Custom_Game",1],[62,"COMMUNITY_MONTHLY_LEADERBOARD2",0,0,null,1.0,1,"","Custom_Game",1],[63,"COMMUNITY_MONTHLY_LEADERBOARD3",0,0,null,1.0,1,"","Custom_Game",1],[64,"COMMUNITY_MONTHLY_LEADERBOARD4",0,0,null,1.0,1,"","Custom_Game",1],[65,"COMMUNITY_MONTHLY_LEADERBOARD5",0,0,null,1.0,1,"","Custom_Game",1],[66,"COMMUNITY_MONTHLY_LEADERBOARD6",0,0,null,1.0,1,"","Custom_Game",1],[67,"COMMUNITY_MONTHLY_LEADERBOARD7",0,0,null,1.0,1,"","Custom_Game",1],[68,"COMMUNITY_MONTHLY_LEADERBOARD8",0,0,null,1.0,1,"","Custom_Game",1],[69,"COMMUNITY_MONTHLY_LEADERBOARD9",0,0,null,1.0,1,"","Custom_Game",1],[70,"COMMUNITY_MONTHLY_LEADERBOARD10",0,0,null,1.0,1,"","Custom_Game",1],[71,"COMMUNITY_MONTHLY_LEADERBOARD11",0,0,null,1.0,1,"","Custom_Game",1],[72,"COMMUNITY_MONTHLY_LEADERBOARD12",0,0,null,1.0,1,"","Custom_Game",1],[73,"COMMUNITY_MONTHLY_LEADERBOARD13",0,0,null,1.0,1,"","Custom_Game",1],[74,"COMMUNITY_MONTHLY_LEADERBOARD14",0,0,null,1.0,1,"","Custom_Game",1],[75,"COMMUNITY_MONTHLY_LEADERBOARD15",0,0,null,1.0,1,"","Custom_Game",1],[76,"COMMUNITY_MONTHLY_LEADERBOARD16",0,0,null,1.0,1,"","Custom_Game",1]],[[1,"Zeus",1,null],[2,"Hades",1,null],[3,"Poseidon",1,null],[4,"Ra",2,null],[5,"Isis",2,null],[6,"Set",2,null],[7,"Thor",3,null],[8,"Odin",3,null],[9,"Loki",3,null],[10,"Kronos",4,null],[11,"Oranos",4,null],[12,"Gaia",4,null],[13,"Freyr",3,null],[14,"Fuxi",5,null],[15,"Nuwa",5,null],[16,"Shennong",5,null],[17,"Amaterasu",6,null],[18,"Tsukuyomi",6,null],[19,"Susanoo",6,null],[20,"Demeter",1,null]],[[0,"MotherNature",null],[1,"Greek",null],[2,"Egyptian",null],[3,"Norse",null],[4,"Atlantean",null],[5,"Chinese",null],[6,"Japanese",null]],[[0,"Europe",null],[1,"Middle East",null],[2,"Asia",null],[3,"North America",null],[4,"South America",null],[5,"Oceania",null],[6,"Africa",null],[7,"Unknown",null]],[],[[1,"STAT_AOG_Test_Season_01_FACTION",null,4,0],[2,"STAT_AOG_Test_Season_01_M01",null,4,0],[3,"STAT_AOG_Test_Season_01_M02",null,4,0],[4,"STAT_AOG_Test_Season_01_M03",null,4,0],[5,"STAT_AOG_Test_Season_01_M04",null,4,0],[6,"STAT_AOG_Test_Season_01_M05",null,4,0],[7,"STAT_AOG_Test_Season_01_M06",null,4,0],[8,"STAT_AOG_Test_Season_01_M07",null,4,0],[9,"STAT_AOG_Test_Season_01_M08",null,4,0],[10,"STAT_AOG_Test_Season_01_M09",null,4,0],[11,"STAT_AOG_Test_Season_01_M10",null,4,0],[12,"STAT_AOG_Test_Season_01_M11",null,4,0],[13,"STAT_AOG_Test_Season_01_M12",null,4,0],[14,"STAT_AOG_Test_Season_01_M13",null,4,0],[15,"STAT_AOG_Test_Season_01_M14",null,4,0],[16,"STAT_AOG_Test_Season_01_M15",null,4,0],[17,"STAT_AOG_Test_Season_01_M16",null,4,0],[18,"STAT_AOG_Test_Season_01_M17",null,4,0],[19,"STAT_AOG_Test_Season_01_M18",null,4,0],[20,"STAT_AOG_Test_Season_01_M19",null,4,0],[21,"STAT_AOG_Test_Season_01_M20",null,4,0],[22,"STAT_AOG_Test_Season_01_Retellings",null,4,0],[23,"STAT_ACHIEVEMENT_ANNIHILATION",null,4,0],[24,"STAT_ACHIEVEMENT_DEMOLITION",null,4,0],[25,"STAT_ACHIEVEMENT_I_BELIEVE_THEY_CAN_FLY",null,4,0],[26,"STAT_ACHIEVEMENT_AUTO_EVERYTHING",null,4,0],[27,"STAT_ACHIEVEMENT_CYCLOPEAN_MASONRY",null,4,0],[28,"STAT_ACHIEVEMENT_AGE_AGAINST_THE_MACHINE",null,4,0],[29,"STAT_ACHIEVEMENT_BOXING_MATCH",null,4,0],[30,"STAT_ACHIEVEMENT_ZEUS_EAT_TOWN_CENTER",null,4,0],[31,"STAT_ACHIEVEMENT_POSEIDONS_REVOLT",null,4,0],[32,"STAT_ACHIEVEMENT_CENTUM_CENTAURI",null,4,0],[33,"STAT_ACHIEVEMENT_WADJAAAAP",null,4,0],[34,"STAT_ACHIEVEMENT_ANUBITTEN",null,4,0],[35,"STAT_ACHIEVEMENT_RIDE_OF_THE_VALKYRIES",null,4,0],[36,"STAT_ACHIEVEMENT_CARE_AND_CALAMITY",null,4,0],[37,"STAT_ACHIEVEMENT_OMNIVORE",null,4,0],[38,"STAT_ACHIEVEMENT_KRONOS_TELEPHONE_BOOTH",null,4,0],[39,"STAT_ACHIEVEMENT_BEASTLY_BULWARK",null,4,0],[40,"STAT_ACHIEVEMENT_ANGER_PROBLEMS",null,4,0],[41,"STAT_ACHIEVEMENT_TITANIC_TERROR_GREEK",null,4,0],[42,"STAT_ACHIEVEMENT_TITANIC_TERROR_EGYPTIAN",null,4,0],[43,"STAT_ACHIEVEMENT_TITANIC_TERROR_NORSE",null,4,0],[44,"STAT_ACHIEVEMENT_TITANIC_TERROR_ATLANTEAN",null,4,0],[45,"STAT_ACHIEVEMENT_PROWL_PATROL",null,4,0],[46,"STAT_ACHIEVEMENT_AOTG_SLAYER",null,4,0],[47,"STAT_ACHIEVEMENT_AOTG_IRONSIDE",null,4,0],[48,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_01",null,4,0],[49,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_02",null,4,0],[50,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03",null,4,0],[51,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_04",null,4,0],[52,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_05",null,4,0],[53,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_06",null,4,0],[54,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_07",null,4,0],[55,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_08",null,4,0],[56,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_09",null,4,0],[57,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10",null,4,0],[58,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_11",null,4,0],[59,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_12",null,4,0],[60,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_01_PROGRESS",null,4,0],[61,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_02_PROGRESS",null,4,0],[62,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03_PROGRESS_CHARIOT",null,4,0],[63,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03_PROGRESS_CAMEL",null,4,0],[64,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_03_PROGRESS_WAR",null,4,0],[65,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_05_PROGRESS",null,4,0],[66,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_08_PROGRESS",null,4,0],[67,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_FORTRESS",null,4,0],[68,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_STRONGHOLD",null,4,0],[69,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_HILL_FORT",null,4,0],[70,"STAT_EVENT_THANKSGIVING_2024_CHALLENGE_10_PROGRESS_PALACE",null,4,0],[71,"STAT_ACHIEVEMENT_EMBARRASSMENT_OF_RICHES_FOOD",null,4,0],[72,"STAT_ACHIEVEMENT_EMBARRASSMENT_OF_RICHES_WOOD",null,4,0],[73,"STAT_ACHIEVEMENT_DONT_MESS_WITH_ME",null,4,0],[74,"STAT_ACHIEVEMENT_BRINGING_ALL_KINDS_OF_HURT",null,4,0],[75,"STAT_ACHIEVEMENT_ARCHAIC_SHOT_PUT",null,4,0],[76,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_01",null,4,0],[77,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_02",null,4,0],[78,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_03",null,4,0],[79,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_04",null,4,0],[80,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_05",null,4,0],[81,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_06",null,4,0],[82,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_07",null,4,0],[83,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_08",null,4,0],[84,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_09",null,4,0],[85,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_10",null,4,0],[86,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_11",null,4,0],[87,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_12",null,4,0],[88,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_13",null,4,0],[89,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_14",null,4,0],[90,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_15",null,4,0],[91,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_16",null,4,0],[92,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_17",null,4,0],[93,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_18",null,4,0],[94,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_19",null,4,0],[95,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_20",null,4,0],[96,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21",null,4,0],[97,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_22",null,4,0],[98,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_23",null,4,0],[99,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_24",null,4,0],[100,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_25",null,4,0],[101,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_02_PROGRESS",null,4,0],[102,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_03_PROGRESS",null,4,0],[103,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_07_PROGRESS",null,4,0],[104,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_08_PROGRESS",null,4,0],[105,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_11_PROGRESS",null,4,0],[106,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_13_PROGRESS",null,4,0],[107,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_14_PROGRESS",null,4,0],[108,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_16_PROGRESS",null,4,0],[109,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_18_PROGRESS",null,4,0],[110,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21_PROGRESS_AXEMAN",null,4,0],[111,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21_PROGRESS_CAVALRY",null,4,0],[112,"STAT_EVENT_NEW_YEAR_2025_CHALLENGE_21_PROGRESS_RAM",null,4,0],[113,"STAT_ACHIEVEMENT_LUPINE_LETHALITY",null,4,0],[114,"STAT_ACHIEVEMENT_WITHER_WOODCHIPPER",null,4,0],[115,"STAT_ACHIEVEMENT_HEARTH_AND_HOME",null,4,0],[116,"STAT_GAUNTLET_REWARD_XP",null,4,0],[117,"STAT_GAUNTLET_REWARD_FAVOUR",null,4,0],[118,"STAT_GAUNTLET_LABYRINTHS_STANDARD_ATTEMPTED",null,4,0],[119,"STAT_GAUNTLET_LABYRINTHS_STANDARD_COMPLETED",null,4,1],[120,"STAT_GAUNTLET_LABYRINTHS_HARD_ATTEMPTED",null,4,0],[121,"STAT_GAUNTLET_LABYRINTHS_HARD_COMPLETED",null,4,1],[122,"STAT_GAUNTLET_LABYRINTHS_EXTREME_ATTEMPTED",null,4,0],[123,"STAT_GAUNTLET_LABYRINTHS_EXTREME_COMPLETED",null,4,1],[124,"STAT_GAUNTLET_NODES_STANDARD_ATTEMPTED",null,4,0],[125,"STAT_GAUNTLET_NODES_STANDARD_COMPLETED",null,4,0],[126,"STAT_GAUNTLET_NODES_STANDARD_CURRENT_STREAK",null,4,0],[127,"STAT_GAUNTLET_NODES_HARD_ATTEMPTED",null,4,0],[128,"STAT_GAUNTLET_NODES_HARD_COMPLETED",null,4,0],[129,"STAT_GAUNTLET_NODES_HARD_CURRENT_STREAK",null,4,0],[130,"STAT_GAUNTLET_NODES_EXTREME_ATTEMPTED",null,4,0],[131,"STAT_GAUNTLET_NODES_EXTREME_COMPLETED",null,4,0],[132,"STAT_GAUNTLET_NODES_EXTREME_CURRENT_STREAK",null,4,0],[133,"STAT_GAUNTLET_NODES_ANY_DIFFICULTY_CURRENT_STREAK",null,4,0],[134,"STAT_GAUNTLET_LABYRINTHS_MODERATE_ATTEMPTED",null,4,0],[135,"STAT_GAUNTLET_LABYRINTHS_MODERATE_COMPLETED",null,4,1],[136,"STAT_GAUNTLET_LABYRINTHS_TITAN_ATTEMPTED",null,4,0],[137,"STAT_GAUNTLET_LABYRINTHS_TITAN_COMPLETED",null,4,1],[138,"STAT_GAUNTLET_LABYRINTHS_LEGENDARY_ATTEMPTED",null,4,0],[139,"STAT_GAUNTLET_LABYRINTHS_LEGENDARY_COMPLETED",null,4,1],[140,"STAT_GAUNTLET_NODES_MODERATE_ATTEMPTED",null,4,0],[141,"STAT_GAUNTLET_NODES_MODERATE_COMPLETED",null,4,0],[142,"STAT_GAUNTLET_NODES_MODERATE_CURRENT_STREAK",null,4,0],[143,"STAT_GAUNTLET_NODES_TITAN_ATTEMPTED",null,4,0],[144,"STAT_GAUNTLET_NODES_TITAN_COMPLETED",null,4,0],[145,"STAT_GAUNTLET_NODES_TITAN_CURRENT_STREAK",null,4,0],[146,"STAT_GAUNTLET_NODES_LEGENDARY_ATTEMPTED",null,4,0],[147,"STAT_GAUNTLET_NODES_LEGENDARY_COMPLETED",null,4,0],[148,"STAT_GAUNTLET_NODES_LEGENDARY_CURRENT_STREAK",null,4,0],[149,"STAT_GAUNTLET_RUN_TIME_CURRENT",null,4,0],[150,"STAT_GAUNTLET_RUN_TIME_BEST_STANDARD",null,4,0],[151,"STAT_GAUNTLET_RUN_TIME_BEST_MODERATE",null,4,0],[152,"STAT_GAUNTLET_RUN_TIME_BEST_HARD",null,4,0],[153,"STAT_GAUNTLET_RUN_TIME_BEST_TITAN",null,4,0],[154,"STAT_GAUNTLET_RUN_TIME_BEST_EXTREME",null,4,0],[155,"STAT_GAUNTLET_RUN_TIME_BEST_LEGENDARY",null,4,0],[156,"STAT_GAUNTLET_STARTER_BLESSING",null,4,0],[157,"STAT_ACHIEVEMENT_DONT_GO_IT_ALONE",null,4,0],[158,"STAT_ACHIEVEMENT_CONNOISSEUR_OF_THE_GODS",null,4,0],[159,"STAT_ACHIEVEMENT_A_LEGENDARY_RUSH",null,4,0],[160,"STAT_ACHIEVEMENT_WE_HAVE_TITANS_AT_HOME",null,4,0]],[]] \ No newline at end of file diff --git a/server/resources/responses/athens/playfab/public-production/2/gauntlet_mission_pools.json b/server/resources/responses/athens/playfab/public-production/2/gauntlet_mission_pools.json index a78a0897..e0c6957e 100644 --- a/server/resources/responses/athens/playfab/public-production/2/gauntlet_mission_pools.json +++ b/server/resources/responses/athens/playfab/public-production/2/gauntlet_mission_pools.json @@ -1701,6 +1701,312 @@ "Rewards": [], "MinimapImage": "", "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + }, + { + "Id": "elysium49", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "elysium", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + }, + { + "Id": "jotunheim42", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "jotunheim", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, + { + "Id": "river_nile48", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "river_nile", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + }, + { + "Id": "arena49", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "arena", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + }, + { + "Id": "marsh43", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "marsh", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + }, + { + "Id": "arena50", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "arena", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + }, + { + "Id": "islands47", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "islands", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + }, + { + "Id": "blue_lagoon40", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "blue_lagoon", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + }, + { + "Id": "team_migration50", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "team_migration", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" } ] }, @@ -4758,1161 +5064,956 @@ "Rewards": [], "MinimapImage": "", "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" - } - ] - }, - { - "Name": "Pool3", - "Missions": [ + }, { - "Id": "tundra0", + "Id": "great_wall23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "great_wall", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Thor", + "Civ": "Amaterasu", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Amaterasu", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "archipelago1", + "Id": "anatolia45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Amaterasu", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Amaterasu", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "qinghai_lake2", + "Id": "silk_road38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "silk_road", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, + "Civ": "Amaterasu", + "Team": 0, "Personality": "supporter.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, + "Civ": "Amaterasu", + "Team": 0, "Personality": "supporter.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "tundra3", + "Id": "watering_hole50", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Civ": "Amaterasu", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Civ": "Amaterasu", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "gold_rush4", + "Id": "alfheim42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "alfheim", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Loki", + "Civ": "Amaterasu", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": -1 + "Civ": "Nuwa", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Amaterasu", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": -1 + "Civ": "Nuwa", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" }, { - "Id": "valley_of_kings5", + "Id": "silk_road39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "silk_road", "Size": "Normal", "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ + "WorldTwists": [], + "Opponents": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Civ": "Amaterasu", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - } - ], - "Opponents": [ + "Civ": "Hades", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, { "Civ": "Isis", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Amaterasu", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "Civ": "Hades", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "nomad6", + "Id": "kii0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "kii", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Odin", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/kii-sqr.png" }, { - "Id": "erebus7", + "Id": "watering_hole51", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "alfheim8", + "Id": "river_nile49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "alfheim", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Thor", "Team": 1, - "Personality": "attacker.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Thor", "Team": 1, - "Personality": "attacker.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "kerlaugar9", + "Id": "great_wall24", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "great_wall", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ + "WorldTwists": [], + "Opponents": [ { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Civ": "Ra", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - } - ], - "Opponents": [ + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, { "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": -1 + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "kerlaugar10", + "Id": "alfheim43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "alfheim", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Isis", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, + "Civ": "Fuxi", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, "Personality": "supporter.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, + "Civ": "Fuxi", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, "Personality": "supporter.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" }, { - "Id": "midgard11", + "Id": "aso_grasslands0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "aso_grasslands", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Hades", + "Civ": "Tsukuyomi", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Nuwa", - "Team": 2, + "Team": 0, "Personality": "defender.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Tsukuyomi", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Nuwa", - "Team": 2, + "Team": 0, "Personality": "defender.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/aso_grasslands-sqr.png" }, { - "Id": "anatolia12", + "Id": "yellow_river31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "yellow_river", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ + "WorldTwists": [], + "Opponents": [ { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + }, + { + "Id": "okuchichibu0", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "okuchichibu", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Susanoo", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Thor", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Susanoo", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Thor", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/okuchichibu-sqr.png" }, { - "Id": "ironwood13", + "Id": "great_wall25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "great_wall", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Ra", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, + "Civ": "Susanoo", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, "Personality": "balanced.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Ra", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, + "Civ": "Susanoo", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, "Personality": "balanced.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "jotunheim14", + "Id": "marsh44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Set", + "Civ": "Thor", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Civ": "Susanoo", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Thor", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Civ": "Susanoo", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "black_sea15", + "Id": "steppe50", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "black_sea", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Susanoo", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", - "Team": 2, + "Team": 0, "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Susanoo", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", - "Team": 2, + "Team": 0, "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "jotunheim16", + "Id": "aso_grasslands1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "aso_grasslands", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Susanoo", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "humanoid.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Susanoo", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "humanoid.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" - }, + "MapPreviewImage": "resources/maps/previews/aso_grasslands-sqr.png" + } + ] + }, + { + "Name": "Pool3", + "Missions": [ { - "Id": "steppe17", + "Id": "tundra0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "tundra", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Kronos", "Team": 2, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": -1 } ], @@ -5920,43 +6021,34 @@ { "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Kronos", "Team": 2, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "steppe18", + "Id": "archipelago1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -5965,98 +6057,172 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "tundra19", + "Id": "qinghai_lake2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "qinghai_lake", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { "Civ": "Ra", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { "Civ": "Ra", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + }, + { + "Id": "tundra3", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "tundra", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": -1 } ], @@ -6065,12 +6231,12 @@ "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "river_nile20", + "Id": "gold_rush4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "gold_rush", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", @@ -6079,21 +6245,21 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], @@ -6101,13 +6267,13 @@ { "Civ": "Loki", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 2, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], @@ -6115,34 +6281,43 @@ { "Civ": "Loki", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 2, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" }, { - "Id": "mirkwood21", + "Id": "valley_of_kings5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -6151,128 +6326,128 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Isis", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Zeus", "Team": 2, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Isis", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Zeus", "Team": 2, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "watering_hole22", + "Id": "nomad6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "nomad", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Odin", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Ra", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Odin", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Ra", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "acropolis23", + "Id": "erebus7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -6281,168 +6456,147 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Zeus", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Zeus", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "blue_lagoon24", + "Id": "alfheim8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "alfheim", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Freyr", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Thor", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Freyr", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Thor", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" }, { - "Id": "ghost_lake25", + "Id": "kerlaugar9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", "Visualization": "Right" }, { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 0, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 2, "Personality": "economist.personality", "DifficultyOffset": -1 @@ -6450,25 +6604,13 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 0, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 2, "Personality": "economist.personality", "DifficultyOffset": -1 @@ -6476,30 +6618,30 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "peach_blossom_land26", + "Id": "kerlaugar10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "AphroditeMinorWT", @@ -6513,83 +6655,50 @@ ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", + "Civ": "Gaia", "Team": 2, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", + "Civ": "Gaia", "Team": 2, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "qinghai_lake27", + "Id": "midgard11", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -6598,78 +6707,72 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 0, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Nuwa", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 0, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Nuwa", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "islands28", + "Id": "anatolia12", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "anatolia", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -6678,305 +6781,212 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", + "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Thor", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", + "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Thor", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "mirkwood29", + "Id": "ironwood13", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "ironwood", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Shennong", "Team": 2, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Shennong", "Team": 2, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "steppe30", + "Id": "jotunheim14", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Kronos", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", + "Civ": "Set", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", + "Civ": "Set", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "nile_shallows31", + "Id": "black_sea15", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "black_sea", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD9", - "ArenaEffectName": "CelestialRemnantsD9", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 2, "Personality": "conqueror.personality", "DifficultyOffset": -1 @@ -6984,25 +6994,13 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 2, "Personality": "conqueror.personality", "DifficultyOffset": -1 @@ -7010,107 +7008,83 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" }, { - "Id": "oasis32", + "Id": "jotunheim16", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "jotunheim", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 0, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", "Team": 2, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 0, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", "Team": 2, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "giza33", + "Id": "steppe17", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -7125,263 +7099,200 @@ "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Isis", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Zeus", "Team": 2, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Zeus", "Team": 2, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "mediterranean34", + "Id": "steppe18", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", + "Civ": "Isis", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 0, + "Civ": "Fuxi", + "Team": 2, "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "humanoid.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "bamboo_grove35", + "Id": "tundra19", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "tundra", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", - "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Ra", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", - "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Ra", "Team": 2, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "erebus36", + "Id": "river_nile20", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -7390,38 +7301,17 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", + "Civ": "Loki", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Zeus", "Team": 2, "Personality": "defender.personality", "DifficultyOffset": -1 @@ -7429,25 +7319,13 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", + "Civ": "Loki", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Zeus", "Team": 2, "Personality": "defender.personality", "DifficultyOffset": -1 @@ -7455,31 +7333,22 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "acropolis37", + "Id": "mirkwood21", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -7488,86 +7357,71 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Oranos", "Team": 2, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Oranos", "Team": 2, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "megalopolis38", + "Id": "watering_hole22", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "HorusMinorWT", @@ -7581,83 +7435,50 @@ ], "Opponents": [ { - "Civ": "Kronos", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Odin", "Team": 2, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Odin", "Team": 2, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "blue_lagoon39", + "Id": "acropolis23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -7666,57 +7487,107 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, + "Civ": "Kronos", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Kronos", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": -1 } ], - "OpponentsFor2PlayerCoop": [ + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + }, + { + "Id": "blue_lagoon24", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "blue_lagoon", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ { - "Civ": "Freyr", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ { "Civ": "Fuxi", - "Team": 0, - "Personality": "conqueror.personality", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Oranos", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Oranos", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], @@ -7725,115 +7596,115 @@ "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "peach_blossom_land40", + "Id": "ghost_lake25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "ghost_lake", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Set", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Fuxi", "Team": 0, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Oranos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 2, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Set", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Fuxi", "Team": 0, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Oranos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 2, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "elysium41", + "Id": "peach_blossom_land26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "peach_blossom_land", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { @@ -7848,114 +7719,114 @@ ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Freyr", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Set", "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Hades", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Freyr", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Set", "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Hades", "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "marsh42", + "Id": "qinghai_lake27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "qinghai_lake", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Zeus", "Team": 0, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Hades", "Team": 2, "Personality": "humanoid.personality", "DifficultyOffset": -1 @@ -7963,25 +7834,25 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Zeus", "Team": 0, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Hades", "Team": 2, "Personality": "humanoid.personality", "DifficultyOffset": -1 @@ -7989,107 +7860,107 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "mount_olympus43", + "Id": "islands28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mount_olympus", + "Map": "islands", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Ra", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Loki", "Team": 0, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Fuxi", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Set", "Team": 2, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Ra", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Loki", "Team": 0, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Fuxi", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Set", "Team": 2, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "savannah44", + "Id": "mirkwood29", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "savannah", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -8104,36 +7975,36 @@ "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Odin", "Team": 0, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Poseidon", "Team": 2, "Personality": "defender.personality", "DifficultyOffset": -1 @@ -8141,25 +8012,25 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Odin", "Team": 0, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Poseidon", "Team": 2, "Personality": "defender.personality", "DifficultyOffset": -1 @@ -8167,22 +8038,31 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "qinghai_lake45", + "Id": "steppe30", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -8191,28 +8071,19 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Ra", "Team": 0, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { @@ -8222,23 +8093,23 @@ "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 2, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Ra", "Team": 0, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { @@ -8248,26 +8119,26 @@ "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 2, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "air46", + "Id": "nile_shallows31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "nile_shallows", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -8282,85 +8153,94 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Odin", "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Loki", "Team": 2, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Odin", "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Loki", "Team": 2, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" }, { - "Id": "river_nile47", + "Id": "oasis32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "SuddenDeath", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -8369,363 +8249,352 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Set", "Team": 1, - "Personality": "passive.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Hades", "Team": 0, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Zeus", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Set", "Team": 1, - "Personality": "passive.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Hades", "Team": 0, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Zeus", "Team": 2, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "nile_shallows48", + "Id": "giza33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Conquest", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 0, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Ra", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Odin", "Team": 2, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 0, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Ra", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Odin", "Team": 2, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "team_migration49", + "Id": "mediterranean34", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "mediterranean", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Gaia", "Team": 0, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Hades", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Freyr", "Team": 2, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Gaia", "Team": 0, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Hades", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Freyr", "Team": 2, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" - } - ] - }, - { - "Name": "Pool4", - "Missions": [ + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + }, { - "Id": "air0", + "Id": "bamboo_grove35", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "bamboo_grove", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "passive.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Shennong", "Team": 0, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Odin", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "passive.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Shennong", "Team": 0, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Odin", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "ironwood1", + "Id": "erebus36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { @@ -8736,75 +8605,87 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Poseidon", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Freyr", "Team": 0, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Poseidon", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Freyr", "Team": 0, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "steppe2", + "Id": "acropolis37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -8813,188 +8694,167 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Gaia", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Odin", "Team": 0, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Freyr", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Gaia", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Odin", "Team": 0, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Freyr", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "archipelago3", + "Id": "megalopolis38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "megalopolis", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Loki", "Team": 0, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Loki", "Team": 0, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" }, { - "Id": "anatolia4", + "Id": "blue_lagoon39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -9003,61 +8863,82 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Fuxi", "Team": 0, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Fuxi", "Team": 0, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "islands5", + "Id": "peach_blossom_land40", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -9073,205 +8954,202 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Oranos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Set", "Team": 0, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Isis", "Team": 1, "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Oranos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Set", "Team": 0, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Isis", "Team": 1, "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "anatolia6", + "Id": "elysium41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Odin", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 0, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Zeus", "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Odin", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 0, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Zeus", "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "blue_lagoon7", + "Id": "marsh42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - } - ], - "Opponents": [ - { - "Civ": "Hades", + "Civ": "Oranos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 0, "Personality": "balanced.personality", "DifficultyOffset": 0 @@ -9279,19 +9157,25 @@ { "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Oranos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 0, "Personality": "balanced.personality", "DifficultyOffset": 0 @@ -9299,123 +9183,123 @@ { "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "team_migration8", + "Id": "mount_olympus43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "mount_olympus", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 0, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Set", "Team": 1, "Personality": "defender.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 0, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Set", "Team": 1, "Personality": "defender.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "watering_hole9", + "Id": "savannah44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "savannah", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -9426,82 +9310,85 @@ "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Loki", "Team": 0, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Loki", "Team": 0, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" }, { - "Id": "midgard10", + "Id": "qinghai_lake45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "qinghai_lake", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -9512,155 +9399,170 @@ "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Thor", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Hades", "Team": 1, "Personality": "passive.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Thor", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Hades", "Team": 1, "Personality": "passive.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "blue_lagoon11", + "Id": "air46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "air", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Zeus", "Team": 0, - "Personality": "supporter.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Loki", "Team": 1, "Personality": "mythical.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Zeus", "Team": 0, - "Personality": "supporter.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Loki", "Team": 1, "Personality": "mythical.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/air-sqr.png" }, { - "Id": "erebus12", + "Id": "river_nile47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "river_nile", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -9682,68 +9584,71 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Hades", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 0, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Hades", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 0, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "giza13", + "Id": "nile_shallows48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "nile_shallows", "Size": "Normal", "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", @@ -9761,177 +9666,174 @@ "Visualization": "Left" }, { - "Id": "CelestialRemnantsD8", - "ArenaEffectName": "CelestialRemnantsD8", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Shennong", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Set", "Team": 0, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Shennong", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Set", "Team": 0, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" }, { - "Id": "kerlaugar14", + "Id": "team_migration49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Set", "Team": 0, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Shennong", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 - } - ], - "OpponentsFor2PlayerCoop": [ + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, { - "Civ": "Ra", + "Civ": "Zeus", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Set", "Team": 0, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Shennong", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "sea_of_worms15", + "Id": "islands48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "sea_of_worms", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, { "Id": "FreyjaMinorWT", "ArenaEffectName": "FreyjaMinorWT", @@ -9940,141 +9842,102 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Amaterasu", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 1 + "Civ": "Freyr", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Amaterasu", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 1 + "Civ": "Freyr", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "arena16", + "Id": "arena51", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "arena", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Amaterasu", "Team": 0, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Civ": "Freyr", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Amaterasu", "Team": 0, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Civ": "Freyr", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], @@ -10082,114 +9945,87 @@ "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "gold_rush17", + "Id": "marsh45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Amaterasu", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", "Team": 0, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Civ": "Poseidon", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Amaterasu", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", "Team": 0, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Civ": "Poseidon", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "archipelago18", + "Id": "kerlaugar36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -10198,313 +10034,238 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Amaterasu", "Team": 1, - "Personality": "passive.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Civ": "Oranos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Amaterasu", "Team": 1, - "Personality": "passive.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Civ": "Oranos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "midgard19", + "Id": "river_nile50", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 0, - "Personality": "passive.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Civ": "Fuxi", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 0, - "Personality": "passive.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Civ": "Fuxi", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "marsh20", + "Id": "jotunheim43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Civ": "Fuxi", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Civ": "Fuxi", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "highland21", + "Id": "highland49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "highland", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Thor", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "Civ": "Kronos", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Thor", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "Civ": "Kronos", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "Rewards": [], @@ -10512,101 +10273,83 @@ "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "jotunheim22", + "Id": "arena52", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "arena", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", "Title": "STR_AOTG_RULE_SEASONS", "Description": "STR_AOTG_RULE_SEASONS_DESC", "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Civ": "Odin", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Civ": "Odin", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "silk_road23", + "Id": "aso_grasslands2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "silk_road", + "Map": "aso_grasslands", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -10619,274 +10362,190 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Susanoo", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Civ": "Hades", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Susanoo", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Civ": "Hades", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + "MapPreviewImage": "resources/maps/previews/aso_grasslands-sqr.png" }, { - "Id": "mount_olympus24", + "Id": "yellow_river32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mount_olympus", + "Map": "yellow_river", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Susanoo", "Team": 0, - "Personality": "supporter.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Civ": "Shennong", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Susanoo", "Team": 0, - "Personality": "supporter.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Civ": "Shennong", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" }, { - "Id": "black_sea25", + "Id": "yellow_river33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "black_sea", + "Map": "yellow_river", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Loki", + "Team": 0, + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, + "Civ": "Fuxi", + "Team": 2, "Personality": "attacker.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Loki", + "Team": 0, + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, + "Civ": "Fuxi", + "Team": 2, "Personality": "attacker.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" }, { - "Id": "ghost_lake26", + "Id": "mirage47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "mirage", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -10899,70 +10558,75 @@ ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Susanoo", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Ra", + "Team": 0, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Susanoo", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Ra", + "Team": 0, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" - }, + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" + } + ] + }, + { + "Name": "Pool4", + "Missions": [ { - "Id": "megalopolis27", + "Id": "air0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "air", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { "Id": "HorusMinorWT", @@ -10974,89 +10638,80 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, + "Civ": "Loki", + "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 3, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Civ": "Oranos", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, + "Civ": "Loki", + "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 3, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Civ": "Oranos", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/air-sqr.png" }, { - "Id": "steppe28", + "Id": "ironwood1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "ironwood", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { @@ -11067,74 +10722,83 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Shennong", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Shennong", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "team_migration29", + "Id": "steppe2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "AphroditeMinorWT", @@ -11146,8 +10810,8 @@ "Visualization": "Left" }, { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", "Title": "STR_AOTG_RULE_SEASONS_PHASE2", "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", @@ -11157,71 +10821,62 @@ ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, + "Civ": "Kronos", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Odin", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, + "Civ": "Kronos", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Odin", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "acropolis30", + "Id": "archipelago3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -11232,73 +10887,91 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - } + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Set", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Ra", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Set", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Ra", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "valley_of_kings31", + "Id": "anatolia4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -11309,77 +10982,68 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Odin", + "Team": 0, + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Odin", + "Team": 0, + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "nomad32", + "Id": "islands5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -11395,91 +11059,100 @@ "Visualization": "Left" }, { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", "Title": "STR_AOTG_RULE_SEASONS_PHASE2", "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Hades", + "Team": 0, + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Hades", + "Team": 0, + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "mediterranean33", + "Id": "anatolia6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Conquest", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -11488,84 +11161,66 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Loki", + "Team": 0, + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Loki", + "Team": 0, + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "giza34", + "Id": "blue_lagoon7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -11583,247 +11238,247 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Hades", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Nuwa", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Hades", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Nuwa", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "marsh35", + "Id": "team_migration8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, + "Civ": "Shennong", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, + "Civ": "Shennong", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "tundra36", + "Id": "watering_hole9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "watering_hole", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Kronos", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Kronos", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "elysium37", + "Id": "midgard10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "midgard", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, { "Id": "FreyjaMinorWT", "ArenaEffectName": "FreyjaMinorWT", @@ -11833,6 +11488,15 @@ "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -11845,141 +11509,141 @@ ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Shennong", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Shennong", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "bamboo_grove38", + "Id": "blue_lagoon11", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD9", - "ArenaEffectName": "CelestialRemnantsD9", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Fuxi", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 3, + "Civ": "Hades", + "Team": 1, "Personality": "mythical.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Fuxi", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 3, + "Civ": "Hades", + "Team": 1, "Personality": "mythical.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "vinlandsaga39", + "Id": "erebus12", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "erebus", "Size": "Normal", "VictoryCondition": "Standard", "GameType": "Deathmatch", @@ -11988,94 +11652,103 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Loki", + "Team": 0, + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Loki", + "Team": 0, + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 3, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "highland40", + "Id": "giza13", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -12083,82 +11756,91 @@ "Visualization": "Right" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Oranos", + "Team": 0, + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Oranos", + "Team": 0, + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "jotunheim41", + "Id": "kerlaugar14", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "kerlaugar", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -12167,84 +11849,84 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD8", - "ArenaEffectName": "CelestialRemnantsD8", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Ra", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Shennong", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 3, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Civ": "Hades", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Ra", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Shennong", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 3, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Civ": "Hades", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "acropolis42", + "Id": "sea_of_worms15", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "sea_of_worms", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -12253,84 +11935,75 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Oranos", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Oranos", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 3, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "erebus43", + "Id": "arena16", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "arena", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -12348,82 +12021,73 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "islands44", + "Id": "gold_rush17", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "gold_rush", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { @@ -12436,66 +12100,66 @@ "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Thor", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Thor", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Fuxi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" }, { - "Id": "river_styx45", + "Id": "archipelago18", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "archipelago", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Lightning", @@ -12504,12 +12168,21 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { @@ -12520,84 +12193,66 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { "Civ": "Isis", - "Team": 2, - "Personality": "economist.personality", + "Team": 0, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 3, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Gaia", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { "Civ": "Isis", - "Team": 2, - "Personality": "economist.personality", + "Team": 0, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 3, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Gaia", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "peach_blossom_land46", + "Id": "midgard19", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -12608,90 +12263,90 @@ "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, + "Civ": "Ra", + "Team": 0, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 3, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, + "Civ": "Ra", + "Team": 0, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 3, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "ghost_lake47", + "Id": "marsh20", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "AthenaMinorWT", @@ -12701,145 +12356,154 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Nuwa", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Nuwa", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 3, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "river_styx48", + "Id": "highland21", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "highland", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Kronos", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 3, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Kronos", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 3, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "watering_hole49", + "Id": "jotunheim22", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "jotunheim", "Size": "Normal", "VictoryCondition": "Standard", "GameType": "Lightning", @@ -12848,96 +12512,109 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Kronos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Set", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Isis", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Kronos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Set", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 3, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Civ": "Isis", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" - } - ] - }, - { - "Name": "Pool5", - "Missions": [ + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, { - "Id": "mirage0", + "Id": "silk_road23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirage", + "Map": "silk_road", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -12946,65 +12623,59 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Ra", + "Team": 0, + "Personality": "attacker.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Ra", + "Team": 0, + "Personality": "attacker.personality", "DifficultyOffset": 0 - } - ], - "Rewards": [], + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 + } + ], + "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "peach_blossom_land1", + "Id": "mount_olympus24", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "mount_olympus", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", @@ -13013,72 +12684,84 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "economist.personality", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "economist.personality", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "yellow_river2", + "Id": "black_sea25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "yellow_river", + "Map": "black_sea", "Size": "Normal", "VictoryCondition": "Conquest", "GameType": "Deathmatch", @@ -13087,22 +12770,13 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "AphroditeMinorWT", @@ -13112,54 +12786,84 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 1, - "Personality": "supporter.personality", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 1, - "Personality": "supporter.personality", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" }, { - "Id": "team_migration3", + "Id": "ghost_lake26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "ghost_lake", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -13177,71 +12881,83 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Thor", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Set", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Thor", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Set", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "ironwood4", + "Id": "megalopolis27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "megalopolis", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "FreyjaMinorWT", @@ -13251,140 +12967,155 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Hades", + "Team": 3, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Hades", + "Team": 3, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" }, { - "Id": "nomad5", + "Id": "steppe28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Set", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 3, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Set", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 3, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "mirkwood6", + "Id": "team_migration29", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -13392,66 +13123,78 @@ "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, + "Civ": "Zeus", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 3, "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, + "Civ": "Zeus", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 3, "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "arena7", + "Id": "acropolis30", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "arena", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -13475,57 +13218,69 @@ "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, + "Civ": "Hades", + "Team": 2, "Personality": "attacker.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 3, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, + "Civ": "Hades", + "Team": 2, "Personality": "attacker.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 3, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "vinlandsaga8", + "Id": "valley_of_kings31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -13540,152 +13295,185 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - } - ], - "Opponents": [ - { - "Civ": "Shennong", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ { - "Civ": "Oranos", + "Civ": "Shennong", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 3, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Zeus", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "river_styx9", + "Id": "nomad32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "nomad", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 1, - "Personality": "supporter.personality", + "Team": 3, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 1, - "Personality": "supporter.personality", + "Team": 3, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "jotunheim10", + "Id": "mediterranean33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "mediterranean", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "HelMinorWT", @@ -13695,207 +13483,234 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Gaia", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Gaia", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" }, { - "Id": "midgard11", + "Id": "giza34", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Nuwa", "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Oranos", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Nuwa", "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Oranos", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "blue_lagoon12", + "Id": "marsh35", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "marsh", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "defender.personality", + "Civ": "Ra", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "defender.personality", + "Civ": "Ra", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "oasis13", + "Id": "tundra36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "tundra", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -13910,95 +13725,107 @@ "Visualization": "Left" }, { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Oranos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 1, + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 3, "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Oranos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 1, + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 3, "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "midgard14", + "Id": "elysium37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], @@ -14010,9 +13837,15 @@ "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Fuxi", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], @@ -14024,260 +13857,302 @@ "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Fuxi", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "alfheim15", + "Id": "bamboo_grove38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "alfheim", + "Map": "bamboo_grove", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Odin", "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 2, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Loki", + "Team": 3, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Odin", "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 2, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Loki", + "Team": 3, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "great_wall16", + "Id": "vinlandsaga39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "great_wall", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, + "Civ": "Odin", + "Team": 2, "Personality": "humanoid.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 3, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, + "Civ": "Odin", + "Team": 2, "Personality": "humanoid.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 3, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "black_sea17", + "Id": "highland40", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "black_sea", + "Map": "highland", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Kronos", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, + "Civ": "Zeus", + "Team": 2, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Kronos", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, + "Civ": "Zeus", + "Team": 2, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "giza18", + "Id": "jotunheim41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "PrometheusMinorWT", @@ -14289,13 +14164,13 @@ "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ @@ -14306,9 +14181,15 @@ "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 3, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], @@ -14320,18 +14201,24 @@ "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 3, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "acropolis19", + "Id": "acropolis42", "Predecessors": [], "PositionX": 0, "PositionY": 0, @@ -14339,27 +14226,18 @@ "Map": "acropolis", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { @@ -14370,33 +14248,54 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Poseidon", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 3, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Poseidon", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 3, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], @@ -14405,15 +14304,15 @@ "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "tundra20", + "Id": "erebus43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "erebus", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -14427,15 +14326,6 @@ "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -14444,71 +14334,92 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "supporter.personality", + "Civ": "Nuwa", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "supporter.personality", + "Civ": "Nuwa", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "bamboo_grove21", + "Id": "islands44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "AphroditeMinorWT", @@ -14522,124 +14433,157 @@ ], "Opponents": [ { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Poseidon", - "Team": 1, - "Personality": "humanoid.personality", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Poseidon", - "Team": 1, - "Personality": "humanoid.personality", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "megalopolis22", + "Id": "river_styx45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Thor", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Isis", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 3, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Thor", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Isis", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 3, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "nile_shallows23", + "Id": "peach_blossom_land46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -14649,15 +14593,6 @@ "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -14670,67 +14605,70 @@ ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Isis", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 3, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Isis", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 3, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "kerlaugar24", + "Id": "ghost_lake47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "ghost_lake", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD9", - "ArenaEffectName": "CelestialRemnantsD9", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "HelMinorWT", @@ -14740,57 +14678,78 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 3, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "mount_olympus25", + "Id": "river_styx48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mount_olympus", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -14807,56 +14766,68 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "overwhelmer.personality", + "Civ": "Set", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 3, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "overwhelmer.personality", + "Civ": "Set", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 3, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "marsh26", + "Id": "watering_hole49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -14872,78 +14843,90 @@ "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Thor", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Thor", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 3, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "air27", + "Id": "okuchichibu1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "okuchichibu", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { "Id": "PrometheusMinorWT", @@ -14953,146 +14936,143 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, - "Personality": "defender.personality", + "Civ": "Amaterasu", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, - "Personality": "defender.personality", + "Civ": "Amaterasu", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/okuchichibu-sqr.png" }, { - "Id": "gold_rush28", + "Id": "mount_olympus44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "mount_olympus", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Amaterasu", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Amaterasu", + "Team": 0, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "sea_of_worms29", + "Id": "oasis44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "sea_of_worms", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -15114,167 +15094,127 @@ ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Amaterasu", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Amaterasu", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Civ": "Freyr", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "savannah30", + "Id": "arena53", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "savannah", + "Map": "arena", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", + "Civ": "Amaterasu", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, { "Civ": "Isis", "Team": 2, - "Personality": "humanoid.personality" + "Personality": "supporter.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", + "Civ": "Amaterasu", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, { "Civ": "Isis", "Team": 2, - "Personality": "humanoid.personality" + "Personality": "supporter.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "mediterranean31", + "Id": "elysium50", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "elysium", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -15284,369 +15224,346 @@ ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Odin", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "attacker.personality" + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Odin", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "attacker.personality" + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "mediterranean32", + "Id": "senjogahara0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "senjogahara", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Shennong", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "defender.personality" + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Shennong", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "overwhelmer.personality", + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "defender.personality" + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/senjogahara-sqr.png" }, { - "Id": "mirkwood33", + "Id": "qinghai_lake48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "qinghai_lake", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 2, - "Personality": "attacker.personality", + "Personality": "passive.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Isis", "Team": 2, - "Personality": "attacker.personality" + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], - "OpponentsFor2PlayerCoop": [ + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + }, + { + "Id": "oasis45", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "oasis", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ { - "Civ": "Nuwa", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" }, { - "Civ": "Gaia", + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Odin", "Team": 2, - "Personality": "attacker.personality", + "Personality": "passive.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Odin", "Team": 2, - "Personality": "attacker.personality" + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "river_nile34", + "Id": "snake_dance0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "snake_dance", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, + "Civ": "Susanoo", + "Team": 0, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "attacker.personality" + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, + "Civ": "Susanoo", + "Team": 0, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "attacker.personality" + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/snake_dance-sqr.png" }, { - "Id": "elysium35", + "Id": "river_nile51", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -15657,76 +15574,66 @@ "Visualization": "Left" }, { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Susanoo", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "attacker.personality" + "Civ": "Isis", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Susanoo", + "Team": 0, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "attacker.personality" + "Civ": "Isis", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "anatolia36", + "Id": "vinlandsaga45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "vinlandsaga", "Size": "Normal", "VictoryCondition": "SuddenDeath", "GameType": "Lightning", @@ -15735,97 +15642,66 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", + "Civ": "Susanoo", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", + "Civ": "Thor", "Team": 2, - "Personality": "defender.personality" + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", + "Civ": "Susanoo", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", + "Civ": "Thor", "Team": 2, - "Personality": "defender.personality" + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "silk_road37", + "Id": "setonaikai0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "silk_road", + "Map": "setonaikai", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -15840,195 +15716,156 @@ "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Susanoo", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Poseidon", "Team": 2, - "Personality": "humanoid.personality" + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", + "Civ": "Susanoo", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Poseidon", "Team": 2, - "Personality": "humanoid.personality" + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" - }, + "MapPreviewImage": "resources/maps/previews/setonaikai-sqr.png" + } + ] + }, + { + "Name": "Pool5", + "Missions": [ { - "Id": "oasis38", + "Id": "mirage0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "mirage", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Odin", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 2, - "Personality": "attacker.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Odin", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 2, - "Personality": "attacker.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" }, { - "Id": "valley_of_kings39", + "Id": "peach_blossom_land1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { @@ -16039,93 +15876,62 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "humanoid.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "humanoid.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "megalopolis40", + "Id": "yellow_river2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "yellow_river", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "HelMinorWT", @@ -16137,191 +15943,138 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Thor", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Set", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "mythical.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Thor", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Set", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "mythical.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" }, { - "Id": "watering_hole41", + "Id": "team_migration3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "team_migration", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Thor", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "humanoid.personality" } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Thor", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "humanoid.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "muspellheim42", + "Id": "ironwood4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "muspellheim", + "Map": "ironwood", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", "Title": "STR_AOTG_RULE_SEASONS", "Description": "STR_AOTG_RULE_SEASONS_DESC", "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", @@ -16329,22 +16082,25 @@ "Visualization": "Right" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ - { - "Civ": "Nuwa", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, { "Civ": "Odin", "Team": 1, @@ -16352,24 +16108,13 @@ "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "supporter.personality" } ], "OpponentsFor2PlayerCoop": [ - { - "Civ": "Nuwa", - "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, { "Civ": "Odin", "Team": 1, @@ -16377,42 +16122,46 @@ "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "supporter.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "archipelago43", + "Id": "nomad5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "nomad", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { @@ -16423,81 +16172,50 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, - "Personality": "supporter.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, - "Personality": "supporter.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "steppe44", + "Id": "mirkwood6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "mirkwood", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -16512,109 +16230,87 @@ "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Gaia", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "balanced.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Gaia", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "balanced.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "qinghai_lake45", + "Id": "arena7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "arena", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "AphroditeMinorWT", @@ -16628,193 +16324,149 @@ ], "Opponents": [ { - "Civ": "Oranos", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", + "Civ": "Nuwa", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, + "Civ": "Thor", + "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", + "Civ": "Nuwa", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, + "Civ": "Thor", + "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "islands46", + "Id": "vinlandsaga8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Shennong", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Oranos", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "supporter.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Shennong", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Oranos", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "supporter.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "ghost_lake47", + "Id": "river_styx9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD8", - "ArenaEffectName": "CelestialRemnantsD8", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" } ], @@ -16822,86 +16474,55 @@ { "Civ": "Loki", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 2, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "defender.personality" } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Loki", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 2, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "defender.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "highland48", + "Id": "jotunheim10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" }, { @@ -16912,180 +16533,174 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "attacker.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "attacker.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "erebus49", + "Id": "midgard11", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { "Civ": "Gaia", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, - "Personality": "balanced.personality" } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { "Civ": "Gaia", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, - "Personality": "balanced.personality" } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" - } - ] - }, - { - "Name": "Pool6", - "Missions": [ + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + }, { - "Id": "nomad0", + "Id": "blue_lagoon12", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 @@ -17093,7 +16708,13 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 @@ -17101,161 +16722,6798 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "ghost_lake1", + "Id": "oasis13", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], - "Opponents": [ - { - "Civ": "Gaia", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - } - ], - "OpponentsFor2PlayerCoop": [ + "WorldTwists": [ { - "Civ": "Gaia", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + }, + { + "Id": "midgard14", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "midgard", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + }, + { + "Id": "alfheim15", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "alfheim", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + }, + { + "Id": "great_wall16", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "great_wall", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + }, + { + "Id": "black_sea17", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "black_sea", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + }, + { + "Id": "giza18", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "giza", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + }, + { + "Id": "acropolis19", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "acropolis", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + }, + { + "Id": "tundra20", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "tundra", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + }, + { + "Id": "bamboo_grove21", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "bamboo_grove", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + }, + { + "Id": "megalopolis22", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "megalopolis", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + }, + { + "Id": "nile_shallows23", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "nile_shallows", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + }, + { + "Id": "kerlaugar24", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "kerlaugar", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + }, + { + "Id": "mount_olympus25", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mount_olympus", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + }, + { + "Id": "marsh26", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "marsh", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + }, + { + "Id": "air27", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "air", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/air-sqr.png" + }, + { + "Id": "gold_rush28", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "gold_rush", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + }, + { + "Id": "sea_of_worms29", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "sea_of_worms", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + }, + { + "Id": "savannah30", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "savannah", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + }, + { + "Id": "mediterranean31", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mediterranean", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + }, + { + "Id": "mediterranean32", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mediterranean", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + }, + { + "Id": "mirkwood33", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirkwood", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + }, + { + "Id": "river_nile34", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "river_nile", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + }, + { + "Id": "elysium35", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "elysium", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + }, + { + "Id": "anatolia36", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "anatolia", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + }, + { + "Id": "silk_road37", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "silk_road", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + }, + { + "Id": "oasis38", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "oasis", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + }, + { + "Id": "valley_of_kings39", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "valley_of_kings", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + }, + { + "Id": "megalopolis40", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "megalopolis", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + }, + { + "Id": "watering_hole41", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "watering_hole", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + }, + { + "Id": "muspellheim42", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "muspellheim", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + }, + { + "Id": "archipelago43", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "archipelago", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + }, + { + "Id": "steppe44", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "steppe", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + }, + { + "Id": "qinghai_lake45", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "qinghai_lake", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + }, + { + "Id": "islands46", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "islands", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + }, + { + "Id": "ghost_lake47", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "ghost_lake", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + }, + { + "Id": "highland48", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "highland", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + }, + { + "Id": "erebus49", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "erebus", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + }, + { + "Id": "silk_road40", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "silk_road", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + }, + { + "Id": "marsh46", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "marsh", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + }, + { + "Id": "archipelago47", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "archipelago", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + }, + { + "Id": "snake_dance1", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "snake_dance", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/snake_dance-sqr.png" + }, + { + "Id": "jotunheim44", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "jotunheim", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, + { + "Id": "jotunheim45", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "jotunheim", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, + { + "Id": "elysium51", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "elysium", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + }, + { + "Id": "mirkwood34", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirkwood", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + }, + { + "Id": "river_nile52", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "river_nile", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + }, + { + "Id": "black_sea26", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "black_sea", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + }, + { + "Id": "valley_of_kings40", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "valley_of_kings", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + }, + { + "Id": "sea_of_worms43", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "sea_of_worms", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + }, + { + "Id": "mount_olympus45", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mount_olympus", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + }, + { + "Id": "mirage48", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirage", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" + }, + { + "Id": "oasis46", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "oasis", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + } + ] + }, + { + "Name": "Pool6", + "Missions": [ + { + "Id": "nomad0", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "nomad", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + }, + { + "Id": "ghost_lake1", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "ghost_lake", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + }, + { + "Id": "arena2", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "arena", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + }, + { + "Id": "savannah3", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "savannah", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + }, + { + "Id": "giza4", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "giza", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + }, + { + "Id": "giza5", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "giza", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + }, + { + "Id": "peach_blossom_land6", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "peach_blossom_land", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + }, + { + "Id": "islands7", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "islands", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + }, + { + "Id": "alfheim8", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "alfheim", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + }, + { + "Id": "ghost_lake9", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "ghost_lake", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + }, + { + "Id": "silk_road10", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "silk_road", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + }, + { + "Id": "mirkwood11", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirkwood", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + }, + { + "Id": "bamboo_grove12", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "bamboo_grove", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + }, + { + "Id": "mediterranean13", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mediterranean", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + }, + { + "Id": "muspellheim14", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "muspellheim", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + }, + { + "Id": "mirkwood15", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirkwood", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + }, + { + "Id": "highland16", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "highland", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + }, + { + "Id": "blue_lagoon17", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "blue_lagoon", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + }, + { + "Id": "midgard18", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "midgard", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + }, + { + "Id": "air19", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "air", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/air-sqr.png" + }, + { + "Id": "great_wall20", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "great_wall", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + }, + { + "Id": "ironwood21", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "ironwood", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + }, + { + "Id": "nile_shallows22", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "nile_shallows", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + }, + { + "Id": "oasis23", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "oasis", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Gaia", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + }, + { + "Id": "kerlaugar24", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "kerlaugar", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + }, + { + "Id": "muspellheim25", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "muspellheim", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + }, + { + "Id": "silk_road26", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "silk_road", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + }, + { + "Id": "gold_rush27", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "gold_rush", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + }, + { + "Id": "megalopolis28", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "megalopolis", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + }, + { + "Id": "jotunheim29", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "jotunheim", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, + { + "Id": "yellow_river30", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "yellow_river", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + }, + { + "Id": "midgard31", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "midgard", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + }, + { + "Id": "acropolis32", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "acropolis", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Zeus", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + }, + { + "Id": "nile_shallows33", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "nile_shallows", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + }, + { + "Id": "sea_of_worms34", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "sea_of_worms", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + }, + { + "Id": "oasis35", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "oasis", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + }, + { + "Id": "mount_olympus36", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mount_olympus", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + }, + { + "Id": "islands37", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "islands", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + }, + { + "Id": "erebus38", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "erebus", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + }, + { + "Id": "tundra39", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "tundra", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + }, + { + "Id": "air40", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "air", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/air-sqr.png" + }, + { + "Id": "alfheim41", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "alfheim", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + }, + { + "Id": "tundra42", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "tundra", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + }, + { + "Id": "elysium43", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "elysium", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + }, + { + "Id": "anatolia44", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "anatolia", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + }, + { + "Id": "qinghai_lake45", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "qinghai_lake", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + }, + { + "Id": "archipelago46", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "archipelago", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + }, + { + "Id": "qinghai_lake47", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "qinghai_lake", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + }, + { + "Id": "arena48", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "arena", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Isis", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + }, + { + "Id": "steppe49", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "steppe", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + }, + { + "Id": "mount_olympus46", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mount_olympus", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + }, + { + "Id": "kii1", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "kii", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/kii-sqr.png" + }, + { + "Id": "okuchichibu2", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "okuchichibu", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/okuchichibu-sqr.png" + }, + { + "Id": "mediterranean35", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mediterranean", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + }, + { + "Id": "black_sea27", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "black_sea", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + }, + { + "Id": "setonaikai1", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "setonaikai", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/setonaikai-sqr.png" + }, + { + "Id": "jotunheim46", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "jotunheim", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, + { + "Id": "kii2", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "kii", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Tsukuyomi", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/kii-sqr.png" + }, + { + "Id": "ghost_lake48", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "ghost_lake", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + }, + { + "Id": "mirkwood35", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirkwood", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + }, + { + "Id": "valley_of_kings41", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "valley_of_kings", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + }, + { + "Id": "mirage49", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "mirage", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [], + "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" + } + ] + }, + { + "Name": "Pool7", + "Missions": [ + { + "Id": "yellow_river0", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "yellow_river", + "Size": "Normal", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + }, + { + "Id": "kerlaugar1", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "kerlaugar", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + }, + { + "Id": "valley_of_kings2", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "valley_of_kings", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + }, + { + "Id": "river_styx3", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "river_styx", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "arena2", + "Id": "blue_lagoon4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "arena", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "savannah3", + "Id": "anatolia5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "savannah", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "giza4", + "Id": "river_styx6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Oranos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Oranos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "giza5", + "Id": "great_wall7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "great_wall", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Ra", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 @@ -17263,7 +23521,7 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Ra", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 @@ -17271,93 +23529,123 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "peach_blossom_land6", + "Id": "air8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "air", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/air-sqr.png" }, { - "Id": "islands7", + "Id": "nile_shallows9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "nile_shallows", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" }, { - "Id": "alfheim8", + "Id": "alfheim10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "alfheim", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Odin", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 @@ -17365,7 +23653,7 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Odin", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 @@ -17376,22 +23664,208 @@ "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" }, { - "Id": "ghost_lake9", + "Id": "savannah11", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "savannah", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Set", + "Civ": "Shennong", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Shennong", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + }, + { + "Id": "river_nile12", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "river_nile", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + }, + { + "Id": "team_migration13", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "team_migration", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Oranos", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + }, + { + "Id": "megalopolis14", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "megalopolis", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + }, + { + "Id": "marsh15", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "marsh", + "Size": "Normal", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Freyr", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 @@ -17399,7 +23873,7 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 @@ -17407,35 +23881,181 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "silk_road10", + "Id": "steppe16", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "steppe", + "Size": "Normal", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Freyr", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + }, + { + "Id": "air17", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "air", + "Size": "Normal", + "VictoryCondition": "Standard", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], + "Opponents": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Poseidon", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/air-sqr.png" + }, + { + "Id": "silk_road18", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "silk_road", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, { "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Thor", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, { "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], @@ -17444,90 +24064,180 @@ "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "mirkwood11", + "Id": "gold_rush19", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "gold_rush", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" }, { - "Id": "bamboo_grove12", + "Id": "giza20", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "mediterranean13", + "Id": "ironwood21", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "ironwood", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Fuxi", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 @@ -17535,7 +24245,19 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Fuxi", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 @@ -17543,299 +24265,525 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "muspellheim14", + "Id": "great_wall22", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "muspellheim", + "Map": "great_wall", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, { "Civ": "Oranos", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, { "Civ": "Oranos", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "mirkwood15", + "Id": "islands23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "highland16", + "Id": "mediterranean24", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "mediterranean", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" }, { - "Id": "blue_lagoon17", + "Id": "highland25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "highland", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, { "Civ": "Odin", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Hades", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, { "Civ": "Odin", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "midgard18", + "Id": "valley_of_kings26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "valley_of_kings", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, { "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, { "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "air19", + "Id": "jotunheim27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "jotunheim", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], - "Opponents": [ + "WorldTwists": [ { - "Civ": "Isis", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], - "OpponentsFor2PlayerCoop": [ + "Opponents": [ { - "Civ": "Isis", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 - } - ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" - }, - { - "Id": "great_wall20", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "great_wall", - "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [], - "Opponents": [ + }, { - "Civ": "Set", + "Civ": "Fuxi", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "ironwood21", + "Id": "acropolis28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "acropolis", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Odin", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Odin", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "nile_shallows22", + "Id": "nomad29", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "nomad", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { "Civ": "Nuwa", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], @@ -17843,339 +24791,679 @@ { "Civ": "Nuwa", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "oasis23", + "Id": "erebus30", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "kerlaugar24", + "Id": "tundra31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "tundra", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, { "Civ": "Oranos", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, { "Civ": "Oranos", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "muspellheim25", + "Id": "nomad32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "muspellheim", + "Map": "nomad", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Zeus", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Zeus", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "silk_road26", + "Id": "bamboo_grove33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "silk_road", + "Map": "bamboo_grove", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, { "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Odin", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, { "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "gold_rush27", + "Id": "archipelago34", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "megalopolis28", + "Id": "kerlaugar35", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "jotunheim29", + "Id": "oasis36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "yellow_river30", + "Id": "acropolis37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "yellow_river", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "midgard31", + "Id": "river_nile38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Ra", "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Ra", "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "acropolis32", + "Id": "arena39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "arena", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], @@ -18183,75 +25471,155 @@ { "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "nile_shallows33", + "Id": "bamboo_grove40", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "bamboo_grove", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "sea_of_worms34", + "Id": "sea_of_worms41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "sea_of_worms", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], @@ -18260,92 +25628,114 @@ "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "oasis35", + "Id": "sea_of_worms42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "sea_of_worms", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], - "Opponents": [ + "WorldTwists": [ { - "Civ": "Shennong", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], - "OpponentsFor2PlayerCoop": [ + "Opponents": [ { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 - } - ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" - }, - { - "Id": "mount_olympus36", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "mount_olympus", - "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [], - "Opponents": [ + }, { - "Civ": "Kronos", - "Team": 1, + "Civ": "Set", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Isis", "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "islands37", + "Id": "oasis43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Conquest", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { "Civ": "Freyr", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], @@ -18353,211 +25743,407 @@ { "Civ": "Freyr", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "erebus38", + "Id": "vinlandsaga44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "tundra39", + "Id": "midgard45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "air40", + "Id": "mirage46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "mirage", "Size": "Normal", "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + } + ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Loki", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Loki", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 - } - ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" - }, - { - "Id": "alfheim41", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "alfheim", - "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [], - "Opponents": [ + }, { - "Civ": "Fuxi", - "Team": 1, + "Civ": "Thor", + "Team": 0, "Personality": "economist.personality", "DifficultyOffset": 0 - } - ], - "OpponentsFor2PlayerCoop": [ + }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "economist.personality", + "Civ": "Kronos", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" }, { - "Id": "tundra42", + "Id": "giza47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Set", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Set", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "elysium43", + "Id": "elysium48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], @@ -18566,114 +26152,160 @@ "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "anatolia44", + "Id": "nomad49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "nomad", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [], + "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + } + ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Freyr", "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Freyr", "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "qinghai_lake45", + "Id": "watering_hole52", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "watering_hole", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [], "Opponents": [ { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "archipelago46", + "Id": "anatolia46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [], "Opponents": [ { - "Civ": "Hades", + "Civ": "Amaterasu", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Amaterasu", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "qinghai_lake47", + "Id": "sea_of_worms44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "sea_of_worms", "Size": "Normal", "VictoryCondition": "SuddenDeath", "GameType": "Standard", @@ -18683,33 +26315,57 @@ "WorldTwists": [], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "arena48", + "Id": "team_migration51", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "arena", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -18717,33 +26373,57 @@ "WorldTwists": [], "Opponents": [ { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Amaterasu", + "Team": 0, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "steppe49", + "Id": "midgard46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -18751,699 +26431,774 @@ "WorldTwists": [], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Amaterasu", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Amaterasu", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" - } - ] - }, - { - "Name": "Pool7", - "Missions": [ + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + }, { - "Id": "yellow_river0", + "Id": "marsh47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "yellow_river", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Amaterasu", "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Amaterasu", "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 0, "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "kerlaugar1", + "Id": "black_sea28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "black_sea", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Odin", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" }, { - "Id": "valley_of_kings2", + "Id": "sea_of_worms45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "sea_of_worms", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "river_styx3", + "Id": "vinlandsaga46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Set", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - } - ], - "OpponentsFor2PlayerCoop": [ + }, { - "Civ": "Set", + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" - }, - { - "Id": "blue_lagoon4", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "blue_lagoon", - "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [ + "OpponentsFor2PlayerCoop": [ { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - } - ], - "Opponents": [ + "Civ": "Shennong", + "Team": 1, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "passive.personality", "DifficultyOffset": 0 - } - ], - "OpponentsFor2PlayerCoop": [ + }, { - "Civ": "Kronos", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "anatolia5", + "Id": "peach_blossom_land47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "KingOfTheHill", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Set", + "Civ": "Zeus", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Zeus", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Tsukuyomi", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "river_styx6", + "Id": "watering_hole53", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "great_wall7", + "Id": "kerlaugar37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "great_wall", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Ra", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "economist.personality", + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "air8", + "Id": "sea_of_worms46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "sea_of_worms", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Susanoo", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Susanoo", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "nile_shallows9", + "Id": "great_wall26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "great_wall", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Thor", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "alfheim10", + "Id": "kerlaugar38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "alfheim", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Odin", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "savannah11", + "Id": "jotunheim47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "savannah", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Susanoo", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "river_nile12", + "Id": "team_migration52", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "team_migration", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - } - ], + "WorldTwists": [], "Opponents": [ { - "Civ": "Hades", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "team_migration13", + "Id": "peach_blossom_land48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, - "WorldTwists": [ - { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - } - ], + "WorldTwists": [], "Opponents": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, { "Civ": "Oranos", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ + { + "Civ": "Susanoo", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, { "Civ": "Oranos", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" - }, + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + } + ] + }, + { + "Name": "Pool8", + "Missions": [ { - "Id": "megalopolis14", + "Id": "tundra0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "tundra", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Shennong", "Team": 1, "Personality": "balanced.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Shennong", "Team": 1, "Personality": "balanced.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "marsh15", + "Id": "archipelago1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -19456,38 +27211,47 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "steppe16", + "Id": "qinghai_lake2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "qinghai_lake", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -19500,242 +27264,230 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "air17", + "Id": "tundra3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "tundra", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" + }, + { + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Poseidon", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 0, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", + "Civ": "Set", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 0, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", + "Civ": "Set", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "silk_road18", + "Id": "gold_rush4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "silk_road", + "Map": "gold_rush", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Loki", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Loki", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" }, { - "Id": "gold_rush19", + "Id": "valley_of_kings5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Thor", - "Team": 0, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Thor", - "Team": 0, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "giza20", + "Id": "nomad6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "nomad", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -19748,66 +27500,72 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Odin", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Odin", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "ironwood21", + "Id": "mirkwood7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -19820,62 +27578,59 @@ ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Nuwa", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Zeus", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Nuwa", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Zeus", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "great_wall22", + "Id": "alfheim8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "great_wall", + "Map": "alfheim", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -19888,198 +27643,254 @@ ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" }, { - "Id": "islands23", + "Id": "kerlaugar9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Thor", + "Civ": "Fuxi", "Team": 1, - "Personality": "passive.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Thor", + "Civ": "Fuxi", "Team": 1, - "Personality": "passive.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "mediterranean24", + "Id": "kerlaugar10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, - "Personality": "economist.personality", + "Civ": "Gaia", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 - }, + } + ], + "OpponentsFor2PlayerCoop": [ { "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], - "OpponentsFor2PlayerCoop": [ + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + }, + { + "Id": "midgard11", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "midgard", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ { - "Civ": "Loki", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Hades", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, - "Personality": "economist.personality", + "Civ": "Nuwa", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 - }, + } + ], + "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "highland25", + "Id": "anatolia12", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -20092,177 +27903,159 @@ ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Thor", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Thor", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "valley_of_kings26", + "Id": "ironwood13", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "ironwood", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 0, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 0, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "jotunheim27", + "Id": "jotunheim14", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 0, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 0, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], @@ -20271,151 +28064,145 @@ "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "acropolis28", + "Id": "black_sea15", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "black_sea", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 0, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 0, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" }, { - "Id": "nomad29", + "Id": "jotunheim16", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 0, - "Personality": "supporter.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 0, - "Personality": "supporter.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "erebus30", + "Id": "river_styx17", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -20428,61 +28215,58 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Thor", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Zeus", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Thor", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 0, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Zeus", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "tundra31", + "Id": "steppe18", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -20496,62 +28280,59 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Oranos", - "Team": 0, - "Personality": "overwhelmer.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "nomad32", + "Id": "vinlandsaga19", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -20564,130 +28345,124 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 0, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 0, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "bamboo_grove33", + "Id": "river_nile20", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "river_nile", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 0, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 0, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "archipelago34", + "Id": "mirkwood21", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -20700,61 +28475,123 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, "Personality": "balanced.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 }, { "Civ": "Oranos", "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Kronos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 }, { - "Civ": "Fuxi", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Civ": "Oranos", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + }, + { + "Id": "watering_hole22", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "watering_hole", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Set", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 + }, + { + "Civ": "Odin", + "Team": 0, + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Set", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { - "Civ": "Oranos", + "Civ": "Odin", "Team": 0, "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "kerlaugar35", + "Id": "acropolis23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -20768,263 +28605,251 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 }, { - "Civ": "Hades", + "Civ": "Kronos", "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 }, { - "Civ": "Hades", + "Civ": "Kronos", "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "oasis36", + "Id": "blue_lagoon24", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { "Civ": "Oranos", "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { "Civ": "Oranos", "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "acropolis37", + "Id": "ghost_lake25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "ghost_lake", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 }, { - "Civ": "Set", + "Civ": "Oranos", "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 }, { - "Civ": "Set", + "Civ": "Oranos", "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "river_nile38", + "Id": "peach_blossom_land26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 }, { "Civ": "Poseidon", - "Team": 2, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Team": 0, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": 1 }, { "Civ": "Poseidon", - "Team": 2, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Team": 0, + "Personality": "passive.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "arena39", + "Id": "muspellheim27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "arena", + "Map": "muspellheim", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Deathmatch", @@ -21040,641 +28865,578 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "supporter.personality", + "DifficultyOffset": 1 }, { - "Civ": "Hades", + "Civ": "Zeus", "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "supporter.personality", + "DifficultyOffset": 1 }, { - "Civ": "Hades", + "Civ": "Zeus", "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" }, { - "Id": "bamboo_grove40", + "Id": "islands28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "balanced.personality", + "DifficultyOffset": 1 }, { - "Civ": "Ra", + "Civ": "Loki", "Team": 0, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "balanced.personality", + "DifficultyOffset": 1 }, { - "Civ": "Ra", + "Civ": "Loki", "Team": 0, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Nuwa", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "economist.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "sea_of_worms41", + "Id": "mirkwood29", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "sea_of_worms", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": 1 }, { - "Civ": "Thor", + "Civ": "Odin", "Team": 0, "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": 1 }, { - "Civ": "Thor", + "Civ": "Odin", "Team": 0, "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "sea_of_worms42", + "Id": "steppe30", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "sea_of_worms", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Kronos", "Team": 1, "Personality": "passive.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 }, { - "Civ": "Set", + "Civ": "Ra", "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Kronos", "Team": 1, "Personality": "passive.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 }, { - "Civ": "Set", + "Civ": "Ra", "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "defender.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "oasis43", + "Id": "nile_shallows31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "nile_shallows", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { - "Civ": "Isis", + "Civ": "Odin", "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 2, "Personality": "defender.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { - "Civ": "Isis", + "Civ": "Odin", "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Loki", - "Team": 2, "Personality": "defender.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" }, { - "Id": "vinlandsaga44", + "Id": "oasis32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Set", "Team": 1, "Personality": "supporter.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 }, { - "Civ": "Shennong", + "Civ": "Hades", "Team": 0, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, "Personality": "attacker.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Set", "Team": 1, "Personality": "supporter.personality", - "DifficultyOffset": 0 + "DifficultyOffset": 1 }, { - "Civ": "Shennong", + "Civ": "Hades", "Team": 0, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Isis", - "Team": 2, "Personality": "attacker.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "midgard45", + "Id": "giza33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { - "Civ": "Kronos", + "Civ": "Nuwa", "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 }, { - "Civ": "Kronos", + "Civ": "Nuwa", "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "mirage46", + "Id": "mediterranean34", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirage", + "Map": "mediterranean", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Oranos", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 }, { - "Civ": "Thor", + "Civ": "Gaia", "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Oranos", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 1 }, { - "Civ": "Thor", + "Civ": "Gaia", "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Personality": "conqueror.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" }, { - "Id": "giza47", + "Id": "bamboo_grove35", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "bamboo_grove", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Odin", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Personality": "defender.personality", + "DifficultyOffset": 1 }, { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, "Personality": "economist.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Odin", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 + "Personality": "defender.personality", + "DifficultyOffset": 1 }, { - "Civ": "Gaia", + "Civ": "Shennong", "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", - "Team": 2, "Personality": "economist.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "elysium48", + "Id": "erebus36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -21688,285 +29450,245 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Freyr", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", "Team": 2, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Isis", "Team": 2, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Freyr", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", "Team": 2, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Isis", "Team": 2, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "nomad49", + "Id": "acropolis37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 0, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", + "Civ": "Odin", "Team": 2, - "Personality": "passive.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Freyr", "Team": 2, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Gaia", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 0, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Gaia", - "Team": 2, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Poseidon", + "Civ": "Odin", "Team": 2, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 - } - ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" - } - ] - }, - { - "Name": "Pool8", - "Missions": [ - { - "Id": "tundra0", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "tundra", - "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [ - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - } - ], - "Opponents": [ - { - "Civ": "Shennong", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 - } - ], - "OpponentsFor2PlayerCoop": [ - { - "Civ": "Shennong", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Civ": "Freyr", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "archipelago1", + "Id": "megalopolis38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "megalopolis", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" }, { - "Id": "qinghai_lake2", + "Id": "blue_lagoon39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "blue_lagoon", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], @@ -21974,85 +29696,133 @@ { "Civ": "Freyr", "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Freyr", "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Fuxi", + "Team": 2, "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "tundra3", + "Id": "peach_blossom_land40", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "gold_rush4", + "Id": "elysium41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "elysium", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -22067,207 +29837,255 @@ "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Thor", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Thor", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "valley_of_kings5", + "Id": "marsh42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Zeus", - "Team": 1, - "Personality": "conqueror.personality", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Zeus", - "Team": 1, - "Personality": "conqueror.personality", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "nomad6", + "Id": "mount_olympus43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "mount_olympus", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Gaia", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Gaia", + "Team": 0, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "mirkwood7", + "Id": "savannah44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "savannah", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], @@ -22275,121 +30093,169 @@ { "Civ": "Nuwa", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Loki", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Nuwa", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Loki", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" }, { - "Id": "alfheim8", + "Id": "qinghai_lake45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "alfheim", + "Map": "qinghai_lake", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "kerlaugar9", + "Id": "air46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "air", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "FreyjaMinorWT", @@ -22403,384 +30269,441 @@ ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Set", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Set", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/air-sqr.png" }, { - "Id": "kerlaugar10", + "Id": "river_nile47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Thor", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", "Team": 1, - "Personality": "supporter.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Thor", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", "Team": 1, - "Personality": "supporter.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "midgard11", + "Id": "nile_shallows48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "nile_shallows", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", + "Team": 0, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" }, { - "Id": "anatolia12", + "Id": "team_migration49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Set", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Freyr", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Set", + "Team": 0, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "ironwood13", + "Id": "jotunheim48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", + "Civ": "Amaterasu", "Team": 1, - "Personality": "balanced.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", + "Civ": "Amaterasu", "Team": 1, - "Personality": "balanced.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "jotunheim14", + "Id": "mirage50", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "mirage", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 1, - "Personality": "passive.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 1, - "Personality": "passive.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" }, { - "Id": "black_sea15", + "Id": "qinghai_lake49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "black_sea", + "Map": "qinghai_lake", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -22793,46 +30716,46 @@ ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Amaterasu", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Amaterasu", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "jotunheim16", + "Id": "great_wall27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "great_wall", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -22845,267 +30768,234 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Amaterasu", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Amaterasu", "Team": 1, - "Personality": "defender.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 + "Personality": "mythical.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "river_styx17", + "Id": "midgard47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Amaterasu", "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Shennong", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Amaterasu", "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Shennong", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "steppe18", + "Id": "kerlaugar39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "kerlaugar", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "passive.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Shennong", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "passive.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Shennong", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "vinlandsaga19", + "Id": "mount_olympus47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "mount_olympus", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Oranos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Oranos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "river_nile20", + "Id": "valley_of_kings42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -23118,238 +31008,223 @@ ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Set", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Personality": "balanced.personality", + "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Set", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 0 + "Personality": "balanced.personality", + "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "mirkwood21", + "Id": "kii3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "kii", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Civ": "Odin", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Civ": "Odin", + "Team": 2, + "Personality": "passive.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/kii-sqr.png" }, { - "Id": "watering_hole22", + "Id": "giza48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "giza", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Susanoo", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Susanoo", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "acropolis23", + "Id": "mediterranean36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "mediterranean", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Susanoo", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "passive.personality", + "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": -1 + "Civ": "Isis", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Susanoo", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "passive.personality", + "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": -1 + "Civ": "Isis", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" }, { - "Id": "blue_lagoon24", + "Id": "mirkwood36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "mirkwood", "Size": "Normal", "VictoryCondition": "Standard", "GameType": "Standard", @@ -23358,200 +31233,217 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Susanoo", "Team": 1, "Personality": "attacker.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, + "Civ": "Gaia", + "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Susanoo", "Team": 1, "Personality": "attacker.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, + "Civ": "Gaia", + "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": -1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "ghost_lake25", + "Id": "jotunheim49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Susanoo", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, + "Civ": "Zeus", + "Team": 2, "Personality": "economist.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Susanoo", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, + "Civ": "Zeus", + "Team": 2, "Personality": "economist.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" - }, + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + } + ] + }, + { + "Name": "Pool9", + "Missions": [ { - "Id": "peach_blossom_land26", + "Id": "air0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "air", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { "Civ": "Freyr", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "passive.personality", + "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 0, - "Personality": "passive.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { "Civ": "Freyr", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 1 + "Personality": "passive.personality", + "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 0, - "Personality": "passive.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/air-sqr.png" }, { - "Id": "muspellheim27", + "Id": "ironwood1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "muspellheim", + "Map": "ironwood", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -23573,46 +31465,46 @@ ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 0, - "Personality": "overwhelmer.personality", - "DifficultyOffset": -1 + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 0, - "Personality": "overwhelmer.personality", - "DifficultyOffset": -1 + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "islands28", + "Id": "steppe2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -23627,68 +31519,77 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Personality": "economist.personality", + "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": -1 + "Civ": "Kronos", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 1 + "Personality": "economist.personality", + "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": -1 + "Civ": "Kronos", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "mirkwood29", + "Id": "archipelago3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "archipelago", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { @@ -23699,61 +31600,70 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 1 + "Personality": "conqueror.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Civ": "Oranos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 1 + "Personality": "conqueror.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Civ": "Oranos", + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "steppe30", + "Id": "anatolia4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "anatolia", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { @@ -23764,258 +31674,285 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Oranos", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 + "Civ": "Odin", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Oranos", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 + "Civ": "Odin", + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "nile_shallows31", + "Id": "islands5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "islands", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD9", - "ArenaEffectName": "CelestialRemnantsD9", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 + "Civ": "Hades", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 + "Civ": "Hades", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "oasis32", + "Id": "anatolia6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Conquest", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Civ": "Loki", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "giza33", + "Id": "blue_lagoon7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 }, { "Civ": "Nuwa", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": -1 + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 }, { "Civ": "Nuwa", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": -1 + "Team": 1, + "Personality": "balanced.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "mediterranean34", + "Id": "team_migration8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "FreyjaMinorWT", "ArenaEffectName": "FreyjaMinorWT", @@ -24024,62 +31961,6 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - } - ], - "Opponents": [ - { - "Civ": "Oranos", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 - }, - { - "Civ": "Gaia", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 - } - ], - "OpponentsFor2PlayerCoop": [ - { - "Civ": "Oranos", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 - }, - { - "Civ": "Gaia", - "Team": 0, - "Personality": "conqueror.personality", - "DifficultyOffset": -1 - } - ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" - }, - { - "Id": "bamboo_grove35", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "bamboo_grove", - "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [ - { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" }, { "Id": "AphroditeMinorWT", @@ -24089,50 +31970,71 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 1 + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Shennong", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": -1 + "Civ": "Kronos", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 1 + "Personality": "balanced.personality", + "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 0, - "Personality": "economist.personality", - "DifficultyOffset": -1 + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Kronos", + "Team": 1, + "Personality": "defender.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "erebus36", + "Id": "watering_hole9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -24154,74 +32056,83 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Thor", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Kronos", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Fuxi", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Thor", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Kronos", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Fuxi", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "acropolis37", + "Id": "midgard10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "PrometheusMinorWT", @@ -24231,59 +32142,68 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Shennong", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Freyr", - "Team": 2, - "Personality": "overwhelmer.personality", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Shennong", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Freyr", - "Team": 2, - "Personality": "overwhelmer.personality", + "Team": 1, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "megalopolis38", + "Id": "blue_lagoon11", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "blue_lagoon", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Lightning", @@ -24291,15 +32211,6 @@ "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -24308,61 +32219,79 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Poseidon", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, + "Civ": "Hades", + "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Poseidon", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, + "Civ": "Hades", + "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "blue_lagoon39", + "Id": "erebus12", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Standard", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", @@ -24378,227 +32307,263 @@ "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Shennong", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, + "Civ": "Loki", + "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Shennong", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 2, + "Civ": "Loki", + "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Kronos", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "peach_blossom_land40", + "Id": "giza13", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "giza", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Oranos", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Oranos", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Kronos", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "elysium41", + "Id": "kerlaugar14", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Hades", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Ra", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Shennong", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Hades", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "marsh42", + "Id": "sea_of_worms15", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "sea_of_worms", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, { "Id": "FreyjaMinorWT", "ArenaEffectName": "FreyjaMinorWT", @@ -24609,80 +32574,80 @@ "Visualization": "Left" }, { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, + "Civ": "Oranos", + "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Fuxi", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, + "Civ": "Oranos", + "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "mount_olympus43", + "Id": "arena16", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mount_olympus", + "Map": "arena", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { @@ -24693,87 +32658,75 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Nuwa", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 0, - "Personality": "economist.personality", + "Civ": "Poseidon", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Zeus", "Team": 1, - "Personality": "defender.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Nuwa", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 0, - "Personality": "economist.personality", + "Civ": "Poseidon", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Zeus", "Team": 1, - "Personality": "defender.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Kronos", - "Team": 2, - "Personality": "defender.personality", - "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "savannah44", + "Id": "gold_rush17", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "savannah", + "Map": "gold_rush", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -24782,78 +32735,93 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 0, - "Personality": "humanoid.personality", + "Civ": "Thor", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 0, - "Personality": "humanoid.personality", + "Civ": "Thor", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" }, { - "Id": "qinghai_lake45", + "Id": "archipelago18", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -24864,85 +32832,91 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 0, - "Personality": "attacker.personality", + "Civ": "Isis", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 0, - "Personality": "attacker.personality", + "Civ": "Isis", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "air46", + "Id": "midgard19", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -24951,176 +32925,161 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 0, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 0, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "river_nile47", + "Id": "marsh20", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 0, - "Personality": "defender.personality", + "Civ": "Nuwa", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 0, - "Personality": "defender.personality", + "Civ": "Nuwa", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "nile_shallows48", + "Id": "highland21", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "highland", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -25131,85 +33090,91 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 0, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Kronos", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Set", - "Team": 0, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Kronos", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", - "DifficultyOffset": 1 + "Team": 1, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "team_migration49", + "Id": "jotunheim22", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -25218,95 +33183,78 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Civ": "Isis", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 0, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Shennong", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Civ": "Isis", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" - } - ] - }, - { - "Name": "Pool9", - "Missions": [ + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + }, { - "Id": "air0", + "Id": "silk_road23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "silk_road", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", "Title": "STR_AOTG_RULE_SEASONS", "Description": "STR_AOTG_RULE_SEASONS_DESC", "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", @@ -25321,72 +33269,66 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Ra", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Poseidon", "Team": 1, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Fuxi", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Ra", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Poseidon", "Team": 1, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "ironwood1", + "Id": "mount_olympus24", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "mount_olympus", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -25397,69 +33339,90 @@ "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Poseidon", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "steppe2", + "Id": "black_sea25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "black_sea", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "AphroditeMinorWT", @@ -25482,13 +33445,19 @@ ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Set", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Oranos", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 1 @@ -25496,13 +33465,19 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Set", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Oranos", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 1 @@ -25510,29 +33485,29 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" }, { - "Id": "archipelago3", + "Id": "ghost_lake26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "ghost_lake", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { @@ -25545,142 +33520,175 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Oranos", - "Team": 1, + "Team": 0, "Personality": "balanced.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Oranos", - "Team": 1, + "Team": 0, "Personality": "balanced.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Loki", + "Team": 1, + "Personality": "defender.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "anatolia4", + "Id": "megalopolis27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "megalopolis", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Loki", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Gaia", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Hades", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Loki", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Gaia", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Hades", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" }, { - "Id": "islands5", + "Id": "steppe28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "steppe", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { @@ -25691,158 +33699,87 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ - { - "Civ": "Gaia", - "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 0 - }, { "Civ": "Hades", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 - } - ], - "OpponentsFor2PlayerCoop": [ - { - "Civ": "Gaia", - "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 - } - ], - "Rewards": [], - "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" - }, - { - "Id": "anatolia6", - "Predecessors": [], - "PositionX": 0, - "PositionY": 0, - "Visualization": "Regular", - "Map": "anatolia", - "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", - "MapVisibility": "Normal", - "StartingResources": "Standard", - "AllowTitans": true, - "WorldTwists": [ - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - } - ], - "Opponents": [ - { - "Civ": "Thor", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Set", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": -1 }, { - "Civ": "Loki", + "Civ": "Odin", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Hades", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Set", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Odin", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "blue_lagoon7", + "Id": "team_migration29", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "team_migration", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", "Title": "STR_AOTG_RULE_SEASONS_PHASE2", "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", @@ -25852,46 +33789,58 @@ ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Poseidon", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Poseidon", "Team": 1, - "Personality": "mythical.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", + "Team": 0, + "Personality": "supporter.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "team_migration8", + "Id": "acropolis30", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -25906,89 +33855,89 @@ "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, + "Civ": "Hades", + "Team": 0, "Personality": "attacker.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 }, { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, + "Civ": "Hades", + "Team": 0, "Personality": "attacker.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 }, { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 + "Personality": "conqueror.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "watering_hole9", + "Id": "valley_of_kings31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { @@ -26001,66 +33950,66 @@ "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": -1 }, { - "Civ": "Fuxi", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Shennong", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 + "Civ": "Zeus", + "Team": 0, + "Personality": "defender.personality", + "DifficultyOffset": -1 }, { - "Civ": "Fuxi", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "midgard10", + "Id": "nomad32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "nomad", "Size": "Normal", "VictoryCondition": "Standard", "GameType": "Lightning", @@ -26078,13 +34027,13 @@ "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" }, { "Id": "HorusMinorWT", @@ -26098,69 +34047,78 @@ ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Isis", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": -1 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Isis", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 0 + "Civ": "Kronos", + "Team": 0, + "Personality": "attacker.personality", + "DifficultyOffset": -1 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 + "Personality": "humanoid.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "blue_lagoon11", + "Id": "mediterranean33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "mediterranean", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { @@ -26171,75 +34129,161 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, + "Civ": "Gaia", + "Team": 0, "Personality": "supporter.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 }, { - "Civ": "Hades", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 1, + "Civ": "Gaia", + "Team": 0, "Personality": "supporter.personality", - "DifficultyOffset": 0 + "DifficultyOffset": -1 }, { - "Civ": "Hades", + "Civ": "Thor", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + }, + { + "Id": "kerlaugar34", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "kerlaugar", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Nuwa", "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 0, "Personality": "mythical.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Nuwa", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 + }, + { + "Civ": "Odin", + "Team": 0, + "Personality": "mythical.personality", + "DifficultyOffset": -1 + }, + { + "Civ": "Oranos", + "Team": 1, + "Personality": "passive.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "erebus12", + "Id": "marsh35", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "marsh", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -26250,17 +34294,8 @@ "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", "Title": "STR_AOTG_RULE_SEASONS", "Description": "STR_AOTG_RULE_SEASONS_DESC", "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", @@ -26270,62 +34305,83 @@ ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, + "Civ": "Oranos", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, + "Civ": "Oranos", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "giza13", + "Id": "tundra36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "tundra", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -26336,85 +34392,88 @@ "Visualization": "Left" }, { - "Id": "CelestialRemnantsD8", - "ArenaEffectName": "CelestialRemnantsD8", + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "kerlaugar14", + "Id": "elysium37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -26422,85 +34481,97 @@ "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Odin", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Set", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Odin", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Set", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "sea_of_worms15", + "Id": "bamboo_grove38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "sea_of_worms", + "Map": "bamboo_grove", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -26508,176 +34579,200 @@ "Visualization": "Right" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Odin", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Loki", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Odin", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "humanoid.personality", + "Civ": "Loki", + "Team": 2, + "Personality": "mythical.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 2, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "arena16", + "Id": "vinlandsaga39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "arena", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Standard", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Odin", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "passive.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Odin", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 1, - "Personality": "passive.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "conqueror.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Gaia", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "gold_rush17", + "Id": "highland40", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "highland", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "FreyjaMinorWT", @@ -26689,80 +34784,92 @@ "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Zeus", "Team": 1, - "Personality": "supporter.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Oranos", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Zeus", "Team": 1, - "Personality": "supporter.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, - "Personality": "balanced.personality", + "Civ": "Oranos", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "archipelago18", + "Id": "jotunheim41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { @@ -26775,168 +34882,183 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Set", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Odin", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Set", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 1, - "Personality": "attacker.personality", + "Civ": "Odin", + "Team": 2, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Loki", + "Team": 2, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "midgard19", + "Id": "acropolis42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Ra", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 2, "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Ra", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", - "Team": 1, + "Civ": "Fuxi", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Thor", + "Team": 2, "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "marsh20", + "Id": "erebus43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Standard", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -26947,32 +35069,47 @@ "Visualization": "Left" }, { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { "Civ": "Gaia", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Oranos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], @@ -26980,135 +35117,144 @@ { "Civ": "Gaia", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 1, - "Personality": "mythical.personality", + "Civ": "Oranos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "highland21", + "Id": "islands44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Thor", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Zeus", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Poseidon", + "Team": 2, + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Freyr", + "Team": 2, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Thor", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Zeus", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 1, - "Personality": "conqueror.personality", + "Civ": "Poseidon", + "Team": 2, + "Personality": "defender.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Freyr", + "Team": 2, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "jotunheim22", + "Id": "river_styx45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "AthenaMinorWT", "ArenaEffectName": "AthenaMinorWT", @@ -27118,6 +35264,15 @@ "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -27130,80 +35285,74 @@ ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 1, - "Personality": "passive.personality", + "Civ": "Kronos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", - "Team": 1, - "Personality": "passive.personality", + "Civ": "Kronos", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Zeus", + "Team": 2, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "silk_road23", + "Id": "peach_blossom_land46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "silk_road", + "Map": "peach_blossom_land", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -27212,84 +35361,105 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Zeus", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Civ": "Nuwa", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { "Civ": "Poseidon", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Zeus", + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Isis", "Team": 1, "Personality": "passive.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Civ": "Nuwa", + "Team": 2, + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { "Civ": "Poseidon", - "Team": 1, - "Personality": "overwhelmer.personality", - "DifficultyOffset": 1 + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "mount_olympus24", + "Id": "ghost_lake47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mount_olympus", + "Map": "ghost_lake", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, - { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -27298,69 +35468,90 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Civ": "Freyr", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, + "Civ": "Odin", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, "Personality": "mythical.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Civ": "Freyr", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Civ": "Fuxi", - "Team": 1, + "Civ": "Odin", + "Team": 2, + "Personality": "attacker.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Nuwa", + "Team": 2, "Personality": "mythical.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "black_sea25", + "Id": "river_styx48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "black_sea", + "Map": "river_styx", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -27377,82 +35568,85 @@ "Visualization": "Left" }, { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Set", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 + "Team": 1, + "Personality": "economist.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Civ": "Shennong", + "Team": 2, + "Personality": "supporter.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Ra", + "Team": 2, + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "ghost_lake26", + "Id": "watering_hole49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -27463,69 +35657,90 @@ "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, - "Personality": "balanced.personality", - "DifficultyOffset": -1 + "Civ": "Thor", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 1, + "Civ": "Zeus", + "Team": 2, "Personality": "defender.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 0, - "Personality": "balanced.personality", - "DifficultyOffset": -1 + "Civ": "Thor", + "Team": 1, + "Personality": "attacker.personality", + "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 1, + "Civ": "Zeus", + "Team": 2, "Personality": "defender.personality", - "DifficultyOffset": 1 + "DifficultyOffset": 0 + }, + { + "Civ": "Hades", + "Team": 2, + "Personality": "economist.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "megalopolis27", + "Id": "archipelago48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -27540,75 +35755,131 @@ "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" + } + ], + "Opponents": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 1 + } + ], + "OpponentsFor2PlayerCoop": [ + { + "Civ": "Amaterasu", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 0 + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "humanoid.personality", + "DifficultyOffset": 1 + } + ], + "Rewards": [], + "MinimapImage": "", + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + }, + { + "Id": "highland50", + "Predecessors": [], + "PositionX": 0, + "PositionY": 0, + "Visualization": "Regular", + "Map": "highland", + "Size": "Normal", + "VictoryCondition": "Conquest", + "GameType": "Standard", + "MapVisibility": "Normal", + "StartingResources": "Standard", + "AllowTitans": true, + "WorldTwists": [ + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Amaterasu", "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Amaterasu", "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "steppe28", + "Id": "valley_of_kings43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "valley_of_kings", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Standard", @@ -27617,259 +35888,232 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 0, "Personality": "supporter.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Poseidon", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 0, "Personality": "supporter.personality", - "DifficultyOffset": -1 + "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Poseidon", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "team_migration29", + "Id": "midgard48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "midgard", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Amaterasu", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Gaia", "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Amaterasu", "Team": 1, - "Personality": "passive.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Gaia", "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Personality": "overwhelmer.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "acropolis30", + "Id": "mirkwood37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Amaterasu", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Ra", "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Personality": "conqueror.personality", + "DifficultyOffset": 0 }, { "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Amaterasu", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Ra", "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Personality": "conqueror.personality", + "DifficultyOffset": 0 }, { "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 1 + "Personality": "supporter.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "valley_of_kings31", + "Id": "aso_grasslands3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "aso_grasslands", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -27884,100 +36128,70 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 - }, - { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 0, - "Personality": "defender.personality", - "DifficultyOffset": -1 - }, - { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/aso_grasslands-sqr.png" }, { - "Id": "nomad32", + "Id": "qinghai_lake50", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "qinghai_lake", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, - { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -27990,166 +36204,139 @@ ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Tsukuyomi", "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Personality": "conqueror.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 1 + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Tsukuyomi", "Team": 0, - "Personality": "attacker.personality", - "DifficultyOffset": -1 + "Personality": "conqueror.personality", + "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "humanoid.personality", - "DifficultyOffset": 1 + "Personality": "balanced.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "mediterranean33", + "Id": "kii4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "kii", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Thor", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Personality": "passive.personality", + "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Thor", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Tsukuyomi", "Team": 0, - "Personality": "supporter.personality", - "DifficultyOffset": -1 + "Personality": "passive.personality", + "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", - "DifficultyOffset": 1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/kii-sqr.png" }, { - "Id": "kerlaugar34", + "Id": "oasis47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -28158,173 +36345,152 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Loki", "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Freyr", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Tsukuyomi", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Loki", "Team": 0, - "Personality": "mythical.personality", - "DifficultyOffset": -1 + "Personality": "humanoid.personality", + "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Freyr", "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 1 + "Personality": "mythical.personality", + "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "marsh35", + "Id": "mirkwood38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", - "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Thor", + "Team": 0, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Odin", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", - "Team": 1, - "Personality": "defender.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Thor", + "Team": 0, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Odin", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "tundra36", + "Id": "elysium52", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -28335,288 +36501,222 @@ "Visualization": "Left" }, { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Susanoo", "Team": 1, - "Personality": "passive.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Susanoo", "Team": 1, - "Personality": "passive.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Freyr", - "Team": 2, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", - "DifficultyOffset": 0 + "Personality": "attacker.personality", + "DifficultyOffset": 1 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "elysium37", + "Id": "great_wall28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "great_wall", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Susanoo", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, + "Civ": "Poseidon", + "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", - "Team": 1, - "Personality": "conqueror.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Susanoo", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, + "Civ": "Poseidon", + "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "bamboo_grove38", + "Id": "steppe51", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD9", - "ArenaEffectName": "CelestialRemnantsD9", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Thor", + "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Susanoo", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, + "Civ": "Kronos", + "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", - "Team": 1, - "Personality": "balanced.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Thor", + "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Susanoo", + "Team": 0, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", - "Team": 2, + "Civ": "Kronos", + "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "vinlandsaga39", + "Id": "highland51", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "highland", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { @@ -28627,279 +36727,242 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Isis", + "Team": 0, + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", - "Team": 1, - "Personality": "passive.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Odin", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Isis", + "Team": 0, + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "highland40", + "Id": "snake_dance2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "snake_dance", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", - "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", + "Civ": "Susanoo", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 2, + "Civ": "Set", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "passive.personality", + "Civ": "Freyr", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", - "Team": 1, - "Personality": "mythical.personality", - "DifficultyOffset": 0 - }, - { - "Civ": "Zeus", + "Civ": "Susanoo", "Team": 1, - "Personality": "passive.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 2, + "Civ": "Set", + "Team": 0, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "passive.personality", + "Civ": "Freyr", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" - }, + "MapPreviewImage": "resources/maps/previews/snake_dance-sqr.png" + } + ] + }, + { + "Name": "Pool10", + "Missions": [ { - "Id": "jotunheim41", + "Id": "mirage0", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "mirage", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD8", - "ArenaEffectName": "CelestialRemnantsD8", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Thor", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "passive.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 - }, - { - "Civ": "Odin", - "Team": 2, - "Personality": "humanoid.personality", + }, + { + "Civ": "Set", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Thor", + "Team": 1, + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" }, { - "Id": "acropolis42", + "Id": "peach_blossom_land1", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "peach_blossom_land", "Size": "Normal", "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -28914,112 +36977,94 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { "Civ": "Fuxi", - "Team": 2, - "Personality": "balanced.personality", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { "Civ": "Fuxi", - "Team": 2, - "Personality": "balanced.personality", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Loki", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" }, { - "Id": "erebus43", + "Id": "yellow_river2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "yellow_river", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -29028,184 +37073,202 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Odin", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Odin", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" }, { - "Id": "islands44", + "Id": "team_migration3", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "team_migration", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Fuxi", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Isis", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Ra", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Fuxi", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Isis", + "Team": 1, + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", - "Team": 2, - "Personality": "humanoid.personality", + "Civ": "Ra", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" }, { - "Id": "river_styx45", + "Id": "ironwood4", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "ironwood", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { "Id": "FreyjaMinorWT", @@ -29217,101 +37280,101 @@ "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Odin", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Set", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Oranos", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Odin", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Set", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", - "Team": 2, - "Personality": "supporter.personality", + "Civ": "Ra", + "Team": 1, + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "conqueror.personality", + "Civ": "Oranos", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" }, { - "Id": "peach_blossom_land46", + "Id": "nomad5", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "nomad", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { @@ -29326,82 +37389,82 @@ ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "passive.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, + "Civ": "Loki", + "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Set", + "Team": 1, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Hades", "Team": 1, - "Personality": "passive.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, + "Civ": "Loki", + "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Set", + "Team": 1, + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" }, { - "Id": "ghost_lake47", + "Id": "mirkwood6", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "SuddenDeath", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "HelMinorWT", @@ -29413,93 +37476,102 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Odin", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", - "Team": 2, - "Personality": "attacker.personality", + "Civ": "Zeus", + "Team": 1, + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", - "Team": 2, - "Personality": "mythical.personality", + "Civ": "Odin", + "Team": 1, + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "river_styx48", + "Id": "arena7", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "arena", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "AphroditeMinorWT", @@ -29509,80 +37581,71 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Nuwa", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", + "Team": 1, + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Nuwa", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Shennong", - "Team": 2, - "Personality": "supporter.personality", + "Team": 1, + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", - "Team": 2, - "Personality": "balanced.personality", + "Civ": "Loki", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/arena-sqr.png" }, { - "Id": "watering_hole49", + "Id": "vinlandsaga8", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "vinlandsaga", "Size": "Normal", "VictoryCondition": "Standard", "GameType": "Lightning", @@ -29590,15 +37653,6 @@ "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -29616,90 +37670,94 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Oranos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Isis", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Poseidon", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Oranos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", - "Team": 2, - "Personality": "defender.personality", + "Civ": "Isis", + "Team": 1, + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", - "Team": 2, - "Personality": "economist.personality", + "Civ": "Poseidon", + "Team": 1, + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" - } - ] - }, - { - "Name": "Pool10", - "Missions": [ + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + }, { - "Id": "mirage0", + "Id": "river_styx9", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirage", + "Map": "river_styx", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { @@ -29712,281 +37770,299 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Thor", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirage-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" }, { - "Id": "peach_blossom_land1", + "Id": "jotunheim10", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "peach_blossom_land", + "Map": "jotunheim", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "SuddenDeath", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" + "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" }, { - "Id": "yellow_river2", + "Id": "midgard11", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "yellow_river", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Oranos", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Gaia", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Shennong", "Team": 1, - "Personality": "balanced.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/yellow_river-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "team_migration3", + "Id": "blue_lagoon12", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "team_migration", + "Map": "blue_lagoon", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -29995,105 +38071,78 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Set", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Hades", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Set", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { "Civ": "Isis", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Hades", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/team_migration-sqr.png" + "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" }, { - "Id": "ironwood4", + "Id": "vinlandsaga13", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ironwood", + "Map": "vinlandsaga", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "Standard", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "FreyjaMinorWT", "ArenaEffectName": "FreyjaMinorWT", @@ -30104,289 +38153,307 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Nuwa", "Team": 1, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ironwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" }, { - "Id": "nomad5", + "Id": "midgard14", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nomad", + "Map": "midgard", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Isis", + "Civ": "Odin", "Team": 1, - "Personality": "supporter.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Isis", + "Civ": "Odin", "Team": 1, - "Personality": "supporter.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nomad-sqr.png" + "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" }, { - "Id": "mirkwood6", + "Id": "alfheim15", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "alfheim", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Oranos", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Zeus", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Oranos", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Odin", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Zeus", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" }, { - "Id": "arena7", + "Id": "great_wall16", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "arena", + "Map": "great_wall", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { "Id": "PrometheusMinorWT", @@ -30396,178 +38463,169 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Hades", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Hades", "Team": 1, "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Isis", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/arena-sqr.png" + "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" }, { - "Id": "vinlandsaga8", + "Id": "black_sea17", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "black_sea", "Size": "Normal", - "VictoryCondition": "Standard", + "VictoryCondition": "Conquest", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Hades", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Hades", "Team": 1, - "Personality": "balanced.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" }, { - "Id": "river_styx9", + "Id": "giza18", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_styx", + "Map": "giza", "Size": "Normal", "VictoryCondition": "Regicide", "GameType": "Standard", @@ -30576,22 +38634,13 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { "Id": "PrometheusMinorWT", @@ -30601,86 +38650,104 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Freyr", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Loki", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_styx-sqr.png" + "MapPreviewImage": "resources/maps/previews/giza-sqr.png" }, { - "Id": "jotunheim10", + "Id": "acropolis19", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "jotunheim", + "Map": "acropolis", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "HelMinorWT", @@ -30690,20 +38757,11 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Shennong", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 @@ -30711,25 +38769,25 @@ { "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Fuxi", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Hades", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Shennong", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 @@ -30737,40 +38795,58 @@ { "Civ": "Kronos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Fuxi", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Hades", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/jotunheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" }, { - "Id": "midgard11", + "Id": "tundra20", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "tundra", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Standard", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" + }, { "Id": "PrometheusMinorWT", "ArenaEffectName": "PrometheusMinorWT", @@ -30779,108 +38855,81 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Freyr", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Freyr", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Zeus", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" }, { - "Id": "blue_lagoon12", + "Id": "bamboo_grove21", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "blue_lagoon", + "Map": "bamboo_grove", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -30888,12 +38937,21 @@ "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "SeasonsD2", + "ArenaEffectName": "SeasonsD2", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], @@ -30901,25 +38959,25 @@ { "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Ra", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], @@ -30927,333 +38985,333 @@ { "Civ": "Kronos", "Team": 1, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Ra", "Team": 1, - "Personality": "attacker.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/blue_lagoon-sqr.png" + "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" }, { - "Id": "vinlandsaga13", + "Id": "megalopolis22", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "vinlandsaga", + "Map": "megalopolis", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "KingOfTheHill", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "CelestialRemnantsD5", + "ArenaEffectName": "CelestialRemnantsD5", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Poseidon", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Hades", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Poseidon", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Oranos", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Hades", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Isis", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/vinlandsaga-sqr.png" + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" }, { - "Id": "midgard14", + "Id": "nile_shallows23", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "midgard", + "Map": "nile_shallows", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Zeus", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Zeus", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/midgard-sqr.png" + "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" }, { - "Id": "alfheim15", + "Id": "kerlaugar24", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "alfheim", + "Map": "kerlaugar", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Deathmatch", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD3", + "ArenaEffectName": "SeasonsD3", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Thor", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Set", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Fuxi", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/alfheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" }, { - "Id": "great_wall16", + "Id": "mount_olympus25", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "great_wall", + "Map": "mount_olympus", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", @@ -31262,17 +39320,8 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -31280,94 +39329,94 @@ "Visualization": "Right" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Oranos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Nuwa", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Oranos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Nuwa", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/great_wall-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "black_sea17", + "Id": "marsh26", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "black_sea", + "Map": "marsh", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -31378,93 +39427,102 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Thor", "Team": 1, - "Personality": "mythical.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/black_sea-sqr.png" + "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" }, { - "Id": "giza18", + "Id": "air27", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "giza", + "Map": "air", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "PrometheusMinorWT", @@ -31476,190 +39534,199 @@ "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD4", + "ArenaEffectName": "SeasonsD4", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Poseidon", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Poseidon", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/giza-sqr.png" + "MapPreviewImage": "resources/maps/previews/air-sqr.png" }, { - "Id": "acropolis19", + "Id": "gold_rush28", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "acropolis", + "Map": "gold_rush", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Regicide", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Poseidon", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Thor", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/acropolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" }, { - "Id": "tundra20", + "Id": "sea_of_worms29", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "tundra", + "Map": "sea_of_worms", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { @@ -31670,206 +39737,197 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Freyr", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Hades", "Team": 1, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Freyr", + "Civ": "Thor", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Shennong", "Team": 1, - "Personality": "supporter.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Hades", "Team": 1, - "Personality": "mythical.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Fuxi", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/tundra-sqr.png" + "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" }, { - "Id": "bamboo_grove21", + "Id": "savannah30", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "bamboo_grove", + "Map": "savannah", "Size": "Normal", "VictoryCondition": "Standard", - "GameType": "Standard", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "SeasonsD2", - "ArenaEffectName": "SeasonsD2", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Kronos", + "Civ": "Loki", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Odin", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Isis", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Kronos", + "Civ": "Loki", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Odin", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Isis", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/bamboo_grove-sqr.png" + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" }, { - "Id": "megalopolis22", + "Id": "mediterranean31", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "mediterranean", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Standard", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD5", - "ArenaEffectName": "CelestialRemnantsD5", + "Id": "CelestialRemnantsD0", + "ArenaEffectName": "CelestialRemnantsD0", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -31879,7 +39937,7 @@ ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 @@ -31891,21 +39949,21 @@ "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 @@ -31917,53 +39975,53 @@ "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" }, { - "Id": "nile_shallows23", + "Id": "mediterranean32", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "nile_shallows", + "Map": "mediterranean", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "VictoryCondition": "Regicide", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD6", + "ArenaEffectName": "SeasonsD6", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" }, { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "ThothMinorWT", @@ -31977,92 +40035,74 @@ ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/nile_shallows-sqr.png" + "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" }, { - "Id": "kerlaugar24", + "Id": "mirkwood33", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "kerlaugar", + "Map": "mirkwood", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "CelestialRemnantsD9", - "ArenaEffectName": "CelestialRemnantsD9", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "SeasonsD3", - "ArenaEffectName": "SeasonsD3", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, { "Id": "HelMinorWT", "ArenaEffectName": "HelMinorWT", @@ -32071,81 +40111,99 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD7", + "ArenaEffectName": "SeasonsD7", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" + }, + { + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Nuwa", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Nuwa", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/kerlaugar-sqr.png" + "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" }, { - "Id": "mount_olympus25", + "Id": "river_nile34", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mount_olympus", + "Map": "river_nile", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Lightning", + "VictoryCondition": "Standard", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD7", - "ArenaEffectName": "CelestialRemnantsD7", + "Id": "CelestialRemnantsD1", + "ArenaEffectName": "CelestialRemnantsD1", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -32162,94 +40220,85 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Set", "Team": 1, - "Personality": "mythical.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Zeus", "Team": 1, - "Personality": "economist.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" + "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" }, { - "Id": "marsh26", + "Id": "elysium35", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "marsh", + "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -32260,81 +40309,90 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD8", + "ArenaEffectName": "SeasonsD8", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Hades", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Loki", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Ra", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Set", "Team": 1, - "Personality": "economist.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/marsh-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "air27", + "Id": "anatolia36", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "air", + "Map": "anatolia", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, @@ -32349,102 +40407,102 @@ "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD4", - "ArenaEffectName": "SeasonsD4", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { "Civ": "Hades", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Thor", "Team": 1, - "Personality": "defender.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Gaia", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { "Civ": "Hades", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/air-sqr.png" + "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" }, { - "Id": "gold_rush28", + "Id": "silk_road37", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "gold_rush", + "Map": "silk_road", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD5", - "ArenaEffectName": "SeasonsD5", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Visualization": "Left" }, { "Id": "PrometheusMinorWT", @@ -32456,101 +40514,92 @@ "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Freyr", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Loki", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Thor", + "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Freyr", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Loki", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/gold_rush-sqr.png" + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "sea_of_worms29", + "Id": "oasis38", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "sea_of_worms", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "Regicide", + "VictoryCondition": "Conquest", "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" }, { @@ -32561,29 +40610,38 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Poseidon", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Hades", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 @@ -32591,25 +40649,25 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Poseidon", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Hades", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Isis", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Gaia", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 @@ -32617,40 +40675,22 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/sea_of_worms-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "savannah30", + "Id": "valley_of_kings39", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "savannah", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -32659,299 +40699,317 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Odin", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Ra", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Odin", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "mediterranean31", + "Id": "megalopolis40", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "megalopolis", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD9", + "ArenaEffectName": "SeasonsD9", + "Title": "STR_AOTG_RULE_SEASONS_PHASE2", + "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", + "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", + "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Visualization": "Right" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD0", - "ArenaEffectName": "CelestialRemnantsD0", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Loki", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Oranos", + "Civ": "Isis", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Loki", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" }, { - "Id": "mediterranean32", + "Id": "watering_hole41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mediterranean", + "Map": "watering_hole", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Deathmatch", + "VictoryCondition": "SuddenDeath", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "SeasonsD6", - "ArenaEffectName": "SeasonsD6", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Visualization": "Left" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD2", + "ArenaEffectName": "CelestialRemnantsD2", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Fuxi", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Fuxi", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Nuwa", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mediterranean-sqr.png" + "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" }, { - "Id": "mirkwood33", + "Id": "muspellheim42", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "mirkwood", + "Map": "muspellheim", "Size": "Normal", "VictoryCondition": "Conquest", - "GameType": "Deathmatch", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD7", - "ArenaEffectName": "SeasonsD7", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", + "Id": "SeasonsD0", + "ArenaEffectName": "SeasonsD0", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" }, { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", "Visualization": "Left" } ], @@ -32959,25 +41017,25 @@ { "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Odin", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { "Civ": "Ra", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], @@ -32985,62 +41043,53 @@ { "Civ": "Nuwa", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Odin", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Shennong", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { "Civ": "Ra", "Team": 1, - "Personality": "attacker.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/mirkwood-sqr.png" + "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" }, { - "Id": "river_nile34", + "Id": "archipelago43", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "river_nile", + "Map": "archipelago", "Size": "Normal", - "VictoryCondition": "Standard", - "GameType": "Standard", + "VictoryCondition": "Conquest", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD1", - "ArenaEffectName": "CelestialRemnantsD1", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { @@ -33051,29 +41100,38 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { "Civ": "Set", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Fuxi", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 @@ -33083,23 +41141,23 @@ { "Civ": "Set", "Team": 1, - "Personality": "defender.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Fuxi", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 @@ -33107,22 +41165,31 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/river_nile-sqr.png" + "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" }, { - "Id": "elysium35", + "Id": "steppe44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "elysium", + "Map": "steppe", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "SuddenDeath", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ + { + "Id": "CelestialRemnantsD3", + "ArenaEffectName": "CelestialRemnantsD3", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" + }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -33133,87 +41200,78 @@ "Visualization": "Left" }, { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "SeasonsD8", - "ArenaEffectName": "SeasonsD8", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Hades", + "Civ": "Poseidon", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Hades", + "Civ": "Poseidon", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { "Civ": "Loki", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Freyr", "Team": 1, - "Personality": "attacker.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Set", + "Civ": "Nuwa", "Team": 1, - "Personality": "attacker.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" + "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" }, { - "Id": "anatolia36", + "Id": "qinghai_lake45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "anatolia", + "Map": "qinghai_lake", "Size": "Normal", "VictoryCondition": "SuddenDeath", "GameType": "Lightning", @@ -33222,14 +41280,23 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, + { + "Id": "SeasonsD1", + "ArenaEffectName": "SeasonsD1", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" + }, { "Id": "AphroditeMinorWT", "ArenaEffectName": "AphroditeMinorWT", @@ -33238,399 +41305,372 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Thor", + "Civ": "Oranos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Thor", + "Civ": "Oranos", "Team": 1, - "Personality": "attacker.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Fuxi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Hades", "Team": 1, - "Personality": "attacker.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/anatolia-sqr.png" + "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" }, { - "Id": "silk_road37", + "Id": "islands46", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "silk_road", + "Map": "islands", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD4", + "ArenaEffectName": "CelestialRemnantsD4", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Zeus", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Freyr", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Zeus", "Team": 1, "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Poseidon", "Team": 1, - "Personality": "supporter.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "defender.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Freyr", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" + "MapPreviewImage": "resources/maps/previews/islands-sqr.png" }, { - "Id": "oasis38", + "Id": "ghost_lake47", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "oasis", + "Map": "ghost_lake", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "KingOfTheHill", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD8", + "ArenaEffectName": "CelestialRemnantsD8", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Poseidon", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Poseidon", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "balanced.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" + "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" }, { - "Id": "valley_of_kings39", + "Id": "highland48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "valley_of_kings", + "Map": "highland", "Size": "Normal", - "VictoryCondition": "Regicide", - "GameType": "Lightning", + "VictoryCondition": "Conquest", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" + "Id": "CelestialRemnantsD6", + "ArenaEffectName": "CelestialRemnantsD6", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Visualization": "Right" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Ra", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Ra", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { "Civ": "Kronos", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Ra", "Team": 1, - "Personality": "mythical.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Zeus", + "Civ": "Isis", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" + "MapPreviewImage": "resources/maps/previews/highland-sqr.png" }, { - "Id": "megalopolis40", + "Id": "erebus49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "megalopolis", + "Map": "erebus", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", + "VictoryCondition": "Regicide", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "SeasonsD9", - "ArenaEffectName": "SeasonsD9", - "Title": "STR_AOTG_RULE_SEASONS_PHASE2", - "Description": "STR_AOTG_RULE_SEASONS_PHASE2_DESC", - "OwnerIcon": "resources/norse/static_color/major_gods/loki_icon_round.png", - "OwnerPortrait": "resources/norse/static_color/major_gods/loki_icon.png", - "Visualization": "Right" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "FreyjaMinorWT", "ArenaEffectName": "FreyjaMinorWT", @@ -33639,283 +41679,274 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "AthenaMinorWT", + "ArenaEffectName": "AthenaMinorWT", + "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", + "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Visualization": "Left" + }, + { + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Gaia", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Kronos", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/megalopolis-sqr.png" + "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" }, { - "Id": "watering_hole41", + "Id": "oasis48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "watering_hole", + "Map": "oasis", "Size": "Normal", - "VictoryCondition": "SuddenDeath", - "GameType": "Standard", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD2", - "ArenaEffectName": "CelestialRemnantsD2", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Fuxi", + "Civ": "Amaterasu", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Poseidon", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Fuxi", + "Civ": "Amaterasu", "Team": 1, - "Personality": "mythical.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Freyr", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Poseidon", "Team": 1, - "Personality": "balanced.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/watering_hole-sqr.png" + "MapPreviewImage": "resources/maps/previews/oasis-sqr.png" }, { - "Id": "muspellheim42", + "Id": "valley_of_kings44", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "muspellheim", + "Map": "valley_of_kings", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "PrometheusMinorWT", - "ArenaEffectName": "PrometheusMinorWT", - "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", - "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", + "Id": "HelMinorWT", + "ArenaEffectName": "HelMinorWT", + "Title": "STR_AOTG_RULE_HEL_MINOR", + "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD0", - "ArenaEffectName": "SeasonsD0", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", - "Visualization": "Right" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "FreyjaMinorWT", + "ArenaEffectName": "FreyjaMinorWT", + "Title": "STR_AOTG_RULE_FREYJA_MINOR", + "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Nuwa", + "Civ": "Amaterasu", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Nuwa", + "Civ": "Amaterasu", "Team": 1, "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Kronos", "Team": 1, - "Personality": "mythical.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Shennong", + "Civ": "Gaia", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Poseidon", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/muspellheim-sqr.png" + "MapPreviewImage": "resources/maps/previews/valley_of_kings-sqr.png" }, { - "Id": "archipelago43", + "Id": "silk_road41", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "archipelago", + "Map": "silk_road", "Size": "Normal", - "VictoryCondition": "Conquest", + "VictoryCondition": "Regicide", "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "ThothMinorWT", "ArenaEffectName": "ThothMinorWT", @@ -33926,88 +41957,88 @@ "Visualization": "Left" }, { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Gaia", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Loki", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Set", + "Civ": "Amaterasu", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { "Civ": "Gaia", "Team": 1, - "Personality": "defender.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Loki", "Team": 1, "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 1, - "Personality": "mythical.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/archipelago-sqr.png" + "MapPreviewImage": "resources/maps/previews/silk_road-sqr.png" }, { - "Id": "steppe44", + "Id": "mount_olympus48", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "steppe", + "Map": "mount_olympus", "Size": "Normal", "VictoryCondition": "SuddenDeath", - "GameType": "Lightning", + "GameType": "Standard", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "CelestialRemnantsD3", - "ArenaEffectName": "CelestialRemnantsD3", + "Id": "CelestialRemnantsD7", + "ArenaEffectName": "CelestialRemnantsD7", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -34015,185 +42046,167 @@ "Visualization": "Right" }, { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Poseidon", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Poseidon", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Loki", + "Civ": "Thor", "Team": 1, - "Personality": "supporter.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Loki", "Team": 1, - "Personality": "balanced.personality", + "Personality": "economist.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Shennong", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "supporter.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/steppe-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "qinghai_lake45", + "Id": "savannah45", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "qinghai_lake", + "Map": "savannah", "Size": "Normal", - "VictoryCondition": "SuddenDeath", + "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "SeasonsD1", - "ArenaEffectName": "SeasonsD1", - "Title": "STR_AOTG_RULE_SEASONS", - "Description": "STR_AOTG_RULE_SEASONS_DESC", - "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", - "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", + "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", + "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", + "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", + "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", "Visualization": "Right" - }, - { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Oranos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Oranos", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "supporter.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Hades", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Odin", "Team": 1, "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Hades", + "Civ": "Nuwa", "Team": 1, - "Personality": "economist.personality", + "Personality": "defender.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/qinghai_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/savannah-sqr.png" }, { - "Id": "islands46", + "Id": "setonaikai2", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "islands", + "Map": "setonaikai", "Size": "Normal", "VictoryCondition": "KingOfTheHill", "GameType": "Lightning", @@ -34202,17 +42215,8 @@ "AllowTitans": true, "WorldTwists": [ { - "Id": "AphroditeMinorWT", - "ArenaEffectName": "AphroditeMinorWT", - "Title": "STR_AOTG_RULE_APHRODITE_MINOR", - "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "CelestialRemnantsD4", - "ArenaEffectName": "CelestialRemnantsD4", + "Id": "CelestialRemnantsD9", + "ArenaEffectName": "CelestialRemnantsD9", "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", @@ -34220,36 +42224,36 @@ "Visualization": "Right" }, { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", + "Id": "AphroditeMinorWT", + "ArenaEffectName": "AphroditeMinorWT", + "Title": "STR_AOTG_RULE_APHRODITE_MINOR", + "Description": "STR_AOTG_RULE_APHRODITE_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/aphrodite_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Zeus", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Kronos", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Ra", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 @@ -34257,25 +42261,25 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Zeus", + "Civ": "Tsukuyomi", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Kronos", "Team": 1, - "Personality": "defender.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Odin", + "Civ": "Loki", "Team": 1, - "Personality": "overwhelmer.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Freyr", + "Civ": "Ra", "Team": 1, "Personality": "mythical.personality", "DifficultyOffset": 0 @@ -34283,71 +42287,62 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/islands-sqr.png" + "MapPreviewImage": "resources/maps/previews/setonaikai-sqr.png" }, { - "Id": "ghost_lake47", + "Id": "mount_olympus49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "ghost_lake", + "Map": "mount_olympus", "Size": "Normal", - "VictoryCondition": "KingOfTheHill", - "GameType": "Deathmatch", + "VictoryCondition": "Regicide", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "ThothMinorWT", - "ArenaEffectName": "ThothMinorWT", - "Title": "STR_AOTG_RULE_THOTH_MINOR", - "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", + "Id": "PrometheusMinorWT", + "ArenaEffectName": "PrometheusMinorWT", + "Title": "STR_AOTG_RULE_PROMETHEUS_MINOR", + "Description": "STR_AOTG_RULE_PROMETHEUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/prometheus_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD8", - "ArenaEffectName": "CelestialRemnantsD8", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", "Visualization": "Right" - }, - { - "Id": "HorusMinorWT", - "ArenaEffectName": "HorusMinorWT", - "Title": "STR_AOTG_RULE_HORUS_MINOR", - "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", - "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Loki", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 @@ -34355,25 +42350,25 @@ ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Loki", + "Civ": "Susanoo", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Poseidon", + "Civ": "Oranos", "Team": 1, - "Personality": "balanced.personality", + "Personality": "attacker.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, - "Personality": "conqueror.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Nuwa", + "Civ": "Set", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 @@ -34381,138 +42376,111 @@ ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/ghost_lake-sqr.png" + "MapPreviewImage": "resources/maps/previews/mount_olympus-sqr.png" }, { - "Id": "highland48", + "Id": "elysium53", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "highland", + "Map": "elysium", "Size": "Normal", - "VictoryCondition": "Conquest", - "GameType": "Standard", + "VictoryCondition": "Standard", + "GameType": "Lightning", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", + "Id": "ThothMinorWT", + "ArenaEffectName": "ThothMinorWT", + "Title": "STR_AOTG_RULE_THOTH_MINOR", + "Description": "STR_AOTG_RULE_THOTH_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/thoth_minor_wt_icon.png", "Visualization": "Left" }, { - "Id": "CelestialRemnantsD6", - "ArenaEffectName": "CelestialRemnantsD6", - "Title": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS", - "Description": "STR_CELESTIAL_RULE_ATLANTEAN_REMNANTS_DESC", - "OwnerIcon": "resources/atlantean/static_color/major_gods/gaia_icon_round.png", - "OwnerPortrait": "resources/atlantean/static_color/major_gods/gaia_icon.png", - "Visualization": "Right" - }, - { - "Id": "HelMinorWT", - "ArenaEffectName": "HelMinorWT", - "Title": "STR_AOTG_RULE_HEL_MINOR", - "Description": "STR_AOTG_RULE_HEL_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/hel_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/hel_minor_wt_icon.png", + "Id": "HorusMinorWT", + "ArenaEffectName": "HorusMinorWT", + "Title": "STR_AOTG_RULE_HORUS_MINOR", + "Description": "STR_AOTG_RULE_HORUS_MINOR_DESC", + "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", + "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" } ], "Opponents": [ { - "Civ": "Gaia", + "Civ": "Susanoo", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Gaia", + "Civ": "Susanoo", "Team": 1, "Personality": "supporter.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Fuxi", "Team": 1, - "Personality": "economist.personality", + "Personality": "conqueror.personality", "DifficultyOffset": 0 }, { - "Civ": "Ra", + "Civ": "Set", "Team": 1, - "Personality": "economist.personality", + "Personality": "balanced.personality", "DifficultyOffset": 0 }, { - "Civ": "Isis", + "Civ": "Zeus", "Team": 1, - "Personality": "attacker.personality", + "Personality": "humanoid.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/highland-sqr.png" + "MapPreviewImage": "resources/maps/previews/elysium-sqr.png" }, { - "Id": "erebus49", + "Id": "peach_blossom_land49", "Predecessors": [], "PositionX": 0, "PositionY": 0, "Visualization": "Regular", - "Map": "erebus", + "Map": "peach_blossom_land", "Size": "Normal", "VictoryCondition": "Regicide", - "GameType": "Lightning", + "GameType": "Deathmatch", "MapVisibility": "Normal", "StartingResources": "Standard", "AllowTitans": true, "WorldTwists": [ - { - "Id": "FreyjaMinorWT", - "ArenaEffectName": "FreyjaMinorWT", - "Title": "STR_AOTG_RULE_FREYJA_MINOR", - "Description": "STR_AOTG_RULE_FREYJA_MINOR_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/freyja_minor_wt_icon.png", - "Visualization": "Left" - }, - { - "Id": "AthenaMinorWT", - "ArenaEffectName": "AthenaMinorWT", - "Title": "STR_AOTG_RULE_ATHENA_MINOR_ALT", - "Description": "STR_AOTG_RULE_ATHENA_MINOR_ALT_DESC", - "OwnerIcon": "resources/aotg/static_color/world_twists/athena_minor_wt_icon_round.png", - "OwnerPortrait": "resources/aotg/static_color/world_twists/athena_minor_wt_icon.png", - "Visualization": "Left" - }, { "Id": "HorusMinorWT", "ArenaEffectName": "HorusMinorWT", @@ -34521,63 +42489,72 @@ "OwnerIcon": "resources/aotg/static_color/world_twists/horus_minor_wt_icon_round.png", "OwnerPortrait": "resources/aotg/static_color/world_twists/horus_minor_wt_icon.png", "Visualization": "Left" + }, + { + "Id": "SeasonsD5", + "ArenaEffectName": "SeasonsD5", + "Title": "STR_AOTG_RULE_SEASONS", + "Description": "STR_AOTG_RULE_SEASONS_DESC", + "OwnerIcon": "resources/norse_freyr/static_color/major_gods/freyr_icon_round.png", + "OwnerPortrait": "resources/norse_freyr/static_color/major_gods/freyr_icon.png", + "Visualization": "Right" } ], "Opponents": [ { - "Civ": "Shennong", + "Civ": "Susanoo", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Odin", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "OpponentsFor2PlayerCoop": [ { - "Civ": "Shennong", + "Civ": "Susanoo", "Team": 1, - "Personality": "economist.personality", + "Personality": "mythical.personality", "DifficultyOffset": 0 }, { - "Civ": "Gaia", + "Civ": "Freyr", "Team": 1, "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Kronos", + "Civ": "Odin", "Team": 1, - "Personality": "supporter.personality", + "Personality": "overwhelmer.personality", "DifficultyOffset": 0 }, { - "Civ": "Fuxi", + "Civ": "Ra", "Team": 1, - "Personality": "humanoid.personality", + "Personality": "passive.personality", "DifficultyOffset": 0 } ], "Rewards": [], "MinimapImage": "", - "MapPreviewImage": "resources/maps/previews/erebus-sqr.png" + "MapPreviewImage": "resources/maps/previews/peach_blossom_land-sqr.png" } ] } From df6a97460502cfc1bb9763a35020010cb8025c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Sat, 14 Feb 2026 04:44:58 +0100 Subject: [PATCH 09/13] =?UTF-8?q?Launcher:=20add=20config=20option=20to=20?= =?UTF-8?q?disabling=20automatically=20adding=20cert=20to=E2=80=A6=20(#398?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Launcher: add config option to disabling automatically adding cert to game's store and consolidated cert info in 'Config.Certificate' * Update launcher/internal/cmd/root.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: David Fernández Aldana --------- Signed-off-by: David Fernández Aldana Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- launcher/internal/cmd/root.go | 9 +++++---- launcher/internal/cmdUtils/caCert.go | 4 ++-- launcher/internal/cmdUtils/cert.go | 2 +- launcher/internal/cmdUtils/game.go | 2 +- launcher/internal/config.go | 7 ++++++- launcher/resources/config.game.toml | 2 +- launcher/resources/config.toml | 20 ++++++++++++++------ 7 files changed, 30 insertions(+), 16 deletions(-) diff --git a/launcher/internal/cmd/root.go b/launcher/internal/cmd/root.go index 3059d117..70962644 100644 --- a/launcher/internal/cmd/root.go +++ b/launcher/internal/cmd/root.go @@ -94,7 +94,7 @@ var ( }() logger.WriteFileLog(gameId, "start") isAdmin := commonExecutor.IsAdmin() - canTrustCertificate := cfg.Config.CanTrustCertificate + canTrustCertificate := cfg.Config.Certificate.CanTrustInPc if runtime.GOOS != "windows" { canTrustCertificateValues.Remove("user") } @@ -541,7 +541,7 @@ var ( } logger.WriteFileLog(gameId, "post isolate user data") if gamePath != "" { - errorCode.Store(int32(config.AddCACertToGame(gameId, serverId, serverCertificate, gamePath, gameCaCertPath))) + errorCode.Store(int32(config.AddCACertToGame(gameId, serverId, serverCertificate, gamePath, gameCaCertPath, cfg.Config.Certificate.CanTrustInGame))) if errorCode.Load() != int32(common.ErrSuccess) { return } @@ -616,7 +616,8 @@ func Execute() error { // Default Values // Config v.SetDefault("Config.CanAddHost", "true") - v.SetDefault("Config.CanTrustCertificate", "local") + v.SetDefault("Config.Certificate.CanTrustInPc", "local") + v.SetDefault("Config.Certificate.CanTrustInGame", true) v.SetDefault("Config.CanBroadcastBattleServer", "auto") v.SetDefault("Config.Log", false) v.SetDefault("Config.IsolateMetadata", "required") @@ -644,7 +645,7 @@ func Execute() error { if err := v.BindPFlag("Config.CanAddHost", rootCmd.Flags().Lookup("canAddHost")); err != nil { return err } - if err := v.BindPFlag("Config.CanTrustCertificate", rootCmd.Flags().Lookup("canTrustCertificate")); err != nil { + if err := v.BindPFlag("Config.Certificate.CanTrustInPc", rootCmd.Flags().Lookup("canTrustCertificate")); err != nil { return err } if runtime.GOOS == "windows" { diff --git a/launcher/internal/cmdUtils/caCert.go b/launcher/internal/cmdUtils/caCert.go index 194b43f6..54bafcb8 100644 --- a/launcher/internal/cmdUtils/caCert.go +++ b/launcher/internal/cmdUtils/caCert.go @@ -27,7 +27,7 @@ func readCertsPool(path string) (pool *x509.CertPool, err error) { return } -func (c *Config) AddCACertToGame(gameId string, serverId uuid.UUID, serverCertificate *x509.Certificate, gamePath string, caCertPath string) (errorCode int) { +func (c *Config) AddCACertToGame(gameId string, serverId uuid.UUID, serverCertificate *x509.Certificate, gamePath string, caCertPath string, canAddCert bool) (errorCode int) { logger.Println("Adding CA certificate to game if needed...") caPool, err := readCertsPool(caCertPath) if err != nil { @@ -35,7 +35,7 @@ func (c *Config) AddCACertToGame(gameId string, serverId uuid.UUID, serverCertif return common.ErrSuccess } var addCert bool - addCert, errorCode = checkCertMatch(serverId, gameId, serverCertificate, common.AllHosts(gameId), caPool, true) + addCert, errorCode = checkCertMatch(serverId, gameId, serverCertificate, common.AllHosts(gameId), caPool, canAddCert) if !addCert || errorCode != common.ErrSuccess { return } diff --git a/launcher/internal/cmdUtils/cert.go b/launcher/internal/cmdUtils/cert.go index 04f9cb4f..d5857cfc 100644 --- a/launcher/internal/cmdUtils/cert.go +++ b/launcher/internal/cmdUtils/cert.go @@ -35,7 +35,7 @@ func checkCertMatch(serverId uuid.UUID, gameId string, serverCertificate *x509.C } requiresFixing = true } else { - logger.Println(host + " must have been trusted manually. If you want it automatically, set config/option CanTrustCertificate to 'user' or 'local'.") + logger.Println(host + " must have been trusted manually.") errorCode = internal.ErrConfigCert return } diff --git a/launcher/internal/cmdUtils/game.go b/launcher/internal/cmdUtils/game.go index 42619dd7..302a6849 100644 --- a/launcher/internal/cmdUtils/game.go +++ b/launcher/internal/cmdUtils/game.go @@ -118,7 +118,7 @@ func (c *Config) LaunchAgentAndGame(executer gameExecutor.Exec, customExecutor g }); !result.Success() && result.Err != nil { if customExecutor.Executable != "" && adminError(result) { if canTrustCertificate == "user" { - logger.Println("Using a user certificate. If it fails to connect to the 'server', try setting the config/option setting 'CanTrustCertificate' to 'local'.") + logger.Println("Using a user certificate. If it fails to connect to the 'server', try setting the config setting 'Config.Certificate.CanTrustInPc' to 'local'.") } result = customExecutor.DoElevated(args, func(options commonExecutor.Options) { commonLogger.Println("start elevated game", options.String()) diff --git a/launcher/internal/config.go b/launcher/internal/config.go index fd45ba8b..7d4d4788 100644 --- a/launcher/internal/config.go +++ b/launcher/internal/config.go @@ -7,13 +7,18 @@ type Executable struct { type Config struct { CanAddHost bool - CanTrustCertificate string CanBroadcastBattleServer string Log bool IsolateMetadata string IsolateProfiles string SetupCommand []string RevertCommand []string + Certificate ConfigCertificate +} + +type ConfigCertificate struct { + CanTrustInPc string + CanTrustInGame bool } type BattleServerManager struct { diff --git a/launcher/resources/config.game.toml b/launcher/resources/config.game.toml index c08e01a7..544e4ef8 100644 --- a/launcher/resources/config.game.toml +++ b/launcher/resources/config.game.toml @@ -32,7 +32,7 @@ Executable = 'auto' # If using this variable, 'Config.CanAddHost' setting will be ignored. # The host file follows the Windows system format. # {CertFilePath} will be replaced by the certificate file path. -# If using this variable, 'Config.CanTrustCertificate' setting will be ignored. +# If using this variable, 'Config.Certificate.CanTrustInPc' setting will be ignored. # The format is the same as the server stored certificate. # Windows: Path names need to use double backslashes within single quotes or be within double quotes. # Note: You may use environment variables. diff --git a/launcher/resources/config.toml b/launcher/resources/config.toml index a9434394..ad2249fe 100644 --- a/launcher/resources/config.toml +++ b/launcher/resources/config.toml @@ -4,18 +4,26 @@ # If using '{HostFilePath}' in 'Client.ExecutableArgs', this will be ignored. # Note: Will require admin privileges. CanAddHost = true -# Whether or not to trust the certificate of the server in user or local store, or not at all. -# false: do not trust the certificate. You will have to trust it manually in the proper store before running the launcher. -# local: trust the certificate in the local store. Requires admin rights. -# user: trust the certificate in the user store. Requires user consent. Only on Windows. -# If using '{CertFilePath}' in 'Client.ExecutableArgs', this will be ignored. -CanTrustCertificate = 'local' # Whether to broadcast the game BattleServer to all interfaces in LAN (not just the most priority one). # Either 'auto' or 'false'. This is only necessary in Windows when not running AoM nor AoE IV, on the rest of systems it is always 'false'. CanBroadcastBattleServer = 'auto' # Whether to log all the info the terminal plus more info to a file. Enable it for errors. Log = false +[Config.Certificate] +# Whether or not to trust the certificate of the server in user or local store, or not at all. +# false: do not trust the certificate. You will have to trust it manually in the proper store. +# local: trust the certificate in the local store. Requires admin rights. +# user: trust the certificate in the user store. Requires user consent. Only on Windows. +# If using '{CertFilePath}' in 'Client.ExecutableArgs', this will be ignored. +CanTrustInPc = 'local' +# Whether to trust the certificate of the server in the game's certificate store. +# Required for all games except AoE I: DE and AoE IV: AE. +# false: do not trust the certificate. You will have to trust it manually if the game needs it. +# true: trust the certificate in the game's certificate store. +# Requires 'Client.Path' to be resolved properly. +CanTrustInGame = true + [Server] # Whether to start the server automatically or 'auto', which will start the server is no server is found in the LAN # 'auto' depend on the Announce setting in the server config being true to find servers. From 57bb70c07f44458565e8a83d13373f3151ddb675 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Sat, 14 Feb 2026 19:59:20 +0100 Subject: [PATCH 10/13] =?UTF-8?q?Launcher:=20add=20Server.StartWithoutCorf?= =?UTF-8?q?irmation=20(default=20false)=20to=20user=E2=80=A6=20(#399)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Launcher: add Server.StartWithoutCorfirmation (default false) to user input is not needed when Start is auto and no server is found * Update launcher/resources/config.toml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: David Fernández Aldana --------- Signed-off-by: David Fernández Aldana Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- launcher/internal/cmd/root.go | 11 +++++++---- launcher/internal/config.go | 17 +++++++++-------- launcher/resources/config.toml | 16 +++++++++------- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/launcher/internal/cmd/root.go b/launcher/internal/cmd/root.go index 70962644..47210c6a 100644 --- a/launcher/internal/cmd/root.go +++ b/launcher/internal/cmd/root.go @@ -481,8 +481,10 @@ var ( if runBattleServerManager { str += " start a battle server (if needed) and then" } - logger.Println(str + " start the 'server'. Press enter to continue...") - _, _ = bufio.NewReader(os.Stdin).ReadBytes('\n') + if !cfg.Server.StartWithoutConfirmation { + logger.Println(str + " start the 'server'. Press enter to continue...") + _, _ = bufio.NewReader(os.Stdin).ReadBytes('\n') + } } serverExecutablePath := server.GetExecutablePath(serverExecutable) if serverExecutablePath == "" { @@ -630,11 +632,12 @@ func Execute() error { v.SetDefault("Client.Path", "auto") // Server v.SetDefault("Server.Start", "auto") + v.SetDefault("Server.Stop", "auto") + v.SetDefault("Server.SingleAutoSelect", false) + v.SetDefault("Server.StartWithoutConfirmation", false) v.SetDefault("Server.Executable", "auto") v.SetDefault("Server.ExecutableArgs", []string{"-e", "{Game}", "--id", "{Id}"}) v.SetDefault("Server.Host", netip.IPv4Unspecified().String()) - v.SetDefault("Server.Stop", "auto") - v.SetDefault("Server.SingleAutoSelect", false) v.SetDefault("Server.AnnouncePorts", []int{common.AnnouncePort}) v.SetDefault("Server.AnnounceMulticastGroups", []string{common.AnnounceMulticastGroup}) // Server.BattleServerManager diff --git a/launcher/internal/config.go b/launcher/internal/config.go index 7d4d4788..86c15015 100644 --- a/launcher/internal/config.go +++ b/launcher/internal/config.go @@ -27,14 +27,15 @@ type BattleServerManager struct { } type Server struct { - Executable `mapstructure:",squash"` - Start string - Host string - Stop string - SingleAutoSelect bool - AnnouncePorts []int - AnnounceMulticastGroups []string - BattleServerManager BattleServerManager + Executable `mapstructure:",squash"` + Start string + Host string + Stop string + SingleAutoSelect bool + StartWithoutConfirmation bool + AnnouncePorts []int + AnnounceMulticastGroups []string + BattleServerManager BattleServerManager } type Client struct { diff --git a/launcher/resources/config.toml b/launcher/resources/config.toml index ad2249fe..02ebfb4f 100644 --- a/launcher/resources/config.toml +++ b/launcher/resources/config.toml @@ -25,9 +25,17 @@ CanTrustInPc = 'local' CanTrustInGame = true [Server] -# Whether to start the server automatically or 'auto', which will start the server is no server is found in the LAN +# Whether to start the server automatically or 'auto', which will start the server if no server is found in the LAN # 'auto' depend on the Announce setting in the server config being true to find servers. Start = 'auto' +# Whether to stop it automatically, if 'auto', it will stop the server if Start = true (or 'auto' does not find a server) +# This will also stop the Battle Server if one was started with the Battle Server Manager. +Stop = 'auto' +# Whether to select automatically the server if only one was discovered. +# Not recommended to be set to true if users connect using the official game launcher. +SingleAutoSelect = false +# Whether to start the server automatically without user confirmation when Start is 'auto' and no server is found. +StartWithoutConfirmation = false # The process to start the server, if 'auto', it will be try to execute the server binary in this directory order: # 1. './server/' # 2. '../server/' @@ -45,12 +53,6 @@ ExecutableArgs = ['-e', '{Game}', '--id', '{Id}'] # The host may be a DNS name or Ipv4 IP. 0.0.0.0 means every local interface IP. # Note: See the server config to set the interface to bind to. Host = '0.0.0.0' -# Whether to stop it automatically, if 'auto', it will stop the server if Start = true (or 'auto' does not find a server) -# This will also stop the Battle Server is one was started with the Battle Server Manager. -Stop = 'auto' -# Whether to select automatically the server if only one was discovered. -# Not recommended to be set to true if users connect using the official game launcher. -SingleAutoSelect = false # Announce ports to listen to. If not including the default port, default configured servers will not get discovered. AnnouncePorts = [31978] # Announce multicast group adresses to join. From 320cca9e6407232c15e93ce2c3b6386042151921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Sun, 15 Feb 2026 01:50:37 +0100 Subject: [PATCH 11/13] =?UTF-8?q?Launcher:=20try=20reverting=20changes=20f?= =?UTF-8?q?or=20all=20games=20at=20the=20start=20if=20revert=20=E2=80=A6?= =?UTF-8?q?=20(#400)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Launcher: try reverting changes for all games at the start if revert args cannot be read --- launcher-common/configRevert.go | 87 ++++++++++++++++++++------------- launcher/internal/cmd/root.go | 2 +- 2 files changed, 55 insertions(+), 34 deletions(-) diff --git a/launcher-common/configRevert.go b/launcher-common/configRevert.go index 91d783d1..ecbe02c2 100644 --- a/launcher-common/configRevert.go +++ b/launcher-common/configRevert.go @@ -67,59 +67,80 @@ func RevertFlags(game string, unmapIPs bool, removeUserCert bool, removeLocalCer return args } -func ConfigRevert(gameId string, logRoot string, headless bool, out io.Writer, optionsFn func(options exec.Options), runRevertFn func(flags []string, bin bool, out io.Writer, optionsFn func(options exec.Options)) (result *exec.Result)) bool { +func allRevertFlags(gameId string, logRoot string, stopAgent bool) []string { + return RevertFlags(gameId, true, runtime.GOOS == "windows", true, false, true, true, "", "", "", logRoot, stopAgent, false) +} + +func ConfigRevert( + gameId string, + logRoot string, + headless bool, + out io.Writer, + optionsFn func(options exec.Options), + runRevertFn func(flags []string, bin bool, out io.Writer, optionsFn func(options exec.Options)) (result *exec.Result), +) (success bool) { if runRevertFn == nil { runRevertFn = RunRevert } err, revertFlags := RevertConfigStore.Load() + var games []string + if gameId == "" { + games = common.SupportedGames.ToSlice() + } else { + games = []string{gameId} + } + multipleRevertFlags := make([][]string, len(games)) if err != nil || len(revertFlags) > 0 { var stopAgent bool - var revertLine string - if !headless { - revertLine = "Reverting " - } if err != nil { - if !headless { - commonLogger.Println("Failed to get revert flags: ", err) - revertLine += "all possible " + if len(games) == 1 { + commonLogger.Printf("Failed to get revert flags: %v, will revert for game %s\n", err, games[0]) + } else { + commonLogger.Printf("Failed to get revert flags: %v, will revert for all games\n", err) } stopAgent = ConfigAdminAgentRunning(headless) - revertFlags = RevertFlags(gameId, true, runtime.GOOS == "windows", true, false, true, true, "", "", "", logRoot, stopAgent, false) - } else if !headless && slices.Contains(revertFlags, "-g") { - stopAgent = true - } - - requiresRevertAdminElevation := RequiresRevertAdminElevation(revertFlags, headless) - if !headless { - revertLine += "configuration" - if requiresRevertAdminElevation { - revertLine += `, authorize 'config-admin' if needed` - } else if stopAgent { - revertLine += ` and stopping its agent` + for i, game := range games { + multipleRevertFlags[i] = allRevertFlags(game, logRoot, stopAgent) + } + } else { + multipleRevertFlags = [][]string{revertFlags} + if !headless && slices.Contains(revertFlags, "-g") { + stopAgent = true } - commonLogger.Println(revertLine + `...`) - } else if requiresRevertAdminElevation { - return false } - - if revertResult := runRevertFn(revertFlags, headless, out, optionsFn); !revertResult.Success() { - if !headless { + // This does not depend on the game type so compute it once + requiresRevertAdminElevation := RequiresRevertAdminElevation(multipleRevertFlags[0], headless) + if headless && requiresRevertAdminElevation { + commonLogger.Println("Revert requires admin elevation while headless, this should not happen, skipping...") + return + } + var revertEnd string + if requiresRevertAdminElevation { + revertEnd += `, authorize 'config-admin' if needed` + } else if stopAgent { + revertEnd += ` and stopping its agent` + } + for _, currentRevertFlags := range multipleRevertFlags { + commonLogger.Println("Reverting configuration" + revertEnd + `...`) + if revertResult := runRevertFn(currentRevertFlags, headless, out, optionsFn); revertResult.Success() { + success = true + } else { if ConfigAdminAgentRunning(false) { - commonLogger.Println("'config-admin-agent' process is still executing. Kill it using the task manager with admin rights.") + commonLogger.Println("\t'config-admin-agent' process is still executing. Kill it using the task manager with admin rights.") } else { - commonLogger.Println("Failed to cleanup configuration, try to do it manually.") + commonLogger.Println("\tFailed to cleanup configuration, try to do it manually.") } } - return false } - - if err = RevertConfigStore.Delete(); err != nil { - if !headless { + if success { + if err = RevertConfigStore.Delete(); err != nil { commonLogger.Println("Failed to clear revert flags: ", err) } } + } else { + success = true } - return true + return success } func ConfigAdminAgentRunning(bin bool) bool { diff --git a/launcher/internal/cmd/root.go b/launcher/internal/cmd/root.go index 47210c6a..bd05a322 100644 --- a/launcher/internal/cmd/root.go +++ b/launcher/internal/cmd/root.go @@ -343,7 +343,7 @@ var ( logger.Println("Cleaning up (if needed)...") config.KillAgent() if err = commonLogger.FileLogger.Buffer("config_revert_initial", func(writer io.Writer) { - launcherCommon.ConfigRevert(gameId, commonLogger.FileLogger.Folder(), false, writer, func(options exec.Options) { + launcherCommon.ConfigRevert("", commonLogger.FileLogger.Folder(), false, writer, func(options exec.Options) { commonLogger.Println("run config revert", options.String()) }, executor.RunRevert) }); err != nil { From b1c4a64dd4c49289b207a21800015f765e7d9b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Sat, 21 Feb 2026 00:30:23 +0100 Subject: [PATCH 12/13] Server: Added support for auth. Fixed persistent data reading (#401) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Server: Added support for auth. Fixed persistent data reading Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: David Fernández Aldana --------- Signed-off-by: David Fernández Aldana Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- common/announce.go | 2 +- common/domain.go | 22 +- common/http.go | 7 + common/resolve.go | 14 + .../serverKill/serverKill_windows.go | 8 +- launcher/internal/server/server.go | 1 + launcher/internal/server/ssl.go | 9 +- server/internal/cmd/root.go | 32 +- server/internal/config.go | 1 + server/internal/errors.go | 1 + server/internal/models/auth.go | 19 + server/internal/models/item.go | 52 +- server/internal/models/itemLoadout.go | 6 +- server/internal/models/persistentJsonData.go | 12 +- server/internal/models/resources.go | 1 + server/internal/models/user.go | 32 +- .../routes/game/item/createItemLoadout.go | 4 +- .../internal/routes/game/item/detachItems.go | 2 +- .../routes/game/item/equipItemLoadout.go | 2 +- .../game/item/getInventoryByProfileIDs.go | 2 +- .../routes/game/item/getItemLoadouts.go | 2 +- server/internal/routes/game/item/moveItem.go | 2 +- .../routes/game/item/updateItemAttributes.go | 2 +- .../routes/game/item/updateItemLoadout.go | 2 +- .../routes/game/login/platformlogin.go | 30 +- .../internal/routes/router/authMiddleware.go | 236 ++ server/internal/routes/router/game.go | 12 +- .../internal/routes/router/loginMiddleware.go | 43 + server/internal/runtime.go | 2 + server/resources/config/config.toml | 8 + server/resources/etc/cacert.pem | 3511 +++++++++++++++++ 31 files changed, 4009 insertions(+), 70 deletions(-) create mode 100644 common/http.go create mode 100644 server/internal/models/auth.go create mode 100644 server/internal/routes/router/authMiddleware.go create mode 100644 server/internal/routes/router/loginMiddleware.go create mode 100644 server/resources/etc/cacert.pem diff --git a/common/announce.go b/common/announce.go index 1b048f19..9a9d17a1 100644 --- a/common/announce.go +++ b/common/announce.go @@ -10,7 +10,7 @@ const VersionHeader = "X-Version" const ( // AnnounceVersion0 : 1.1.X - v1.4.X AnnounceVersion0 = iota - // AnnounceVersion1 : 1.5.X - v1.10.X + // AnnounceVersion1 : v1.5.X - v1.10.X AnnounceVersion1 // AnnounceVersion2 (v1.11.X and higher) no longer sends any extra data, '/test' is supposed to be queried to get it AnnounceVersion2 diff --git a/common/domain.go b/common/domain.go index 2adf0a07..672528f5 100644 --- a/common/domain.go +++ b/common/domain.go @@ -38,21 +38,29 @@ func SelfSignedCertGame(game string) bool { return game != GameAoE4 && game != GameAoM } +func GameHostsDirect(gameId string) (domains []string) { + switch gameId { + case GameAoE1, GameAoE2, GameAoE3, GameAoE4: + domains = []string{relicDomain, SubDomain + worldsEdge + dotTld} + case GameAoM: + domains = []string{"athens-live" + apiWorldsEdge} + } + domains = append(domains, generateDomains(gameId)...) + return domains +} + func AllHosts(gameId string) (domains []string) { if cache, ok := hostsCache[gameId]; ok { return cache } + domains = GameHostsDirect(gameId) switch gameId { - case GameAoE1, GameAoE2, GameAoE3, GameAoE4: - domains = []string{relicDomain, SubDomain + worldsEdge + dotTld} case GameAoM: - domains = []string{"athens-live" + apiWorldsEdge, "C15F9" + playFabSuffix} - } - if gameId == GameAoE4 { - domains = append(domains, "ED603"+playFabSuffix) + domains = append(domains, "c15f9"+playFabSuffix) + case GameAoE4: + domains = append(domains, "ed603"+playFabSuffix) } domains = append(domains, ApiAgeOfEmpires, CdnAgeOfEmpires) - domains = append(domains, generateDomains(gameId)...) hostsCache[gameId] = domains return } diff --git a/common/http.go b/common/http.go new file mode 100644 index 00000000..f8d759e2 --- /dev/null +++ b/common/http.go @@ -0,0 +1,7 @@ +package common + +import "fmt" + +func UserAgent() string { + return fmt.Sprintf("%s/%s", Name, "1.0") +} diff --git a/common/resolve.go b/common/resolve.go index 08d322a7..7c0b8c80 100644 --- a/common/resolve.go +++ b/common/resolve.go @@ -97,6 +97,20 @@ func DirectHostToIP(host string) (string, error) { return "", fmt.Errorf("no IP found for %s", host) } +func DNSConnectivity() bool { + for _, dnsServer := range dnsServers { + conn, err := net.DialTimeout("tcp", net.JoinHostPort(dnsServer, "53"), time.Second) + if err != nil { + continue + } + if conn != nil { + _ = conn.Close() + return true + } + } + return false +} + func CacheMapping(host string, ip string) { hostToLower := strings.ToLower(host) if _, exists := hostToIps[hostToLower]; !exists { diff --git a/launcher-common/serverKill/serverKill_windows.go b/launcher-common/serverKill/serverKill_windows.go index cc273918..d31a5d62 100644 --- a/launcher-common/serverKill/serverKill_windows.go +++ b/launcher-common/serverKill/serverKill_windows.go @@ -25,8 +25,14 @@ func Do(path string) error { return fmt.Errorf("could not resolve local IPs") } for _, ip := range ips { + req, err := http.NewRequest("POST", fmt.Sprintf("https://%s/shutdown", ip), nil) + if err != nil { + continue + } + req.Header.Set("Content-Type", "") + req.Header.Set("User-Agent", common.UserAgent()) //goland:noinspection ALL - resp, err := client.Post(fmt.Sprintf("https://%s/shutdown", ip), "", nil) + resp, err := client.Do(req) if err == nil && resp.StatusCode == http.StatusOK { break } diff --git a/launcher/internal/server/server.go b/launcher/internal/server/server.go index 5e0c5f6a..3f7c255c 100644 --- a/launcher/internal/server/server.go +++ b/launcher/internal/server/server.go @@ -167,6 +167,7 @@ func lanServerIP(id uuid.UUID, gameTitle string, ipAddr net.IP, serverName strin if err != nil { return } + req.Header.Set("User-Agent", common.UserAgent()) req.Host = serverName if //goland:noinspection ALL _, err = client.Do(req); err != nil { diff --git a/launcher/internal/server/ssl.go b/launcher/internal/server/ssl.go index eb849e22..44dfa2de 100644 --- a/launcher/internal/server/ssl.go +++ b/launcher/internal/server/ssl.go @@ -64,8 +64,15 @@ func ReadCACertificateFromServer(host string) *x509.Certificate { ip = ips[0] } client := &http.Client{Transport: tr, Timeout: 1 * time.Second} + req, err := http.NewRequest("GET", fmt.Sprintf("https://%s/cacert.pem", ip), nil) + if err != nil { + commonLogger.Println("ReadCACertificateFromServer error:", err) + return nil + } + req.Header.Set("User-Agent", common.UserAgent()) //goland:noinspection ALL - resp, err := client.Get(fmt.Sprintf("https://%s/cacert.pem", ip)) + resp, err := client.Do(req) + // TODO: Add user-agent header if err != nil { commonLogger.Println("ReadCACertificateFromServer error:", err) return nil diff --git a/server/internal/cmd/root.go b/server/internal/cmd/root.go index 70558cc4..eb8aadcf 100644 --- a/server/internal/cmd/root.go +++ b/server/internal/cmd/root.go @@ -45,8 +45,9 @@ var deterministic bool var cfgFile string var ( - Version string - rootCmd = &cobra.Command{ + Version string + authenticationValues = mapset.NewThreadUnsafeSet[string]("required", "cached", "adaptive", "disabled") + rootCmd = &cobra.Command{ Use: filepath.Base(os.Args[0]), Short: "server is a service for multiplayer features in AoE: DE, AoE 2: DE, AoE 3: DE, AoE 4: AE and AoM: RT.", Run: func(_ *cobra.Command, _ []string) { @@ -68,6 +69,32 @@ var ( os.Exit(common.ErrFileLog) } logger.PrintFile("config", v.ConfigFileUsed()) + internal.Connectivity = common.DNSConnectivity() + if !internal.Connectivity { + logger.Println("No internet connectivity, some features will fallback gracefully.") + } + if !authenticationValues.ContainsOne(cfg.Authentication) { + logger.Printf("Invalid authentication value: %s", cfg.Authentication) + os.Exit(internal.ErrInvalidAuthentication) + } else if cfg.Authentication == "required" && !internal.Connectivity { + logger.Println("Authentication is set to 'required' but there is no internet connectivity, which is required for authentication. Change the authentication method or fix the connectivity.") + os.Exit(internal.ErrInvalidAuthentication) + } + if cfg.Authentication == "adaptive" { + if internal.Connectivity { + cfg.Authentication = "cached" + } else { + cfg.Authentication = "disabled" + } + logger.Printf("Adaptive authentication resolved to '%s' based on connectivity\n", cfg.Authentication) + } + if cfg.Authentication == "disabled" { + logger.Println("Authentication is disabled, you are responsible that users access it legally.") + } else if cfg.GeneratePlatformUserId { + logger.Println("Generating a platform User ID is not compatible with the Authentication resolving to a value other than 'disabled'.") + os.Exit(internal.ErrInvalidAuthentication) + } + internal.Authentication = cfg.Authentication var seed uint64 if !deterministic { seed = uint64(time.Now().UnixNano()) @@ -302,6 +329,7 @@ func Execute() error { // General v.SetDefault("Log", false) v.SetDefault("GeneratePlatformUserId", false) + v.SetDefault("Authentication", "disabled") // Announcement v.SetDefault("Announcement.Enabled", true) v.SetDefault("Announcement.Multicast", true) diff --git a/server/internal/config.go b/server/internal/config.go index 55cf0247..f4d94005 100644 --- a/server/internal/config.go +++ b/server/internal/config.go @@ -30,6 +30,7 @@ type Games struct { type Configuration struct { Log bool GeneratePlatformUserId bool + Authentication string Announcement Announcement Games Games } diff --git a/server/internal/errors.go b/server/internal/errors.go index a194483d..1741418d 100644 --- a/server/internal/errors.go +++ b/server/internal/errors.go @@ -14,4 +14,5 @@ const ( ErrGame ErrAnnounce ErrInvalidId + ErrInvalidAuthentication ) diff --git a/server/internal/models/auth.go b/server/internal/models/auth.go new file mode 100644 index 00000000..2a9ddd8a --- /dev/null +++ b/server/internal/models/auth.go @@ -0,0 +1,19 @@ +package models + +import ( + "time" +) + +type AuthUpgradableDefaultData struct { + InitialUpgradableDefaultData[*time.Time] +} + +func NewAuthUpgradableDefaultData() *AuthUpgradableDefaultData { + return &AuthUpgradableDefaultData{ + InitialUpgradableDefaultData: InitialUpgradableDefaultData[*time.Time]{}, + } +} + +func (a *AuthUpgradableDefaultData) Default() *time.Time { + return new(time.Time) +} diff --git a/server/internal/models/item.go b/server/internal/models/item.go index a58d54c0..26a53649 100644 --- a/server/internal/models/item.go +++ b/server/internal/models/item.go @@ -123,6 +123,30 @@ type ItemMetadata struct { other map[string]any } +func NewItemMetadataRaw(metadata []byte) ItemMetadata { + roMetadata := &ReadOnlyItemMetadata{} + itemMetadata := ItemMetadata{} + if err := json.Unmarshal(metadata, roMetadata); err != nil { + return itemMetadata + } + if len(roMetadata.attributes) > 0 { + itemMetadata.attributes = make(map[string]string, len(roMetadata.attributes)) + for k, v := range roMetadata.attributes { + itemMetadata.attributes[k] = v.Value + } + } + if len(roMetadata.other) > 0 { + itemMetadata.other = make(map[string]any, len(roMetadata.other)) + for k, v := range roMetadata.other { + var val any + if err := json.Unmarshal(v, &val); err == nil { + itemMetadata.other[k] = val + } + } + } + return itemMetadata +} + func (i *ItemMetadata) MarshalJSON() ([]byte, error) { all := make(map[string]any) if len(i.attributes) > 0 { @@ -290,6 +314,22 @@ func newMainItemFromStorage(storage *itemStorage) *MainItem { } } +func NewMainItemFromRaw(itemRaw i.A) *MainItem { + return &MainItem{ + id: int32(itemRaw[0].(float64)), + metadata: NewItemMetadataRaw([]byte(itemRaw[6].(string))), + entityVersion: int32(itemRaw[1].(float64)), + definitionId: int32(itemRaw[2].(float64)), + durabilityId: int32(itemRaw[5].(float64)), + durabilityCount: int32(itemRaw[4].(float64)), + creationDate: time.Unix(int64(itemRaw[7].(float64)), 0), + locationId: int32(itemRaw[8].(float64)), + tradeId: int32(itemRaw[9].(float64)), + permissionFlags: uint32(itemRaw[10].(float64)), + maxCharges: int32(itemRaw[11].(float64)), + } +} + func (item *MainItem) MarshalJSON() ([]byte, error) { storage := &itemStorage{ Id: item.id, @@ -558,21 +598,21 @@ func (d *ReadOnlyItemDefinitions) GetByName(name string) (ItemDefinition, bool) } type ItemsUpgradableDefaultData struct { - InitialUpgradableDefaultData[*map[int32]Item] + InitialUpgradableDefaultData[*map[int32]*MainItem] gameId string definitions Items } func NewItemsUpgradableDefaultData(gameId string, definitions Items) *ItemsUpgradableDefaultData { return &ItemsUpgradableDefaultData{ - InitialUpgradableDefaultData: InitialUpgradableDefaultData[*map[int32]Item]{}, + InitialUpgradableDefaultData: InitialUpgradableDefaultData[*map[int32]*MainItem]{}, gameId: gameId, definitions: definitions, } } -func (is *ItemsUpgradableDefaultData) Default() *map[int32]Item { - var items []Item +func (is *ItemsUpgradableDefaultData) Default() *map[int32]*MainItem { + var items []*MainItem var itemPackCategory ItemCategory for category := range is.definitions.IterCategories() { if category.GetName() == "ItemPack" { @@ -586,7 +626,7 @@ func (is *ItemsUpgradableDefaultData) Default() *map[int32]Item { } var itemId int32 i.WithRng(func(rand *i.RandReader) { - for itemId = rand.Int32(); itemId < 100 || slices.ContainsFunc(items, func(item Item) bool { + for itemId = rand.Int32(); itemId < 100 || slices.ContainsFunc(items, func(item *MainItem) bool { return item.GetId() == itemId }); { } @@ -613,7 +653,7 @@ func (is *ItemsUpgradableDefaultData) Default() *map[int32]Item { maxCharges: -1, }) } - itemsMap := make(map[int32]Item) + itemsMap := make(map[int32]*MainItem) for _, item := range items { itemsMap[item.GetId()] = item } diff --git a/server/internal/models/itemLoadout.go b/server/internal/models/itemLoadout.go index af4e8faf..57f5a5df 100644 --- a/server/internal/models/itemLoadout.go +++ b/server/internal/models/itemLoadout.go @@ -82,16 +82,16 @@ func (l *MainItemLoadouts) Iter() iter.Seq[ItemLoadout] { } type ItemLoadoutsUpgradableDefaultData struct { - InitialUpgradableDefaultData[ItemLoadouts] + InitialUpgradableDefaultData[*MainItemLoadouts] } func NewItemLoadoutsUpgradableDefaultData() *ItemLoadoutsUpgradableDefaultData { return &ItemLoadoutsUpgradableDefaultData{ - InitialUpgradableDefaultData: InitialUpgradableDefaultData[ItemLoadouts]{}, + InitialUpgradableDefaultData: InitialUpgradableDefaultData[*MainItemLoadouts]{}, } } -func (i *ItemLoadoutsUpgradableDefaultData) Default() ItemLoadouts { +func (i *ItemLoadoutsUpgradableDefaultData) Default() *MainItemLoadouts { return &MainItemLoadouts{ ItemLoadouts: make(map[int32]ItemLoadout), } diff --git a/server/internal/models/persistentJsonData.go b/server/internal/models/persistentJsonData.go index f3e32c21..f7482e73 100644 --- a/server/internal/models/persistentJsonData.go +++ b/server/internal/models/persistentJsonData.go @@ -171,24 +171,22 @@ func NewPersistentStringMap(path string, upgrader UpgradableData[*PersistentStri } var initialRawData *PersistentStringJsonMapRaw if file.Existed() { - var metadata jsonMetadata - if err = readPersistentData(file, &metadata); err != nil { + var wrapper jsonDataWithMetadata[*PersistentStringJsonMapRaw] + if err = readPersistentData(file, &wrapper); err != nil { return } - if metadata.Version > upgrader.CurrentVersion() { + if wrapper.Metadata.Version > upgrader.CurrentVersion() { _ = file.fileLock.Unlock() err = errors.New("data version is newer than current version") return - } else if localErr, upgraded, data := upgrade(file, metadata.Version, upgrader); localErr == nil && upgraded { + } else if localErr, upgraded, data := upgrade(file, wrapper.Metadata.Version, upgrader); localErr == nil && upgraded { initialRawData = data } else if localErr != nil { _ = file.fileLock.Unlock() err = localErr return } else { - if err = readPersistentData(file, &initialRawData); err != nil { - return - } + initialRawData = wrapper.Data } } else { initialRawData = internal.NewSafeMap[string, jsonDataWithMetadata[json.RawMessage]]() diff --git a/server/internal/models/resources.go b/server/internal/models/resources.go index 389ecc48..f9c184a8 100644 --- a/server/internal/models/resources.go +++ b/server/internal/models/resources.go @@ -16,6 +16,7 @@ import ( var ResponsesFolder = filepath.Join(paths.ResourcesDir, "responses") var userDataFolder = filepath.Join(paths.ResourcesDir, "userData") +var EtcFolder = filepath.Join(paths.ResourcesDir, "etc") var CloudFolder = filepath.Join(ResponsesFolder, "cloud") type ResourcesOpts struct { diff --git a/server/internal/models/user.go b/server/internal/models/user.go index 66cbc3d3..50cd23af 100644 --- a/server/internal/models/user.go +++ b/server/internal/models/user.go @@ -36,8 +36,9 @@ type User interface { GetPlatformRelated() uint8 GetAvatarStats() *PersistentJsonData[*AvatarStats] GetPersistentData() *PersistentStringJsonMap - GetItems() *PersistentJsonData[*map[int32]Item] - GetItemLoadouts() *PersistentJsonData[ItemLoadouts] + GetItems() *PersistentJsonData[*map[int32]*MainItem] + GetItemLoadouts() *PersistentJsonData[*MainItemLoadouts] + GetAuth() *PersistentJsonData[*time.Time] EncodeAvatarStats() i.A EncodePresence(definitions PresenceDefinitions) i.A } @@ -58,8 +59,9 @@ type MainUser struct { presence atomic.Int32 presenceProperties *i.SafeMap[int32, string] avatarStats *PersistentJsonData[*AvatarStats] - items *PersistentJsonData[*map[int32]Item] - itemLoadouts *PersistentJsonData[ItemLoadouts] + items *PersistentJsonData[*map[int32]*MainItem] + itemLoadouts *PersistentJsonData[*MainItemLoadouts] + auth *PersistentJsonData[*time.Time] } func (u *MainUser) EncodeAvatarStats() i.A { @@ -124,17 +126,17 @@ func (users *MainUsers) Generate(gameId string, persistentData *PersistentString NewProfilePropertiesUpgradableDefaultData(), ) } - var items *PersistentJsonData[*map[int32]Item] + var items *PersistentJsonData[*map[int32]*MainItem] if itemDefinitions != nil { - items, _ = NewPersistentJsonData[*map[int32]Item]( + items, _ = NewPersistentJsonData[*map[int32]*MainItem]( persistentData, "items", NewItemsUpgradableDefaultData(gameId, itemDefinitions), ) } - var itemLoadouts *PersistentJsonData[ItemLoadouts] + var itemLoadouts *PersistentJsonData[*MainItemLoadouts] if gameId != common.GameAoE1 { - itemLoadouts, _ = NewPersistentJsonData[ItemLoadouts]( + itemLoadouts, _ = NewPersistentJsonData[*MainItemLoadouts]( persistentData, "itemLoadouts", NewItemLoadoutsUpgradableDefaultData(), @@ -145,6 +147,11 @@ func (users *MainUsers) Generate(gameId string, persistentData *PersistentString "avatarMetadata", NewAvatarMetadataUpgradableDefaultData(gameId), ) + auth, _ := NewPersistentJsonData[*time.Time]( + persistentData, + "auth", + NewAuthUpgradableDefaultData(), + ) var presenceProperties *i.SafeMap[int32, string] if gameId != common.GameAoE1 { presenceProperties = i.NewSafeMap[int32, string]() @@ -164,6 +171,7 @@ func (users *MainUsers) Generate(gameId string, persistentData *PersistentString avatarStats: avatarStats, persistentData: persistentData, presenceProperties: presenceProperties, + auth: auth, } } @@ -463,10 +471,14 @@ func (u *MainUser) GetProfileExperience() uint32 { return 0 } -func (u *MainUser) GetItems() *PersistentJsonData[*map[int32]Item] { +func (u *MainUser) GetItems() *PersistentJsonData[*map[int32]*MainItem] { return u.items } -func (u *MainUser) GetItemLoadouts() *PersistentJsonData[ItemLoadouts] { +func (u *MainUser) GetItemLoadouts() *PersistentJsonData[*MainItemLoadouts] { return u.itemLoadouts } + +func (u *MainUser) GetAuth() *PersistentJsonData[*time.Time] { + return u.auth +} diff --git a/server/internal/routes/game/item/createItemLoadout.go b/server/internal/routes/game/item/createItemLoadout.go index 63b14d8f..5ecbd7ef 100644 --- a/server/internal/routes/game/item/createItemLoadout.go +++ b/server/internal/routes/game/item/createItemLoadout.go @@ -40,7 +40,7 @@ func CreateItemLoadout(w http.ResponseWriter, r *http.Request) { } } if itemIds.Cardinality() > 0 { - _ = u.GetItems().WithReadOnly(func(data *map[int32]models.Item) error { + _ = u.GetItems().WithReadOnly(func(data *map[int32]*models.MainItem) error { ok = itemIds.IsSubset(mapset.NewThreadUnsafeSetFromMapKeys(*data)) return nil }) @@ -52,7 +52,7 @@ func CreateItemLoadout(w http.ResponseWriter, r *http.Request) { return } var itemLoadoutEncoded i.A - _ = u.GetItemLoadouts().WithReadWrite(func(data models.ItemLoadouts) error { + _ = u.GetItemLoadouts().WithReadWrite(func(data *models.MainItemLoadouts) error { itemLoadoutEncoded = data.NewItemLoadout(req.Name, req.Type, mapset.NewThreadUnsafeSet(req.ItemOrLocIds...), userId) return nil }) diff --git a/server/internal/routes/game/item/detachItems.go b/server/internal/routes/game/item/detachItems.go index f5fc155e..8c3c85cb 100644 --- a/server/internal/routes/game/item/detachItems.go +++ b/server/internal/routes/game/item/detachItems.go @@ -35,7 +35,7 @@ func DetachItems(w http.ResponseWriter, r *http.Request) { } errorCodes := make([]int, minLength) itemsEncoded := make([]i.A, minLength) - _ = u.GetItems().WithReadWrite(func(data *map[int32]models.Item) error { + _ = u.GetItems().WithReadWrite(func(data *map[int32]*models.MainItem) error { for j, itemId := range req.ItemIds.Data { itemLocationId := req.LocationIds.Data[j] durabilityCount := req.DurabilityCounts.Data[j] diff --git a/server/internal/routes/game/item/equipItemLoadout.go b/server/internal/routes/game/item/equipItemLoadout.go index 570882e4..3b876fc3 100644 --- a/server/internal/routes/game/item/equipItemLoadout.go +++ b/server/internal/routes/game/item/equipItemLoadout.go @@ -28,7 +28,7 @@ func EquipItemLoadout(w http.ResponseWriter, r *http.Request) { return } var itemLoadoutEncoded i.A - _ = u.GetItemLoadouts().WithReadOnly(func(data models.ItemLoadouts) error { + _ = u.GetItemLoadouts().WithReadOnly(func(data *models.MainItemLoadouts) error { itemLoadout := data.Get(req.Id) if itemLoadout != nil { itemLoadoutEncoded = itemLoadout.Encode(userId) diff --git a/server/internal/routes/game/item/getInventoryByProfileIDs.go b/server/internal/routes/game/item/getInventoryByProfileIDs.go index 4b3752d4..b42b3c6c 100644 --- a/server/internal/routes/game/item/getInventoryByProfileIDs.go +++ b/server/internal/routes/game/item/getInventoryByProfileIDs.go @@ -32,7 +32,7 @@ func GetInventoryByProfileIDs(w http.ResponseWriter, r *http.Request) { // Make it for all games as a precaution if userId == profileId { if u, ok := users.GetUserById(profileId); ok { - _ = u.GetItems().WithReadOnly(func(data *map[int32]models.Item) error { + _ = u.GetItems().WithReadOnly(func(data *map[int32]*models.MainItem) error { for _, item := range *data { // FIXME: Not all items should be shared with all users itemsEncoded = append(itemsEncoded, item.Encode(profileId)) diff --git a/server/internal/routes/game/item/getItemLoadouts.go b/server/internal/routes/game/item/getItemLoadouts.go index 0bfe7a45..57cc15c6 100644 --- a/server/internal/routes/game/item/getItemLoadouts.go +++ b/server/internal/routes/game/item/getItemLoadouts.go @@ -14,7 +14,7 @@ func GetItemLoadouts(w http.ResponseWriter, r *http.Request) { userId := sess.GetUserId() u, _ := game.Users().GetUserById(userId) if itemLoadouts := u.GetItemLoadouts(); itemLoadouts != nil { - _ = itemLoadouts.WithReadOnly(func(data models.ItemLoadouts) error { + _ = itemLoadouts.WithReadOnly(func(data *models.MainItemLoadouts) error { for loadout := range data.Iter() { itemsEncoded = append(itemsEncoded, loadout.Encode(userId)) } diff --git a/server/internal/routes/game/item/moveItem.go b/server/internal/routes/game/item/moveItem.go index c3b8cdf3..52a22972 100644 --- a/server/internal/routes/game/item/moveItem.go +++ b/server/internal/routes/game/item/moveItem.go @@ -41,7 +41,7 @@ func MoveItem(w http.ResponseWriter, r *http.Request) { } errorCodes := make([]int, minLength) itemsEncoded := make([]i.A, minLength) - _ = u.GetItems().WithReadWrite(func(data *map[int32]models.Item) error { + _ = u.GetItems().WithReadWrite(func(data *map[int32]*models.MainItem) error { for j, itemId := range req.ItemIds.Data { itemLocationId := req.LocationIds.Data[j] positionId := req.PositionIds.Data[j] diff --git a/server/internal/routes/game/item/updateItemAttributes.go b/server/internal/routes/game/item/updateItemAttributes.go index de30ed29..71f6aea2 100644 --- a/server/internal/routes/game/item/updateItemAttributes.go +++ b/server/internal/routes/game/item/updateItemAttributes.go @@ -37,7 +37,7 @@ func UpdateItemAttributes(w http.ResponseWriter, r *http.Request) { } errorCodes := make([]i.A, minLength) itemsEncoded := make([]i.A, minLength) - _ = u.GetItems().WithReadWrite(func(data *map[int32]models.Item) error { + _ = u.GetItems().WithReadWrite(func(data *map[int32]*models.MainItem) error { for j, itemId := range req.ItemIds.Data { var itemIdErrorCodes i.A attributeKeys := req.Keys.Data.Data diff --git a/server/internal/routes/game/item/updateItemLoadout.go b/server/internal/routes/game/item/updateItemLoadout.go index 2b6d4d0a..a84c6951 100644 --- a/server/internal/routes/game/item/updateItemLoadout.go +++ b/server/internal/routes/game/item/updateItemLoadout.go @@ -29,7 +29,7 @@ func UpdateItemLoadout(w http.ResponseWriter, r *http.Request) { return } var itemLoadoutEncoded i.A - _ = u.GetItemLoadouts().WithReadWrite(func(data models.ItemLoadouts) error { + _ = u.GetItemLoadouts().WithReadWrite(func(data *models.MainItemLoadouts) error { if item := data.Get(req.Id); item != nil { item.Update(req.Name, req.Type, mapset.NewThreadUnsafeSet(req.ItemOrLocIds...)) itemLoadoutEncoded = item.Encode(userId) diff --git a/server/internal/routes/game/login/platformlogin.go b/server/internal/routes/game/login/platformlogin.go index 06e094d7..1097e195 100644 --- a/server/internal/routes/game/login/platformlogin.go +++ b/server/internal/routes/game/login/platformlogin.go @@ -12,7 +12,7 @@ import ( "github.com/luskaner/ageLANServer/server/internal/routes/wss" ) -type request struct { +type PlatformLoginRequest struct { AccountType string `schema:"accountType"` PlatformUserId uint64 `schema:"platformUserID"` Alias string `schema:"alias"` @@ -21,35 +21,21 @@ type request struct { ClientLibVersion uint16 `schema:"clientLibVersion"` } +func PlatformLoginError(t time.Time, w http.ResponseWriter) { + i.JSON(&w, i.A{2, "", 0, t, i.A{}, i.A{}, 0, 0, nil, nil, i.A{}, i.A{}, 0, i.A{}}) +} + func Platformlogin(w http.ResponseWriter, r *http.Request) { - t := time.Now().UTC().Unix() - var req request - if err := i.Bind(r, &req); err != nil { - i.JSON(&w, i.A{2, "", 0, t, i.A{}, i.A{}, 0, 0, nil, nil, i.A{}, i.A{}, 0, i.A{}}) - return - } game := models.G(r) title := game.Title() users := game.Users() sessions := game.Sessions() - var avatarStatDefinitions models.AvatarStatDefinitions = nil - if title != common.GameAoE1 { - avatarStatDefinitions = game.LeaderboardDefinitions().AvatarStatDefinitions() - } - u := users.GetOrCreateUser( - title, - game.Items(), - avatarStatDefinitions, - r.RemoteAddr, - req.MacAddress, - req.AccountType == "XBOXLIVE", - req.PlatformUserId, - req.Alias, - ) + u := r.Context().Value("user").(models.User) sess, ok := sessions.GetByUserId(u.GetId()) if ok { sessions.Delete(sess.Id()) } + req := r.Context().Value("request").(PlatformLoginRequest) sessionId := sessions.Create(u.GetId(), req.ClientLibVersion) sess, _ = sessions.GetById(sessionId) presenceDefinitions := game.PresenceDefinitions() @@ -91,7 +77,7 @@ func Platformlogin(w http.ResponseWriter, r *http.Request) { 0, sessionId, 549_000_000, - t, + r.Context().Value("time").(time.Time).Unix(), i.A{ profileId, u.GetPlatformPath(), diff --git a/server/internal/routes/router/authMiddleware.go b/server/internal/routes/router/authMiddleware.go new file mode 100644 index 00000000..ddc26c53 --- /dev/null +++ b/server/internal/routes/router/authMiddleware.go @@ -0,0 +1,236 @@ +package router + +import ( + "bytes" + "context" + "crypto/tls" + "crypto/x509" + "encoding/json" + "fmt" + "io" + "net" + "net/http" + "net/http/cookiejar" + "net/url" + "os" + "path/filepath" + "strconv" + "strings" + "time" + + "github.com/luskaner/ageLANServer/common" + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" + "github.com/luskaner/ageLANServer/server/internal/routes/game/login" +) + +const authCacheValidity = 30 * 24 * time.Hour + +func AuthMiddlewareOffline(next http.HandlerFunc) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + u := r.Context().Value("user").(models.User) + now := r.Context().Value("time").(time.Time) + var valid bool + _ = u.GetAuth().WithReadOnly(func(deadline *time.Time) error { + valid = !(*deadline).IsZero() && (*deadline).After(now) + return nil + }) + if valid { + next.ServeHTTP(w, r) + } else { + login.PlatformLoginError(now, w) + } + }) +} + +func AuthMiddleware(next http.HandlerFunc, gameId string, cached bool) http.Handler { + hosts := common.GameHostsDirect(gameId) + hostToIp := make(map[string]string) + for _, host := range hosts { + if ip, err := common.DirectHostToIP(host); err == nil { + hostToIp[host] = ip + } + } + caCert, err := os.ReadFile(filepath.Join(models.EtcFolder, "cacert.pem")) + if err != nil { + panic(err) + } + caCertPool := x509.NewCertPool() + if ok := caCertPool.AppendCertsFromPEM(caCert); !ok { + panic("Cannot parse internal CA store") + } + tlsConfig := &tls.Config{ + RootCAs: caCertPool, + } + dialer := &net.Dialer{ + Timeout: 1 * time.Second, + } + transport := &http.Transport{ + TLSClientConfig: tlsConfig, + DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) { + host, port, dialErr := net.SplitHostPort(addr) + if dialErr != nil { + return dialer.DialContext(ctx, network, addr) + } + if ip, ok := hostToIp[host]; ok { + addr = net.JoinHostPort(ip, port) + } else { + return nil, fmt.Errorf("host %s not resolved", host) + } + return dialer.DialContext(ctx, network, addr) + }, + } + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + t := r.Context().Value("time").(time.Time) + bodyBytes, err := io.ReadAll(r.Body) + if err != nil { + login.PlatformLoginError(t, w) + return + } + if len(bodyBytes) == 0 && r.PostForm != nil { + bodyBytes = []byte(r.PostForm.Encode()) + } + errorHandler := func() { + if cached { + AuthMiddlewareOffline(next).ServeHTTP(w, r) + } else { + login.PlatformLoginError(t, w) + } + } + doRequest := func(c *http.Client, r *http.Request) (respAny i.A, ok bool) { + resp, localErr := c.Do(r) + if localErr != nil { + errorHandler() + return + } + if resp.StatusCode != http.StatusOK { + errorHandler() + return + } + respBody, localErr := io.ReadAll(resp.Body) + if localErr != nil { + errorHandler() + return + } + _ = resp.Body.Close() + localErr = json.Unmarshal(respBody, &respAny) + if localErr != nil || len(respAny) == 0 { + errorHandler() + return + } + + errorCode, ok := respAny[0].(float64) + if !ok { + errorHandler() + return + } + + if int(errorCode) != 0 { + i.RawJSON(&w, respBody) + return + } + + ok = true + return + } + authReq := r.Clone(context.Background()) + authReq.RequestURI = "" + authReq.RemoteAddr = "" + r.Body = io.NopCloser(bytes.NewBuffer(bodyBytes)) + authReq.Header.Set("User-Agent", common.UserAgent()) + authReq.URL.Scheme = "https" + authReq.URL.Host = r.Host + authReq.Body = io.NopCloser(bytes.NewBuffer(bodyBytes)) + authReq.ContentLength = int64(len(bodyBytes)) + authReq.GetBody = func() (io.ReadCloser, error) { + return io.NopCloser(bytes.NewBuffer(bodyBytes)), nil + } + authReq.Header.Set("Content-Type", "application/x-www-form-urlencoded") + authReq.Form = nil + jar, err := cookiejar.New(nil) + if err != nil { + panic(err) + } + client := &http.Client{ + Timeout: 1 * time.Second, + Jar: jar, + Transport: transport, + } + authResp, ok := doRequest(client, authReq) + callNum := 2 + if !ok { + return + } + upstreamSessionId := authResp[1].(string) + defer func() { + data := url.Values{} + data.Add("callNum", strconv.Itoa(callNum)) + data.Add("connect_id", upstreamSessionId) + data.Add("sessionID", upstreamSessionId) + encodedData := data.Encode() + dataReader := strings.NewReader(encodedData) + logoutReq := r.Clone(context.Background()) + logoutReq.RequestURI = "" + logoutReq.RemoteAddr = "" + logoutReq.Header.Set("User-Agent", common.UserAgent()) + logoutReq.URL.Scheme = "https" + logoutReq.URL.Host = r.Host + logoutReq.URL.RawQuery = "" + logoutReq.URL.Path = "/game/login/logout" + logoutReq.Body = io.NopCloser(dataReader) + logoutReq.ContentLength = int64(dataReader.Len()) + logoutReq.GetBody = func() (io.ReadCloser, error) { + reader := strings.NewReader(encodedData) + return io.NopCloser(reader), nil + } + logoutReq.Header.Set("Content-Type", "application/x-www-form-urlencoded") + logoutReq.Form = nil + _, _ = doRequest(client, logoutReq) + }() + u := r.Context().Value("user").(models.User) + if cached { + _ = u.GetAuth().WithReadWrite(func(deadline *time.Time) error { + *deadline = t.Add(authCacheValidity) + return nil + }) + } + req, err := http.NewRequest( + "GET", + fmt.Sprintf( + "https://%s/%s", + r.Host, + "game/item/getInventoryByProfileIDs", + ), + nil, + ) + if err != nil { + errorHandler() + return + } + req.Header.Set("User-Agent", common.UserAgent()) + req.Header.Set("Accept", "application/json") + req.Header.Set("Pragma", "no-cache") + q := req.URL.Query() + q.Add("callNum", strconv.Itoa(callNum)) + q.Add("connect_id", upstreamSessionId) + q.Add("sessionID", upstreamSessionId) + q.Add("profileIDs", fmt.Sprintf("[%d]", int32(authResp[5].(i.A)[0].(i.A)[1].(float64)))) + req.URL.RawQuery = q.Encode() + + resp, ok := doRequest(client, req) + if !ok { + return + } + callNum++ + itemsRaw := resp[1].(i.A)[0].(i.A)[1].(i.A) + _ = u.GetItems().WithReadWrite(func(items *map[int32]*models.MainItem) error { + clear(*items) + for _, itemRaw := range itemsRaw { + item := models.NewMainItemFromRaw(itemRaw.(i.A)) + (*items)[item.GetId()] = item + } + return nil + }) + next.ServeHTTP(w, r) + }) +} diff --git a/server/internal/routes/router/game.go b/server/internal/routes/router/game.go index 090f6930..d13d55e3 100644 --- a/server/internal/routes/router/game.go +++ b/server/internal/routes/router/game.go @@ -4,6 +4,7 @@ import ( "net/http" "github.com/luskaner/ageLANServer/common" + "github.com/luskaner/ageLANServer/server/internal" "github.com/luskaner/ageLANServer/server/internal/routes/cloudfiles" "github.com/luskaner/ageLANServer/server/internal/routes/game/account" "github.com/luskaner/ageLANServer/server/internal/routes/game/achievement" @@ -89,7 +90,16 @@ func (g *Game) InitializeRoutes(gameId string, _ http.Handler) http.Handler { newsGroup.HandleFunc("GET", "/getNews", news.GetNews) loginGroup := gameGroup.Subgroup("/login") - loginGroup.HandleFunc("POST", "/platformlogin", login.Platformlogin) + loginHandler := login.Platformlogin + if internal.Authentication != "disabled" { + if internal.Connectivity { + loginHandler = AuthMiddleware(loginHandler, gameId, internal.Authentication == "cached").ServeHTTP + } else { + loginHandler = AuthMiddlewareOffline(loginHandler).ServeHTTP + } + } + loginHandler = LoginUserMiddleware(loginHandler).ServeHTTP + loginGroup.HandleFunc("POST", "/platformlogin", loginHandler) loginGroup.HandleFunc("POST", "/logout", login.Logout) loginGroup.HandleFunc("POST", "/readSession", login.ReadSession) accountGroup := gameGroup.Subgroup("/account") diff --git a/server/internal/routes/router/loginMiddleware.go b/server/internal/routes/router/loginMiddleware.go new file mode 100644 index 00000000..7c2bc891 --- /dev/null +++ b/server/internal/routes/router/loginMiddleware.go @@ -0,0 +1,43 @@ +package router + +import ( + "context" + "net/http" + "time" + + "github.com/luskaner/ageLANServer/common" + i "github.com/luskaner/ageLANServer/server/internal" + "github.com/luskaner/ageLANServer/server/internal/models" + "github.com/luskaner/ageLANServer/server/internal/routes/game/login" +) + +func LoginUserMiddleware(next http.HandlerFunc) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + t := time.Now().UTC() + var req login.PlatformLoginRequest + if err := i.Bind(r, &req); err != nil { + login.PlatformLoginError(t, w) + return + } + game := models.G(r) + title := game.Title() + var avatarStatDefinitions models.AvatarStatDefinitions = nil + if title != common.GameAoE1 { + avatarStatDefinitions = game.LeaderboardDefinitions().AvatarStatDefinitions() + } + u := game.Users().GetOrCreateUser( + title, + game.Items(), + avatarStatDefinitions, + r.RemoteAddr, + req.MacAddress, + req.AccountType == "XBOXLIVE", + req.PlatformUserId, + req.Alias, + ) + ctx := context.WithValue(r.Context(), "user", u) + ctx = context.WithValue(ctx, "request", req) + ctx = context.WithValue(ctx, "time", t) + next.ServeHTTP(w, r.WithContext(ctx)) + }) +} diff --git a/server/internal/runtime.go b/server/internal/runtime.go index ab0fab25..0f0afa64 100644 --- a/server/internal/runtime.go +++ b/server/internal/runtime.go @@ -8,5 +8,7 @@ import ( var Id uuid.UUID var AnnounceMessageData map[string]common.AnnounceMessageData002 var GeneratePlatformUserId bool +var Connectivity bool +var Authentication string type AnnounceMessageDataLatest = common.AnnounceMessageData002 diff --git a/server/resources/config/config.toml b/server/resources/config/config.toml index e0e98106..481bd3de 100644 --- a/server/resources/config/config.toml +++ b/server/resources/config/config.toml @@ -3,8 +3,16 @@ Log = false # Whether to generate the Platform User Id. *ONLY* as a last resort if multiple users # are using Custom Launchers and they are sharing incorrectly the same Platform User Id. +# Incompatible with Authentication not set to 'disabled'. GeneratePlatformUserId = false +# Authentication method to use. Accepted values: +# required: authenticate the user with the official servers as it was, effectively, the same. +# cached: authenticate with the official server at least once every 30 days (tied to user platform user id). +# adaptive: resolve to 'cached' if internet is detected or 'disabled' otherwise. +# disabled: no authentication as it worked before. +Authentication = 'disabled' + [Games] # Games that the server will accept. # "age1" (AoE: DE), "age2" (AoE II: DE), "age3" (AoE III: DE), "age4" (AoE IV: AE) and "athens" (AoM: RT). diff --git a/server/resources/etc/cacert.pem b/server/resources/etc/cacert.pem new file mode 100644 index 00000000..65be891e --- /dev/null +++ b/server/resources/etc/cacert.pem @@ -0,0 +1,3511 @@ +## +## Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Tue Dec 2 04:12:02 2025 GMT +## +## Find updated versions here: https://curl.se/docs/caextract.html +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## https://raw.githubusercontent.com/mozilla-firefox/firefox/refs/heads/release/security/nss/lib/ckfw/builtins/certdata.txt +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## +## Conversion done with mk-ca-bundle.pl version 1.30. +## SHA256: a903b3cd05231e39332515ef7ebe37e697262f39515a52015c23c62805b73cd0 +## + + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx +ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 +XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk +lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB +lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy +lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt +66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn +wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh +D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy +BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie +J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud +DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU +a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv +Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 +UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm +VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK ++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW +IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 +WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X +f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II +4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 +VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx +OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg +DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij +KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K +DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv +BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp +p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 +nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX +MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM +Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz +uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT +BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj +YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB +BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD +VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 +ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE +AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV +qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s +hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z +POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 +Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp +8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC +bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu +g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p +vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr +qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw +EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN +MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp +c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq +t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C +jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg +vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF +ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR +AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend +jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO +peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR +7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi +GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 +OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm +5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr +44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf +Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m +Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp +mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk +vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf +KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br +NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj +viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +======================================== +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG +EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz +MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu +QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ +03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK +ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU ++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC +PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT +OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK +F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK +0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ +0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB +leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID +AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ +SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG +NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l +Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga +kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q +hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs +g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 +aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 +nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC +ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo +Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z +WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM +BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE +AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky +MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz +IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ +wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa +by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 +zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f +YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 +oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l +EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 +hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 +EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 +jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY +iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI +WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 +JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx +K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ +Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC +4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo +2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz +lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem +OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 +vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe +Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE +LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD +ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA +BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv +KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z +p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC +AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ +4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y +eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw +MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G +PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw +OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm +2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV +dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph +X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +D-TRUST Root Class 3 CA 2 EV 2009 +================================= +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK +DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw +OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS +egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh +zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T +7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 +sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 +11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv +cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v +ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El +MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp +b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh +c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ +PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX +ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA +NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv +w9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +CA Disig Root R2 +================ +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw +EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp +ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx +EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp +c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC +w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia +xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 +A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S +GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV +g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa +5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE +koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A +Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i +Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u +Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV +sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je +dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 +1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx +mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 +utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 +sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg +UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV +7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +ACCVRAIZ1 +========= +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB +SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 +MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH +UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM +jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 +RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD +aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ +0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG +WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 +8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR +5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J +9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK +Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw +Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu +Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM +Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA +QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh +AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA +YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj +AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA +IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk +aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 +dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 +MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI +hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E +R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN +YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 +nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ +TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 +sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg +Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd +3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p +EfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +TWCA Global Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT +CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD +QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK +EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C +nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV +r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR +Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV +tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W +KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 +sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p +yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn +kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI +zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g +cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M +8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg +/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg +lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP +A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m +i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 +EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 +zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= +-----END CERTIFICATE----- + +TeliaSonera Root CA v1 +====================== +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE +CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 +MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW +VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ +6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA +3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k +B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn +Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH +oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 +F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ +oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 +gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc +TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB +AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW +DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm +zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW +pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV +G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc +c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT +JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 +qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 +Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems +WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 2 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx +MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ +SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F +vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 +2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV +WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy +YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 +r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf +vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR +3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== +-----END CERTIFICATE----- + +Atos TrustedRoot 2011 +===================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU +cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 +MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG +A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV +hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr +54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ +DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 +HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR +z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R +l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ +bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h +k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh +TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 +61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G +3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +QuoVadis Root CA 1 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE +PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm +PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 +Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN +ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l +g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV +7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX +9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f +iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg +t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI +hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 +GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct +Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP ++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh +3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa +wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 +O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 +FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV +hMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +QuoVadis Root CA 2 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh +ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY +NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t +oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o +MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l +V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo +L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ +sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD +6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh +lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI +hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K +pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 +x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz +dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X +U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw +mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD +zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN +JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr +O3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +QuoVadis Root CA 3 G3 +===================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG +A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv +b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN +MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg +RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 +IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL +Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe +6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 +I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U +VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 +5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi +Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM +dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt +rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI +hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS +t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ +TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du +DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib +Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD +hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX +0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW +dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 +PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +DigiCert Assured ID Root G2 +=========================== +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw +MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH +35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq +bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw +VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP +YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn +lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO +w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv +0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz +d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW +hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M +jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +DigiCert Assured ID Root G3 +=========================== +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD +VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb +RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs +KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF +UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy +YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy +1vUhZscv6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +DigiCert Global Root G2 +======================= +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx +MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ +kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO +3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV +BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM +UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu +5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr +F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U +WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH +QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ +iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +DigiCert Global Root G3 +======================= +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD +VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw +MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k +aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C +AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O +YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp +Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y +3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 +VOKa5Vt8sycX +-----END CERTIFICATE----- + +DigiCert Trusted Root G4 +======================== +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw +HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 +MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp +pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o +k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa +vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY +QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 +MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm +mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 +f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH +dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 +oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY +ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr +yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy +7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah +ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN +5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb +/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa +5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK +G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP +82Z+ +-----END CERTIFICATE----- + +COMODO RSA Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn +dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ +FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ +5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG +x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX +2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL +OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 +sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C +GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 +WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt +rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ +nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg +tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW +sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp +pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA +zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq +ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 +7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- + +USERTrust RSA Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK +ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz +0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j +Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn +RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O ++T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq +/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE +Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM +lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 +yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ +eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW +FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ +7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ +Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM +8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi +FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi +yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c +J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw +sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx +Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +USERTrust ECC Certification Authority +===================================== +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 +0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez +nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV +HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB +HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu +9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R5 +=========================== +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb +R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD +EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 +SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS +h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx +uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 +yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +IdenTrust Commercial Root CA 1 +============================== +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS +b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES +MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB +IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld +hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ +mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi +1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C +XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl +3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy +NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV +WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg +xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix +uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI +hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg +ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt +ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV +YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX +feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro +kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe +2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz +Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R +cGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +IdenTrust Public Sector Root CA 1 +================================= +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG +EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv +ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV +UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS +b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy +P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 +Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI +rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf +qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS +mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn +ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh +LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v +iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL +4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B +Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw +DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A +mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt +GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt +m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx +NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 +Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI +ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC +ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ +3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +Entrust Root Certification Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy +bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug +b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw +HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT +DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx +OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP +/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz +HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU +s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y +TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx +AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 +0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z +iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi +nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ +vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO +e4pIb4tF9g== +-----END CERTIFICATE----- + +Entrust Root Certification Authority - EC1 +========================================== +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx +FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn +YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw +FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs +LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg +dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy +AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef +9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h +vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 +kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +CFCA EV ROOT +============ +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE +CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB +IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw +MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD +DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV +BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD +7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN +uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW +ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 +xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f +py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K +gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol +hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ +tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf +BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q +ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua +4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG +E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX +BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn +aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy +PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX +kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C +ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GB CA +=============================== +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG +EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw +MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds +b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX +scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP +rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk +9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o +Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg +GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI +hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD +dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 +VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui +HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +SZAFIR ROOT CA2 +=============== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV +BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ +BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD +VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q +qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK +DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE +2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ +ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi +ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC +AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 +O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 +oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul +4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 ++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +Certum Trusted Network CA 2 +=========================== +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE +BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 +bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y +ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ +TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB +IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 +7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o +CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b +Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p +uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 +GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ +9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB +Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye +hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM +BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI +hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW +Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA +L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo +clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM +pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb +w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo +J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm +ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX +is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 +zAYspsbiDrW5viSP +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2015 +======================================================= +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT +BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 +aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl +YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx +MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg +QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV +BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw +MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv +bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh +iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ +6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd +FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr +i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F +GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 +fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu +iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI +hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ +D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM +d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y +d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn +82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb +davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F +Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt +J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa +JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q +p/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions ECC RootCA 2015 +=========================================================== +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 +aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj +aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw +MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj +IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD +VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 +Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP +dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK +Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA +GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn +dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +ISRG Root X1 +============ +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE +BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD +EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG +EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT +DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r +Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 +3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K +b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN +Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ +4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf +1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu +hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH +usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r +OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G +A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY +9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV +0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt +hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw +TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx +e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA +JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD +YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n +JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ +m+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM +================ +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT +AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw +MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD +TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf +qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr +btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL +j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou +08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw +WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT +tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ +47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC +ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa +i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o +dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s +D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ +j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT +Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW ++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 +Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d +8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm +5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG +rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +Amazon Root CA 1 +================ +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 +MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH +FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ +gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t +dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce +VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 +DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM +CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy +8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa +2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 +xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +Amazon Root CA 2 +================ +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD +VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 +MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv +bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 +kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp +N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 +AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd +fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx +kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS +btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 +Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN +c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ +3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw +DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA +A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE +YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW +xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ +gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW +aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV +Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 +KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi +JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= +-----END CERTIFICATE----- + +Amazon Root CA 3 +================ +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB +f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr +Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 +rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc +eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +Amazon Root CA 4 +================ +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG +EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy +NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ +MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN +/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri +83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA +MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 +AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT +D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr +IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g +TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp +ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD +VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt +c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth +bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 +IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 +6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc +wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 +3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 +WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU +ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc +lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R +e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j +q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +GDCA TrustAUTH R5 ROOT +====================== +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw +BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD +DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow +YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs +AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p +OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr +pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ +9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ +xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM +R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ +D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 +oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx +9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 +H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 +6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd ++PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ +HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD +F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ +8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv +/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT +aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +SSL.com Root Certification Authority RSA +======================================== +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM +BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x +MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw +MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM +LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C +Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8 +P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge +oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp +k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z +fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ +gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2 +UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8 +1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s +bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr +dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf +ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl +u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq +erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj +MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ +vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI +Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y +wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI +WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +SSL.com Root Certification Authority ECC +======================================== +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv +BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy +MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO +BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ +8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR +hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT +jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW +e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z +5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority RSA R2 +============================================== +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w +DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u +MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI +DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD +VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh +hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w +cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO +Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ +B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh +CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim +9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto +RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm +JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 ++qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp +qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 +++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx +Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G +guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz +OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 +CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq +lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR +rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 +hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX +9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +SSL.com EV Root Certification Authority ECC +=========================================== +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV +BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy +BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw +MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx +EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM +LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy +3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O +BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe +5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ +N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm +m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +GlobalSign Root CA - R6 +======================= +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX +R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i +YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs +U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss +grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE +3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF +vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM +PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+ +azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O +WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy +CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP +0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN +b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE +AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV +HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0 +lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY +BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym +Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr +3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1 +0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T +uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK +oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t +JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GC CA +=============================== +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD +SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo +MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa +Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL +ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr +VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab +NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd +BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E +AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk +AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +UCA Global G2 Root +================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG +EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x +NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU +cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT +oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV +8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS +h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o +LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/ +R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe +KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa +4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc +OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97 +8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo +5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A +Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9 +yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX +c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo +jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk +bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x +ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn +RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A== +-----END CERTIFICATE----- + +UCA Extended Validation Root +============================ +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG +EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u +IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G +A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs +iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF +Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu +eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR +59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH +0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR +el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv +B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth +WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS +NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS +3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL +BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM +aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4 +dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb ++7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW +F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi +GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc +GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi +djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr +dhh2n1ax +-----END CERTIFICATE----- + +Certigna Root CA +================ +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE +BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ +MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda +MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz +MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX +stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz +KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8 +JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16 +XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq +4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej +wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ +lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI +jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/ +/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy +dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h +LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl +cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt +OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP +TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq +7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3 +4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd +8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS +6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY +tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS +aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde +E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- + +emSign Root CA - G1 +=================== +-----BEGIN CERTIFICATE----- +MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET +MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl +ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx +ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk +aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN +LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1 +cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW +DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ +6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH +hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2 +vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q +NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q ++Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih +U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx +iN66zB+Afko= +-----END CERTIFICATE----- + +emSign ECC Root CA - G3 +======================= +-----BEGIN CERTIFICATE----- +MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG +A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg +MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4 +MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11 +ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g +RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc +58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr +MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC +AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D +CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7 +jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj +-----END CERTIFICATE----- + +emSign Root CA - C1 +=================== +-----BEGIN CERTIFICATE----- +MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx +EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp +Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE +BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD +ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up +ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/ +Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX +OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V +I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms +lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+ +XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD +ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp +/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1 +NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9 +wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ +BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI= +-----END CERTIFICATE----- + +emSign ECC Root CA - C3 +======================= +-----BEGIN CERTIFICATE----- +MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG +A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF +Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE +BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD +ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd +6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9 +SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA +B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA +MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU +ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== +-----END CERTIFICATE----- + +Hongkong Post Root CA 3 +======================= +-----BEGIN CERTIFICATE----- +MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQELBQAwbzELMAkG +A1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQK +Ew1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2 +MDMwMjI5NDZaFw00MjA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtv +bmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMX +SG9uZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz +iNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50tf +jTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mIVoBc+L0sPOFMV4i707mV78vH9toxdCim +5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOe +sL4jpNrcyCse2m5FHomY2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj +0mRiikKYvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+TtbNe/ +JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZbx39ri1UbSsUgYT2u +y1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+l2oBlKN8W4UdKjk60FSh0Tlxnf0h ++bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG +xVd7GYYKecsAyVKvQv83j+GjHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwID +AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e +i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEwDQYJKoZIhvcN +AQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNVI0lkUmcDrudHr9Egw +W62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWld +y8joRTnU+kLBEUx3XZL7av9YROXrgZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov ++BS5gLNdTaqX4fnkGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDc +eqFS3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJmOzj/2ZQw +9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6mc1X5VTMbeRRAc6uk7 +nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6cJfTzPV4e0hz5sy229zdcxsshTrD3mUcY +hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB +60PZ2Pierc+xYw5F9KBaLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fq +dBb9HxEGmpv0 +-----END CERTIFICATE----- + +Microsoft ECC Root Certificate Authority 2017 +============================================= +-----BEGIN CERTIFICATE----- +MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV +UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQgRUND +IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4 +MjMxNjA0WjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw +NAYDVQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQ +BgcqhkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZRogPZnZH6 +thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYbhGBKia/teQ87zvH2RPUB +eMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIy5lycFIM ++Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlf +Xu5gKcs68tvWMoQZP3zVL8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaR +eNtUjGUBiudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= +-----END CERTIFICATE----- + +Microsoft RSA Root Certificate Authority 2017 +============================================= +-----BEGIN CERTIFICATE----- +MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG +EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQg +UlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIw +NzE4MjMwMDIzWjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u +MTYwNAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZNt9GkMml +7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0ZdDMbRnMlfl7rEqUrQ7e +S0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw7 +1VdyvD/IybLeS2v4I2wDwAW9lcfNcztmgGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+ +dkC0zVJhUXAoP8XFWvLJjEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49F +yGcohJUcaDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaGYaRS +MLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6W6IYZVcSn2i51BVr +lMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4KUGsTuqwPN1q3ErWQgR5WrlcihtnJ +0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJ +ClTUFLkqqNfs+avNJVgyeY+QW5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZCLgLNFgVZJ8og +6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OCgMNPOsduET/m4xaRhPtthH80 +dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk ++ONVFT24bcMKpBLBaYVu32TxU5nhSnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex +/2kskZGT4d9Mozd2TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDy +AmH3pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGRxpl/j8nW +ZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiAppGWSZI1b7rCoucL5mxAyE +7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKT +c0QWbej09+CVgI+WXTik9KveCjCHk9hNAHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D +5KbvtwEwXlGjefVwaaZBRA+GsCyRxj3qrg+E +-----END CERTIFICATE----- + +e-Szigno Root CA 2017 +===================== +-----BEGIN CERTIFICATE----- +MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNVBAYTAkhVMREw +DwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUt +MjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJvb3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZa +Fw00MjA4MjIxMjA3MDZaMHExCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UE +CgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3pp +Z25vIFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtvxie+RJCx +s1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+HWyx7xf58etqjYzBhMA8G +A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSHERUI0arBeAyxr87GyZDv +vzAEwDAfBgNVHSMEGDAWgBSHERUI0arBeAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEA +tVfd14pVCzbhhkT61NlojbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxO +svxyqltZ+efcMQ== +-----END CERTIFICATE----- + +certSIGN Root CA G2 +=================== +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAlJPMRQw +EgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjAeFw0xNzAy +MDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lH +TiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAMDFdRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05 +N0IwvlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZuIt4Imfk +abBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhpn+Sc8CnTXPnGFiWeI8Mg +wT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKscpc/I1mbySKEwQdPzH/iV8oScLumZfNp +dWO9lfsbl83kqK/20U6o2YpxJM02PbyWxPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91Qqh +ngLjYl/rNUssuHLoPj1PrCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732 +jcZZroiFDsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fxDTvf +95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgyLcsUDFDYg2WD7rlc +z8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6CeWRgKRM+o/1Pcmqr4tTluCRVLERL +iohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1Ud +DgQWBBSCIS1mxteg4BXrzkwJd8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOB +ywaK8SJJ6ejqkX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC +b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQlqiCA2ClV9+BB +/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0OJD7uNGzcgbJceaBxXntC6Z5 +8hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+cNywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5 +BiKDUyUM/FHE5r7iOZULJK2v0ZXkltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklW +atKcsWMy5WHgUyIOpwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tU +Sxfj03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZkPuXaTH4M +NMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE1LlSVHJ7liXMvGnjSG4N +0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MXQRBdJ3NghVdJIgc= +-----END CERTIFICATE----- + +Trustwave Global Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV +UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 +ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0xNzA4MjMxOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJV +UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 +ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALldUShLPDeS0YLOvR29 +zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0XznswuvCAAJWX/NKSqIk4cXGIDtiLK0thAf +LdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4Bq +stTnoApTAbqOl5F2brz81Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9o +WN0EACyW80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotPJqX+ +OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1lRtzuzWniTY+HKE40 +Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfwhI0Vcnyh78zyiGG69Gm7DIwLdVcE +uE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm ++9jaJXLE9gCxInm943xZYkqcBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqj +ifLJS3tBEW1ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1UdDwEB/wQEAwIB +BjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W0OhUKDtkLSGm+J1WE2pIPU/H +PinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfeuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0H +ZJDmHvUqoai7PF35owgLEQzxPy0QlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla +4gt5kNdXElE1GYhBaCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5R +vbbEsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPTMaCm/zjd +zyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qequ5AvzSxnI9O4fKSTx+O +856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxhVicGaeVyQYHTtgGJoC86cnn+OjC/QezH +Yj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu +3R3y4G5OBVixwJAWKqQ9EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP +29FpHOTKyeC2nOnOcXHebD8WpHk= +-----END CERTIFICATE----- + +Trustwave Global ECC P256 Certification Authority +================================================= +-----BEGIN CERTIFICATE----- +MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYDVQQGEwJVUzER +MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI +b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYD +VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy +dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1 +NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH77bOYj +43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoNFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqm +P62jQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt +0UrrdaVKEJmzsaGLSvcwCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjz +RM4q3wghDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 +-----END CERTIFICATE----- + +Trustwave Global ECC P384 Certification Authority +================================================= +-----BEGIN CERTIFICATE----- +MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzER +MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI +b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYD +VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy +dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4 +NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGvaDXU1CDFH +Ba5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr +/TklZvFe/oyujUF5nQlgziip04pt89ZF1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNV +HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn +ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl +CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw== +-----END CERTIFICATE----- + +NAVER Global Root Certification Authority +========================================= +-----BEGIN CERTIFICATE----- +MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG +A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD +DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4 +NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT +UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb +UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW ++j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7 +XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2 +aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4 +Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z +VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B +A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai +cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy +YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV +HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB +Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK +21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB +jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx +hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg +E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH +D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ +A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY +qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG +I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg +kpzNNIaRkPpkUZ3+/uul9XXeifdy +-----END CERTIFICATE----- + +AC RAIZ FNMT-RCM SERVIDORES SEGUROS +=================================== +-----BEGIN CERTIFICATE----- +MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQswCQYDVQQGEwJF +UzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgwFgYDVQRhDA9WQVRFUy1RMjgy +NjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1SQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4 +MTIyMDA5MzczM1oXDTQzMTIyMDA5MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt +UkNNMQ4wDAYDVQQLDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNB +QyBSQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuBBAAiA2IA +BPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LHsbI6GA60XYyzZl2hNPk2 +LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oKUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqG +SM49BAMDA2kAMGYCMQCuSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoD +zBOQn5ICMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJyv+c= +-----END CERTIFICATE----- + +GlobalSign Root R46 +=================== +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUAMEYxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJv +b3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAX +BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08Es +CVeJOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQGvGIFAha/ +r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud316HCkD7rRlr+/fKYIje +2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo0q3v84RLHIf8E6M6cqJaESvWJ3En7YEt +bWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSEy132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvj +K8Cd+RTyG/FWaha/LIWFzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD4 +12lPFzYE+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCNI/on +ccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzsx2sZy/N78CsHpdls +eVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqaByFrgY/bxFn63iLABJzjqls2k+g9 +vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEM +BQADggIBAHx47PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg +JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti2kM3S+LGteWy +gxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIkpnnpHs6i58FZFZ8d4kuaPp92 +CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRFFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZm +OUdkLG5NrmJ7v2B0GbhWrJKsFjLtrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qq +JZ4d16GLuc1CLgSkZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwye +qiv5u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP4vkYxboz +nxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6N3ec592kD3ZDZopD8p/7 +DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3vouXsXgxT7PntgMTzlSdriVZzH81Xwj3 +QEUxeCp6 +-----END CERTIFICATE----- + +GlobalSign Root E46 +=================== +-----BEGIN CERTIFICATE----- +MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT +AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3Qg +RTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNV +BAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkB +jtjqR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGddyXqBPCCj +QjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQxCpCPtsad0kRL +gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk +vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+ +CAezNIm8BZ/3Hobui3A= +-----END CERTIFICATE----- + +GLOBALTRUST 2020 +================ +-----BEGIN CERTIFICATE----- +MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQx +IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT +VCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYxMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAh +BgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAy +MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi +D59bRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9ZYybNpyrO +VPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3QWPKzv9pj2gOlTblzLmM +CcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPwyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCm +fecqQjuCgGOlYx8ZzHyyZqjC0203b+J+BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKA +A1GqtH6qRNdDYfOiaxaJSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9OR +JitHHmkHr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj04KlG +DfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9MedKZssCz3AwyIDMvU +clOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIwq7ejMZdnrY8XD2zHc+0klGvIg5rQ +mjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1Ud +IwQYMBaAFNwuH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA +VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJCXtzoRlgHNQIw +4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd6IwPS3BD0IL/qMy/pJTAvoe9 +iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS +8cE54+X1+NZK3TTN+2/BT+MAi1bikvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2 +HcqtbepBEX4tdJP7wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxS +vTOBTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6CMUO+1918 +oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn4rnvyOL2NSl6dPrFf4IF +YqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+IaFvowdlxfv1k7/9nR4hYJS8+hge9+6jl +gqispdNpQ80xiEmEU5LAsTkbOYMBMMTyqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== +-----END CERTIFICATE----- + +ANF Secure Server Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNVBAUTCUc2MzI4 +NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lv +bjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNVBAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3Qg +Q0EwHhcNMTkwOTA0MTAwMDM4WhcNMzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEw +MQswCQYDVQQGEwJFUzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQw +EgYDVQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9vdCBDQTCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCjcqQZAZ2cC4Ffc0m6p6zz +BE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9qyGFOtibBTI3/TO80sh9l2Ll49a2pcbnv +T1gdpd50IJeh7WhM3pIXS7yr/2WanvtH2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcv +B2VSAKduyK9o7PQUlrZXH1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXse +zx76W0OLzc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyRp1RM +VwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQzW7i1o0TJrH93PB0j +7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/SiOL9V8BY9KHcyi1Swr1+KuCLH5z +JTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJnLNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe +8TZBAQIvfXOn3kLMTOmJDVb3n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVO +Hj1tyRRM4y5Bu8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj +o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAOBgNVHQ8BAf8E +BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEATh65isagmD9uw2nAalxJ +UqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzx +j6ptBZNscsdW699QIyjlRRA96Gejrw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDt +dD+4E5UGUcjohybKpFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM +5gf0vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjqOknkJjCb +5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ/zo1PqVUSlJZS2Db7v54 +EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ92zg/LFis6ELhDtjTO0wugumDLmsx2d1H +hk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGy +g77FGr8H6lnco4g175x2MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3 +r5+qPeoott7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= +-----END CERTIFICATE----- + +Certum EC-384 CA +================ +-----BEGIN CERTIFICATE----- +MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQswCQYDVQQGEwJQ +TDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2 +MDcyNDU0WhcNNDMwMzI2MDcyNDU0WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERh +dGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx +GTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATEKI6rGFtq +vm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7TmFy8as10CW4kjPMIRBSqn +iBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68KjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFI0GZnQkdjrzife81r1HfS+8EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNo +ADBlAjADVS2m5hjEfO/JUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0 +QoSZ/6vnnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= +-----END CERTIFICATE----- + +Certum Trusted Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6MQswCQYDVQQG +EwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0g +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0Ew +HhcNMTgwMzE2MTIxMDEzWhcNNDMwMzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMY +QXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZn0EGze2jusDbCSzBfN8p +fktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/qp1x4EaTByIVcJdPTsuclzxFUl6s1wB52 +HO8AU5853BSlLCIls3Jy/I2z5T4IHhQqNwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2 +fJmItdUDmj0VDT06qKhF8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGt +g/BKEiJ3HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGamqi4 +NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi7VdNIuJGmj8PkTQk +fVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSFytKAQd8FqKPVhJBPC/PgP5sZ0jeJ +P/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0PqafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSY +njYJdmZm/Bo/6khUHL4wvYBQv3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHK +HRzQ+8S1h9E6Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 +vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQADggIBAEii1QAL +LtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4WxmB82M+w85bj/UvXgF2Ez8s +ALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvozMrnadyHncI013nR03e4qllY/p0m+jiGPp2K +h2RX5Rc64vmNueMzeMGQ2Ljdt4NR5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8 +CYyqOhNf6DR5UMEQGfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA +4kZf5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq0Uc9Nneo +WWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7DP78v3DSk+yshzWePS/Tj +6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTMqJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmT +OPQD8rv7gmsHINFSH5pkAnuYZttcTVoP0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZck +bxJF0WddCajJFdr60qZfE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb +-----END CERTIFICATE----- + +TunTrust Root CA +================ +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG +A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj +dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw +NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD +ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz +2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b +bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7 +NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd +gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW +VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f +Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ +juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas +DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS +VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI +04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 +90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl +0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd +Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY +YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp +adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x +xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP +jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM +MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z +ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r +AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= +-----END CERTIFICATE----- + +HARICA TLS RSA Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQG +EwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u +cyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUz +OFoXDTQ1MDIxMzEwNTUzN1owbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRl +bWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNB +IFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569lmwVnlskN +JLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE4VGC/6zStGndLuwRo0Xu +a2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uva9of08WRiFukiZLRgeaMOVig1mlDqa2Y +Ulhu2wr7a89o+uOkXjpFc5gH6l8Cct4MpbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K +5FrZx40d/JiZ+yykgmvwKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEv +dmn8kN3bLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcYAuUR +0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqBAGMUuTNe3QvboEUH +GjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYqE613TBoYm5EPWNgGVMWX+Ko/IIqm +haZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHrW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQ +CPxrvrNQKlr9qEgYRtaQQJKQCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAUX15QvWiWkKQU +EapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3f5Z2EMVGpdAgS1D0NTsY9FVq +QRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxajaH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxD +QpSbIPDRzbLrLFPCU3hKTwSUQZqPJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcR +j88YxeMn/ibvBZ3PzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5 +vZStjBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0/L5H9MG0 +qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pTBGIBnfHAT+7hOtSLIBD6 +Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79aPib8qXPMThcFarmlwDB31qlpzmq6YR/ +PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YWxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnn +kf3/W9b3raYvAwtt41dU63ZTGI0RmLo= +-----END CERTIFICATE----- + +HARICA TLS ECC Root CA 2021 +=========================== +-----BEGIN CERTIFICATE----- +MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH +UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD +QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX +DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj +IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv +b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l +AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b +ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW +0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi +rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw +CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1Ud +DgQWBBRlzeurNR4APn7VdMActHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4w +gZswgZgGBFUdIAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j +b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABCAG8AbgBhAG4A +bwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAwADEANzAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9miWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL +4QjbEwj4KKE1soCzC1HA01aajTNFSa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDb +LIpgD7dvlAceHabJhfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1il +I45PVf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZEEAEeiGaP +cjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV1aUsIC+nmCjuRfzxuIgA +LI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2tCsvMo2ebKHTEm9caPARYpoKdrcd7b/+A +lun4jWq9GJAd/0kakFI3ky88Al2CdgtR5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH +9IBk9W6VULgRfhVwOEqwf9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpf +NIbnYrX9ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNKGbqE +ZycPvEJdvSRUDewdcAZfpLz6IHxV +-----END CERTIFICATE----- + +vTrus ECC Root CA +================= +-----BEGIN CERTIFICATE----- +MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMwRzELMAkGA1UE +BhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBS +b290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDczMTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAa +BgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYw +EAYHKoZIzj0CAQYFK4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+c +ToL0v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUde4BdS49n +TPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIwV53dVvHH4+m4SVBrm2nDb+zDfSXkV5UT +QJtS0zvzQBm8JsctBp61ezaf9SXUY2sAAjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQL +YgmRWAD5Tfs0aNoJrSEGGJTO +-----END CERTIFICATE----- + +vTrus Root CA +============= +-----BEGIN CERTIFICATE----- +MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQELBQAwQzELMAkG +A1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xFjAUBgNVBAMTDXZUcnVzIFJv +b3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMxMDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoG +A1UEChMTaVRydXNDaGluYSBDby4sTHRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZots +SKYcIrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykUAyyNJJrI +ZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+GrPSbcKvdmaVayqwlHeF +XgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z98Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KA +YPxMvDVTAWqXcoKv8R1w6Jz1717CbMdHflqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70 +kLJrxLT5ZOrpGgrIDajtJ8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2 +AXPKBlim0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZNpGvu +/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQUqqzApVg+QxMaPnu +1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHWOXSuTEGC2/KmSNGzm/MzqvOmwMVO +9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMBAAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYg +scasGrz2iTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOC +AgEAKbqSSaet8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd +nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1jbhd47F18iMjr +jld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvMKar5CKXiNxTKsbhm7xqC5PD4 +8acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIivTDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJn +xDHO2zTlJQNgJXtxmOTAGytfdELSS8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554Wg +icEFOwE30z9J4nfrI8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4 +sEb9b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNBUvupLnKW +nyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1PTi07NEPhmg4NpGaXutIc +SkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929vensBxXVsFy6K2ir40zSbofitzmdHxghm+H +l3s= +-----END CERTIFICATE----- + +ISRG Root X2 +============ +-----BEGIN CERTIFICATE----- +MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQswCQYDVQQGEwJV +UzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElT +UkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVT +MSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNS +RyBSb290IFgyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0H +ttwW+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9ItgKbppb +d9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZIzj0EAwMDaAAwZQIwe3lORlCEwkSHRhtF +cP9Ymd70/aTSVaYgLXTWNLxBo1BfASdWtL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5 +U6VR5CmD1/iQMVtCnwr1/q4AaOeMSQ+2b1tbFfLn +-----END CERTIFICATE----- + +HiPKI Root CA - G1 +================== +-----BEGIN CERTIFICATE----- +MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBPMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xGzAZBgNVBAMMEkhpUEtJ +IFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRaFw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYT +AlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kg +Um9vdCBDQSAtIEcxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0 +o9QwqNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twvVcg3Px+k +wJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6lZgRZq2XNdZ1AYDgr/SE +YYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnzQs7ZngyzsHeXZJzA9KMuH5UHsBffMNsA +GJZMoYFL3QRtU6M9/Aes1MU3guvklQgZKILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfd +hSi8MEyr48KxRURHH+CKFgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj +1jOXTyFjHluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDry+K4 +9a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ/W3c1pzAtH2lsN0/ +Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgMa/aOEmem8rJY5AIJEzypuxC00jBF +8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQD +AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi +7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqcSE5XCV0vrPSl +tJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6FzaZsT0pPBWGTMpWmWSBUdGSquE +wx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9TcXzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07Q +JNBAsNB1CI69aO4I1258EHBGG3zgiLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv +5wiZqAxeJoBF1PhoL5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+Gpz +jLrFNe85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wrkkVbbiVg +hUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+vhV4nYWBSipX3tUZQ9rb +yltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQUYDksswBVLuT1sw5XxJFBAJw/6KXf6vb/ +yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== +-----END CERTIFICATE----- + +GlobalSign ECC Root CA - R4 +=========================== +-----BEGIN CERTIFICATE----- +MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYDVQQLExtHbG9i +YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgwMTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9i +YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds +b2JhbFNpZ24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkW +ymOxuYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNVHQ8BAf8E +BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/+wpu+74zyTyjhNUwCgYI +KoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147bmF0774BxL4YSFlhgjICICadVGNA3jdg +UM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm +-----END CERTIFICATE----- + +GTS Root R1 +=========== +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV +UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg +UjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE +ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM +f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7raKb0 +xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnWr4+w +B7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXW +nOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk +9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zq +kUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92wO1A +K/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om3xPX +V2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDW +cfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQAD +ggIBAJ+qQibbC5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe +QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuyh6f88/qBVRRi +ClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM47HLwEXWdyzRSjeZ2axfG34ar +J45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8JZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYci +NuaCp+0KueIHoI17eko8cdLiA6EfMgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5me +LMFrUKTX5hgUvYU/Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJF +fbdT6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ0E6yove+ +7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm2tIMPNuzjsmhDYAPexZ3 +FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bbbP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3 +gm3c +-----END CERTIFICATE----- + +GTS Root R2 +=========== +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV +UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg +UjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE +ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv +CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo7JUl +e3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWIm8Wb +a96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS ++LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7M +kogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJG +r61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RWIr9q +S34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73VululycslaVNV +J1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy5okL +dWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQAD +ggIBAB/Kzt3HvqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 +0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyCB19m3H0Q/gxh +swWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2uNmSRXbBoGOqKYcl3qJfEycel +/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMgyALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVn +jWQye+mew4K6Ki3pHrTgSAai/GevHyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y5 +9PYjJbigapordwj6xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M +7YNRTOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924SgJPFI/2R8 +0L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV7LXTWtiBmelDGDfrs7vR +WGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjW +HYbL +-----END CERTIFICATE----- + +GTS Root R3 +=========== +-----BEGIN CERTIFICATE----- +MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi +MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMw +HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ +R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjO +PQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout +736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24CejQjBA +MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP0/Eq +Er24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azT +L818+FsuVbu/3ZL3pAzcMeGiAjEA/JdmZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV +11RZt+cRLInUue4X +-----END CERTIFICATE----- + +GTS Root R4 +=========== +-----BEGIN CERTIFICATE----- +MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi +MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQw +HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ +R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjO +PQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu +hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqjQjBA +MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV2Py1 +PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/C +r8deVl5c1RxYIigL9zC2L7F8AjEA8GE8p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh +4rsUecrNIdSUtUlD +-----END CERTIFICATE----- + +Telia Root CA v2 +================ +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQxCzAJBgNVBAYT +AkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2 +MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQK +DBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ7 +6zBqAMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9vVYiQJ3q +9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9lRdU2HhE8Qx3FZLgmEKn +pNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTODn3WhUidhOPFZPY5Q4L15POdslv5e2QJl +tI5c0BE0312/UqeBAMN/mUWZFdUXyApT7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW +5olWK8jjfN7j/4nlNW4o6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNr +RBH0pUPCTEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6WT0E +BXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63RDolUK5X6wK0dmBR4 +M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZIpEYslOqodmJHixBTB0hXbOKSTbau +BcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGjYzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7W +xy+G2CQ5MB0GA1UdDgQWBBRyrOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ +8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi0f6X+J8wfBj5 +tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMMA8iZGok1GTzTyVR8qPAs5m4H +eW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBSSRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+C +y748fdHif64W1lZYudogsYMVoe+KTTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygC +QMez2P2ccGrGKMOF6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15 +h2Er3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMtTy3EHD70 +sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pTVmBds9hCG1xLEooc6+t9 +xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAWysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQ +raVplI/owd8k+BsHMYeB2F326CjYSlKArBPuUBQemMc= +-----END CERTIFICATE----- + +D-TRUST BR Root CA 1 2020 +========================= +-----BEGIN CERTIFICATE----- +MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE +RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0EgMSAy +MDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNV +BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7 +dPYSzuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0QVK5buXu +QqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/VbNafAkl1bK6CKBrqx9t +MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu +bmV0L2NybC9kLXRydXN0X2JyX3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP +PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD +AwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFWwKrY7RjEsK70Pvom +AjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHVdWNbFJWcHwHP2NVypw87 +-----END CERTIFICATE----- + +D-TRUST EV Root CA 1 2020 +========================= +-----BEGIN CERTIFICATE----- +MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE +RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0EgMSAy +MDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNV +BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8 +ZRCC/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rDwpdhQntJ +raOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3OqQo5FD4pPfsazK2/umL +MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu +bmV0L2NybC9kLXRydXN0X2V2X3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP +PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD +AwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CAy/m0sRtW9XLS/BnR +AjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJbgfM0agPnIjhQW+0ZT0MW +-----END CERTIFICATE----- + +DigiCert TLS ECC P384 Root G5 +============================= +-----BEGIN CERTIFICATE----- +MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURpZ2lDZXJ0IFRMUyBFQ0MgUDM4 +NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDkRpZ2lDZXJ0LCBJbmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQg +Um9vdCBHNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1Tzvd +lHJS7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp0zVozptj +n4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICISB4CIfBFqMA4GA1UdDwEB +/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQCJao1H5+z8blUD2Wds +Jk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQLgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIx +AJSdYsiJvRmEFOml+wG4DXZDjC5Ty3zfDBeWUA== +-----END CERTIFICATE----- + +DigiCert TLS RSA4096 Root G5 +============================ +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBNMQswCQYDVQQG +EwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0 +MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2 +IFJvb3QgRzUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS8 +7IE+ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG02C+JFvuU +AT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgpwgscONyfMXdcvyej/Ces +tyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZMpG2T6T867jp8nVid9E6P/DsjyG244gXa +zOvswzH016cpVIDPRFtMbzCe88zdH5RDnU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnV +DdXifBBiqmvwPXbzP6PosMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9q +TXeXAaDxZre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cdLvvy +z6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvXKyY//SovcfXWJL5/ +MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNeXoVPzthwiHvOAbWWl9fNff2C+MIk +wcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPLtgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4E +FgQUUTMc7TZArxfTJc1paPKvTiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw +GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7HPNtQOa27PShN +lnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLFO4uJ+DQtpBflF+aZfTCIITfN +MBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQREtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/ +u4cnYiWB39yhL/btp/96j1EuMPikAdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9G +OUrYU9DzLjtxpdRv/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh +47a+p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilwMUc/dNAU +FvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WFqUITVuwhd4GTWgzqltlJ +yqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCKovfepEWFJqgejF0pW8hL2JpqA15w8oVP +bEtoL8pU9ozaMv7Da4M/OMZ+ +-----END CERTIFICATE----- + +Certainly Root R1 +================= +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAwPTELMAkGA1UE +BhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2VydGFpbmx5IFJvb3QgUjEwHhcN +MjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2Vy +dGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBANA21B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O +5MQTvqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbedaFySpvXl +8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b01C7jcvk2xusVtyWMOvwl +DbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGI +XsXwClTNSaa/ApzSRKft43jvRl5tcdF5cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkN +KPl6I7ENPT2a/Z2B7yyQwHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQ +AjeZjOVJ6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA2Cnb +rlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyHWyf5QBGenDPBt+U1 +VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMReiFPCyEQtkA6qyI6BJyLm4SGcprS +p6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBTgqj8ljZ9EXME66C6ud0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAsz +HQNTVfSVcOQrPbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d +8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi1wrykXprOQ4v +MMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrdrRT90+7iIgXr0PK3aBLXWopB +GsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9ditaY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+ +gjwN/KUD+nsa2UUeYNrEjvn8K8l7lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgH +JBu6haEaBQmAupVjyTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7 +fpYnKx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLyyCwzk5Iw +x06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5nwXARPbv0+Em34yaXOp/S +X3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6OV+KmalBWQewLK8= +-----END CERTIFICATE----- + +Certainly Root E1 +================= +-----BEGIN CERTIFICATE----- +MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQswCQYDVQQGEwJV +UzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlubHkgUm9vdCBFMTAeFw0yMTA0 +MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlu +bHkxGjAYBgNVBAMTEUNlcnRhaW5seSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4 +fxzf7flHh4axpMCK+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9 +YBk2QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4hevIIgcwCgYIKoZIzj0E +AwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozmut6Dacpps6kFtZaSF4fC0urQe87YQVt8 +rgIwRt7qy12a7DLCZRawTDBcMPPaTnOGBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR +-----END CERTIFICATE----- + +Security Communication ECC RootCA1 +================================== +-----BEGIN CERTIFICATE----- +MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYTAkpQMSUwIwYD +VQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYDVQQDEyJTZWN1cml0eSBDb21t +dW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYxNjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTEL +MAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNV +BAMTIlNlY3VyaXR5IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+CnnfdldB9sELLo +5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpKULGjQjBAMB0GA1UdDgQW +BBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAK +BggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3L +snNdo4gIxwwCMQDAqy0Obe0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70e +N9k= +-----END CERTIFICATE----- + +BJCA Global Root CA1 +==================== +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQG +EwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJK +Q0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAzMTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkG +A1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQD +DBRCSkNBIEdsb2JhbCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFm +CL3ZxRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZspDyRhyS +sTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O558dnJCNPYwpj9mZ9S1Wn +P3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgRat7GGPZHOiJBhyL8xIkoVNiMpTAK+BcW +yqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRj +eulumijWML3mG90Vr4TqnMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNn +MoH1V6XKV0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/pj+b +OT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZOz2nxbkRs1CTqjSSh +GL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXnjSXWgXSHRtQpdaJCbPdzied9v3pK +H9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMB +AAGjQjBAMB0GA1UdDgQWBBTF7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 +YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3KliawLwQ8hOnThJ +dMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u+2D2/VnGKhs/I0qUJDAnyIm8 +60Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuh +TaRjAv04l5U/BXCga99igUOLtFkNSoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW +4AB+dAb/OMRyHdOoP2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmp +GQrI+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRzznfSxqxx +4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9eVzYH6Eze9mCUAyTF6ps +3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4S +SPfSKcOYKMryMguTjClPPGAyzQWWYezyr/6zcCwupvI= +-----END CERTIFICATE----- + +BJCA Global Root CA2 +==================== +-----BEGIN CERTIFICATE----- +MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQswCQYDVQQGEwJD +TjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJVFkxHTAbBgNVBAMMFEJKQ0Eg +R2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgyMVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UE +BhMCQ04xJjAkBgNVBAoMHUJFSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRC +SkNBIEdsb2JhbCBSb290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jl +SR9BIgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK++kpRuDCK +/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJKsVF/BvDRgh9Obl+rg/xI +1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8 +W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8g +UXOQwKhbYdDFUDn9hf7B43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w== +-----END CERTIFICATE----- + +Sectigo Public Server Authentication Root E46 +============================================= +-----BEGIN CERTIFICATE----- +MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQswCQYDVQQGEwJH +QjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBTZXJ2 +ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5 +WjBfMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0 +aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUr +gQQAIgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccCWvkEN/U0 +NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+6xnOQ6OjQjBAMB0GA1Ud +DgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAKBggqhkjOPQQDAwNnADBkAjAn7qRaqCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RH +lAFWovgzJQxC36oCMB3q4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21U +SAGKcw== +-----END CERTIFICATE----- + +Sectigo Public Server Authentication Root R46 +============================================= +-----BEGIN CERTIFICATE----- +MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBfMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT +ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1 +OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T +ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3 +DQEBAQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDaef0rty2k +1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnzSDBh+oF8HqcIStw+Kxwf +GExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xfiOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMP +FF1bFOdLvt30yNoDN9HWOaEhUTCDsG3XME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vu +ZDCQOc2TZYEhMbUjUDM3IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5Qaz +Yw6A3OASVYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgESJ/A +wSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu+Zd4KKTIRJLpfSYF +plhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt8uaZFURww3y8nDnAtOFr94MlI1fZ +EoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+LHaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW +6aWWrL3DkJiy4Pmi1KZHQ3xtzwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWI +IUkwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c +mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQYKlJfp/imTYp +E0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52gDY9hAaLMyZlbcp+nv4fjFg4 +exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZAFv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M +0ejf5lG5Nkc/kLnHvALcWxxPDkjBJYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI +84HxZmduTILA7rpXDhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9m +pFuiTdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5dHn5Hrwd +Vw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65LvKRRFHQV80MNNVIIb/b +E/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmm +J1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAYQqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL +-----END CERTIFICATE----- + +SSL.com TLS RSA Root CA 2022 +============================ +-----BEGIN CERTIFICATE----- +MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQG +EwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBSU0Eg +Um9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloXDTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMC +VVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJv +b3QgQ0EgMjAyMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u +9nTPL3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OYt6/wNr/y +7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0insS657Lb85/bRi3pZ7Qcac +oOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3PnxEX4MN8/HdIGkWCVDi1FW24IBydm5M +R7d1VVm0U3TZlMZBrViKMWYPHqIbKUBOL9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDG +D6C1vBdOSHtRwvzpXGk3R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEW +TO6Af77wdr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS+YCk +8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYSd66UNHsef8JmAOSq +g+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoGAtUjHBPW6dvbxrB6y3snm/vg1UYk +7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2fgTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsu +N+7jhHonLs0ZNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt +hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsMQtfhWsSWTVTN +j8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvfR4iyrT7gJ4eLSYwfqUdYe5by +iB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJDPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjU +o3KUQyxi4U5cMj29TH0ZR6LDSeeWP4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqo +ENjwuSfr98t67wVylrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7Egkaib +MOlqbLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2wAgDHbICi +vRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3qr5nsLFR+jM4uElZI7xc7 +P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sjiMho6/4UIyYOf8kpIEFR3N+2ivEC+5BB0 +9+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA= +-----END CERTIFICATE----- + +SSL.com TLS ECC Root CA 2022 +============================ +-----BEGIN CERTIFICATE----- +MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQswCQYDVQQGEwJV +UzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxTU0wuY29tIFRMUyBFQ0MgUm9v +dCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMx +GDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3Qg +Q0EgMjAyMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWy +JGYmacCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFNSeR7T5v1 +5wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSJjy+j6CugFFR7 +81a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NWuCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGG +MAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w +7deedWo1dlJF4AIxAMeNb0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5 +Zn6g6g== +-----END CERTIFICATE----- + +Atos TrustedRoot Root CA ECC TLS 2021 +===================================== +-----BEGIN CERTIFICATE----- +MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4wLAYDVQQDDCVB +dG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0wCwYDVQQKDARBdG9zMQswCQYD +VQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3Mg +VHJ1c3RlZFJvb3QgUm9vdCBDQSBFQ0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYT +AkRFMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6K +DP/XtXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4AjJn8ZQS +b+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2KCXWfeBmmnoJsmo7jjPX +NtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMDaAAwZQIwW5kp85wxtolrbNa9d+F851F+ +uDrNozZffPc8dz7kUK2o59JZDCaOMDtuCCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGY +a3cpetskz2VAv9LcjBHo9H1/IISpQuQo +-----END CERTIFICATE----- + +Atos TrustedRoot Root CA RSA TLS 2021 +===================================== +-----BEGIN CERTIFICATE----- +MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBMMS4wLAYDVQQD +DCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIxMQ0wCwYDVQQKDARBdG9zMQsw +CQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0 +b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNV +BAYTAkRFMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BB +l01Z4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYvYe+W/CBG +vevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZkmGbzSoXfduP9LVq6hdK +ZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDsGY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt +0xU6kGpn8bRrZtkh68rZYnxGEFzedUlnnkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVK +PNe0OwANwI8f4UDErmwh3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMY +sluMWuPD0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzygeBY +Br3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8ANSbhqRAvNncTFd+ +rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezBc6eUWsuSZIKmAMFwoW4sKeFYV+xa +fJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lIpw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUdEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0G +CSqGSIb3DQEBDAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS +4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPso0UvFJ/1TCpl +Q3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJqM7F78PRreBrAwA0JrRUITWX +AdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuywxfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9G +slA9hGCZcbUztVdF5kJHdWoOsAgMrr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2Vkt +afcxBPTy+av5EzH4AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9q +TFsR0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuYo7Ey7Nmj +1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5dDTedk+SKlOxJTnbPP/l +PqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcEoji2jbDwN/zIIX8/syQbPYtuzE2wFg2W +HYMfRsCbvUOZ58SWLs5fyQ== +-----END CERTIFICATE----- + +TrustAsia Global Root CA G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEMBQAwWjELMAkG +A1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJDAiBgNVBAMM +G1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAeFw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEw +MTlaMFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMu +MSQwIgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNST1QY4Sxz +lZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqKAtCWHwDNBSHvBm3dIZwZ +Q0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/V +P68czH5GX6zfZBCK70bwkPAPLfSIC7Epqq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1Ag +dB4SQXMeJNnKziyhWTXAyB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm +9WAPzJMshH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gXzhqc +D0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAvkV34PmVACxmZySYg +WmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msTf9FkPz2ccEblooV7WIQn3MSAPmea +mseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jAuPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCF +TIcQcf+eQxuulXUtgQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj +7zjKsK5Xf/IhMBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E +BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4wM8zAQLpw6o1 +D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2XFNFV1pF1AWZLy4jVe5jaN/T +G3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNj +duMNhXJEIlU/HHzp/LgV6FL6qj6jITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstl +cHboCoWASzY9M/eVVHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys ++TIxxHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1onAX1daBli +2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d7XB4tmBZrOFdRWOPyN9y +aFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2NtjjgKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsAS +ZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFR +JQJ6+N1rZdVtTTDIZbpoFGWsJwt0ivKH +-----END CERTIFICATE----- + +TrustAsia Global Root CA G4 +=========================== +-----BEGIN CERTIFICATE----- +MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMwWjELMAkGA1UE +BhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xJDAiBgNVBAMMG1Ry +dXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0yMTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJa +MFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQw +IgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi +AATxs8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbwLxYI+hW8 +m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJijYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mDpm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/ +pDHel4NZg6ZvccveMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AA +bbd+NvBNEU/zy4k6LHiRUKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xk +dUfFVZDj/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA== +-----END CERTIFICATE----- + +Telekom Security TLS ECC Root 2020 +================================== +-----BEGIN CERTIFICATE----- +MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQswCQYDVQQGEwJE +RTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJUZWxl +a29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIwMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIz +NTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkg +R21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqG +SM49AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/OtdKPD/M1 +2kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDPf8iAC8GXs7s1J8nCG6NC +MEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6fMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMAoGCCqGSM49BAMDA2cAMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZ +Mo7k+5Dck2TOrbRBR2Diz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdU +ga/sf+Rn27iQ7t0l +-----END CERTIFICATE----- + +Telekom Security TLS RSA Root 2023 +================================== +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQG +EwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMSswKQYDVQQDDCJU +ZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAyMDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMy +NzIzNTk1OVowYzELMAkGA1UEBhMCREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJp +dHkgR21iSDErMCkGA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9cUD/h3VC +KSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHVcp6R+SPWcHu79ZvB7JPP +GeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMAU6DksquDOFczJZSfvkgdmOGjup5czQRx +UX11eKvzWarE4GC+j4NSuHUaQTXtvPM6Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWo +l8hHD/BeEIvnHRz+sTugBTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9 +FIS3R/qy8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73Jco4v +zLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg8qKrBC7m8kwOFjQg +rIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8rFEz0ciD0cmfHdRHNCk+y7AO+oML +KFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7S +WWO/gLCMk3PLNaaZlSJhZQNg+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUtqeXgj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 +p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQpGv7qHBFfLp+ +sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm9S3ul0A8Yute1hTWjOKWi0Fp +kzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErwM807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy +/SKE8YXJN3nptT+/XOR0so8RYgDdGGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4 +mZqTuXNnQkYRIer+CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtz +aL1txKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+w6jv/naa +oqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aKL4x35bcF7DvB7L6Gs4a8 +wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+ljX273CXE2whJdV/LItM3z7gLfEdxquVeE +HVlNjM7IDiPCtyaaEBRx/pOyiriA8A4QntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0 +o82bNSQ3+pCTE4FCxpgmdTdmQRCsu/WU48IxK63nI1bMNSWSs1A= +-----END CERTIFICATE----- + +FIRMAPROFESIONAL CA ROOT-A WEB +============================== +-----BEGIN CERTIFICATE----- +MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQswCQYDVQQGEwJF +UzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4 +MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENBIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2 +WhcNNDcwMzMxMDkwMTM2WjBuMQswCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25h +bCBTQTEYMBYGA1UEYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFM +IENBIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zfe9MEkVz6 +iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6CcyvHZpsKjECcfIr28jlg +st7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FD +Y1w8ndYn81LsF7Kpryz3dvgwHQYDVR0OBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB +/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgL +cFBTApFwhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dGXSaQ +pYXFuXqUPoeovQA= +-----END CERTIFICATE----- + +TWCA CYBER Root CA +================== +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQMQswCQYDVQQG +EwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NB +IENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQG +EwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NB +IENZQkVSIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1s +Ts6P40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxFavcokPFh +V8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/34bKS1PE2Y2yHer43CdT +o0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684iJkXXYJndzk834H/nY62wuFm40AZoNWDT +Nq5xQwTxaWV4fPMf88oon1oglWa0zbfuj3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK +/c/WMw+f+5eesRycnupfXtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkH +IuNZW0CP2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDAS9TM +fAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDAoS/xUgXJP+92ZuJF +2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzCkHDXShi8fgGwsOsVHkQGzaRP6AzR +wyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83 +QOGt4A1WNzAdBgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB +AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0ttGlTITVX1olN +c79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn68xDiBaiA9a5F/gZbG0jAn/x +X9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNnTKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDR +IG4kqIQnoVesqlVYL9zZyvpoBJ7tRCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq +/p1hvIbZv97Tujqxf36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0R +FxbIQh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz8ppy6rBe +Pm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4NxKfKjLji7gh7MMrZQzv +It6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzXxeSDwWrruoBa3lwtcHb4yOWHh8qgnaHl +IhInD0Q9HWzq1MKLL295q39QpsQZp6F6t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X +-----END CERTIFICATE----- + +SecureSign Root CA12 +==================== +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT +ZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgwNTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJ +BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU +U2VjdXJlU2lnbiBSb290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3 +emhFKxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mtp7JIKwcc +J/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zdJ1M3s6oYwlkm7Fsf0uZl +fO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gurFzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBF +EaCeVESE99g2zvVQR9wsMJvuwPWW0v4JhscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1Uef +NzFJM3IFTQy2VYzxV4+Kh9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P +AQH/BAQDAgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsFAAOC +AQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6LdmmQOmFxv3Y67ilQi +LUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJmBClnW8Zt7vPemVV2zfrPIpyMpce +mik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPS +vWKErI4cqc1avTc7bgoitPQV55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhga +aaI5gdka9at/yOPiZwud9AzqVN/Ssq+xIvEg37xEHA== +-----END CERTIFICATE----- + +SecureSign Root CA14 +==================== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEMBQAwUTELMAkG +A1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRT +ZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgwNzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJ +BgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMU +U2VjdXJlU2lnbiBSb290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh +1oq/FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOgvlIfX8xn +bacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy6pJxaeQp8E+BgQQ8sqVb +1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa +/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9JkdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOE +kJTRX45zGRBdAuVwpcAQ0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSx +jVIHvXiby8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac18iz +ju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs0Wq2XSqypWa9a4X0 +dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIABSMbHdPTGrMNASRZhdCyvjG817XsY +AFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVLApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQAB +o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeq +YR3r6/wtbyPk86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E +rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ibed87hwriZLoA +ymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopTzfFP7ELyk+OZpDc8h7hi2/Ds +Hzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHSDCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPG +FrojutzdfhrGe0K22VoF3Jpf1d+42kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6q +nsb58Nn4DSEC5MUoFlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/ +OfVyK4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6dB7h7sxa +OgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtlLor6CZpO2oYofaphNdgO +pygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB365jJ6UeTo3cKXhZ+PmhIIynJkBugnLN +eLLIjzwec+fBH7/PzqUqm9tEZDKgu39cJRNItX+S +-----END CERTIFICATE----- + +SecureSign Root CA15 +==================== +-----BEGIN CERTIFICATE----- +MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMwUTELMAkGA1UE +BhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBMdGQuMR0wGwYDVQQDExRTZWN1 +cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMyNTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNV +BAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2Vj +dXJlU2lnbiBSb290IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5G +dCx4wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSRZHX+AezB +2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT9DAKBggqhkjOPQQDAwNoADBlAjEA2S6J +fl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJ +SwdLZrWeqrqgHkHZAXQ6bkU6iYAZezKYVWOr62Nuk22rGwlgMU4= +-----END CERTIFICATE----- + +D-TRUST BR Root CA 2 2023 +========================= +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG +EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0Eg +MiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUwOTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTAT +BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCT +cfKri3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNEgXtRr90z +sWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8k12b9py0i4a6Ibn08OhZ +WiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCTRphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6 +++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LUL +QyReS2tNZ9/WtT5PeB+UcSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIv +x9gvdhFP/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bSuREV +MweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+0bpwHJwh5Q8xaRfX +/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4NDfTisl01gLmB1IRpkQLLddCNxbU9 +CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUZ5Dw1t61GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC +MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y +XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tIFoE9c+CeJyrr +d6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67nriv6uvw8l5VAk1/DLQOj7aRv +U9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTRVFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4 +nj8+AybmTNudX0KEPUUDAxxZiMrcLmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdij +YQ6qgYF/6FKC0ULn4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff +/vtDhQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsGkoHU6XCP +pz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46ls/pdu4D58JDUjxqgejB +WoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aSEcr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/ +5usWDiJFAbzdNpQ0qTUmiteXue4Icr80knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jt +n/mtd+ArY0+ew+43u3gJhJ65bvspmZDogNOfJA== +-----END CERTIFICATE----- + +TrustAsia TLS ECC Root CA +========================= +-----BEGIN CERTIFICATE----- +MIICMTCCAbegAwIBAgIUNnThTXxlE8msg1UloD5Sfi9QaMcwCgYIKoZIzj0EAwMwWDELMAkGA1UE +BhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xIjAgBgNVBAMTGVRy +dXN0QXNpYSBUTFMgRUNDIFJvb3QgQ0EwHhcNMjQwNTE1MDU0MTU2WhcNNDQwNTE1MDU0MTU1WjBY +MQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEiMCAG +A1UEAxMZVHJ1c3RBc2lhIFRMUyBFQ0MgUm9vdCBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLh/ +pVs/AT598IhtrimY4ZtcU5nb9wj/1WrgjstEpvDBjL1P1M7UiFPoXlfXTr4sP/MSpwDpguMqWzJ8 +S5sUKZ74LYO1644xST0mYekdcouJtgq7nDM1D9rs3qlKH8kzsaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQULIVTu7FDzTLqnqOH/qKYqKaT6RAwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49 +BAMDA2gAMGUCMFRH18MtYYZI9HlaVQ01L18N9mdsd0AaRuf4aFtOJx24mH1/k78ITcTaRTChD15K +eAIxAKORh/IRM4PDwYqROkwrULG9IpRdNYlzg8WbGf60oenUoWa2AaU2+dhoYSi3dOGiMQ== +-----END CERTIFICATE----- + +TrustAsia TLS RSA Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIFgDCCA2igAwIBAgIUHBjYz+VTPyI1RlNUJDxsR9FcSpwwDQYJKoZIhvcNAQEMBQAwWDELMAkG +A1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMsIEluYy4xIjAgBgNVBAMT +GVRydXN0QXNpYSBUTFMgUlNBIFJvb3QgQ0EwHhcNMjQwNTE1MDU0MTU3WhcNNDQwNTE1MDU0MTU2 +WjBYMQswCQYDVQQGEwJDTjElMCMGA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEi +MCAGA1UEAxMZVHJ1c3RBc2lhIFRMUyBSU0EgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAMMWuBtqpERz5dZO9LnPWwvB0ZqB9WOwj0PBuwhaGnrhB3YmH49pVr7+NmDQDIPN +lOrnxS1cLwUWAp4KqC/lYCZUlviYQB2srp10Zy9U+5RjmOMmSoPGlbYJQ1DNDX3eRA5gEk9bNb2/ +mThtfWza4mhzH/kxpRkQcwUqwzIZheo0qt1CHjCNP561HmHVb70AcnKtEj+qpklz8oYVlQwQX1Fk +zv93uMltrOXVmPGZLmzjyUT5tUMnCE32ft5EebuyjBza00tsLtbDeLdM1aTk2tyKjg7/D8OmYCYo +zza/+lcK7Fs/6TAWe8TbxNRkoDD75f0dcZLdKY9BWN4ArTr9PXwaqLEX8E40eFgl1oUh63kd0Nyr +z2I8sMeXi9bQn9P+PN7F4/w6g3CEIR0JwqH8uyghZVNgepBtljhb//HXeltt08lwSUq6HTrQUNoy +IBnkiz/r1RYmNzz7dZ6wB3C4FGB33PYPXFIKvF1tjVEK2sUYyJtt3LCDs3+jTnhMmCWr8n4uIF6C +FabW2I+s5c0yhsj55NqJ4js+k8UTav/H9xj8Z7XvGCxUq0DTbE3txci3OE9kxJRMT6DNrqXGJyV1 +J23G2pyOsAWZ1SgRxSHUuPzHlqtKZFlhaxP8S8ySpg+kUb8OWJDZgoM5pl+z+m6Ss80zDoWo8SnT +q1mt1tve1CuBAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFLgHkXlcBvRG/XtZ +ylomkadFK/hTMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQwFAAOCAgEAIZtqBSBdGBanEqT3 +Rz/NyjuujsCCztxIJXgXbODgcMTWltnZ9r96nBO7U5WS/8+S4PPFJzVXqDuiGev4iqME3mmL5Dw8 +veWv0BIb5Ylrc5tvJQJLkIKvQMKtuppgJFqBTQUYo+IzeXoLH5Pt7DlK9RME7I10nYEKqG/odv6L +TytpEoYKNDbdgptvT+Bz3Ul/KD7JO6NXBNiT2Twp2xIQaOHEibgGIOcberyxk2GaGUARtWqFVwHx +tlotJnMnlvm5P1vQiJ3koP26TpUJg3933FEFlJ0gcXax7PqJtZwuhfG5WyRasQmr2soaB82G39tp +27RIGAAtvKLEiUUjpQ7hRGU+isFqMB3iYPg6qocJQrmBktwliJiJ8Xw18WLK7nn4GS/+X/jbh87q +qA8MpugLoDzga5SYnH+tBuYc6kIQX+ImFTw3OffXvO645e8D7r0i+yiGNFjEWn9hongPXvPKnbwb +PKfILfanIhHKA9jnZwqKDss1jjQ52MjqjZ9k4DewbNfFj8GQYSbbJIweSsCI3zWQzj8C9GRh3sfI +B5XeMhg6j6JCQCTl1jNdfK7vsU1P1FeQNWrcrgSXSYk0ly4wBOeY99sLAZDBHwo/+ML+TvrbmnNz +FrwFuHnYWa8G5z9nODmxfKuU4CkUpijy323imttUQ/hHWKNddBWcwauwxzQ= +-----END CERTIFICATE----- + +D-TRUST EV Root CA 2 2023 +========================= +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBIMQswCQYDVQQG +EwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0Eg +MiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUwOTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTAT +BgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1 +sJkKF8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE7CUXFId/ +MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFeEMbsh2aJgWi6zCudR3Mf +vc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6lHPTGGkKSv/BAQP/eX+1SH977ugpbzZM +lWGG2Pmic4ruri+W7mjNPU0oQvlFKzIbRlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3 +YG14C8qKXO0elg6DpkiVjTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq910 +7PncjLgcjmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZxTnXo +nMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+ARZZaBhDM7DS3LAa +QzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nkhbDhezGdpn9yo7nELC7MmVcOIQxF +AZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knFNXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUqvyREBuHkV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRC +MEAwPqA8oDqGOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y +XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14QvBukEdHjqOS +Mo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4pZt+UPJ26oUFKidBK7GB0aL2 +QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xD +UmPBEcrCRbH0O1P1aa4846XerOhUt7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V +4U/M5d40VxDJI3IXcI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuo +dNv8ifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT2vFp4LJi +TZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs7dpn1mKmS00PaaLJvOwi +S5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNPgofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/ +HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAstNl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L ++KIkBI3Y4WNeApI02phhXBxvWHZks/wCuPWdCg== +-----END CERTIFICATE----- + +SwissSign RSA TLS Root CA 2022 - 1 +================================== +-----BEGIN CERTIFICATE----- +MIIFkzCCA3ugAwIBAgIUQ/oMX04bgBhE79G0TzUfRPSA7cswDQYJKoZIhvcNAQELBQAwUTELMAkG +A1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzErMCkGA1UEAxMiU3dpc3NTaWduIFJTQSBU +TFMgUm9vdCBDQSAyMDIyIC0gMTAeFw0yMjA2MDgxMTA4MjJaFw00NzA2MDgxMTA4MjJaMFExCzAJ +BgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxKzApBgNVBAMTIlN3aXNzU2lnbiBSU0Eg +VExTIFJvb3QgQ0EgMjAyMiAtIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDLKmji +C8NXvDVjvHClO/OMPE5Xlm7DTjak9gLKHqquuN6orx122ro10JFwB9+zBvKK8i5VUXu7LCTLf5Im +gKO0lPaCoaTo+nUdWfMHamFk4saMla+ju45vVs9xzF6BYQ1t8qsCLqSX5XH8irCRIFucdFJtrhUn +WXjyCcplDn/L9Ovn3KlMd/YrFgSVrpxxpT8q2kFC5zyEEPThPYxr4iuRR1VPuFa+Rd4iUU1OKNlf +GUEGjw5NBuBwQCMBauTLE5tzrE0USJIt/m2n+IdreXXhvhCxqohAWVTXz8TQm0SzOGlkjIHRI36q +OTw7D59Ke4LKa2/KIj4x0LDQKhySio/YGZxH5D4MucLNvkEM+KRHBdvBFzA4OmnczcNpI/2aDwLO +EGrOyvi5KaM2iYauC8BPY7kGWUleDsFpswrzd34unYyzJ5jSmY0lpx+Gs6ZUcDj8fV3oT4MM0ZPl +EuRU2j7yrTrePjxF8CgPBrnh25d7mUWe3f6VWQQvdT/TromZhqwUtKiE+shdOxtYk8EXlFXIC+OC +eYSf8wCENO7cMdWP8vpPlkwGqnj73mSiI80fPsWMvDdUDrtaclXvyFu1cvh43zcgTFeRc5JzrBh3 +Q4IgaezprClG5QtO+DdziZaKHG29777YtvTKwP1H8K4LWCDFyB02rpeNUIMmJCn3nTsPBQIDAQAB +o2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBRvjmKLk0Ow +4UD2p8P98Q+4DxU4pTAdBgNVHQ4EFgQUb45ii5NDsOFA9qfD/fEPuA8VOKUwDQYJKoZIhvcNAQEL +BQADggIBAKwsKUF9+lz1GpUYvyypiqkkVHX1uECry6gkUSsYP2OprphWKwVDIqO310aewCoSPY6W +lkDfDDOLazeROpW7OSltwAJsipQLBwJNGD77+3v1dj2b9l4wBlgzHqp41eZUBDqyggmNzhYzWUUo +8aWjlw5DI/0LIICQ/+Mmz7hkkeUFjxOgdg3XNwwQiJb0Pr6VvfHDffCjw3lHC1ySFWPtUnWK50Zp +y1FVCypM9fJkT6lc/2cyjlUtMoIcgC9qkfjLvH4YoiaoLqNTKIftV+Vlek4ASltOU8liNr3Cjlvr +zG4ngRhZi0Rjn9UMZfQpZX+RLOV/fuiJz48gy20HQhFRJjKKLjpHE7iNvUcNCfAWpO2Whi4Z2L6M +OuhFLhG6rlrnub+xzI/goP+4s9GFe3lmozm1O2bYQL7Pt2eLSMkZJVX8vY3PXtpOpvJpzv1/THfQ +wUY1mFwjmwJFQ5Ra3bxHrSL+ul4vkSkphnsh3m5kt8sNjzdbowhq6/TdAo9QAwKxuDdollDruF/U +KIqlIgyKhPBZLtU30WHlQnNYKoH3dtvi4k0NX/a3vgW0rk4N3hY9A4GzJl5LuEsAz/+MF7psYC0n +hzck5npgL7XTgwSqT0N1osGDsieYK7EOgLrAhV5Cud+xYJHT6xh+cHiudoO+cVrQkOPKwRYlZ0rw +tnu64ZzZ +-----END CERTIFICATE----- + +OISTE Server Root ECC G1 +======================== +-----BEGIN CERTIFICATE----- +MIICNTCCAbqgAwIBAgIQI/nD1jWvjyhLH/BU6n6XnTAKBggqhkjOPQQDAzBLMQswCQYDVQQGEwJD +SDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwYT0lTVEUgU2VydmVyIFJvb3Qg +RUNDIEcxMB4XDTIzMDUzMTE0NDIyOFoXDTQ4MDUyNDE0NDIyN1owSzELMAkGA1UEBhMCQ0gxGTAX +BgNVBAoMEE9JU1RFIEZvdW5kYXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IEVDQyBH +MTB2MBAGByqGSM49AgEGBSuBBAAiA2IABBcv+hK8rBjzCvRE1nZCnrPoH7d5qVi2+GXROiFPqOuj +vqQycvO2Ackr/XeFblPdreqqLiWStukhEaivtUwL85Zgmjvn6hp4LrQ95SjeHIC6XG4N2xml4z+c +KrhAS93mT6NjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQ3TYhlz/w9itWj8UnATgwQ +b0K0nDAdBgNVHQ4EFgQUN02IZc/8PYrVo/FJwE4MEG9CtJwwDgYDVR0PAQH/BAQDAgGGMAoGCCqG +SM49BAMDA2kAMGYCMQCpKjAd0MKfkFFRQD6VVCHNFmb3U2wIFjnQEnx/Yxvf4zgAOdktUyBFCxxg +ZzFDJe0CMQCSia7pXGKDYmH5LVerVrkR3SW+ak5KGoJr3M/TvEqzPNcum9v4KGm8ay3sMaE641c= +-----END CERTIFICATE----- + + OISTE Server Root RSA G1 +========================= +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIQVaXZZ5Qoxu0M+ifdWwFNGDANBgkqhkiG9w0BAQwFADBLMQswCQYDVQQG +EwJDSDEZMBcGA1UECgwQT0lTVEUgRm91bmRhdGlvbjEhMB8GA1UEAwwYT0lTVEUgU2VydmVyIFJv +b3QgUlNBIEcxMB4XDTIzMDUzMTE0MzcxNloXDTQ4MDUyNDE0MzcxNVowSzELMAkGA1UEBhMCQ0gx +GTAXBgNVBAoMEE9JU1RFIEZvdW5kYXRpb24xITAfBgNVBAMMGE9JU1RFIFNlcnZlciBSb290IFJT +QSBHMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKqu9KuCz/vlNwvn1ZatkOhLKdxV +YOPMvLO8LZK55KN68YG0nnJyQ98/qwsmtO57Gmn7KNByXEptaZnwYx4M0rH/1ow00O7brEi56rAU +jtgHqSSY3ekJvqgiG1k50SeH3BzN+Puz6+mTeO0Pzjd8JnduodgsIUzkik/HEzxux9UTl7Ko2yRp +g1bTacuCErudG/L4NPKYKyqOBGf244ehHa1uzjZ0Dl4zO8vbUZeUapU8zhhabkvG/AePLhq5Svdk +NCncpo1Q4Y2LS+VIG24ugBA/5J8bZT8RtOpXaZ+0AOuFJJkk9SGdl6r7NH8CaxWQrbueWhl/pIzY ++m0o/DjH40ytas7ZTpOSjswMZ78LS5bOZmdTaMsXEY5Z96ycG7mOaES3GK/m5Q9l3JUJsJMStR8+ +lKXHiHUhsd4JJCpM4rzsTGdHwimIuQq6+cF0zowYJmXa92/GjHtoXAvuY8BeS/FOzJ8vD+HomnqT +8eDI278n5mUpezbgMxVz8p1rhAhoKzYHKyfMeNhqhw5HdPSqoBNdZH702xSu+zrkL8Fl47l6QGzw +Brd7KJvX4V84c5Ss2XCTLdyEr0YconosP4EmQufU2MVshGYRi3drVByjtdgQ8K4p92cIiBdcuJd5 +z+orKu5YM+Vt6SmqZQENghPsJQtdLEByFSnTkCz3GkPVavBpAgMBAAGjYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHwYDVR0jBBgwFoAU8snBDw1jALvsRQ5KH7WxszbNDo0wHQYDVR0OBBYEFPLJwQ8NYwC7 +7EUOSh+1sbM2zQ6NMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQwFAAOCAgEANGd5sjrG5T33 +I3K5Ce+SrScfoE4KsvXaFwyihdJ+klH9FWXXXGtkFu6KRcoMQzZENdl//nk6HOjG5D1rd9QhEOP2 +8yBOqb6J8xycqd+8MDoX0TJD0KqKchxRKEzdNsjkLWd9kYccnbz8qyiWXmFcuCIzGEgWUOrKL+ml +Sdx/PKQZvDatkuK59EvV6wit53j+F8Bdh3foZ3dPAGav9LEDOr4SfEE15fSmG0eLy3n31r8Xbk5l +8PjaV8GUgeV6Vg27Rn9vkf195hfkgSe7BYhW3SCl95gtkRlpMV+bMPKZrXJAlszYd2abtNUOshD+ +FKrDgHGdPY3ofRRsYWSGRqbXVMW215AWRqWFyp464+YTFrYVI8ypKVL9AMb2kI5Wj4kI3Zaq5tNq +qYY19tVFeEJKRvwDyF7YZvZFZSS0vod7VSCd9521Kvy5YhnLbDuv0204bKt7ph6N/Ome/msVuduC +msuY33OhkKCgxeDoAaijFJzIwZqsFVAzje18KotzlUBDJvyBpCpfOZC3J8tRd/iWkx7P8nd9H0aT +olkelUTFLXVksNb54Dxp6gS1HAviRkRNQzuXSXERvSS2wq1yVAb+axj5d9spLFKebXd7Yv0PTY6Y +MjAwcRLWJTXjn/hvnLXrahut6hDTlhZyBiElxky8j3C7DOReIoMt0r7+hVu05L0= +-----END CERTIFICATE----- From 2e4c11273f9bff360837138522a1f562875add5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Fern=C3=A1ndez=20Aldana?= Date: Sat, 21 Feb 2026 19:36:06 +0100 Subject: [PATCH 13/13] minor readme change --- README.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/README.md b/README.md index 123003f6..4a0d5175 100644 --- a/README.md +++ b/README.md @@ -108,13 +108,6 @@ is in maintenance or is eventually shutdown. -#### AoE IV: AE - -* **⚠️ Modifying the profile causes a game crash.** -* ⚠️ Error dialog shown that some online services are unavailable on start. -* ⚠️ Error dialog shown that mods cannot be loaded on start when using a custom launcher. -* ⚠️ Error dialog shown that match results cannot be loaded after game end. - #### AoM: RT