gitextract_cw6qygp5/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── dotnetcore.yml ├── .gitignore ├── LICENSE ├── README.md ├── random.txt └── src/ ├── .dockerignore ├── ClashRoyale/ │ ├── ClashRoyale.csproj │ ├── ClashRoyale.csproj.DotSettings │ ├── Core/ │ │ ├── Cluster/ │ │ │ ├── Node.cs │ │ │ ├── NodeInfo.cs │ │ │ ├── NodeManager.cs │ │ │ └── Protocol/ │ │ │ ├── ClusterMessage.cs │ │ │ ├── ClusterMessageFactory.cs │ │ │ └── Messages/ │ │ │ ├── Client/ │ │ │ │ ├── BattleFinishedMessage.cs │ │ │ │ ├── ConnectionCheckMessage.cs │ │ │ │ └── ServerInfoMessage.cs │ │ │ └── Server/ │ │ │ ├── ConnectionFailedMessage.cs │ │ │ └── ConnectionOkMessage.cs │ │ ├── Configuration.cs │ │ ├── Leaderboards/ │ │ │ └── Leaderboard.cs │ │ ├── Network/ │ │ │ ├── Handlers/ │ │ │ │ ├── Cluster/ │ │ │ │ │ ├── ClusterPacketEncoder.cs │ │ │ │ │ └── ClusterPacketHandler.cs │ │ │ │ ├── PacketEncoder.cs │ │ │ │ └── PacketHandler.cs │ │ │ ├── NettyService.cs │ │ │ └── Throttler.cs │ │ └── SentryReport.cs │ ├── Database/ │ │ ├── AllianceDb.cs │ │ ├── Cache/ │ │ │ ├── Alliances.cs │ │ │ ├── Battles.cs │ │ │ ├── DuoBattles.cs │ │ │ └── Players.cs │ │ ├── ObjectCache.cs │ │ └── PlayerDb.cs │ ├── Extensions/ │ │ ├── CustomWriter.cs │ │ └── Utils/ │ │ └── CompressionUtils.cs │ ├── Files/ │ │ ├── Csv.Files.cs │ │ ├── Csv.cs │ │ ├── CsvClient/ │ │ │ ├── BackgroundDecos.cs │ │ │ ├── BillingPackages.cs │ │ │ ├── ClientGlobals.cs │ │ │ ├── Credits.cs │ │ │ ├── Effects.cs │ │ │ ├── EventOutput.cs │ │ │ ├── HealthBars.cs │ │ │ ├── Helpshift.cs │ │ │ ├── Hints.cs │ │ │ ├── Music.cs │ │ │ ├── News.cs │ │ │ ├── ParticleEmitters.cs │ │ │ ├── Sounds.cs │ │ │ ├── Texts.cs │ │ │ └── TextsPatch.cs │ │ ├── CsvHelpers/ │ │ │ ├── Data.cs │ │ │ ├── DataTable.cs │ │ │ └── GlobalId.cs │ │ ├── CsvLogic/ │ │ │ ├── Abilities.cs │ │ │ ├── Achievements.cs │ │ │ ├── AllianceBadges.cs │ │ │ ├── AllianceRoles.cs │ │ │ ├── AreaEffectObjects.cs │ │ │ ├── Arenas.cs │ │ │ ├── Buildings.cs │ │ │ ├── CharacterBuffs.cs │ │ │ ├── Characters.cs │ │ │ ├── ChestOrder.cs │ │ │ ├── ConfigurationDefinitions.cs │ │ │ ├── ContentTests.cs │ │ │ ├── Decos.cs │ │ │ ├── DraftDeck.cs │ │ │ ├── EventCategories.cs │ │ │ ├── EventCategoryDefinitions.cs │ │ │ ├── EventCategoryEnums.cs │ │ │ ├── EventCategoryObjectDefinitions.cs │ │ │ ├── EventTargetingDefinitions.cs │ │ │ ├── ExpLevels.cs │ │ │ ├── GambleChests.cs │ │ │ ├── GameModes.cs │ │ │ ├── Globals.cs │ │ │ ├── Heroes.cs │ │ │ ├── Locales.cs │ │ │ ├── Locations.cs │ │ │ ├── Npcs.cs │ │ │ ├── PredefinedDecks.cs │ │ │ ├── Projectiles.cs │ │ │ ├── PveBoss.cs │ │ │ ├── PveGamemodes.cs │ │ │ ├── PveWaves.cs │ │ │ ├── QuestOrder.cs │ │ │ ├── Rarities.cs │ │ │ ├── Regions.cs │ │ │ ├── ResourcePacks.cs │ │ │ ├── Resources.cs │ │ │ ├── Shop.cs │ │ │ ├── Skins.cs │ │ │ ├── SpellSets.cs │ │ │ ├── SpellsBuildings.cs │ │ │ ├── SpellsCharacters.cs │ │ │ ├── SpellsHeroes.cs │ │ │ ├── SpellsOther.cs │ │ │ ├── SurvivalModes.cs │ │ │ ├── Taunts.cs │ │ │ ├── TournamentTiers.cs │ │ │ ├── TreasureChests.cs │ │ │ ├── TutorialChestOrder.cs │ │ │ ├── TutorialsHome.cs │ │ │ ├── TutorialsNpc.cs │ │ │ └── TveGamemodes.cs │ │ ├── CsvReader/ │ │ │ ├── Column.cs │ │ │ ├── Gamefiles.cs │ │ │ ├── Row.cs │ │ │ └── Table.cs │ │ ├── Fingerprint.cs │ │ └── UpdateManager.cs │ ├── GameAssets/ │ │ ├── csv_client/ │ │ │ ├── background_decos.csv │ │ │ ├── billing_packages.csv │ │ │ ├── client_globals.csv │ │ │ ├── credits.csv │ │ │ ├── effects.csv │ │ │ ├── event_output.csv │ │ │ ├── health_bars.csv │ │ │ ├── helpshift.csv │ │ │ ├── hints.csv │ │ │ ├── music.csv │ │ │ ├── news.csv │ │ │ ├── particle_emitters.csv │ │ │ ├── sounds.csv │ │ │ ├── texts.csv │ │ │ └── texts_patch.csv │ │ ├── csv_logic/ │ │ │ ├── abilities.csv │ │ │ ├── achievements.csv │ │ │ ├── alliance_badges.csv │ │ │ ├── alliance_roles.csv │ │ │ ├── area_effect_objects.csv │ │ │ ├── arenas.csv │ │ │ ├── buildings.csv │ │ │ ├── character_buffs.csv │ │ │ ├── characters.csv │ │ │ ├── chest_order.csv │ │ │ ├── configuration_definitions.csv │ │ │ ├── content_tests.csv │ │ │ ├── decos.csv │ │ │ ├── draft_deck.csv │ │ │ ├── event_categories.csv │ │ │ ├── event_category_definitions.csv │ │ │ ├── event_category_enums.csv │ │ │ ├── event_category_object_definitions.csv │ │ │ ├── event_targeting_definitions.csv │ │ │ ├── exp_levels.csv │ │ │ ├── gamble_chests.csv │ │ │ ├── game_modes.csv │ │ │ ├── globals.csv │ │ │ ├── heroes.csv │ │ │ ├── locales.csv │ │ │ ├── locations.csv │ │ │ ├── npcs.csv │ │ │ ├── predefined_decks.csv │ │ │ ├── projectiles.csv │ │ │ ├── pve_boss.csv │ │ │ ├── pve_gamemodes.csv │ │ │ ├── pve_waves.csv │ │ │ ├── quest_order.csv │ │ │ ├── rarities.csv │ │ │ ├── regions.csv │ │ │ ├── resource_packs.csv │ │ │ ├── resources.csv │ │ │ ├── shop.csv │ │ │ ├── skins.csv │ │ │ ├── spell_sets.csv │ │ │ ├── spells_buildings.csv │ │ │ ├── spells_characters.csv │ │ │ ├── spells_heroes.csv │ │ │ ├── spells_other.csv │ │ │ ├── survival_modes.csv │ │ │ ├── taunts.csv │ │ │ ├── tournament_tiers.csv │ │ │ ├── treasure_chests.csv │ │ │ ├── tutorial_chest_order.csv │ │ │ ├── tutorials_home.csv │ │ │ ├── tutorials_npc.csv │ │ │ └── tve_gamemodes.csv │ │ ├── database.sql │ │ ├── fingerprint.json │ │ ├── locations/ │ │ │ ├── barbarian_arena.csv │ │ │ ├── barbarian_arena_2v2.csv │ │ │ ├── bone_arena.csv │ │ │ ├── bone_arena_2v2.csv │ │ │ ├── builder_arena.csv │ │ │ ├── builder_arena_2v2.csv │ │ │ ├── champion_arena.csv │ │ │ ├── champion_arena_2v2.csv │ │ │ ├── dark_arena.csv │ │ │ ├── dark_arena_2v2.csv │ │ │ ├── goblin_arena.csv │ │ │ ├── goblin_arena_2v2.csv │ │ │ ├── ice_arena.csv │ │ │ ├── ice_arena_2v2.csv │ │ │ ├── jungle_arena.csv │ │ │ ├── jungle_arena_2v2.csv │ │ │ ├── legendary_arena.csv │ │ │ ├── legendary_arena_2v2.csv │ │ │ ├── royal_arena.csv │ │ │ ├── royal_arena_2v2.csv │ │ │ ├── spell_arena.csv │ │ │ ├── spell_arena_2v2.csv │ │ │ ├── tilemap_pve.csv │ │ │ ├── titan_arena.csv │ │ │ ├── training_arena.csv │ │ │ ├── training_arena_pve.csv │ │ │ ├── training_arena_pve1.csv │ │ │ └── training_arena_tve.csv │ │ ├── sc/ │ │ │ ├── arena_training.sc │ │ │ ├── arena_training_tex.sc │ │ │ ├── building_barbarian_hut.sc │ │ │ ├── building_barbarian_hut_highres_tex.sc │ │ │ ├── building_barbarian_hut_lowres_tex.sc │ │ │ ├── building_basic_cannon.sc │ │ │ ├── building_basic_cannon_highres_tex.sc │ │ │ ├── building_basic_cannon_lowres_tex.sc │ │ │ ├── building_bomb_tower.sc │ │ │ ├── building_bomb_tower_highres_tex.sc │ │ │ ├── building_bomb_tower_lowres_tex.sc │ │ │ ├── building_elixir_collector.sc │ │ │ ├── building_elixir_collector_highres_tex.sc │ │ │ ├── building_elixir_collector_lowres_tex.sc │ │ │ ├── building_firespirit_hut.sc │ │ │ ├── building_firespirit_hut_highres_tex.sc │ │ │ ├── building_firespirit_hut_lowres_tex.sc │ │ │ ├── building_goblin_hut.sc │ │ │ ├── building_goblin_hut_tex.sc │ │ │ ├── building_inferno_tower.sc │ │ │ ├── building_inferno_tower_highres_tex.sc │ │ │ ├── building_inferno_tower_lowres_tex.sc │ │ │ ├── building_mega_bomb.sc │ │ │ ├── building_mega_bomb_tex.sc │ │ │ ├── building_mortar.sc │ │ │ ├── building_mortar_highres_tex.sc │ │ │ ├── building_mortar_lowres_tex.sc │ │ │ ├── building_rage_bottle.sc │ │ │ ├── building_rage_bottle_tex.sc │ │ │ ├── building_tesla.sc │ │ │ ├── building_tesla_highres_tex.sc │ │ │ ├── building_tesla_lowres_tex.sc │ │ │ ├── building_tombstone.sc │ │ │ ├── building_tombstone_highres_tex.sc │ │ │ ├── building_tombstone_lowres_tex.sc │ │ │ ├── building_tower.sc │ │ │ ├── building_tower_tex.sc │ │ │ ├── building_xbow.sc │ │ │ ├── building_xbow_highres_tex.sc │ │ │ ├── building_xbow_lowres_tex.sc │ │ │ ├── chr_archer.sc │ │ │ ├── chr_archer_tex.sc │ │ │ ├── chr_axe_man.sc │ │ │ ├── chr_axe_man_highres_tex.sc │ │ │ ├── chr_axe_man_lowres_tex.sc │ │ │ ├── chr_baby_dragon.sc │ │ │ ├── chr_baby_dragon_tex.sc │ │ │ ├── chr_balloon.sc │ │ │ ├── chr_balloon_highres_tex.sc │ │ │ ├── chr_balloon_lowres_tex.sc │ │ │ ├── chr_bandit.sc │ │ │ ├── chr_bandit_tex.sc │ │ │ ├── chr_barbarian.sc │ │ │ ├── chr_barbarian_highres_tex.sc │ │ │ ├── chr_barbarian_lowres_tex.sc │ │ │ ├── chr_bats.sc │ │ │ ├── chr_bats_tex.sc │ │ │ ├── chr_battle_ram.sc │ │ │ ├── chr_battle_ram_highres_tex.sc │ │ │ ├── chr_battle_ram_lowres_tex.sc │ │ │ ├── chr_black_knight.sc │ │ │ ├── chr_black_knight_highres_tex.sc │ │ │ ├── chr_black_knight_lowres_tex.sc │ │ │ ├── chr_bomber.sc │ │ │ ├── chr_bomber_tex.sc │ │ │ ├── chr_bowler.sc │ │ │ ├── chr_bowler_highres_tex.sc │ │ │ ├── chr_bowler_lowres_tex.sc │ │ │ ├── chr_dark_witch.sc │ │ │ ├── chr_dark_witch_highres_tex.sc │ │ │ ├── chr_dark_witch_lowres_tex.sc │ │ │ ├── chr_electro_wizard.sc │ │ │ ├── chr_electro_wizard_highres_tex.sc │ │ │ ├── chr_electro_wizard_lowres_tex.sc │ │ │ ├── chr_fire_firespirit.sc │ │ │ ├── chr_fire_firespirit_tex.sc │ │ │ ├── chr_flying_machine.sc │ │ │ ├── chr_flying_machine_highres_tex.sc │ │ │ ├── chr_flying_machine_lowres_tex.sc │ │ │ ├── chr_giant.sc │ │ │ ├── chr_giant_skeleton.sc │ │ │ ├── chr_giant_skeleton_tex.sc │ │ │ ├── chr_giant_tex.sc │ │ │ ├── chr_goblin.sc │ │ │ ├── chr_goblin_archer.sc │ │ │ ├── chr_goblin_archer_tex.sc │ │ │ ├── chr_goblin_blowdart.sc │ │ │ ├── chr_goblin_blowdart_highres_tex.sc │ │ │ ├── chr_goblin_blowdart_lowres_tex.sc │ │ │ ├── chr_goblin_tex.sc │ │ │ ├── chr_golem.sc │ │ │ ├── chr_golem_highres_tex.sc │ │ │ ├── chr_golem_lowres_tex.sc │ │ │ ├── chr_golemite.sc │ │ │ ├── chr_golemite_highres_tex.sc │ │ │ ├── chr_golemite_lowres_tex.sc │ │ │ ├── chr_hog_rider.sc │ │ │ ├── chr_hog_rider_highres_tex.sc │ │ │ ├── chr_hog_rider_lowres_tex.sc │ │ │ ├── chr_ice_spirits.sc │ │ │ ├── chr_ice_spirits_tex.sc │ │ │ ├── chr_ice_wizard.sc │ │ │ ├── chr_ice_wizard_tex.sc │ │ │ ├── chr_knight.sc │ │ │ ├── chr_knight_tex.sc │ │ │ ├── chr_lava_hound.sc │ │ │ ├── chr_lava_hound_tex.sc │ │ │ ├── chr_lava_pups.sc │ │ │ ├── chr_lava_pups_tex.sc │ │ │ ├── chr_mega_knight.sc │ │ │ ├── chr_mega_knight_highres_tex.sc │ │ │ ├── chr_mega_knight_lowres_tex.sc │ │ │ ├── chr_mega_minion.sc │ │ │ ├── chr_mega_minion_highres_tex.sc │ │ │ ├── chr_mega_minion_lowres_tex.sc │ │ │ ├── chr_miner.sc │ │ │ ├── chr_miner_tex.sc │ │ │ ├── chr_mini_pekka.sc │ │ │ ├── chr_mini_pekka_tex.sc │ │ │ ├── chr_minion.sc │ │ │ ├── chr_minion_tex.sc │ │ │ ├── chr_movingcannon.sc │ │ │ ├── chr_movingcannon_highres_tex.sc │ │ │ ├── chr_movingcannon_lowres_tex.sc │ │ │ ├── chr_musketeer.sc │ │ │ ├── chr_musketeer_tex.sc │ │ │ ├── chr_pekka.sc │ │ │ ├── chr_pekka_tex.sc │ │ │ ├── chr_prince.sc │ │ │ ├── chr_prince_tex.sc │ │ │ ├── chr_princess.sc │ │ │ ├── chr_princess_highres_tex.sc │ │ │ ├── chr_princess_lowres_tex.sc │ │ │ ├── chr_rage_barbarian.sc │ │ │ ├── chr_rage_barbarian_highres_tex.sc │ │ │ ├── chr_rage_barbarian_lowres_tex.sc │ │ │ ├── chr_royal_giant.sc │ │ │ ├── chr_royal_giant_highres_tex.sc │ │ │ ├── chr_royal_giant_lowres_tex.sc │ │ │ ├── chr_skeleton.sc │ │ │ ├── chr_skeleton_balloon.sc │ │ │ ├── chr_skeleton_balloon_highres_tex.sc │ │ │ ├── chr_skeleton_balloon_lowres_tex.sc │ │ │ ├── chr_skeleton_tex.sc │ │ │ ├── chr_skeleton_warrior.sc │ │ │ ├── chr_skeleton_warrior_highres_tex.sc │ │ │ ├── chr_skeleton_warrior_lowres_tex.sc │ │ │ ├── chr_snowman.sc │ │ │ ├── chr_snowman_tex.sc │ │ │ ├── chr_valkyrie.sc │ │ │ ├── chr_valkyrie_tex.sc │ │ │ ├── chr_witch.sc │ │ │ ├── chr_witch_tex.sc │ │ │ ├── chr_wizard.sc │ │ │ ├── chr_wizard_tex.sc │ │ │ ├── chr_zap_machine.sc │ │ │ ├── chr_zap_machine_tex.sc │ │ │ ├── debug.sc │ │ │ ├── debug_tex.sc │ │ │ ├── effects.sc │ │ │ ├── effects_tex.sc │ │ │ ├── level_barbarian_arena.sc │ │ │ ├── level_barbarian_arena_tex.sc │ │ │ ├── level_bone_arena.sc │ │ │ ├── level_bone_arena_tex.sc │ │ │ ├── level_builder_arena.sc │ │ │ ├── level_builder_arena_tex.sc │ │ │ ├── level_champion_arena.sc │ │ │ ├── level_champion_arena_tex.sc │ │ │ ├── level_dark_arena.sc │ │ │ ├── level_dark_arena_tex.sc │ │ │ ├── level_decos.sc │ │ │ ├── level_decos_tex.sc │ │ │ ├── level_goblin_arena.sc │ │ │ ├── level_goblin_arena_tex.sc │ │ │ ├── level_ice_arena.sc │ │ │ ├── level_ice_arena_tex.sc │ │ │ ├── level_jungle_arena.sc │ │ │ ├── level_jungle_arena_tex.sc │ │ │ ├── level_legendary_arena.sc │ │ │ ├── level_legendary_arena_tex.sc │ │ │ ├── level_royal_arena.sc │ │ │ ├── level_royal_arena_tex.sc │ │ │ ├── level_spell_arena.sc │ │ │ ├── level_spell_arena_tex.sc │ │ │ ├── loading.sc │ │ │ ├── loading_tex.sc │ │ │ ├── spell_goblin_barrel.sc │ │ │ ├── spell_goblin_barrel_tex.sc │ │ │ ├── tutorial.sc │ │ │ ├── tutorial_tex.sc │ │ │ ├── ui.sc │ │ │ ├── ui_arena.sc │ │ │ ├── ui_arena_tex.sc │ │ │ ├── ui_battle_end.sc │ │ │ ├── ui_battle_end_tex.sc │ │ │ ├── ui_chest.sc │ │ │ ├── ui_chest_tex.sc │ │ │ ├── ui_spells.sc │ │ │ ├── ui_spells_tex.sc │ │ │ └── ui_tex.sc │ │ └── tilemaps/ │ │ ├── tilemap.csv │ │ ├── tilemap_2v2.csv │ │ ├── tilemap_pve.csv │ │ ├── tilemap_pve1.csv │ │ └── tilemap_tve.csv │ ├── Logger.cs │ ├── Logic/ │ │ ├── Battle/ │ │ │ ├── LogicBattle.cs │ │ │ ├── LogicBattleLog.cs │ │ │ └── LogicBattleLogPlayer.cs │ │ ├── Clan/ │ │ │ ├── Alliance.cs │ │ │ ├── AllianceInfo.cs │ │ │ ├── AllianceMember.cs │ │ │ └── StreamEntry/ │ │ │ ├── AllianceStreamEntry.cs │ │ │ └── Entries/ │ │ │ ├── AllianceEventStreamEntry.cs │ │ │ ├── ChallengeStreamEntry.cs │ │ │ ├── ChatStreamEntry.cs │ │ │ ├── DonateStreamEntry.cs │ │ │ └── JoinRequestAllianceStreamEntry.cs │ │ ├── Device.cs │ │ ├── Home/ │ │ │ ├── Arena.cs │ │ │ ├── Chests/ │ │ │ │ ├── Chests.cs │ │ │ │ └── Items/ │ │ │ │ └── Chest.cs │ │ │ ├── Decks/ │ │ │ │ ├── Cards.cs │ │ │ │ ├── Deck.cs │ │ │ │ └── Items/ │ │ │ │ └── Card.cs │ │ │ ├── Home.cs │ │ │ ├── Shop/ │ │ │ │ ├── Items/ │ │ │ │ │ └── SpellShopItem.cs │ │ │ │ ├── Shop.cs │ │ │ │ └── ShopItem.cs │ │ │ └── StreamEntry/ │ │ │ ├── AvatarStreamEntry.cs │ │ │ └── Entries/ │ │ │ ├── AllianceMailAvatarStreamEntry.cs │ │ │ └── DonationReceivedStreamEntry.cs │ │ ├── Player.cs │ │ ├── Sessions/ │ │ │ ├── Location.cs │ │ │ └── Session.cs │ │ └── Time/ │ │ ├── LogicTime.cs │ │ └── LogicTimer.cs │ ├── NLog.config │ ├── Program.cs │ ├── Properties/ │ │ └── launchSettings.json │ ├── Protocol/ │ │ ├── Commands/ │ │ │ ├── Client/ │ │ │ │ ├── LogicBuyChestCommand.cs │ │ │ │ ├── LogicBuyResourcePackCommand.cs │ │ │ │ ├── LogicBuyResourcesCommand.cs │ │ │ │ ├── LogicBuySpellCommand.cs │ │ │ │ ├── LogicChallengeCommand.cs │ │ │ │ ├── LogicChestNextCardCommand.cs │ │ │ │ ├── LogicCollectCrownChestCommand.cs │ │ │ │ ├── LogicCollectFreeChestCommand.cs │ │ │ │ ├── LogicCopyDeckCommand.cs │ │ │ │ ├── LogicFreeWorkerCommand.cs │ │ │ │ ├── LogicFuseSpellsCommand.cs │ │ │ │ ├── LogicKickAllianceMemberCommand.cs │ │ │ │ ├── LogicSelectDeckCommand.cs │ │ │ │ ├── LogicSwapSpellsCommand.cs │ │ │ │ ├── StartMatchmakeCommand.cs │ │ │ │ └── UnknownCommand.cs │ │ │ └── Server/ │ │ │ ├── ChestDataCommand.cs │ │ │ ├── DoSpellCommand.cs │ │ │ ├── LogicAllianceSettingsChangedCommand.cs │ │ │ ├── LogicChangeAllianceRoleCommand.cs │ │ │ ├── LogicChangeNameCommand.cs │ │ │ ├── LogicDiamondsAddedCommand.cs │ │ │ ├── LogicJoinAllianceCommand.cs │ │ │ └── LogicLeaveAllianceCommand.cs │ │ ├── LogicCommand.cs │ │ ├── LogicCommandManager.cs │ │ ├── LogicScrollMessageFactory.cs │ │ ├── Messages/ │ │ │ ├── Client/ │ │ │ │ ├── Alliance/ │ │ │ │ │ ├── AcceptChallengeMessage.cs │ │ │ │ │ ├── AskForAllianceDataMessage.cs │ │ │ │ │ ├── AskForAllianceRankingListMessage.cs │ │ │ │ │ ├── AskForAllianceStreamMessage.cs │ │ │ │ │ ├── AskForJoinableAlliancesListMessage.cs │ │ │ │ │ ├── CancelChallengeMessage.cs │ │ │ │ │ ├── ChangeAllianceMemberRoleMessage.cs │ │ │ │ │ ├── ChangeAllianceSettingsMessage.cs │ │ │ │ │ ├── ChatToAllianceStreamMessage.cs │ │ │ │ │ ├── CreateAllianceMessage.cs │ │ │ │ │ ├── JoinAllianceMessage.cs │ │ │ │ │ ├── LeaveAllianceMessage.cs │ │ │ │ │ ├── RequestJoinAllianceMessage.cs │ │ │ │ │ ├── RespondToAllianceJoinRequestMessage.cs │ │ │ │ │ ├── SearchAlliancesMessage.cs │ │ │ │ │ └── SendAllianceInvitationMessage.cs │ │ │ │ ├── EndClientTurnMessage.cs │ │ │ │ ├── Home/ │ │ │ │ │ ├── AskForAvatarLocalRankingListMessage.cs │ │ │ │ │ ├── AskForAvatarRankingListMessage.cs │ │ │ │ │ ├── AskForAvatarStreamMessage.cs │ │ │ │ │ ├── AskForBattleReplayStreamMessage.cs │ │ │ │ │ ├── AskForPlayingInvitedFriendsListMessage.cs │ │ │ │ │ ├── AskForTvContentMessage.cs │ │ │ │ │ ├── AvatarNameCheckRequestMessage.cs │ │ │ │ │ ├── BindGoogleServiceAccountMessage.cs │ │ │ │ │ ├── ChangeAvatarNameMessage.cs │ │ │ │ │ ├── ClientCapabilitiesMessage.cs │ │ │ │ │ ├── GoHomeMessage.cs │ │ │ │ │ ├── HomeBattleReplayMessage.cs │ │ │ │ │ ├── InboxOpenedMessage.cs │ │ │ │ │ ├── SetDeviceTokenMessage.cs │ │ │ │ │ └── VisitHomeMessage.cs │ │ │ │ ├── Login/ │ │ │ │ │ ├── ClientHelloMessage.cs │ │ │ │ │ ├── KeepAliveMessage.cs │ │ │ │ │ └── LoginMessage.cs │ │ │ │ ├── Sector/ │ │ │ │ │ ├── CancelMatchmakeMessage.cs │ │ │ │ │ ├── RequestSectorStateMessage.cs │ │ │ │ │ ├── SectorCommandMessage.cs │ │ │ │ │ ├── SendBattleEventMessage.cs │ │ │ │ │ └── StartMissionMessage.cs │ │ │ │ └── Tournament/ │ │ │ │ └── AskForTournamentListMessage.cs │ │ │ └── Server/ │ │ │ ├── Alliance/ │ │ │ │ ├── AllianceCreateFailedMessag.cs │ │ │ │ ├── AllianceDataMessage.cs │ │ │ │ ├── AllianceFullEntryUpdateMessage.cs │ │ │ │ ├── AllianceInvitationSendFailedMessage.cs │ │ │ │ ├── AllianceInvitationSentOkMessage.cs │ │ │ │ ├── AllianceJoinFailedMessage.cs │ │ │ │ ├── AllianceJoinRequestFailedMessage.cs │ │ │ │ ├── AllianceJoinRequestOkMessage.cs │ │ │ │ ├── AllianceListMessage.cs │ │ │ │ ├── AllianceOnlineStatusUpdatedMessage.cs │ │ │ │ ├── AllianceRankingListMessage.cs │ │ │ │ ├── AllianceStreamEntryMessage.cs │ │ │ │ ├── AllianceStreamEntryRemovedMessage.cs │ │ │ │ ├── AllianceStreamMessage.cs │ │ │ │ ├── ChatAccountBanStatusMessage.cs │ │ │ │ └── JoinableAllianceListMessage.cs │ │ │ ├── AvailableServerCommand.cs │ │ │ ├── AvatarLocalRankingListMessage.cs │ │ │ ├── DisconnectedMessage.cs │ │ │ ├── FacebookAccountBoundMessage.cs │ │ │ ├── FacebookAccountUnboundMessage.cs │ │ │ ├── Home/ │ │ │ │ ├── AvatarNameCheckResponseMessage.cs │ │ │ │ ├── AvatarRankingListMessage.cs │ │ │ │ ├── AvatarStreamEntryMessage.cs │ │ │ │ ├── AvatarStreamEntryRemovedMessage.cs │ │ │ │ ├── AvatarStreamMessage.cs │ │ │ │ ├── InboxListMessage.cs │ │ │ │ ├── OwnHomeDataMessage.cs │ │ │ │ ├── ReportUserStatusMessage.cs │ │ │ │ ├── RoyalTvContentMessage.cs │ │ │ │ ├── StopHomeLogicMessage.cs │ │ │ │ └── VisitedHomeDataMessage.cs │ │ │ ├── Login/ │ │ │ │ ├── KeepAliveOkMessage.cs │ │ │ │ ├── LoginFailedMessage.cs │ │ │ │ ├── LoginOkMessage.cs │ │ │ │ └── UnlockAccountFailedMessage.cs │ │ │ ├── Matchmake/ │ │ │ │ ├── CancelChallengeDoneMessage.cs │ │ │ │ ├── CancelMatchmakeDoneMessage.cs │ │ │ │ ├── MatchmakeFailedMessage.cs │ │ │ │ ├── MatchmakeInfoMessage.cs │ │ │ │ ├── PvpMatchmakeNotificationMessage.cs │ │ │ │ └── UdpConnectionInfoMessage.cs │ │ │ ├── OutOfSyncMessage.cs │ │ │ ├── Sector/ │ │ │ │ ├── BattleEventMessage.cs │ │ │ │ ├── BattleResultMessage.cs │ │ │ │ ├── HomeBattleReplayDataMessage.cs │ │ │ │ ├── NpcSectorStateMessage.cs │ │ │ │ ├── OpponentLeftMatchNotificationMessage.cs │ │ │ │ ├── OpponentRejoinsMatchNotificationMessage.cs │ │ │ │ ├── SectorHearbeatMessage.cs │ │ │ │ └── SectorStateMessage.cs │ │ │ ├── ServerErrorMessage.cs │ │ │ ├── ShutdownStartedMessage.cs │ │ │ └── Tournament/ │ │ │ ├── TournamentJoinedFailedMessage.cs │ │ │ └── TournamentListMessage.cs │ │ └── PiranhaMessage.cs │ └── Resources.cs ├── ClashRoyale.Battles/ │ ├── ClashRoyale.Battles.csproj │ ├── Core/ │ │ ├── Configuration.cs │ │ ├── Network/ │ │ │ ├── Cluster/ │ │ │ │ ├── ClusterClient.cs │ │ │ │ ├── Handlers/ │ │ │ │ │ ├── ClusterPacketEncoder.cs │ │ │ │ │ └── ClusterPacketHandler.cs │ │ │ │ ├── NettyClient.cs │ │ │ │ └── Protocol/ │ │ │ │ ├── ClusterMessage.cs │ │ │ │ ├── ClusterMessageFactory.cs │ │ │ │ └── Messages/ │ │ │ │ ├── Client/ │ │ │ │ │ ├── BattleFinishedMessage.cs │ │ │ │ │ ├── ConnectionCheckMessage.cs │ │ │ │ │ └── ServerInfoMessage.cs │ │ │ │ └── Server/ │ │ │ │ ├── ConnectionFailedMessage.cs │ │ │ │ └── ConnectionOkMessage.cs │ │ │ ├── Handlers/ │ │ │ │ └── PacketHandler.cs │ │ │ └── NettyService.cs │ │ └── Sessions.cs │ ├── Logger.cs │ ├── Logic/ │ │ ├── Battle/ │ │ │ └── LogicBattle.cs │ │ ├── Session/ │ │ │ ├── Session.cs │ │ │ └── SessionContext.cs │ │ └── UdpMessageProcessor.cs │ ├── NLog.config │ ├── Program.cs │ ├── Protocol/ │ │ ├── Commands/ │ │ │ └── DoSpellCommand.cs │ │ ├── LogicCommand.cs │ │ ├── LogicCommandManager.cs │ │ ├── LogicMessageFactory.cs │ │ ├── Messages/ │ │ │ ├── Client/ │ │ │ │ ├── SectorCommandMessage.cs │ │ │ │ └── UdpCheckConnectionMessage.cs │ │ │ └── Server/ │ │ │ └── SectorHearbeatMessage.cs │ │ └── PiranhaMessage.cs │ └── Resources.cs ├── ClashRoyale.CsvConverter/ │ ├── ClashRoyale.CsvConverter.csproj │ ├── CsWriter.cs │ ├── Extensions/ │ │ └── Prefixed.cs │ └── Program.cs ├── ClashRoyale.Management/ │ ├── App.config │ ├── App.xaml │ ├── App.xaml.cs │ ├── ClashRoyale.Management.csproj │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ └── Properties/ │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── ClashRoyale.Simulator/ │ ├── Battle.cs │ ├── Cards/ │ │ └── Knight.cs │ ├── ClashRoyale.Simulator.csproj │ ├── Program.cs │ └── Types/ │ ├── Troop.cs │ └── TroopContext.cs ├── ClashRoyale.Utilities/ │ ├── ClashRoyale.Utilities.csproj │ ├── Compression/ │ │ └── ZLib/ │ │ ├── CRC32.cs │ │ ├── Deflate.cs │ │ ├── DeflateStream.cs │ │ ├── GZipStream.cs │ │ ├── InfTree.cs │ │ ├── Inflate.cs │ │ ├── Iso8859Dash1Encoding.cs │ │ ├── ParallelDeflateOutputStream.cs │ │ ├── Tree.cs │ │ ├── Zlib.cs │ │ ├── ZlibBaseStream.cs │ │ ├── ZlibCodec.cs │ │ ├── ZlibConstants.cs │ │ └── ZlibStream.cs │ ├── Crypto/ │ │ └── Rc4.cs │ ├── Extensions.cs │ ├── LogicRandom.cs │ ├── Models/ │ │ └── Battle/ │ │ ├── LogicBattleAvatar.cs │ │ ├── LogicBattleCommand.cs │ │ ├── LogicBattleCommandStorage.cs │ │ ├── LogicBattleEvent.cs │ │ ├── LogicBattleInfo.cs │ │ ├── LogicBattleSpell.cs │ │ └── Replay/ │ │ └── LogicReplay.cs │ ├── Netty/ │ │ ├── Reader.cs │ │ └── Writer.cs │ └── Utils/ │ ├── GameUtils.cs │ ├── ServerUtils.cs │ └── TimeUtils.cs └── ClashRoyale.sln