gitextract_erdgdp2y/ ├── .gitattributes ├── .gitignore ├── LICENSE.md ├── PokemonBattleEngine/ │ ├── Battle/ │ │ ├── Battle.cs │ │ ├── BattleActions.cs │ │ ├── BattleDamage.cs │ │ ├── BattleEffects.cs │ │ ├── BattleEffects_HitLogic.cs │ │ ├── BattleEnums.cs │ │ ├── BattleEvents.cs │ │ ├── BattleInventory.cs │ │ ├── BattleMoveset.cs │ │ ├── BattlePokemon.cs │ │ ├── BattleReplay.cs │ │ ├── BattleTargets.cs │ │ ├── BattleTeam.cs │ │ ├── BattleTrainer.cs │ │ ├── BattleUtils.cs │ │ ├── TrainerInfo.cs │ │ └── TypeEffectiveness.cs │ ├── Data/ │ │ ├── DataEnums.cs │ │ ├── DataProvider.cs │ │ ├── Interfaces/ │ │ │ ├── ItemData.cs │ │ │ ├── LocalizedString.cs │ │ │ ├── MoveData.cs │ │ │ ├── MovesetInterfaces.cs │ │ │ ├── PokemonData.cs │ │ │ ├── PokemonInterfaces.cs │ │ │ └── StatInterfaces.cs │ │ ├── Legality/ │ │ │ ├── LegalEffortValues.cs │ │ │ ├── LegalIndividualValues.cs │ │ │ ├── LegalMoveset.cs │ │ │ ├── LegalPokemon.cs │ │ │ └── LegalPokemonCollection.cs │ │ ├── PBEAlphabeticalList.cs │ │ ├── PBEList.cs │ │ ├── ReadOnlyLocalizedString.cs │ │ ├── ReadOnlyMoveset.cs │ │ ├── ReadOnlyPokemon.cs │ │ ├── ReadOnlyPokemonCollection.cs │ │ ├── Settings.cs │ │ ├── StatCollection.cs │ │ └── Utils/ │ │ ├── DataUtils_Effects.cs │ │ ├── DataUtils_Forms.cs │ │ ├── DataUtils_Items.cs │ │ ├── DataUtils_Moves.cs │ │ ├── DataUtils_Stats.cs │ │ └── DataUtils_Validate.cs │ ├── Network/ │ │ ├── Client.cs │ │ ├── Encryption.cs │ │ ├── NetworkUtils.cs │ │ ├── Server.cs │ │ └── ServerClient.cs │ ├── Packets/ │ │ ├── ActionsRequestPacket.cs │ │ ├── ActionsResponsePacket.cs │ │ ├── AutoCenterPacket.cs │ │ ├── BattlePacket.cs │ │ ├── BattleResultPacket.cs │ │ ├── FleeResponsePacket.cs │ │ ├── HazePacket.cs │ │ ├── MatchCancelledPacket.cs │ │ ├── PartyRequestPacket.cs │ │ ├── PartyResponsePacket.cs │ │ ├── PlayerJoinedPacket.cs │ │ ├── ResponsePacket.cs │ │ ├── SwitchInRequestPacket.cs │ │ ├── SwitchInResponsePacket.cs │ │ ├── TurnBeganPacket.cs │ │ ├── _AbilityPacket.cs │ │ ├── _AbilityReplacedPacket.cs │ │ ├── _BattleStatusPacket.cs │ │ ├── _CapturePacket.cs │ │ ├── _FleeFailedPacket.cs │ │ ├── _IllusionPacket.cs │ │ ├── _ItemPacket.cs │ │ ├── _ItemTurnPacket.cs │ │ ├── _MoveCritPacket.cs │ │ ├── _MoveLockPacket.cs │ │ ├── _MovePPChangedPacket.cs │ │ ├── _MoveResultPacket.cs │ │ ├── _MoveUsedPacket.cs │ │ ├── _PkmnEXPChangedPacket.cs │ │ ├── _PkmnEXPEarnedPacket.cs │ │ ├── _PkmnFaintedPacket.cs │ │ ├── _PkmnFormChangedPacket.cs │ │ ├── _PkmnHPChangedPacket.cs │ │ ├── _PkmnLevelChangedPacket.cs │ │ ├── _PkmnStatChangedPacket.cs │ │ ├── _PkmnSwitchInPacket.cs │ │ ├── _PkmnSwitchOutPacket.cs │ │ ├── _PsychUpPacket.cs │ │ ├── _ReflectTypePacket.cs │ │ ├── _SpecialMessagePacket.cs │ │ ├── _Status1Packet.cs │ │ ├── _Status2Packet.cs │ │ ├── _TeamStatusDamagePacket.cs │ │ ├── _TeamStatusPacket.cs │ │ ├── _TransformPacket.cs │ │ ├── _TypeChangedPacket.cs │ │ ├── _WeatherDamagePacket.cs │ │ ├── _WeatherPacket.cs │ │ ├── _WildPkmnAppearedPacket.cs │ │ ├── __Packet.cs │ │ └── __PacketProcessor.cs │ ├── PokemonBattleEngine.csproj │ └── Utils/ │ ├── EmptyCollections.cs │ ├── Random.cs │ └── Utils.cs ├── PokemonBattleEngine.DefaultData/ │ ├── AI/ │ │ ├── AI.cs │ │ ├── AIDecisions.cs │ │ └── WildAI.cs │ ├── Data/ │ │ ├── BerryData.cs │ │ ├── BerryData_Data.cs │ │ ├── EXPTables.cs │ │ ├── EventPokemon.cs │ │ ├── EventPokemon_Data.cs │ │ ├── ItemData.cs │ │ ├── ItemData_Data.cs │ │ ├── LegalityChecker.cs │ │ ├── MoveData.cs │ │ ├── MoveData_Data.cs │ │ └── PokemonData.cs │ ├── DefaultDataProvider.cs │ ├── Enums.cs │ ├── IPokemonDataExtended.cs │ ├── LocalizedString.cs │ ├── PokemonBattleEngine.DefaultData.csproj │ └── RandomTeamGenerator.cs ├── PokemonBattleEngine.sln ├── PokemonBattleEngineClient/ │ ├── App.xaml │ ├── App.xaml.cs │ ├── Clients/ │ │ ├── ActionsBuilder.cs │ │ ├── BattleClient.cs │ │ ├── NetworkClient.cs │ │ ├── NonLocalClient.cs │ │ ├── ReplayClient.cs │ │ ├── SinglePlayerClient.cs │ │ └── SwitchesBuilder.cs │ ├── Infrastructure/ │ │ ├── BetterWrapPanel.cs │ │ ├── Converters.cs │ │ ├── StringRenderer.cs │ │ ├── Utils.cs │ │ └── WriteableBitmapSurface.cs │ ├── MainWindow.xaml │ ├── MainWindow.xaml.cs │ ├── Models/ │ │ ├── MoveInfo.cs │ │ ├── PokemonInfo.cs │ │ ├── SwitchInfo.cs │ │ ├── TargetInfo.cs │ │ └── TeamInfo.cs │ ├── PokemonBattleEngineClient.csproj │ └── Views/ │ ├── ActionsView.xaml │ ├── ActionsView.xaml.cs │ ├── BattleView.xaml │ ├── BattleView.xaml.cs │ ├── FieldView.xaml │ ├── FieldView.xaml.cs │ ├── HPBarView.xaml │ ├── HPBarView.xaml.cs │ ├── MainView.xaml │ ├── MainView.xaml.cs │ ├── MessageView.xaml │ ├── MessageView.xaml.cs │ ├── PokemonView.xaml │ ├── PokemonView.xaml.cs │ ├── TeamBuilderView.xaml │ └── TeamBuilderView.xaml.cs ├── PokemonBattleEngineClient.Android/ │ ├── Assets/ │ │ └── AboutAssets.txt │ ├── MainActivity.cs │ ├── PokemonBattleEngineClient.Android.csproj │ ├── Properties/ │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ └── Resources/ │ ├── AboutResources.txt │ ├── Resource.Designer.cs │ ├── layout/ │ │ └── Main.axml │ └── values/ │ └── Strings.xml ├── PokemonBattleEngineClient.Desktop/ │ ├── PokemonBattleEngineClient.Desktop.csproj │ └── Program.cs ├── PokemonBattleEngineClient.iOS/ │ ├── AppDelegate.cs │ ├── Entitlements.plist │ ├── Info.plist │ ├── Main.cs │ ├── PokemonBattleEngineClient.iOS.csproj │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Resources/ │ └── LaunchScreen.xib ├── PokemonBattleEngineDiscord/ │ ├── BattleContext.cs │ ├── BattleContext_Constants.cs │ ├── BotCommands.cs │ ├── ChannelHandler.cs │ ├── Matchmaking.cs │ ├── PokemonBattleEngineDiscord.csproj │ ├── Program.cs │ ├── ReactionHandler.cs │ ├── ReplaySaver.cs │ └── Utils.cs ├── PokemonBattleEngineExtras/ │ ├── AIBattleDemo.cs │ ├── LocalizationDumper.cs │ ├── NARCTextDumper.cs │ ├── PokemonBattleEngineExtras.csproj │ ├── PokemonDataDumper.cs │ ├── PokemonDataDumper_Data.cs │ ├── PokemonDataDumper_DreamWorld.cs │ ├── Program.cs │ └── Utils.cs ├── PokemonBattleEngineServer/ │ ├── BattleServer.cs │ ├── Player.cs │ ├── PokemonBattleEngineServer.csproj │ └── Properties/ │ └── launchSettings.json ├── PokemonBattleEngineTests/ │ ├── Abilities/ │ │ ├── AntiStatusAbilityTests.cs │ │ ├── IllusionTests.cs │ │ ├── IntimidateTests.cs │ │ ├── NaturalCureTests.cs │ │ └── PoisonHealTests.cs │ ├── ActionsTests.cs │ ├── AutoCenterTests.cs │ ├── BattleResultTests.cs │ ├── BehaviorTests.cs │ ├── Forms/ │ │ ├── CastformCherrimTests.cs │ │ └── ShayminTests.cs │ ├── Items/ │ │ └── GemTests.cs │ ├── Moves/ │ │ ├── BellyDrumTests.cs │ │ ├── CamouflageTests.cs │ │ ├── HelpingHandTests.cs │ │ ├── MultiStrikeTests.cs │ │ ├── ProtectionTests.cs │ │ ├── RoostTests.cs │ │ ├── SecretPowerTests.cs │ │ ├── TeleportTests.cs │ │ └── WhirlwindTests.cs │ ├── PokemonBattleEngineTests.csproj │ ├── Statuses/ │ │ ├── ConfusionTests.cs │ │ ├── PowerTrickTests.cs │ │ └── SubstituteTests.cs │ ├── TestUtils.cs │ └── ThrowTests.cs ├── README.md ├── Shared Assets/ │ └── PKMN/ │ ├── FemaleMinispriteLookup.txt │ └── FemaleSpriteLookup.txt ├── To Do Abilities.txt ├── To Do Items.txt ├── To Do Moves.txt └── nuget.config