diff --git a/Pokedex.xcodeproj/project.pbxproj b/Pokedex.xcodeproj/project.pbxproj new file mode 100644 index 0000000..e97978e --- /dev/null +++ b/Pokedex.xcodeproj/project.pbxproj @@ -0,0 +1,563 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 11B0252D1F6F038700C59456 /* SearchTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B0252C1F6F038700C59456 /* SearchTableViewCell.swift */; }; + 11B0252F1F6F139600C59456 /* SearchCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B0252E1F6F139600C59456 /* SearchCollectionViewCell.swift */; }; + 11B025331F6F194B00C59456 /* ProfileViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B025321F6F194B00C59456 /* ProfileViewController.swift */; }; + 11B025351F734AF000C59456 /* SearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B025341F734AF000C59456 /* SearchViewController.swift */; }; + 11B025371F74989A00C59456 /* TypesTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11B025361F74989A00C59456 /* TypesTableViewCell.swift */; }; + 3CFC6F0F1D98716000B4EBB5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC6F0E1D98716000B4EBB5 /* AppDelegate.swift */; }; + 3CFC6F111D98716000B4EBB5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC6F101D98716000B4EBB5 /* ViewController.swift */; }; + 3CFC6F141D98716000B4EBB5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3CFC6F121D98716000B4EBB5 /* Main.storyboard */; }; + 3CFC6F161D98716000B4EBB5 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3CFC6F151D98716000B4EBB5 /* Assets.xcassets */; }; + 3CFC6F191D98716000B4EBB5 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3CFC6F171D98716000B4EBB5 /* LaunchScreen.storyboard */; }; + 3CFC6F241D98716000B4EBB5 /* PokedexTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC6F231D98716000B4EBB5 /* PokedexTests.swift */; }; + 3CFC6F2F1D98716000B4EBB5 /* PokedexUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC6F2E1D98716000B4EBB5 /* PokedexUITests.swift */; }; + 3CFC6F3D1D98719100B4EBB5 /* pokeData.json in Resources */ = {isa = PBXBuildFile; fileRef = 3CFC6F3C1D98719100B4EBB5 /* pokeData.json */; }; + 3CFC6F3F1D9871F100B4EBB5 /* Pokemon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC6F3E1D9871F100B4EBB5 /* Pokemon.swift */; }; + 3CFC6F411D9871FC00B4EBB5 /* PokemonGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CFC6F401D9871FC00B4EBB5 /* PokemonGenerator.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 3CFC6F201D98716000B4EBB5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3CFC6F031D98716000B4EBB5 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3CFC6F0A1D98716000B4EBB5; + remoteInfo = Pokedex; + }; + 3CFC6F2B1D98716000B4EBB5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3CFC6F031D98716000B4EBB5 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3CFC6F0A1D98716000B4EBB5; + remoteInfo = Pokedex; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 11B0252C1F6F038700C59456 /* SearchTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchTableViewCell.swift; sourceTree = ""; }; + 11B0252E1F6F139600C59456 /* SearchCollectionViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchCollectionViewCell.swift; sourceTree = ""; }; + 11B025321F6F194B00C59456 /* ProfileViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProfileViewController.swift; sourceTree = ""; }; + 11B025341F734AF000C59456 /* SearchViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchViewController.swift; sourceTree = ""; }; + 11B025361F74989A00C59456 /* TypesTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TypesTableViewCell.swift; sourceTree = ""; }; + 3CFC6F0B1D98716000B4EBB5 /* Pokedex.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Pokedex.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 3CFC6F0E1D98716000B4EBB5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 3CFC6F101D98716000B4EBB5 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 3CFC6F131D98716000B4EBB5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 3CFC6F151D98716000B4EBB5 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 3CFC6F181D98716000B4EBB5 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 3CFC6F1A1D98716000B4EBB5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3CFC6F1F1D98716000B4EBB5 /* PokedexTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PokedexTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3CFC6F231D98716000B4EBB5 /* PokedexTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PokedexTests.swift; sourceTree = ""; }; + 3CFC6F251D98716000B4EBB5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3CFC6F2A1D98716000B4EBB5 /* PokedexUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PokedexUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3CFC6F2E1D98716000B4EBB5 /* PokedexUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PokedexUITests.swift; sourceTree = ""; }; + 3CFC6F301D98716000B4EBB5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3CFC6F3C1D98719100B4EBB5 /* pokeData.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = pokeData.json; sourceTree = ""; }; + 3CFC6F3E1D9871F100B4EBB5 /* Pokemon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Pokemon.swift; sourceTree = ""; }; + 3CFC6F401D9871FC00B4EBB5 /* PokemonGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PokemonGenerator.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3CFC6F081D98716000B4EBB5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3CFC6F1C1D98716000B4EBB5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3CFC6F271D98716000B4EBB5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3CFC6F021D98716000B4EBB5 = { + isa = PBXGroup; + children = ( + 3CFC6F0D1D98716000B4EBB5 /* Pokedex */, + 3CFC6F221D98716000B4EBB5 /* PokedexTests */, + 3CFC6F2D1D98716000B4EBB5 /* PokedexUITests */, + 3CFC6F0C1D98716000B4EBB5 /* Products */, + ); + sourceTree = ""; + }; + 3CFC6F0C1D98716000B4EBB5 /* Products */ = { + isa = PBXGroup; + children = ( + 3CFC6F0B1D98716000B4EBB5 /* Pokedex.app */, + 3CFC6F1F1D98716000B4EBB5 /* PokedexTests.xctest */, + 3CFC6F2A1D98716000B4EBB5 /* PokedexUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 3CFC6F0D1D98716000B4EBB5 /* Pokedex */ = { + isa = PBXGroup; + children = ( + 3CFC6F3C1D98719100B4EBB5 /* pokeData.json */, + 3CFC6F0E1D98716000B4EBB5 /* AppDelegate.swift */, + 3CFC6F101D98716000B4EBB5 /* ViewController.swift */, + 11B0252E1F6F139600C59456 /* SearchCollectionViewCell.swift */, + 11B0252C1F6F038700C59456 /* SearchTableViewCell.swift */, + 3CFC6F121D98716000B4EBB5 /* Main.storyboard */, + 11B025341F734AF000C59456 /* SearchViewController.swift */, + 11B025361F74989A00C59456 /* TypesTableViewCell.swift */, + 3CFC6F151D98716000B4EBB5 /* Assets.xcassets */, + 3CFC6F171D98716000B4EBB5 /* LaunchScreen.storyboard */, + 3CFC6F1A1D98716000B4EBB5 /* Info.plist */, + 3CFC6F3E1D9871F100B4EBB5 /* Pokemon.swift */, + 3CFC6F401D9871FC00B4EBB5 /* PokemonGenerator.swift */, + 11B025321F6F194B00C59456 /* ProfileViewController.swift */, + ); + path = Pokedex; + sourceTree = ""; + }; + 3CFC6F221D98716000B4EBB5 /* PokedexTests */ = { + isa = PBXGroup; + children = ( + 3CFC6F231D98716000B4EBB5 /* PokedexTests.swift */, + 3CFC6F251D98716000B4EBB5 /* Info.plist */, + ); + path = PokedexTests; + sourceTree = ""; + }; + 3CFC6F2D1D98716000B4EBB5 /* PokedexUITests */ = { + isa = PBXGroup; + children = ( + 3CFC6F2E1D98716000B4EBB5 /* PokedexUITests.swift */, + 3CFC6F301D98716000B4EBB5 /* Info.plist */, + ); + path = PokedexUITests; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 3CFC6F0A1D98716000B4EBB5 /* Pokedex */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3CFC6F331D98716000B4EBB5 /* Build configuration list for PBXNativeTarget "Pokedex" */; + buildPhases = ( + 3CFC6F071D98716000B4EBB5 /* Sources */, + 3CFC6F081D98716000B4EBB5 /* Frameworks */, + 3CFC6F091D98716000B4EBB5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Pokedex; + productName = Pokedex; + productReference = 3CFC6F0B1D98716000B4EBB5 /* Pokedex.app */; + productType = "com.apple.product-type.application"; + }; + 3CFC6F1E1D98716000B4EBB5 /* PokedexTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3CFC6F361D98716000B4EBB5 /* Build configuration list for PBXNativeTarget "PokedexTests" */; + buildPhases = ( + 3CFC6F1B1D98716000B4EBB5 /* Sources */, + 3CFC6F1C1D98716000B4EBB5 /* Frameworks */, + 3CFC6F1D1D98716000B4EBB5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3CFC6F211D98716000B4EBB5 /* PBXTargetDependency */, + ); + name = PokedexTests; + productName = PokedexTests; + productReference = 3CFC6F1F1D98716000B4EBB5 /* PokedexTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 3CFC6F291D98716000B4EBB5 /* PokedexUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3CFC6F391D98716000B4EBB5 /* Build configuration list for PBXNativeTarget "PokedexUITests" */; + buildPhases = ( + 3CFC6F261D98716000B4EBB5 /* Sources */, + 3CFC6F271D98716000B4EBB5 /* Frameworks */, + 3CFC6F281D98716000B4EBB5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3CFC6F2C1D98716000B4EBB5 /* PBXTargetDependency */, + ); + name = PokedexUITests; + productName = PokedexUITests; + productReference = 3CFC6F2A1D98716000B4EBB5 /* PokedexUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3CFC6F031D98716000B4EBB5 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0800; + LastUpgradeCheck = 0820; + ORGANIZATIONNAME = trainingprogram; + TargetAttributes = { + 3CFC6F0A1D98716000B4EBB5 = { + CreatedOnToolsVersion = 8.0; + ProvisioningStyle = Automatic; + }; + 3CFC6F1E1D98716000B4EBB5 = { + CreatedOnToolsVersion = 8.0; + ProvisioningStyle = Automatic; + TestTargetID = 3CFC6F0A1D98716000B4EBB5; + }; + 3CFC6F291D98716000B4EBB5 = { + CreatedOnToolsVersion = 8.0; + ProvisioningStyle = Automatic; + TestTargetID = 3CFC6F0A1D98716000B4EBB5; + }; + }; + }; + buildConfigurationList = 3CFC6F061D98716000B4EBB5 /* Build configuration list for PBXProject "Pokedex" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3CFC6F021D98716000B4EBB5; + productRefGroup = 3CFC6F0C1D98716000B4EBB5 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3CFC6F0A1D98716000B4EBB5 /* Pokedex */, + 3CFC6F1E1D98716000B4EBB5 /* PokedexTests */, + 3CFC6F291D98716000B4EBB5 /* PokedexUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3CFC6F091D98716000B4EBB5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3CFC6F191D98716000B4EBB5 /* LaunchScreen.storyboard in Resources */, + 3CFC6F161D98716000B4EBB5 /* Assets.xcassets in Resources */, + 3CFC6F3D1D98719100B4EBB5 /* pokeData.json in Resources */, + 3CFC6F141D98716000B4EBB5 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3CFC6F1D1D98716000B4EBB5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3CFC6F281D98716000B4EBB5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3CFC6F071D98716000B4EBB5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 11B025371F74989A00C59456 /* TypesTableViewCell.swift in Sources */, + 3CFC6F111D98716000B4EBB5 /* ViewController.swift in Sources */, + 3CFC6F411D9871FC00B4EBB5 /* PokemonGenerator.swift in Sources */, + 11B025351F734AF000C59456 /* SearchViewController.swift in Sources */, + 11B0252F1F6F139600C59456 /* SearchCollectionViewCell.swift in Sources */, + 3CFC6F0F1D98716000B4EBB5 /* AppDelegate.swift in Sources */, + 11B025331F6F194B00C59456 /* ProfileViewController.swift in Sources */, + 3CFC6F3F1D9871F100B4EBB5 /* Pokemon.swift in Sources */, + 11B0252D1F6F038700C59456 /* SearchTableViewCell.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3CFC6F1B1D98716000B4EBB5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3CFC6F241D98716000B4EBB5 /* PokedexTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3CFC6F261D98716000B4EBB5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3CFC6F2F1D98716000B4EBB5 /* PokedexUITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3CFC6F211D98716000B4EBB5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3CFC6F0A1D98716000B4EBB5 /* Pokedex */; + targetProxy = 3CFC6F201D98716000B4EBB5 /* PBXContainerItemProxy */; + }; + 3CFC6F2C1D98716000B4EBB5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3CFC6F0A1D98716000B4EBB5 /* Pokedex */; + targetProxy = 3CFC6F2B1D98716000B4EBB5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 3CFC6F121D98716000B4EBB5 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3CFC6F131D98716000B4EBB5 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 3CFC6F171D98716000B4EBB5 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3CFC6F181D98716000B4EBB5 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3CFC6F311D98716000B4EBB5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 3CFC6F321D98716000B4EBB5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_SUSPICIOUS_MOVES = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 3CFC6F341D98716000B4EBB5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = Pokedex/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = org.mdb.Pokedex; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + 3CFC6F351D98716000B4EBB5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = Pokedex/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = org.mdb.Pokedex; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; + 3CFC6F371D98716000B4EBB5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + INFOPLIST_FILE = PokedexTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = org.mdb.PokedexTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pokedex.app/Pokedex"; + }; + name = Debug; + }; + 3CFC6F381D98716000B4EBB5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + INFOPLIST_FILE = PokedexTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = org.mdb.PokedexTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Pokedex.app/Pokedex"; + }; + name = Release; + }; + 3CFC6F3A1D98716000B4EBB5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + INFOPLIST_FILE = PokedexUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = org.mdb.PokedexUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + TEST_TARGET_NAME = Pokedex; + }; + name = Debug; + }; + 3CFC6F3B1D98716000B4EBB5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + INFOPLIST_FILE = PokedexUITests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_BUNDLE_IDENTIFIER = org.mdb.PokedexUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + TEST_TARGET_NAME = Pokedex; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3CFC6F061D98716000B4EBB5 /* Build configuration list for PBXProject "Pokedex" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CFC6F311D98716000B4EBB5 /* Debug */, + 3CFC6F321D98716000B4EBB5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3CFC6F331D98716000B4EBB5 /* Build configuration list for PBXNativeTarget "Pokedex" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CFC6F341D98716000B4EBB5 /* Debug */, + 3CFC6F351D98716000B4EBB5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3CFC6F361D98716000B4EBB5 /* Build configuration list for PBXNativeTarget "PokedexTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CFC6F371D98716000B4EBB5 /* Debug */, + 3CFC6F381D98716000B4EBB5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3CFC6F391D98716000B4EBB5 /* Build configuration list for PBXNativeTarget "PokedexUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CFC6F3A1D98716000B4EBB5 /* Debug */, + 3CFC6F3B1D98716000B4EBB5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 3CFC6F031D98716000B4EBB5 /* Project object */; +} diff --git a/Pokedex.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Pokedex.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..65efe0b --- /dev/null +++ b/Pokedex.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/nikitaa.xcuserdatad/UserInterfaceState.xcuserstate b/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/nikitaa.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..a288614 Binary files /dev/null and b/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/nikitaa.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/sahillamba.xcuserdatad/UserInterfaceState.xcuserstate b/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/sahillamba.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..55cf519 Binary files /dev/null and b/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/sahillamba.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/sameersuresh.xcuserdatad/UserInterfaceState.xcuserstate b/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/sameersuresh.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..2b8b752 Binary files /dev/null and b/Pokedex.xcodeproj/project.xcworkspace/xcuserdata/sameersuresh.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..fe2b454 --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcschemes/Pokedex.xcscheme b/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcschemes/Pokedex.xcscheme new file mode 100644 index 0000000..81401a4 --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcschemes/Pokedex.xcscheme @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcschemes/xcschememanagement.plist b/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ca0861d --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/nikitaa.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,32 @@ + + + + + SchemeUserState + + Pokedex.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 3CFC6F0A1D98716000B4EBB5 + + primary + + + 3CFC6F1E1D98716000B4EBB5 + + primary + + + 3CFC6F291D98716000B4EBB5 + + primary + + + + + diff --git a/Pokedex.xcodeproj/xcuserdata/sahillamba.xcuserdatad/xcschemes/Pokedex.xcscheme b/Pokedex.xcodeproj/xcuserdata/sahillamba.xcuserdatad/xcschemes/Pokedex.xcscheme new file mode 100644 index 0000000..81401a4 --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/sahillamba.xcuserdatad/xcschemes/Pokedex.xcscheme @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pokedex.xcodeproj/xcuserdata/sahillamba.xcuserdatad/xcschemes/xcschememanagement.plist b/Pokedex.xcodeproj/xcuserdata/sahillamba.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ca0861d --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/sahillamba.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,32 @@ + + + + + SchemeUserState + + Pokedex.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 3CFC6F0A1D98716000B4EBB5 + + primary + + + 3CFC6F1E1D98716000B4EBB5 + + primary + + + 3CFC6F291D98716000B4EBB5 + + primary + + + + + diff --git a/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..7402bba --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcschemes/Pokedex.xcscheme b/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcschemes/Pokedex.xcscheme new file mode 100644 index 0000000..08f897e --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcschemes/Pokedex.xcscheme @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcschemes/xcschememanagement.plist b/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..ca0861d --- /dev/null +++ b/Pokedex.xcodeproj/xcuserdata/sameersuresh.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,32 @@ + + + + + SchemeUserState + + Pokedex.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 3CFC6F0A1D98716000B4EBB5 + + primary + + + 3CFC6F1E1D98716000B4EBB5 + + primary + + + 3CFC6F291D98716000B4EBB5 + + primary + + + + + diff --git a/Pokedex/AppDelegate.swift b/Pokedex/AppDelegate.swift new file mode 100644 index 0000000..ee63ed2 --- /dev/null +++ b/Pokedex/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// Pokedex +// +// Created by SAMEER SURESH on 9/25/16. +// Copyright © 2016 trainingprogram. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/Pokedex/Assets.xcassets/AppIcon.appiconset/Contents.json b/Pokedex/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..b8236c6 --- /dev/null +++ b/Pokedex/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,48 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pokedex/Assets.xcassets/Contents.json b/Pokedex/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Pokedex/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pokedex/Assets.xcassets/nameNumberField.imageset/Contents.json b/Pokedex/Assets.xcassets/nameNumberField.imageset/Contents.json new file mode 100644 index 0000000..b051bb3 --- /dev/null +++ b/Pokedex/Assets.xcassets/nameNumberField.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "nameNumberField.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "nameNumberField@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "nameNumberField@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField.png b/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField.png new file mode 100644 index 0000000..93a7183 Binary files /dev/null and b/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField.png differ diff --git a/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField@2x.png b/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField@2x.png new file mode 100644 index 0000000..8b3104a Binary files /dev/null and b/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField@2x.png differ diff --git a/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField@3x.png b/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField@3x.png new file mode 100644 index 0000000..673d8ac Binary files /dev/null and b/Pokedex/Assets.xcassets/nameNumberField.imageset/nameNumberField@3x.png differ diff --git a/Pokedex/Assets.xcassets/pokedexIOS.imageset/Contents.json b/Pokedex/Assets.xcassets/pokedexIOS.imageset/Contents.json new file mode 100644 index 0000000..3de27a2 --- /dev/null +++ b/Pokedex/Assets.xcassets/pokedexIOS.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "pokedexIOS.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "pokedexIOS@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "pokedexIOS@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS.png b/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS.png new file mode 100644 index 0000000..c2d388a Binary files /dev/null and b/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS.png differ diff --git a/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS@2x.png b/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS@2x.png new file mode 100644 index 0000000..2211a6b Binary files /dev/null and b/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS@2x.png differ diff --git a/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS@3x.png b/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS@3x.png new file mode 100644 index 0000000..7750fc6 Binary files /dev/null and b/Pokedex/Assets.xcassets/pokedexIOS.imageset/pokedexIOS@3x.png differ diff --git a/Pokedex/Assets.xcassets/profileTopBar.imageset/Contents.json b/Pokedex/Assets.xcassets/profileTopBar.imageset/Contents.json new file mode 100644 index 0000000..0605ca7 --- /dev/null +++ b/Pokedex/Assets.xcassets/profileTopBar.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "profileTopBar.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "profileTopBar@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "profileTopBar@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar.png b/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar.png new file mode 100644 index 0000000..5712f46 Binary files /dev/null and b/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar.png differ diff --git a/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar@2x.png b/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar@2x.png new file mode 100644 index 0000000..d518797 Binary files /dev/null and b/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar@2x.png differ diff --git a/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar@3x.png b/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar@3x.png new file mode 100644 index 0000000..0f6729b Binary files /dev/null and b/Pokedex/Assets.xcassets/profileTopBar.imageset/profileTopBar@3x.png differ diff --git a/Pokedex/Assets.xcassets/searchButton.imageset/Contents.json b/Pokedex/Assets.xcassets/searchButton.imageset/Contents.json new file mode 100644 index 0000000..ac5a0bc --- /dev/null +++ b/Pokedex/Assets.xcassets/searchButton.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "searchButton.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "searchButton@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "searchButton@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Pokedex/Assets.xcassets/searchButton.imageset/searchButton.png b/Pokedex/Assets.xcassets/searchButton.imageset/searchButton.png new file mode 100644 index 0000000..623227d Binary files /dev/null and b/Pokedex/Assets.xcassets/searchButton.imageset/searchButton.png differ diff --git a/Pokedex/Assets.xcassets/searchButton.imageset/searchButton@2x.png b/Pokedex/Assets.xcassets/searchButton.imageset/searchButton@2x.png new file mode 100644 index 0000000..cf0d1e5 Binary files /dev/null and b/Pokedex/Assets.xcassets/searchButton.imageset/searchButton@2x.png differ diff --git a/Pokedex/Assets.xcassets/searchButton.imageset/searchButton@3x.png b/Pokedex/Assets.xcassets/searchButton.imageset/searchButton@3x.png new file mode 100644 index 0000000..16bdc10 Binary files /dev/null and b/Pokedex/Assets.xcassets/searchButton.imageset/searchButton@3x.png differ diff --git a/Pokedex/Base.lproj/LaunchScreen.storyboard b/Pokedex/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..3d50772 --- /dev/null +++ b/Pokedex/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pokedex/Base.lproj/Main.storyboard b/Pokedex/Base.lproj/Main.storyboard new file mode 100644 index 0000000..125e395 --- /dev/null +++ b/Pokedex/Base.lproj/Main.storyboard @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Pokedex/Info.plist b/Pokedex/Info.plist new file mode 100644 index 0000000..7fe24ca --- /dev/null +++ b/Pokedex/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + CFBundleShortVersionString + 1.0 + CFBundleURLTypes + + + + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Pokedex/Pokemon.swift b/Pokedex/Pokemon.swift new file mode 100644 index 0000000..c0b0329 --- /dev/null +++ b/Pokedex/Pokemon.swift @@ -0,0 +1,65 @@ +// +// Pokemon.swift +// Pokedex +// +// Created by SAMEER SURESH on 9/25/16. +// Copyright © 2016 trainingprogram. All rights reserved. +// + +import Foundation + +class Pokemon { + + /* Note 1: + There are 18 different types of Pokemon, and a single Pokemon can inherit multiple types: + Bug, Grass, Dark, Ground, Dragon, Ice, Electric, Normal, Fairy, + Poison, Fighting, Psychic, Fire, Rock, Flying, Steel, Ghost, Water + */ + + /* Note 2: + The image for each Pokemon is not provided, but a URL is. You should look up how to get an image from it's URL. + */ + + /* Note 3: + You can access the properties of Pokemon using dot notation (e.g. pokemon.name, pokemon.number, etc.) + */ + + let name: String! + let number: Int! + let attack: Int! + let defense: Int! + let health: Int! + let specialAttack: Int! + let specialDefense: Int! + let species: String! + let speed: Int! + let total: Int! + let types: [String] + let imageUrl: String! + + init(name: String, number: Int, attack: Int, defense: Int, health: Int, spAttack: Int, spDef: Int, species: String, speed: Int, total: Int, types: [String]) { + self.name = name + self.number = number + self.attack = attack + self.defense = defense + self.health = health + self.specialAttack = spAttack + self.specialDefense = spDef + self.species = species + self.speed = speed + self.total = total + self.types = types + self.imageUrl = "http://img.pokemondb.net/artwork/\(name.components(separatedBy: " ")[0].lowercased()).jpg" + } + +} + +extension Pokemon: Hashable { + var hashValue: Int { + return number.hashValue ^ attack.hashValue &* 16777619 + } + + static func == (lhs: Pokemon, rhs: Pokemon) -> Bool { + return lhs.attack == rhs.attack && lhs.attack == rhs.attack + } +} diff --git a/Pokedex/PokemonGenerator.swift b/Pokedex/PokemonGenerator.swift new file mode 100644 index 0000000..962c688 --- /dev/null +++ b/Pokedex/PokemonGenerator.swift @@ -0,0 +1,45 @@ +// +// PokemonGenerator.swift +// Pokedex +// +// Created by SAMEER SURESH on 9/25/16. +// Copyright © 2016 trainingprogram. All rights reserved. +// + +import Foundation + +class PokemonGenerator { + + static func getPokemonArray() -> [Pokemon] { + var pokemonArray: [Pokemon] = [] + if let path = Bundle.main.path(forResource: "pokeData", ofType: "json") + { + if let jsonData = NSData(contentsOfFile: path) { + do { + let json = try JSONSerialization.jsonObject(with: jsonData as Data, options: .mutableContainers) as! [String:AnyObject] + + for key in json.keys { + let pokemonData = json[key] as! [String:AnyObject] + let number = Int(pokemonData["#"] as! String)! + let attack = Int(pokemonData["Attack"] as! String)! + let defense = Int(pokemonData["Defense"] as! String)! + let hp = Int(pokemonData["HP"] as! String)! + let spatk = Int(pokemonData["Sp. Atk"] as! String)! + let spdef = Int(pokemonData["Sp. Def"] as! String)! + let species = pokemonData["Species"] as! String + let speed = Int(pokemonData["Speed"] as! String)! + let total = Int(pokemonData["Total"] as! String)! + let type = pokemonData["Type"] as! [String] + pokemonArray.append(Pokemon(name: key, number: number, attack: attack, defense: defense, health: hp, spAttack: spatk, spDef: spdef, species: species, speed: speed, total: total, types: type)) + } + } catch { + NSLog("Could not load Pokemon array") + } + + } + } + return pokemonArray + } + + +} diff --git a/Pokedex/ProfileViewController.swift b/Pokedex/ProfileViewController.swift new file mode 100644 index 0000000..b8593bd --- /dev/null +++ b/Pokedex/ProfileViewController.swift @@ -0,0 +1,135 @@ +// +// ProfileViewController.swift +// Pokedex +// +// Created by Nikita Ashok on 9/17/17. +// Copyright © 2017 trainingprogram. All rights reserved. +// + +import UIKit + +class ProfileViewController: UIViewController { + var pokemon : String? + var pic : UIImage! + var backButton: UIButton! + var numer: Int! + var attack: Int! + var defense: Int! + var health: Int! + var specialAttack: Int! + var specialDefense: Int! + var species: String! + var speed: Int! + var total: Int! + var types: [String]! + var imageUrl: String! + var profileImage : UIImageView! + var topBar : UIImageView! + var attackLabel: UILabel! + var defenseLabel: UILabel! + var healthLabel: UILabel! + var specAttackLabel: UILabel! + var specDefenseLabel: UILabel! + var speciesLabel: UILabel! + var speedLabel: UILabel! + var totalLabel: UILabel! + + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + override func viewDidLoad() { + super.viewDidLoad() + setupUI() + + backButton = UIButton(frame: CGRect(x: view.frame.width*0.04, y: 10, width: 27, height: 30)) + backButton.setTitle("-", for: .normal) + backButton.addTarget(self, action: #selector(goBack), for: .touchUpInside) + view.addSubview(backButton) + + profileImage = UIImageView(frame: CGRect(x: view.frame.width * 0.072, y: view.frame.height * 0.148, width: 118, height: 115)) + profileImage.contentMode = .scaleAspectFill + profileImage.image = pic + view.addSubview(profileImage) + + topBar = UIImageView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height * 0.09)) + topBar.contentMode = .scaleAspectFill + topBar.image = #imageLiteral(resourceName: "profileTopBar") + view.addSubview(topBar) + view.sendSubview(toBack: topBar) + + attackLabel = UILabel(frame: CGRect(x: 30, y: 276, width: view.frame.width, height: 20)) + attackLabel.text = "Attack: \(attack!)" + attackLabel.textAlignment = .left + attackLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(attackLabel) + + defenseLabel = UILabel(frame: CGRect(x: 30, y: 309, width: view.frame.width, height: 20)) + defenseLabel.text = "Defense: \(defense!)" + defenseLabel.textAlignment = .left + defenseLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(defenseLabel) + + healthLabel = UILabel(frame: CGRect(x: 30, y: 340, width: view.frame.width, height: 20)) + healthLabel.text = "Health: \(health!)" + healthLabel.textAlignment = .left + view.addSubview(healthLabel) + + specAttackLabel = UILabel(frame: CGRect(x: 30, y: 376, width: view.frame.width, height: 20)) + specAttackLabel.text = "Special Attack: \(specialAttack!)" + specAttackLabel.textAlignment = .left + specAttackLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(specAttackLabel) + + specDefenseLabel = UILabel(frame: CGRect(x: 30, y: 406, width: view.frame.width, height: 20)) + specDefenseLabel.text = "Special Defense: \(specialDefense!)" + specDefenseLabel.textAlignment = .left + specDefenseLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(specDefenseLabel) + + speciesLabel = UILabel(frame: CGRect(x: 30, y: 440, width: view.frame.width, height: 20)) + speciesLabel.text = "Species: \(species!)" + speciesLabel.textAlignment = .left + speciesLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(speciesLabel) + + speedLabel = UILabel(frame: CGRect(x: 30, y: 480, width: view.frame.width, height: 20)) + speedLabel.text = "Speed: \(speed!)" + speedLabel.textAlignment = .left + speedLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(speedLabel) + + totalLabel = UILabel(frame: CGRect(x: 30, y: 515, width: view.frame.width, height: 20)) + totalLabel.text = "Total: \(total!)" + totalLabel.textAlignment = .left + totalLabel.font = UIFont(name: attackLabel.font.fontName, size: 20) + view.addSubview(totalLabel) + } + + func setupUI(){ + let pokemonLabel = UILabel(frame: CGRect(x: view.frame.width * 0.348, y: view.frame.height * 0.02, width: 113, height: 30)) + + pokemonLabel.text = pokemon ?? "No pokemon passed?" //nil coalescing operator + pokemonLabel.textColor = UIColor.white + pokemonLabel.textAlignment = .center + view.addSubview(pokemonLabel) + } + + func goBack() { + self.dismiss(animated: true, completion: nil) + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destinationViewController. + // Pass the selected object to the new view controller. + } + */ + +} diff --git a/Pokedex/SearchCollectionViewCell.swift b/Pokedex/SearchCollectionViewCell.swift new file mode 100644 index 0000000..dce0731 --- /dev/null +++ b/Pokedex/SearchCollectionViewCell.swift @@ -0,0 +1,22 @@ +// +// SearchCollectionViewCell.swift +// Pokedex +// +// Created by Nikita Ashok on 9/17/17. +// Copyright © 2017 trainingprogram. All rights reserved. +// + +import UIKit + +class SearchCollectionViewCell: UICollectionViewCell { + + var pokeImage: UIImageView! + + override func awakeFromNib() { + pokeImage = UIImageView(frame: CGRect(x: contentView.frame.width * 0.15, y: contentView.frame.height * 0.15, width: contentView.frame.width * 0.7, height: contentView.frame.height * 0.7)) + pokeImage.contentMode = .scaleAspectFill + contentView.addSubview(pokeImage) + } + + +} diff --git a/Pokedex/SearchTableViewCell.swift b/Pokedex/SearchTableViewCell.swift new file mode 100644 index 0000000..75a0e51 --- /dev/null +++ b/Pokedex/SearchTableViewCell.swift @@ -0,0 +1,33 @@ +// +// SearchTableViewCell.swift +// Pokedex +// +// Created by Nikita Ashok on 9/17/17. +// Copyright © 2017 trainingprogram. All rights reserved. +// + +import UIKit + +class SearchTableViewCell: UITableViewCell { + + var nameLabel : UILabel! + + + override func awakeFromNib() { + super.awakeFromNib() + nameLabel = UILabel(frame: CGRect(x: 20, y: contentView.frame.height * (1/4), width: 150, height: contentView.frame.height * (1/2))) + nameLabel.textColor = UIColor.black + contentView.addSubview(nameLabel) + + + } + + + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } + +} diff --git a/Pokedex/SearchViewController.swift b/Pokedex/SearchViewController.swift new file mode 100644 index 0000000..84abe04 --- /dev/null +++ b/Pokedex/SearchViewController.swift @@ -0,0 +1,415 @@ +// +// SearchViewController.swift +// Pokedex +// +// Created by Nikita Ashok on 9/20/17. +// Copyright © 2017 trainingprogram. All rights reserved. +// + +import UIKit + +class SearchViewController: UIViewController, UITextFieldDelegate { + var sortedPokemon : [Pokemon]! + var searchButton : UIButton! + var logo: UIImageView! + var pokemonName: UITextField! + var minAttackPts: UITextField! + var minDefensePts: UITextField! + var minHealthpts: UITextField! + var typeBackground: UIImageView! + var typeSelectedTextField: UITextField! //favoriteDayTextField + let types = ["Bug", "Grass", "Dark", "Ground", "Dragon", "Fighting", "Ice", "Electric", "Normal", "Fairy", + "Poison", "Psychic", "Fire", "Rock", "Flying", "Steel", "Ghost", "Water"] + var selectedType: String? //selectedDay + var typePicker: UIPickerView! + var typesSelected: [String] = [] + var doneSelectingTypes: UIButton! + + let allPokemon = PokemonGenerator.getPokemonArray() + var nameSearched: String! + var numberSearched: Int! + var minAttackPtsSearched: Int! + var minDefensePtsSearched: Int! + var minHealthPtsSearched: Int! + var searchButtonUser: UIButton! + var typeSearched: [String]! + var pokemonNames: [String] = [] + var pokemonImages: [UIImage] = [] + var typesButton: UIButton! + var typesTableView: UITableView! + var typesToPass: String! + var goDirect : Bool! + var pokemonURL : [String] = [] + var pokeImage: UIImage! + var pics : [UIImage] = [] + + var pokemonAttacks : [Int] = [] + var pokemonDefenses : [Int] = [] + var pokemonHealths : [Int] = [] + var pokemonSP : [Int] = [] + var pokemonSD : [Int] = [] + var pokemonSpecies : [String] = [] + var pokemonSpeed : [Int] = [] + var pokemonTotal : [Int] = [] + + + + override func viewDidLoad() { + super.viewDidLoad() + + doneSelectingTypes = UIButton(frame: CGRect(x: view.frame.width * 0.45, y: view.frame.height * 0.412, width: 60, height: 30)) + doneSelectingTypes.setTitle("DONE", for: .normal) + doneSelectingTypes.addTarget(self, action: #selector(doneSelecting), for: .touchUpInside) + doneSelectingTypes.titleLabel?.font = UIFont(name: "Print Clearly", size: 10) + + view.addSubview(doneSelectingTypes) + doneSelectingTypes.isHidden = true + + view.backgroundColor = UIColor(red: 230/255, green: 72/255, blue: 72/255, alpha: 1) + logo = UIImageView(frame: CGRect(x: view.frame.width * 0.21, y: view.frame.height * 0.15, width: 219, height: 58)) + logo.image = #imageLiteral(resourceName: "pokedexIOS") + logo.contentMode = .scaleAspectFill + view.addSubview(logo) + pokemonName = UITextField(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.344, width: 227, height: 42)) + pokemonName.background = #imageLiteral(resourceName: "nameNumberField") + pokemonName.borderStyle = .none + pokemonName.placeholder = "name/no." + pokemonName.textAlignment = .center + pokemonName.font = UIFont(name: "AppleSDGothicNeo", size: 14) + view.addSubview(pokemonName) + minAttackPts = UITextField(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.5457, width: 227, height: 42)) + minAttackPts.background = #imageLiteral(resourceName: "nameNumberField") + minAttackPts.borderStyle = .none + minAttackPts.placeholder = "minimum attack pts" + minAttackPts.textAlignment = .center + minAttackPts.font = UIFont(name: "AppleSDGothicNeo", size: 14) + view.addSubview(minAttackPts) + minDefensePts = UITextField(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.646, width: 227, height: 42)) + minDefensePts.background = #imageLiteral(resourceName: "nameNumberField") + minDefensePts.borderStyle = .none + minDefensePts.placeholder = "minimum defense pts" + minDefensePts.textAlignment = .center + minDefensePts.font = UIFont(name: "AppleSDGothicNeo", size: 14) + view.addSubview(minDefensePts) + minHealthpts = UITextField(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.7466, width: 227, height: 42)) + minHealthpts.background = #imageLiteral(resourceName: "nameNumberField") + minHealthpts.borderStyle = .none + minHealthpts.placeholder = "minimum health pts" + minHealthpts.textAlignment = .center + minHealthpts.font = UIFont(name: "AppleSDGothicNeo", size: 14) + view.addSubview(minHealthpts) + //typeBackground = UIImageView(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.445, width: 227, height: 42)) + //typeBackground.image = #imageLiteral(resourceName: "searchArea") + //sview.addSubview(typeBackground) + //pokemonType = UIPickerView(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.445, width: 227, height: 42)) + //view.addSubview(pokemonType) + typesButton = UIButton(frame: CGRect(x: view.frame.width * 0.197, y: view.frame.height * 0.445, width: 227, height: 42)) + typesButton.setTitle("types", for: .normal) + typesButton.addTarget(self, action: #selector(displayTypes), for: .touchUpInside) + typesButton.setTitle("types", for: .normal) + view.addSubview(typesButton) + //createTypePicker() + + //var logo: UIImageView! + //var pokemonName: UITextField! + //var minAttackPts: UITextField! + ///var minDefensePts: UITextField! + //var minHealthpts: UITextField! + //var typeBackground: UIImageView! + //var typeSelectedTextField: UITextField! //favorit + pokemonName.delegate = self + minAttackPts.delegate = self + minDefensePts.delegate = self + minHealthpts.delegate = self + + searchButtonUser = UIButton(frame: CGRect(x: view.frame.width * 0.384, y: view.frame.height * 0.847, width: 87, height: 25)) + searchButtonUser.setTitle("search", for: .normal) + //searchButtonUser.background = #imageLiteral(resourceName: "nameNumberField") + searchButtonUser.addTarget(self, action: #selector(goToList), for: .touchUpInside) + + view.addSubview(searchButtonUser) + + doneSelectingTypes = UIButton(frame: CGRect(x: view.frame.width * 0.45, y: view.frame.height * 0.412, width: 60, height: 30)) + doneSelectingTypes.setTitle("DONE", for: .normal) + doneSelectingTypes.addTarget(self, action: #selector(doneSelecting), for: .touchUpInside) + doneSelectingTypes.titleLabel?.font = UIFont(name: "Print Clearly", size: 10) + + view.addSubview(doneSelectingTypes) + doneSelectingTypes.isHidden = true + + // Do any additional setup after loading the view. + } + + func doneSelecting() { + typesTableView.isHidden = true + var typ = "" + for t in typesSelected { + typ = typ + t + " ," + } + doneSelectingTypes.setTitle("TYPE", for: .normal) + typesButton.setTitle(typ, for: .normal) + } + + override func touchesBegan(_ touches: Set, with event: UIEvent?) { + self.view.endEditing(true) + } + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + textField.resignFirstResponder() + return(true) + } + /*func textFieldDidBeginEditing(_ textField: UITextField) { + if textField == typeSelectedTextField { + typePicker.isHidden = false + textField.endEditing(true) + } + }*/ + + func displayTypes() { + setUpTableView() + doneSelectingTypes.isHidden = false + + } + func setUpTableView() { + typesTableView = UITableView(frame: CGRect(x: view.frame.width * 0.192, y: UIApplication.shared.statusBarFrame.maxY + view.frame.height * 0.429 , width: view.frame.width * 0.616, height: view.frame.height * 0.287 - UIApplication.shared.statusBarFrame.maxY )) + typesTableView.register(TypesTableViewCell.self, forCellReuseIdentifier: "tableViewCellTypes") + + //Set properties of TableView + typesTableView.delegate = self + typesTableView.dataSource = self + typesTableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 50/2, right: 0) + //Add tableView to view + view.addSubview(typesTableView) + } + + + func narrowChoices () { + var meetsCriteriaMinAttackPtsSearched: [Pokemon] = [] + if minAttackPtsSearched != nil { + for p in allPokemon { + if p.attack >= minAttackPtsSearched { + (meetsCriteriaMinAttackPtsSearched).append(p) + } + } + } + var meetsCriteriaMinDefensePtsSearched: [Pokemon] = [] + if minDefensePtsSearched != nil { + for p in allPokemon { + if p.defense >= minDefensePtsSearched { + meetsCriteriaMinDefensePtsSearched.append(p) + } + } + } + var meetsCriteriaMinHealthPtsSearched: [Pokemon] = [] + if minHealthPtsSearched != nil { + for p in allPokemon { + if p.health >= minHealthPtsSearched { + meetsCriteriaMinHealthPtsSearched.append(p) + } + } + } + var meetsCriteriaTypeSearched: [Pokemon] = [] + if !typesSelected.isEmpty { + for p in allPokemon { + for t in typesSelected { + if p.types.contains(t) { + meetsCriteriaTypeSearched.append(p) + } + } + } + } + var meetsMinAttackMinDefense: [Pokemon] = [] + for minA in meetsCriteriaMinAttackPtsSearched { + for minD in meetsCriteriaMinDefensePtsSearched { + if minD.number == minA.number { + meetsMinAttackMinDefense.append(minD) + } + } + } + + var meetsMinHealthMinAD: [Pokemon] = [] + for minAD in meetsMinAttackMinDefense { + for minH in meetsCriteriaMinHealthPtsSearched { + if minAD.number == minH.number { + meetsMinHealthMinAD.append(minAD) + } + } + } + /*var allSortedPokemonRepeats: [Pokemon] = [] + for minHAD in meetsMinHealthMinAD { + for minT in meetsCriteriaTypeSearched { + if minHAD.number == minT.number { + allSortedPokemonRepeats.append(minHAD) + } + } + }*/ + + + /*if meetsCriteriaTypeSearched.isEmpty && meetsCriteriaMinHealthPtsSearched.isEmpty && meetsCriteriaMinDefensePtsSearched.isEmpty && !meetsCriteriaMinAttackPtsSearched.isEmpty { + allSortedPokemonRepeats = meetsCriteriaMinAttackPtsSearched + } + if !meetsCriteriaTypeSearched.isEmpty && meetsCriteriaMinHealthPtsSearched.isEmpty && meetsCriteriaMinDefensePtsSearched.isEmpty && meetsCriteriaMinAttackPtsSearched.isEmpty { + allSortedPokemonRepeats = meetsCriteriaTypeSearched + } + if meetsCriteriaTypeSearched.isEmpty && !meetsCriteriaMinHealthPtsSearched.isEmpty && meetsCriteriaMinDefensePtsSearched.isEmpty && meetsCriteriaMinAttackPtsSearched.isEmpty { + allSortedPokemonRepeats = meetsCriteriaMinHealthPtsSearched + } + if meetsCriteriaTypeSearched.isEmpty && meetsCriteriaMinHealthPtsSearched.isEmpty && !meetsCriteriaMinDefensePtsSearched.isEmpty && meetsCriteriaMinAttackPtsSearched.isEmpty { + allSortedPokemonRepeats = meetsCriteriaMinDefensePtsSearched + } + allSortedPokemonRepeats = Array(Set(allSortedPokemonRepeats))*/ + + sortedPokemon = Array(Set(meetsMinHealthMinAD)) + } + + + + func getPics() { + + //for each pokemon in sortedPokemon, access their image url and store into an array + //go through each url and do the following below code and store each image into an array + for p in sortedPokemon { + pokemonURL.append(p.imageUrl) + } + print(pokemonURL) + + for u in pokemonURL { + let url = URL(string: u) + if let i = url { + let data = try? Data(contentsOf: i) + if let x = data { + self.pics.append(UIImage(data: x)!) + } else { + self.pics.append(UIImage()) + } + } + else { + self.pics.append(UIImage()) + } + + + + //self.pics.append(self.pokeImage) + + } + + } + + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + print(goDirect!) + if (goDirect!) { + let profileController = segue.destination as! ProfileViewController + profileController.pokemon = nameSearched + } else { + let listController = segue.destination as! ViewController + for p in sortedPokemon { + pokemonNames.append(p.name) + pokemonAttacks.append(p.attack) + pokemonDefenses.append(p.defense) + pokemonHealths.append(p.health) + pokemonSP.append(p.specialAttack) + pokemonSD.append(p.specialDefense) + pokemonSpecies.append(p.species) + pokemonSpeed.append(p.speed) + pokemonTotal.append(p.total) + } + listController.pokemon = pokemonNames + getPics() + listController.pokemonpics = pics + listController.attacks = pokemonAttacks + listController.defenses = pokemonDefenses + listController.healths = pokemonHealths + listController.SP = pokemonSP + listController.SD = pokemonSD + listController.species = pokemonSpecies + listController.speed = pokemonSpeed + listController.total = pokemonTotal + + } + + } + + func directProfile() { + goDirect = true + self.performSegue(withIdentifier: "directProfile", sender: self) + } + + func goToList() { + //goDirect = false + minAttackPtsSearched = Int(minAttackPts.text!) + minHealthPtsSearched = Int(minHealthpts.text!) + minDefensePtsSearched = Int(minDefensePts.text!) + nameSearched = pokemonName.text + + print(nameSearched) + + if nameSearched != "" { + directProfile() + } else { + goDirect = false + narrowChoices() + self.performSegue(withIdentifier: "toList", sender: self) + } + + } + + + /* + // MARK: - Navigation + + // In a storyboard-based application, you will often want to do a little preparation before navigation + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + // Get the new view controller using segue.destinationViewController. + // Pass the selected object to the new view controller. + } + */ +} + +extension SearchViewController: UITableViewDataSource, UITableViewDelegate { + func numberOfSections(in tableView: UITableView) -> Int { + return 1 + } + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return types.count + } + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "tableViewCellTypes") as! TypesTableViewCell + + //below forLoop idk if necessary + for subview in cell.contentView.subviews { + subview.removeFromSuperview() + } + + cell.awakeFromNib() //idk if necessary + cell.typeLabel.text = types[indexPath.row] + + return cell + + } + + /**func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + typesToPass = types[indexPath.row] + performSegue(withIdentifier: "segueToFruitVC", sender: self) + //STORE VAIRABLE + }*/ + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + if tableView.cellForRow(at: indexPath)?.accessoryType == UITableViewCellAccessoryType.checkmark { + tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.none + } else { + tableView.cellForRow(at: indexPath)?.accessoryType = UITableViewCellAccessoryType.checkmark + var typeSelected = types[indexPath.row] + print(typeSelected) + typesSelected.append(typeSelected) + + //GET TITLE OF CELL + } + + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 50 + } +} + + + diff --git a/Pokedex/TypesTableViewCell.swift b/Pokedex/TypesTableViewCell.swift new file mode 100644 index 0000000..074ff61 --- /dev/null +++ b/Pokedex/TypesTableViewCell.swift @@ -0,0 +1,31 @@ +// +// TypesTableViewCell.swift +// Pokedex +// +// Created by Nikita Ashok on 9/21/17. +// Copyright © 2017 trainingprogram. All rights reserved. +// + +import UIKit + +class TypesTableViewCell: UITableViewCell { + var typeLabel: UILabel! + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + typeLabel = UILabel(frame: CGRect(x: 20, y: contentView.frame.height * (1/4), width: 150, height: contentView.frame.height * (1/2))) + typeLabel.textColor = UIColor.black + contentView.addSubview(typeLabel) + + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } + +} + + diff --git a/Pokedex/ViewController.swift b/Pokedex/ViewController.swift new file mode 100644 index 0000000..a018318 --- /dev/null +++ b/Pokedex/ViewController.swift @@ -0,0 +1,205 @@ +// +// ViewController.swift +// Pokedex +// +// Created by SAMEER SURESH on 9/25/16. +// Copyright © 2016 trainingprogram. All rights reserved. +// + +import UIKit + +class ViewController: UIViewController { + //let name = "pikachu" + var pokemon : [String]! + //let pokemon = ["Abomasnow", "Abomasnow( Mega Abowmasnow)", "Abra", "Absol", "Accelgor"] + + var pokemonpics : [UIImage]! + var attacks : [Int]! + var defenses: [Int]! + var healths : [Int]! + var SP: [Int]! + var SD: [Int]! + var species: [String]! + var speed: [Int]! + var total: [Int]! + + var tableView : UITableView! + var segmentedControl : UISegmentedControl! + var collectionView : UICollectionView! + + var pokemonToPass: String? + var pokemonPicToPass: UIImage! + var pokemonAttackToPass: Int! + var pokemonDefenseToPass: Int! + var pokemonHealthToPass: Int! + var pokemonSPToPass: Int! + var pokemonSDToPass: Int! + var pokemonSpeciesToPass: String! + var pokemonSpeedToPass: Int! + var pokemonTotalToPass: Int! + + + /*for pokemon in allPokemon { + print(pokemon.name) + }*/ + + override func viewDidLoad() { + super.viewDidLoad() + setupSegmentedControl() + setupTableView() + //print(pokemon) + // Do any additional setup after loading the view, typically from a nib. + + } + + + func setupSegmentedControl() { + segmentedControl = UISegmentedControl(frame: CGRect(x: 0, y: UIApplication.shared.statusBarFrame.maxY + view.frame.height * 0.05 + 10, width: view.frame.width, height: view.frame.height * 0.05)) + segmentedControl.insertSegment(withTitle: "Names", at: 0, animated: true) + segmentedControl.insertSegment(withTitle: "Pictures", at: 1, animated: true) + segmentedControl.layer.cornerRadius = 3 + segmentedControl.addTarget(self, action: #selector(switchView), for: .valueChanged) + view.addSubview(segmentedControl) + } + + func setupTableView(){ + segmentedControl.selectedSegmentIndex = 0 + + //Initialize TableView Object here + tableView = UITableView(frame: CGRect(x: 0, y: UIApplication.shared.statusBarFrame.maxY + view.frame.height * 0.1 + 10, width: view.frame.width, height: view.frame.height - UIApplication.shared.statusBarFrame.maxY)) + //Register the tableViewCell you are using + tableView.register(SearchTableViewCell.self, forCellReuseIdentifier: "tableViewCell") + + //Set properties of TableView + tableView.delegate = self + tableView.dataSource = self + tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 50/2, right: 0) + //Add tableView to view + view.addSubview(tableView) + } + + func setupCollectionView() { + segmentedControl.selectedSegmentIndex = 1 + + let layout = UICollectionViewFlowLayout() + layout.minimumLineSpacing = 0 + layout.minimumInteritemSpacing = 0 + collectionView = UICollectionView(frame: CGRect(x: 0, y: UIApplication.shared.statusBarFrame.maxY + view.frame.height * 0.1 + 10, width: view.frame.width, height: view.frame.height * 0.9 - UIApplication.shared.statusBarFrame.maxY - 10), collectionViewLayout: layout) + collectionView.register(SearchCollectionViewCell.self, forCellWithReuseIdentifier: "collectionViewCell") + collectionView.delegate = self + collectionView.dataSource = self + collectionView.backgroundColor = UIColor.gray + view.addSubview(collectionView) + } + + func switchView(sender: UISegmentedControl) { + for subview in view.subviews { + subview.removeFromSuperview() + } + view.addSubview(segmentedControl) + if (sender.selectedSegmentIndex == 0) { + setupTableView() + } else { + setupCollectionView() + } + } + + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + if segue.identifier == "toProfile" { + let profileVC = segue.destination as! ProfileViewController + profileVC.pokemon = pokemonToPass + profileVC.pic = pokemonPicToPass + profileVC.attack = pokemonAttackToPass + profileVC.defense = pokemonDefenseToPass + profileVC.health = pokemonHealthToPass + profileVC.specialAttack = pokemonSPToPass + profileVC.specialDefense = pokemonSDToPass + profileVC.species = pokemonSpeciesToPass + profileVC.speed = pokemonSpeedToPass + profileVC.total = pokemonTotalToPass + } + } + + +} + +extension ViewController: UITableViewDataSource, UITableViewDelegate { + func numberOfSections(in tableView: UITableView) -> Int { + return 1 + } + + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return pokemon.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "tableViewCell") as! SearchTableViewCell + + for subview in cell.contentView.subviews { + subview.removeFromSuperview() + } + + cell.awakeFromNib() + cell.nameLabel.text = pokemon[indexPath.row] + print(indexPath.section) + print(indexPath.row) + return cell + + } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + pokemonToPass = pokemon[indexPath.row] + pokemonPicToPass = pokemonpics[indexPath.row] + pokemonAttackToPass = attacks[indexPath.row] + pokemonDefenseToPass = defenses[indexPath.row] + pokemonHealthToPass = healths[indexPath.row] + pokemonSPToPass = SP[indexPath.row] + pokemonSDToPass = SD[indexPath.row] + pokemonSpeciesToPass = species[indexPath.row] + pokemonSpeedToPass = speed[indexPath.row] + pokemonTotalToPass = total[indexPath.row] + performSegue(withIdentifier: "toProfile", sender: self) + } + +} + +extension ViewController: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { + + func numberOfSections(in collectionView: UICollectionView) -> Int { + return 1 + } + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return pokemonpics.count + } + + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionViewCell", for: indexPath) as! SearchCollectionViewCell + cell.awakeFromNib() + cell.pokeImage.image = pokemonpics[indexPath.row] + return cell + } + + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + pokemonToPass = pokemon[indexPath.row] + pokemonPicToPass = pokemonpics[indexPath.row] + pokemonAttackToPass = attacks[indexPath.row] + pokemonDefenseToPass = defenses[indexPath.row] + pokemonHealthToPass = healths[indexPath.row] + pokemonSPToPass = SP[indexPath.row] + pokemonSDToPass = SD[indexPath.row] + pokemonSpeciesToPass = species[indexPath.row] + pokemonSpeedToPass = speed[indexPath.row] + pokemonTotalToPass = total[indexPath.row] + + performSegue(withIdentifier: "toProfile", sender: self) + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + return CGSize(width: view.frame.width / 3, height: 100) + } + +} + diff --git a/Pokedex/pokeData.json b/Pokedex/pokeData.json new file mode 100644 index 0000000..c2430b7 --- /dev/null +++ b/Pokedex/pokeData.json @@ -0,0 +1,3 @@ +{"Abomasnow":{"#":"460","Attack":"92","Defense":"75","FlavorText":"","HP":"90","Sp. Atk":"92","Sp. Def":"85","Species":"Frost Tree Pok\u00e9mon","Speed":"60","Total":"494","Type":["Grass","Ice"]}, + "Abomasnow ( Mega Abomasnow )":{"#":"460","Attack":"132","Defense":"105","FlavorText":"","HP":"90","Sp. Atk":"132","Sp. Def":"105","Species":"","Speed":"30","Total":"594","Type":["Grass","Ice"]}, + "Abra":{"#":"063","Attack":"20","Defense":"15","FlavorText":"","HP":"25","Sp. Atk":"105","Sp. Def":"55","Species":"Psi Pok\u00e9mon","Speed":"90","Total":"310","Type":["Psychic"]},"Absol":{"#":"359","Attack":"130","Defense":"60","FlavorText":"","HP":"65","Sp. Atk":"75","Sp. Def":"60","Species":"Disaster Pok\u00e9mon","Speed":"75","Total":"465","Type":["Dark"]},"Absol ( Mega Absol )":{"#":"359","Attack":"150","Defense":"60","FlavorText":"","HP":"65","Sp. Atk":"115","Sp. Def":"60","Species":"","Speed":"115","Total":"565","Type":["Dark"]},"Accelgor":{"#":"617","Attack":"70","Defense":"40","FlavorText":"When its body dries out, it weakens. So, to prevent dehydration, it wraps itself in many layers of thin membrane.","HP":"80","Sp. Atk":"100","Sp. Def":"60","Species":"Shell Out Pok\u00e9mon","Speed":"145","Total":"495","Type":["Bug"]},"Aegislash ( Blade Forme )":{"#":"681","Attack":"150","Defense":"50","FlavorText":"","HP":"60","Sp. Atk":"150","Sp. Def":"50","Species":"","Speed":"60","Total":"520","Type":["Steel","Ghost"]},"Aegislash ( Shield Forme )":{"#":"681","Attack":"50","Defense":"150","FlavorText":"","HP":"60","Sp. Atk":"50","Sp. Def":"150","Species":"","Speed":"60","Total":"520","Type":["Steel","Ghost"]},"Aerodactyl":{"#":"142","Attack":"105","Defense":"65","FlavorText":"","HP":"80","Sp. Atk":"60","Sp. Def":"75","Species":"Fossil Pok\u00e9mon","Speed":"130","Total":"515","Type":["Rock","Flying"]},"Aerodactyl ( Mega Aerodactyl )":{"#":"142","Attack":"135","Defense":"85","FlavorText":"","HP":"80","Sp. Atk":"70","Sp. Def":"95","Species":"","Speed":"150","Total":"615","Type":["Rock","Flying"]},"Aggron":{"#":"306","Attack":"110","Defense":"180","FlavorText":"","HP":"70","Sp. Atk":"60","Sp. Def":"60","Species":"Iron Armor Pok\u00e9mon","Speed":"50","Total":"530","Type":["Steel","Rock"]},"Aggron ( Mega Aggron )":{"#":"306","Attack":"140","Defense":"230","FlavorText":"","HP":"70","Sp. Atk":"60","Sp. Def":"80","Species":"","Speed":"50","Total":"630","Type":["Steel"]},"Aipom":{"#":"190","Attack":"70","Defense":"55","FlavorText":"","HP":"55","Sp. Atk":"40","Sp. Def":"55","Species":"Long Tail Pok\u00e9mon","Speed":"85","Total":"360","Type":["Normal"]},"Alakazam":{"#":"065","Attack":"50","Defense":"45","FlavorText":"","HP":"55","Sp. Atk":"135","Sp. Def":"95","Species":"Psi Pok\u00e9mon","Speed":"120","Total":"500","Type":["Psychic"]},"Alakazam ( Mega Alakazam )":{"#":"065","Attack":"50","Defense":"65","FlavorText":"","HP":"55","Sp. Atk":"175","Sp. Def":"95","Species":"","Speed":"150","Total":"590","Type":["Psychic"]},"Alomomola":{"#":"594","Attack":"75","Defense":"80","FlavorText":"It gently holds injured and weak Pok\u00e9mon in its fins. Its special membrane heals their wounds.","HP":"165","Sp. Atk":"40","Sp. Def":"45","Species":"Caring Pok\u00e9mon","Speed":"65","Total":"470","Type":["Water"]},"Altaria":{"#":"334","Attack":"70","Defense":"90","FlavorText":"","HP":"75","Sp. Atk":"70","Sp. Def":"105","Species":"Humming Pok\u00e9mon","Speed":"80","Total":"490","Type":["Dragon","Flying"]},"Altaria ( Mega Altaria )":{"#":"334","Attack":"110","Defense":"110","FlavorText":"","HP":"75","Sp. Atk":"110","Sp. Def":"105","Species":"","Speed":"80","Total":"590","Type":["Dragon","Fairy"]},"Amaura":{"#":"698","Attack":"59","Defense":"50","FlavorText":"","HP":"77","Sp. Atk":"67","Sp. Def":"63","Species":"Tundra Pok\u00e9mon","Speed":"46","Total":"362","Type":["Rock","Ice"]},"Ambipom":{"#":"424","Attack":"100","Defense":"66","FlavorText":"","HP":"75","Sp. Atk":"60","Sp. Def":"66","Species":"Long Tail Pok\u00e9mon","Speed":"115","Total":"482","Type":["Normal"]},"Amoonguss":{"#":"591","Attack":"85","Defense":"70","FlavorText":"","HP":"114","Sp. Atk":"85","Sp. Def":"80","Species":"Mushroom Pok\u00e9mon","Speed":"30","Total":"464","Type":["Grass","Poison"]},"Ampharos":{"#":"181","Attack":"75","Defense":"85","FlavorText":"","HP":"90","Sp. Atk":"115","Sp. Def":"90","Species":"Light Pok\u00e9mon","Speed":"55","Total":"510","Type":["Electric"]},"Ampharos ( Mega Ampharos )":{"#":"181","Attack":"95","Defense":"105","FlavorText":"","HP":"90","Sp. Atk":"165","Sp. Def":"110","Species":"","Speed":"45","Total":"610","Type":["Electric","Dragon"]},"Anorith":{"#":"347","Attack":"95","Defense":"50","FlavorText":"","HP":"45","Sp. Atk":"40","Sp. Def":"50","Species":"Old Shrimp Pok\u00e9mon","Speed":"75","Total":"355","Type":["Rock","Bug"]},"Arbok":{"#":"024","Attack":"85","Defense":"69","FlavorText":"","HP":"60","Sp. Atk":"65","Sp. Def":"79","Species":"Cobra Pok\u00e9mon","Speed":"80","Total":"438","Type":["Poison"]},"Arcanine":{"#":"059","Attack":"110","Defense":"80","FlavorText":"","HP":"90","Sp. Atk":"100","Sp. Def":"80","Species":"Legendary Pok\u00e9mon","Speed":"95","Total":"555","Type":["Fire"]},"Arceus":{"#":"493","Attack":"120","Defense":"120","FlavorText":"","HP":"120","Sp. Atk":"120","Sp. Def":"120","Species":"Alpha Pok\u00e9mon","Speed":"120","Total":"720","Type":["Normal"]},"Archen":{"#":"566","Attack":"112","Defense":"45","FlavorText":"","HP":"55","Sp. Atk":"74","Sp. Def":"45","Species":"First Bird Pok\u00e9mon","Speed":"70","Total":"401","Type":["Rock","Flying"]},"Archeops":{"#":"567","Attack":"140","Defense":"65","FlavorText":"","HP":"75","Sp. Atk":"112","Sp. Def":"65","Species":"First Bird Pok\u00e9mon","Speed":"110","Total":"567","Type":["Rock","Flying"]},"Ariados":{"#":"168","Attack":"90","Defense":"70","FlavorText":"Its feet are tipped with tiny hooked claws that enable it to scuttle on ceilings and vertical walls. It constricts its foe with thin and strong silk webbing.","HP":"70","Sp. Atk":"60","Sp. Def":"60","Species":"Long Leg Pok\u00e9mon","Speed":"40","Total":"390","Type":["Bug","Poison"]},"Armaldo":{"#":"348","Attack":"125","Defense":"100","FlavorText":"","HP":"75","Sp. Atk":"70","Sp. Def":"80","Species":"Plate Pok\u00e9mon","Speed":"45","Total":"495","Type":["Rock","Bug"]},"Aromatisse":{"#":"683","Attack":"72","Defense":"72","FlavorText":"","HP":"101","Sp. Atk":"99","Sp. Def":"89","Species":"Fragrance Pok\u00e9mon","Speed":"29","Total":"462","Type":["Fairy"]},"Aron":{"#":"304","Attack":"70","Defense":"100","FlavorText":"","HP":"50","Sp. Atk":"40","Sp. Def":"40","Species":"Iron Armor Pok\u00e9mon","Speed":"30","Total":"330","Type":["Steel","Rock"]},"Articuno":{"#":"144","Attack":"85","Defense":"100","FlavorText":"Legendary bird POK\u00e9MON. As it flies through the sky, it cools the air, causing snow to fall.","HP":"90","Sp. Atk":"95","Sp. Def":"125","Species":"Freeze Pok\u00e9mon","Speed":"85","Total":"580","Type":["Ice","Flying"]},"Audino":{"#":"531","Attack":"60","Defense":"86","FlavorText":"","HP":"103","Sp. Atk":"60","Sp. Def":"86","Species":"Hearing Pok\u00e9mon","Speed":"50","Total":"445","Type":["Normal"]},"Audino ( Mega Audino )":{"#":"531","Attack":"60","Defense":"126","FlavorText":"","HP":"103","Sp. Atk":"80","Sp. Def":"126","Species":"","Speed":"50","Total":"545","Type":["Normal","Fairy"]},"Aurorus":{"#":"699","Attack":"77","Defense":"72","FlavorText":"","HP":"123","Sp. Atk":"99","Sp. Def":"92","Species":"Tundra Pok\u00e9mon","Speed":"58","Total":"521","Type":["Rock","Ice"]},"Avalugg":{"#":"713","Attack":"117","Defense":"184","FlavorText":"","HP":"95","Sp. Atk":"44","Sp. Def":"46","Species":"Iceberg Pok\u00e9mon","Speed":"28","Total":"514","Type":["Ice"]},"Axew":{"#":"610","Attack":"87","Defense":"60","FlavorText":"They mark their territory by leaving gashes in trees with their tusks. If a tusk breaks, a new one grows in quickly.","HP":"46","Sp. Atk":"30","Sp. Def":"40","Species":"Tusk Pok\u00e9mon","Speed":"57","Total":"320","Type":["Dragon"]},"Azelf":{"#":"482","Attack":"125","Defense":"70","FlavorText":"","HP":"75","Sp. Atk":"125","Sp. Def":"70","Species":"Willpower Pok\u00e9mon","Speed":"115","Total":"580","Type":["Psychic"]},"Azumarill":{"#":"184","Attack":"50","Defense":"80","FlavorText":"","HP":"100","Sp. Atk":"60","Sp. Def":"80","Species":"Aqua Rabbit Pok\u00e9mon","Speed":"50","Total":"420","Type":["Water","Fairy"]},"Azurill":{"#":"298","Attack":"20","Defense":"40","FlavorText":"","HP":"50","Sp. Atk":"20","Sp. Def":"40","Species":"Polka Dot Pok\u00e9mon","Speed":"20","Total":"190","Type":["Normal","Fairy"]},"Bagon":{"#":"371","Attack":"75","Defense":"60","FlavorText":"","HP":"45","Sp. Atk":"40","Sp. Def":"30","Species":"Rock Head Pok\u00e9mon","Speed":"50","Total":"300","Type":["Dragon"]},"Baltoy":{"#":"343","Attack":"40","Defense":"55","FlavorText":"","HP":"40","Sp. Atk":"40","Sp. Def":"70","Species":"Clay Doll Pok\u00e9mon","Speed":"55","Total":"300","Type":["Ground","Psychic"]},"Banette":{"#":"354","Attack":"115","Defense":"65","FlavorText":"","HP":"64","Sp. Atk":"83","Sp. Def":"63","Species":"Marionette Pok\u00e9mon","Speed":"65","Total":"455","Type":["Ghost"]},"Banette ( Mega Banette )":{"#":"354","Attack":"165","Defense":"75","FlavorText":"","HP":"64","Sp. Atk":"93","Sp. Def":"83","Species":"","Speed":"75","Total":"555","Type":["Ghost"]},"Barbaracle":{"#":"689","Attack":"105","Defense":"115","FlavorText":"","HP":"72","Sp. Atk":"54","Sp. Def":"86","Species":"Collective Pok\u00e9mon","Speed":"68","Total":"500","Type":["Rock","Water"]},"Barboach":{"#":"339","Attack":"48","Defense":"43","FlavorText":"","HP":"50","Sp. Atk":"46","Sp. Def":"41","Species":"Whiskers Pok\u00e9mon","Speed":"60","Total":"288","Type":["Water","Ground"]},"Basculin":{"#":"550","Attack":"92","Defense":"65","FlavorText":"","HP":"70","Sp. Atk":"80","Sp. Def":"55","Species":"Hostile Pok\u00e9mon","Speed":"98","Total":"460","Type":["Water"]},"Bastiodon":{"#":"411","Attack":"52","Defense":"168","FlavorText":"","HP":"60","Sp. Atk":"47","Sp. Def":"138","Species":"Shield Pok\u00e9mon","Speed":"30","Total":"495","Type":["Rock","Steel"]},"Bayleef":{"#":"153","Attack":"62","Defense":"80","FlavorText":"","HP":"60","Sp. Atk":"63","Sp. Def":"80","Species":"Leaf Pok\u00e9mon","Speed":"60","Total":"405","Type":["Grass"]},"Beartic":{"#":"614","Attack":"110","Defense":"80","FlavorText":"","HP":"95","Sp. Atk":"70","Sp. Def":"80","Species":"Freezing Pok\u00e9mon","Speed":"50","Total":"485","Type":["Ice"]},"Beautifly":{"#":"267","Attack":"70","Defense":"50","FlavorText":"Despite its looks, it is aggressive. It jabs with its long, thin mouth if disturbed while collecting pollen.","HP":"60","Sp. Atk":"100","Sp. Def":"50","Species":"Butterfly Pok\u00e9mon","Speed":"65","Total":"395","Type":["Bug","Flying"]},"Beedrill":{"#":"015","Attack":"90","Defense":"40","FlavorText":"","HP":"65","Sp. Atk":"45","Sp. Def":"80","Species":"Poison Bee Pok\u00e9mon","Speed":"75","Total":"395","Type":["Bug","Poison"]},"Beedrill ( Mega Beedrill )":{"#":"015","Attack":"150","Defense":"40","FlavorText":"","HP":"65","Sp. Atk":"15","Sp. Def":"80","Species":"","Speed":"145","Total":"495","Type":["Bug","Poison"]},"Beheeyem":{"#":"606","Attack":"75","Defense":"75","FlavorText":"","HP":"75","Sp. Atk":"125","Sp. Def":"95","Species":"Cerebral Pok\u00e9mon","Speed":"40","Total":"485","Type":["Psychic"]},"Beldum":{"#":"374","Attack":"55","Defense":"80","FlavorText":"","HP":"40","Sp. Atk":"35","Sp. Def":"60","Species":"Iron Ball Pok\u00e9mon","Speed":"30","Total":"300","Type":["Steel","Psychic"]},"Bellossom":{"#":"182","Attack":"80","Defense":"95","FlavorText":"","HP":"75","Sp. Atk":"90","Sp. Def":"100","Species":"Flower Pok\u00e9mon","Speed":"50","Total":"490","Type":["Grass"]},"Bellsprout":{"#":"069","Attack":"75","Defense":"35","FlavorText":"If it notices anything that moves, it immediately flings its vine at the object.","HP":"50","Sp. Atk":"70","Sp. Def":"30","Species":"Flower Pok\u00e9mon","Speed":"40","Total":"300","Type":["Grass","Poison"]},"Bergmite":{"#":"712","Attack":"69","Defense":"85","FlavorText":"","HP":"55","Sp. Atk":"32","Sp. Def":"35","Species":"Ice Chunk Pok\u00e9mon","Speed":"28","Total":"304","Type":["Ice"]},"Bibarel":{"#":"400","Attack":"85","Defense":"60","FlavorText":"","HP":"79","Sp. Atk":"55","Sp. Def":"60","Species":"Beaver Pok\u00e9mon","Speed":"71","Total":"410","Type":["Normal","Water"]},"Bidoof":{"#":"399","Attack":"45","Defense":"40","FlavorText":"","HP":"59","Sp. Atk":"35","Sp. Def":"40","Species":"Plump Mouse Pok\u00e9mon","Speed":"31","Total":"250","Type":["Normal"]},"Binacle":{"#":"688","Attack":"52","Defense":"67","FlavorText":"","HP":"42","Sp. Atk":"39","Sp. Def":"56","Species":"Two-Handed Pok\u00e9mon","Speed":"50","Total":"306","Type":["Rock","Water"]},"Bisharp":{"#":"625","Attack":"125","Defense":"100","FlavorText":"Bisharp pursues prey in the company of a large group of Pawniard. Then Bisharp finishes off the prey.","HP":"65","Sp. Atk":"60","Sp. Def":"70","Species":"Sword Blade Pok\u00e9mon","Speed":"70","Total":"490","Type":["Dark","Steel"]},"Blastoise":{"#":"009","Attack":"83","Defense":"100","FlavorText":"","HP":"79","Sp. Atk":"85","Sp. Def":"105","Species":"Shellfish Pok\u00e9mon","Speed":"78","Total":"530","Type":["Water"]},"Blastoise ( Mega Blastoise )":{"#":"009","Attack":"103","Defense":"120","FlavorText":"","HP":"79","Sp. Atk":"135","Sp. Def":"115","Species":"","Speed":"78","Total":"630","Type":["Water"]},"Blaziken":{"#":"257","Attack":"120","Defense":"70","FlavorText":"","HP":"80","Sp. Atk":"110","Sp. Def":"70","Species":"Blaze Pok\u00e9mon","Speed":"80","Total":"530","Type":["Fire","Fighting"]},"Blaziken ( Mega Blaziken )":{"#":"257","Attack":"160","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"130","Sp. Def":"80","Species":"","Speed":"100","Total":"630","Type":["Fire","Fighting"]},"Blissey":{"#":"242","Attack":"10","Defense":"10","FlavorText":"","HP":"255","Sp. Atk":"75","Sp. Def":"135","Species":"Happiness Pok\u00e9mon","Speed":"55","Total":"540","Type":["Normal"]},"Blitzle":{"#":"522","Attack":"60","Defense":"32","FlavorText":"","HP":"45","Sp. Atk":"50","Sp. Def":"32","Species":"Electrified Pok\u00e9mon","Speed":"76","Total":"295","Type":["Electric"]},"Boldore":{"#":"525","Attack":"105","Defense":"105","FlavorText":"","HP":"70","Sp. Atk":"50","Sp. Def":"40","Species":"Ore Pok\u00e9mon","Speed":"20","Total":"390","Type":["Rock"]},"Bonsly":{"#":"438","Attack":"80","Defense":"95","FlavorText":"","HP":"50","Sp. Atk":"10","Sp. Def":"45","Species":"Bonsai Pok\u00e9mon","Speed":"10","Total":"290","Type":["Rock"]},"Bouffalant":{"#":"626","Attack":"110","Defense":"95","FlavorText":"","HP":"95","Sp. Atk":"40","Sp. Def":"95","Species":"Bash Buffalo Pok\u00e9mon","Speed":"55","Total":"490","Type":["Normal"]},"Braixen":{"#":"654","Attack":"59","Defense":"58","FlavorText":"","HP":"59","Sp. Atk":"90","Sp. Def":"70","Species":"Fox Pok\u00e9mon","Speed":"73","Total":"409","Type":["Fire"]},"Braviary":{"#":"628","Attack":"123","Defense":"75","FlavorText":"","HP":"100","Sp. Atk":"57","Sp. Def":"75","Species":"Valiant Pok\u00e9mon","Speed":"80","Total":"510","Type":["Normal","Flying"]},"Breloom":{"#":"286","Attack":"130","Defense":"80","FlavorText":"","HP":"60","Sp. Atk":"60","Sp. Def":"60","Species":"Mushroom Pok\u00e9mon","Speed":"70","Total":"460","Type":["Grass","Fighting"]},"Bronzong":{"#":"437","Attack":"89","Defense":"116","FlavorText":"","HP":"67","Sp. Atk":"79","Sp. Def":"116","Species":"Bronze Bell Pok\u00e9mon","Speed":"33","Total":"500","Type":["Steel","Psychic"]},"Bronzor":{"#":"436","Attack":"24","Defense":"86","FlavorText":"","HP":"57","Sp. Atk":"24","Sp. Def":"86","Species":"Bronze Pok\u00e9mon","Speed":"23","Total":"300","Type":["Steel","Psychic"]},"Budew":{"#":"406","Attack":"30","Defense":"35","FlavorText":"","HP":"40","Sp. Atk":"50","Sp. Def":"70","Species":"Bud Pok\u00e9mon","Speed":"55","Total":"280","Type":["Grass","Poison"]},"Buizel":{"#":"418","Attack":"65","Defense":"35","FlavorText":"","HP":"55","Sp. Atk":"60","Sp. Def":"30","Species":"Sea Weasel Pok\u00e9mon","Speed":"85","Total":"330","Type":["Water"]},"Bulbasaur":{"#":"001","Attack":"49","Defense":"49","FlavorText":"While it is young, it uses the nutrients that are stored in the seeds on its back in order to grow.","HP":"45","Sp. Atk":"65","Sp. Def":"65","Species":"Seed Pok\u00e9mon","Speed":"45","Total":"318","Type":["Grass","Poison"]},"Buneary":{"#":"427","Attack":"66","Defense":"44","FlavorText":"","HP":"55","Sp. Atk":"44","Sp. Def":"56","Species":"Rabbit Pok\u00e9mon","Speed":"85","Total":"350","Type":["Normal"]},"Bunnelby":{"#":"659","Attack":"36","Defense":"38","FlavorText":"","HP":"38","Sp. Atk":"32","Sp. Def":"36","Species":"Digging Pok\u00e9mon","Speed":"57","Total":"237","Type":["Normal"]},"Burmy":{"#":"412","Attack":"29","Defense":"45","FlavorText":"","HP":"40","Sp. Atk":"29","Sp. Def":"45","Species":"Bagworm Pok\u00e9mon","Speed":"36","Total":"224","Type":["Bug"]},"Butterfree":{"#":"012","Attack":"45","Defense":"50","FlavorText":"It flits from flower to flower, collecting honey. It can even identify distant flowers in bloom.","HP":"60","Sp. Atk":"90","Sp. Def":"80","Species":"Butterfly Pok\u00e9mon","Speed":"70","Total":"395","Type":["Bug","Flying"]},"Cacnea":{"#":"331","Attack":"85","Defense":"40","FlavorText":"","HP":"50","Sp. Atk":"85","Sp. Def":"40","Species":"Cactus Pok\u00e9mon","Speed":"35","Total":"335","Type":["Grass"]},"Cacturne":{"#":"332","Attack":"115","Defense":"60","FlavorText":"","HP":"70","Sp. Atk":"115","Sp. Def":"60","Species":"Scarecrow Pok\u00e9mon","Speed":"55","Total":"475","Type":["Grass","Dark"]},"Camerupt":{"#":"323","Attack":"100","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"105","Sp. Def":"75","Species":"Eruption Pok\u00e9mon","Speed":"40","Total":"460","Type":["Fire","Ground"]},"Camerupt ( Mega Camerupt )":{"#":"323","Attack":"120","Defense":"100","FlavorText":"","HP":"70","Sp. Atk":"145","Sp. Def":"105","Species":"","Speed":"20","Total":"560","Type":["Fire","Ground"]},"Carbink":{"#":"703","Attack":"50","Defense":"150","FlavorText":"","HP":"50","Sp. Atk":"50","Sp. Def":"150","Species":"Jewel Pok\u00e9mon","Speed":"50","Total":"500","Type":["Rock","Fairy"]},"Carnivine":{"#":"455","Attack":"100","Defense":"72","FlavorText":"","HP":"74","Sp. Atk":"90","Sp. Def":"72","Species":"Bug Catcher Pok\u00e9mon","Speed":"46","Total":"454","Type":["Grass"]},"Carracosta":{"#":"565","Attack":"108","Defense":"133","FlavorText":"","HP":"74","Sp. Atk":"83","Sp. Def":"65","Species":"Prototurtle Pok\u00e9mon","Speed":"32","Total":"495","Type":["Water","Rock"]},"Carvanha":{"#":"318","Attack":"90","Defense":"20","FlavorText":"","HP":"45","Sp. Atk":"65","Sp. Def":"20","Species":"Savage Pok\u00e9mon","Speed":"65","Total":"305","Type":["Water","Dark"]},"Cascoon":{"#":"268","Attack":"35","Defense":"55","FlavorText":"","HP":"50","Sp. Atk":"25","Sp. Def":"25","Species":"Cocoon Pok\u00e9mon","Speed":"15","Total":"205","Type":["Bug"]},"Castform":{"#":"351","Attack":"70","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"70","Sp. Def":"70","Species":"Weather Pok\u00e9mon","Speed":"70","Total":"420","Type":["Normal"]},"Caterpie":{"#":"010","Attack":"30","Defense":"35","FlavorText":"It crawls into foliage where it camouflages itself among leaves that are the same color as its body.","HP":"45","Sp. Atk":"20","Sp. Def":"20","Species":"Worm Pok\u00e9mon","Speed":"45","Total":"195","Type":["Bug"]},"Celebi":{"#":"251","Attack":"100","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"100","Species":"Time Travel Pok\u00e9mon","Speed":"100","Total":"600","Type":["Psychic","Grass"]},"Chandelure":{"#":"609","Attack":"55","Defense":"90","FlavorText":"The spirits burned up in its ominous flame lose their way and wander this world forever.","HP":"60","Sp. Atk":"145","Sp. Def":"90","Species":"Luring Pok\u00e9mon","Speed":"80","Total":"520","Type":["Ghost","Fire"]},"Chansey":{"#":"113","Attack":"5","Defense":"5","FlavorText":"","HP":"250","Sp. Atk":"35","Sp. Def":"105","Species":"Egg Pok\u00e9mon","Speed":"50","Total":"450","Type":["Normal"]},"Charizard":{"#":"006","Attack":"84","Defense":"78","FlavorText":"","HP":"78","Sp. Atk":"109","Sp. Def":"85","Species":"Flame Pok\u00e9mon","Speed":"100","Total":"534","Type":["Fire","Flying"]},"Charizard ( Mega Charizard X )":{"#":"006","Attack":"130","Defense":"111","FlavorText":"","HP":"78","Sp. Atk":"130","Sp. Def":"85","Species":"","Speed":"100","Total":"634","Type":["Fire","Dragon"]},"Charizard ( Mega Charizard Y )":{"#":"006","Attack":"104","Defense":"78","FlavorText":"","HP":"78","Sp. Atk":"159","Sp. Def":"115","Species":"","Speed":"100","Total":"634","Type":["Fire","Flying"]},"Charmander":{"#":"004","Attack":"52","Defense":"43","FlavorText":"If it's healthy, the flame on the tip of its tail will burn vigorously, even if it gets a bit wet.","HP":"39","Sp. Atk":"60","Sp. Def":"50","Species":"Lizard Pok\u00e9mon","Speed":"65","Total":"309","Type":["Fire"]},"Charmeleon":{"#":"005","Attack":"64","Defense":"58","FlavorText":"If it becomes agitated during battle, it spouts intense flames, incinerating its surroundings.","HP":"58","Sp. Atk":"80","Sp. Def":"65","Species":"Flame Pok\u00e9mon","Speed":"80","Total":"405","Type":["Fire"]},"Chatot":{"#":"441","Attack":"65","Defense":"45","FlavorText":"","HP":"76","Sp. Atk":"92","Sp. Def":"42","Species":"Music Note Pok\u00e9mon","Speed":"91","Total":"411","Type":["Normal","Flying"]},"Cherrim":{"#":"421","Attack":"60","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"87","Sp. Def":"78","Species":"Blossom Pok\u00e9mon","Speed":"85","Total":"450","Type":["Grass"]},"Cherubi":{"#":"420","Attack":"35","Defense":"45","FlavorText":"","HP":"45","Sp. Atk":"62","Sp. Def":"53","Species":"Cherry Pok\u00e9mon","Speed":"35","Total":"275","Type":["Grass"]},"Chesnaught":{"#":"652","Attack":"107","Defense":"122","FlavorText":"","HP":"88","Sp. Atk":"74","Sp. Def":"75","Species":"Spiny Armor Pok\u00e9mon","Speed":"64","Total":"530","Type":["Grass","Fighting"]},"Chespin":{"#":"650","Attack":"61","Defense":"65","FlavorText":"","HP":"56","Sp. Atk":"48","Sp. Def":"45","Species":"Spiny Nut Pok\u00e9mon","Speed":"38","Total":"313","Type":["Grass"]},"Chikorita":{"#":"152","Attack":"49","Defense":"65","FlavorText":"","HP":"45","Sp. Atk":"49","Sp. Def":"65","Species":"Leaf Pok\u00e9mon","Speed":"45","Total":"318","Type":["Grass"]},"Chimchar":{"#":"390","Attack":"58","Defense":"44","FlavorText":"","HP":"44","Sp. Atk":"58","Sp. Def":"44","Species":"Chimp Pok\u00e9mon","Speed":"61","Total":"309","Type":["Fire"]},"Chimecho":{"#":"358","Attack":"50","Defense":"70","FlavorText":"Its cries echo inside its hollow body to emerge as beautiful notes for startling and repelling foes.","HP":"65","Sp. Atk":"95","Sp. Def":"80","Species":"Wind Chime Pok\u00e9mon","Speed":"65","Total":"425","Type":["Psychic"]},"Chinchou":{"#":"170","Attack":"38","Defense":"38","FlavorText":"","HP":"75","Sp. Atk":"56","Sp. Def":"56","Species":"Angler Pok\u00e9mon","Speed":"67","Total":"330","Type":["Water","Electric"]},"Chingling":{"#":"433","Attack":"30","Defense":"50","FlavorText":"","HP":"45","Sp. Atk":"65","Sp. Def":"50","Species":"Bell Pok\u00e9mon","Speed":"45","Total":"285","Type":["Psychic"]},"Cinccino":{"#":"573","Attack":"95","Defense":"60","FlavorText":"","HP":"75","Sp. Atk":"65","Sp. Def":"60","Species":"Scarf Pok\u00e9mon","Speed":"115","Total":"470","Type":["Normal"]},"Clamperl":{"#":"366","Attack":"64","Defense":"85","FlavorText":"","HP":"35","Sp. Atk":"74","Sp. Def":"55","Species":"Bivalve Pok\u00e9mon","Speed":"32","Total":"345","Type":["Water"]},"Clauncher":{"#":"692","Attack":"53","Defense":"62","FlavorText":"","HP":"50","Sp. Atk":"58","Sp. Def":"63","Species":"Water Gun Pok\u00e9mon","Speed":"44","Total":"330","Type":["Water"]},"Clawitzer":{"#":"693","Attack":"73","Defense":"88","FlavorText":"","HP":"71","Sp. Atk":"120","Sp. Def":"89","Species":"Howitzer Pok\u00e9mon","Speed":"59","Total":"500","Type":["Water"]},"Claydol":{"#":"344","Attack":"70","Defense":"105","FlavorText":"","HP":"60","Sp. Atk":"70","Sp. Def":"120","Species":"Clay Doll Pok\u00e9mon","Speed":"75","Total":"500","Type":["Ground","Psychic"]},"Clefable":{"#":"036","Attack":"70","Defense":"73","FlavorText":"","HP":"95","Sp. Atk":"95","Sp. Def":"90","Species":"Fairy Pok\u00e9mon","Speed":"60","Total":"483","Type":["Fairy"]},"Clefairy":{"#":"035","Attack":"45","Defense":"48","FlavorText":"","HP":"70","Sp. Atk":"60","Sp. Def":"65","Species":"Fairy Pok\u00e9mon","Speed":"35","Total":"323","Type":["Fairy"]},"Cleffa":{"#":"173","Attack":"25","Defense":"28","FlavorText":"","HP":"50","Sp. Atk":"45","Sp. Def":"55","Species":"Star Shape Pok\u00e9mon","Speed":"15","Total":"218","Type":["Fairy"]},"Cloyster":{"#":"091","Attack":"95","Defense":"180","FlavorText":"","HP":"50","Sp. Atk":"85","Sp. Def":"45","Species":"Bivalve Pok\u00e9mon","Speed":"70","Total":"525","Type":["Water","Ice"]},"Cobalion":{"#":"638","Attack":"90","Defense":"129","FlavorText":"","HP":"91","Sp. Atk":"90","Sp. Def":"72","Species":"Iron Will Pok\u00e9mon","Speed":"108","Total":"580","Type":["Steel","Fighting"]},"Cofagrigus":{"#":"563","Attack":"50","Defense":"145","FlavorText":"","HP":"58","Sp. Atk":"95","Sp. Def":"105","Species":"Coffin Pok\u00e9mon","Speed":"30","Total":"483","Type":["Ghost"]},"Combee":{"#":"415","Attack":"30","Defense":"42","FlavorText":"","HP":"30","Sp. Atk":"30","Sp. Def":"42","Species":"Tiny Bee Pok\u00e9mon","Speed":"70","Total":"244","Type":["Bug","Flying"]},"Combusken":{"#":"256","Attack":"85","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"85","Sp. Def":"60","Species":"Young Fowl Pok\u00e9mon","Speed":"55","Total":"405","Type":["Fire","Fighting"]},"Conkeldurr":{"#":"534","Attack":"140","Defense":"95","FlavorText":"Rather than rely on force, they master moves that utilize the centrifugal force of spinning concrete.","HP":"105","Sp. Atk":"55","Sp. Def":"65","Species":"Muscular Pok\u00e9mon","Speed":"45","Total":"505","Type":["Fighting"]},"Corphish":{"#":"341","Attack":"80","Defense":"65","FlavorText":"","HP":"43","Sp. Atk":"50","Sp. Def":"35","Species":"Ruffian Pok\u00e9mon","Speed":"35","Total":"308","Type":["Water"]},"Corsola":{"#":"222","Attack":"55","Defense":"85","FlavorText":"","HP":"55","Sp. Atk":"65","Sp. Def":"85","Species":"Coral Pok\u00e9mon","Speed":"35","Total":"380","Type":["Water","Rock"]},"Cottonee":{"#":"546","Attack":"27","Defense":"60","FlavorText":"","HP":"40","Sp. Atk":"37","Sp. Def":"50","Species":"Cotton Puff Pok\u00e9mon","Speed":"66","Total":"280","Type":["Grass","Fairy"]},"Cradily":{"#":"346","Attack":"81","Defense":"97","FlavorText":"","HP":"86","Sp. Atk":"81","Sp. Def":"107","Species":"Barnacle Pok\u00e9mon","Speed":"43","Total":"495","Type":["Rock","Grass"]},"Cranidos":{"#":"408","Attack":"125","Defense":"40","FlavorText":"","HP":"67","Sp. Atk":"30","Sp. Def":"30","Species":"Head Butt Pok\u00e9mon","Speed":"58","Total":"350","Type":["Rock"]},"Crawdaunt":{"#":"342","Attack":"120","Defense":"85","FlavorText":"","HP":"63","Sp. Atk":"90","Sp. Def":"55","Species":"Rogue Pok\u00e9mon","Speed":"55","Total":"468","Type":["Water","Dark"]},"Cresselia":{"#":"488","Attack":"70","Defense":"120","FlavorText":"","HP":"120","Sp. Atk":"75","Sp. Def":"130","Species":"Lunar Pok\u00e9mon","Speed":"85","Total":"600","Type":["Psychic"]},"Croagunk":{"#":"453","Attack":"61","Defense":"40","FlavorText":"","HP":"48","Sp. Atk":"61","Sp. Def":"40","Species":"Toxic Mouth Pok\u00e9mon","Speed":"50","Total":"300","Type":["Poison","Fighting"]},"Crobat":{"#":"169","Attack":"90","Defense":"80","FlavorText":"","HP":"85","Sp. Atk":"70","Sp. Def":"80","Species":"Bat Pok\u00e9mon","Speed":"130","Total":"535","Type":["Poison","Flying"]},"Croconaw":{"#":"159","Attack":"80","Defense":"80","FlavorText":"","HP":"65","Sp. Atk":"59","Sp. Def":"63","Species":"Big Jaw Pok\u00e9mon","Speed":"58","Total":"405","Type":["Water"]},"Crustle":{"#":"558","Attack":"95","Defense":"125","FlavorText":"Competing for territory, Crustle fight viciously. The one whose boulder is broken is the loser of the battle.","HP":"70","Sp. Atk":"65","Sp. Def":"75","Species":"Stone Home Pok\u00e9mon","Speed":"45","Total":"475","Type":["Bug","Rock"]},"Cryogonal":{"#":"615","Attack":"50","Defense":"30","FlavorText":"","HP":"70","Sp. Atk":"95","Sp. Def":"135","Species":"Crystallizing Pok\u00e9mon","Speed":"105","Total":"485","Type":["Ice"]},"Cubchoo":{"#":"613","Attack":"70","Defense":"40","FlavorText":"","HP":"55","Sp. Atk":"60","Sp. Def":"40","Species":"Chill Pok\u00e9mon","Speed":"40","Total":"305","Type":["Ice"]},"Cubone":{"#":"104","Attack":"50","Defense":"95","FlavorText":"","HP":"50","Sp. Atk":"40","Sp. Def":"50","Species":"Lonely Pok\u00e9mon","Speed":"35","Total":"320","Type":["Ground"]},"Cyndaquil":{"#":"155","Attack":"52","Defense":"43","FlavorText":"","HP":"39","Sp. Atk":"60","Sp. Def":"50","Species":"Fire Mouse Pok\u00e9mon","Speed":"65","Total":"309","Type":["Fire"]},"Darkrai":{"#":"491","Attack":"90","Defense":"90","FlavorText":"","HP":"70","Sp. Atk":"135","Sp. Def":"90","Species":"Pitch-Black Pok\u00e9mon","Speed":"125","Total":"600","Type":["Dark"]},"Darmanitan ( Standard Mode )":{"#":"555","Attack":"140","Defense":"55","FlavorText":"","HP":"105","Sp. Atk":"30","Sp. Def":"55","Species":"","Speed":"95","Total":"480","Type":["Fire"]},"Darmanitan ( Zen Mode )":{"#":"555","Attack":"30","Defense":"105","FlavorText":"","HP":"105","Sp. Atk":"140","Sp. Def":"105","Species":"","Speed":"55","Total":"540","Type":["Fire","Psychic"]},"Darumaka":{"#":"554","Attack":"90","Defense":"45","FlavorText":"","HP":"70","Sp. Atk":"15","Sp. Def":"45","Species":"Zen Charm Pok\u00e9mon","Speed":"50","Total":"315","Type":["Fire"]},"Dedenne":{"#":"702","Attack":"58","Defense":"57","FlavorText":"","HP":"67","Sp. Atk":"81","Sp. Def":"67","Species":"Antenna Pok\u00e9mon","Speed":"101","Total":"431","Type":["Electric","Fairy"]},"Deerling":{"#":"585","Attack":"60","Defense":"50","FlavorText":"","HP":"60","Sp. Atk":"40","Sp. Def":"50","Species":"Season Pok\u00e9mon","Speed":"75","Total":"335","Type":["Normal","Grass"]},"Deino":{"#":"633","Attack":"65","Defense":"50","FlavorText":"","HP":"52","Sp. Atk":"45","Sp. Def":"50","Species":"Irate Pok\u00e9mon","Speed":"38","Total":"300","Type":["Dark","Dragon"]},"Delcatty":{"#":"301","Attack":"65","Defense":"65","FlavorText":"","HP":"70","Sp. Atk":"55","Sp. Def":"55","Species":"Prim Pok\u00e9mon","Speed":"70","Total":"380","Type":["Normal"]},"Delibird":{"#":"225","Attack":"55","Defense":"45","FlavorText":"","HP":"45","Sp. Atk":"65","Sp. Def":"45","Species":"Delivery Pok\u00e9mon","Speed":"75","Total":"330","Type":["Ice","Flying"]},"Delphox":{"#":"655","Attack":"69","Defense":"72","FlavorText":"","HP":"75","Sp. Atk":"114","Sp. Def":"100","Species":"Fox Pok\u00e9mon","Speed":"104","Total":"534","Type":["Fire","Psychic"]},"Deoxys ( Attack Forme )":{"#":"386","Attack":"180","Defense":"20","FlavorText":"","HP":"50","Sp. Atk":"180","Sp. Def":"20","Species":"","Speed":"150","Total":"600","Type":["Psychic"]},"Deoxys ( Defense Forme )":{"#":"386","Attack":"70","Defense":"160","FlavorText":"","HP":"50","Sp. Atk":"70","Sp. Def":"160","Species":"","Speed":"90","Total":"600","Type":["Psychic"]},"Deoxys ( Normal Forme )":{"#":"386","Attack":"150","Defense":"50","FlavorText":"","HP":"50","Sp. Atk":"150","Sp. Def":"50","Species":"","Speed":"150","Total":"600","Type":["Psychic"]},"Deoxys ( Speed Forme )":{"#":"386","Attack":"95","Defense":"90","FlavorText":"","HP":"50","Sp. Atk":"95","Sp. Def":"90","Species":"","Speed":"180","Total":"600","Type":["Psychic"]},"Dewgong":{"#":"087","Attack":"70","Defense":"80","FlavorText":"","HP":"90","Sp. Atk":"70","Sp. Def":"95","Species":"Sea Lion Pok\u00e9mon","Speed":"70","Total":"475","Type":["Water","Ice"]},"Dewott":{"#":"502","Attack":"75","Defense":"60","FlavorText":"","HP":"75","Sp. Atk":"83","Sp. Def":"60","Species":"Discipline Pok\u00e9mon","Speed":"60","Total":"413","Type":["Water"]},"Dialga":{"#":"483","Attack":"120","Defense":"120","FlavorText":"","HP":"100","Sp. Atk":"150","Sp. Def":"100","Species":"Temporal Pok\u00e9mon","Speed":"90","Total":"680","Type":["Steel","Dragon"]},"Diancie":{"#":"719","Attack":"100","Defense":"150","FlavorText":"","HP":"50","Sp. Atk":"100","Sp. Def":"150","Species":"Jewel Pok\u00e9mon","Speed":"50","Total":"600","Type":["Rock","Fairy"]},"Diancie ( Mega Diancie )":{"#":"719","Attack":"160","Defense":"110","FlavorText":"","HP":"50","Sp. Atk":"160","Sp. Def":"110","Species":"","Speed":"110","Total":"700","Type":["Rock","Fairy"]},"Diggersby":{"#":"660","Attack":"56","Defense":"77","FlavorText":"","HP":"85","Sp. Atk":"50","Sp. Def":"77","Species":"Digging Pok\u00e9mon","Speed":"78","Total":"423","Type":["Normal","Ground"]},"Diglett":{"#":"050","Attack":"55","Defense":"25","FlavorText":"","HP":"10","Sp. Atk":"35","Sp. Def":"45","Species":"Mole Pok\u00e9mon","Speed":"95","Total":"265","Type":["Ground"]},"Ditto":{"#":"132","Attack":"48","Defense":"48","FlavorText":"","HP":"48","Sp. Atk":"48","Sp. Def":"48","Species":"Transform Pok\u00e9mon","Speed":"48","Total":"288","Type":["Normal"]},"Dodrio":{"#":"085","Attack":"110","Defense":"70","FlavorText":"","HP":"60","Sp. Atk":"60","Sp. Def":"60","Species":"Triple Bird Pok\u00e9mon","Speed":"100","Total":"460","Type":["Normal","Flying"]},"Doduo":{"#":"084","Attack":"85","Defense":"45","FlavorText":"","HP":"35","Sp. Atk":"35","Sp. Def":"35","Species":"Twin Bird Pok\u00e9mon","Speed":"75","Total":"310","Type":["Normal","Flying"]},"Donphan":{"#":"232","Attack":"120","Defense":"120","FlavorText":"","HP":"90","Sp. Atk":"60","Sp. Def":"60","Species":"Armor Pok\u00e9mon","Speed":"50","Total":"500","Type":["Ground"]},"Doublade":{"#":"680","Attack":"110","Defense":"150","FlavorText":"","HP":"59","Sp. Atk":"45","Sp. Def":"49","Species":"Sword Pok\u00e9mon","Speed":"35","Total":"448","Type":["Steel","Ghost"]},"Dragalge":{"#":"691","Attack":"75","Defense":"90","FlavorText":"","HP":"65","Sp. Atk":"97","Sp. Def":"123","Species":"Mock Kelp Pok\u00e9mon","Speed":"44","Total":"494","Type":["Poison","Dragon"]},"Dragonair":{"#":"148","Attack":"84","Defense":"65","FlavorText":"It is called the divine POK\u00e9MON. When its entire body brightens slightly, the weather changes.","HP":"61","Sp. Atk":"70","Sp. Def":"70","Species":"Dragon Pok\u00e9mon","Speed":"70","Total":"420","Type":["Dragon"]},"Dragonite":{"#":"149","Attack":"134","Defense":"95","FlavorText":"It is said that somewhere in the ocean lies an island where these gather. Only they live there.","HP":"91","Sp. Atk":"100","Sp. Def":"100","Species":"Dragon Pok\u00e9mon","Speed":"80","Total":"600","Type":["Dragon","Flying"]},"Drapion":{"#":"452","Attack":"90","Defense":"110","FlavorText":"","HP":"70","Sp. Atk":"60","Sp. Def":"75","Species":"Ogre Scorp Pok\u00e9mon","Speed":"95","Total":"500","Type":["Poison","Dark"]},"Dratini":{"#":"147","Attack":"64","Defense":"45","FlavorText":"It sheds many layers of skin as it grows larger. During this process, it is protected by a rapid waterfall.","HP":"41","Sp. Atk":"50","Sp. Def":"50","Species":"Dragon Pok\u00e9mon","Speed":"50","Total":"300","Type":["Dragon"]},"Drifblim":{"#":"426","Attack":"80","Defense":"44","FlavorText":"","HP":"150","Sp. Atk":"90","Sp. Def":"54","Species":"Blimp Pok\u00e9mon","Speed":"80","Total":"498","Type":["Ghost","Flying"]},"Drifloon":{"#":"425","Attack":"50","Defense":"34","FlavorText":"","HP":"90","Sp. Atk":"60","Sp. Def":"44","Species":"Balloon Pok\u00e9mon","Speed":"70","Total":"348","Type":["Ghost","Flying"]},"Drilbur":{"#":"529","Attack":"85","Defense":"40","FlavorText":"","HP":"60","Sp. Atk":"30","Sp. Def":"45","Species":"Mole Pok\u00e9mon","Speed":"68","Total":"328","Type":["Ground"]},"Drowzee":{"#":"096","Attack":"48","Defense":"45","FlavorText":"When it twitches its nose, it can tell where someone is sleeping and what that person is dreaming about.","HP":"60","Sp. Atk":"43","Sp. Def":"90","Species":"Hypnosis Pok\u00e9mon","Speed":"42","Total":"328","Type":["Psychic"]},"Druddigon":{"#":"621","Attack":"120","Defense":"90","FlavorText":"It warms its body by absorbing sunlight with its wings. When its body temperature falls, it can no longer move.","HP":"77","Sp. Atk":"60","Sp. Def":"90","Species":"Cave Pok\u00e9mon","Speed":"48","Total":"485","Type":["Dragon"]},"Ducklett":{"#":"580","Attack":"44","Defense":"50","FlavorText":"They are better at swimming than flying, and they happily eat their favorite food, peat moss, as they dive underwater.","HP":"62","Sp. Atk":"44","Sp. Def":"50","Species":"Water Bird Pok\u00e9mon","Speed":"55","Total":"305","Type":["Water","Flying"]},"Dugtrio":{"#":"051","Attack":"80","Defense":"50","FlavorText":"","HP":"35","Sp. Atk":"50","Sp. Def":"70","Species":"Mole Pok\u00e9mon","Speed":"120","Total":"405","Type":["Ground"]},"Dunsparce":{"#":"206","Attack":"70","Defense":"70","FlavorText":"","HP":"100","Sp. Atk":"65","Sp. Def":"65","Species":"Land Snake Pok\u00e9mon","Speed":"45","Total":"415","Type":["Normal"]},"Duosion":{"#":"578","Attack":"40","Defense":"50","FlavorText":"When their two divided brains think the same thoughts, their psychic power is maximized.","HP":"65","Sp. Atk":"125","Sp. Def":"60","Species":"Mitosis Pok\u00e9mon","Speed":"30","Total":"370","Type":["Psychic"]},"Durant":{"#":"632","Attack":"109","Defense":"112","FlavorText":"They attack in groups, covering themselves in steel armor to protect themselves from Heatmor.","HP":"58","Sp. Atk":"48","Sp. Def":"48","Species":"Iron Ant Pok\u00e9mon","Speed":"109","Total":"484","Type":["Bug","Steel"]},"Dusclops":{"#":"356","Attack":"70","Defense":"130","FlavorText":"","HP":"40","Sp. Atk":"60","Sp. Def":"130","Species":"Beckon Pok\u00e9mon","Speed":"25","Total":"455","Type":["Ghost"]},"Dusknoir":{"#":"477","Attack":"100","Defense":"135","FlavorText":"","HP":"45","Sp. Atk":"65","Sp. Def":"135","Species":"Gripper Pok\u00e9mon","Speed":"45","Total":"525","Type":["Ghost"]},"Duskull":{"#":"355","Attack":"40","Defense":"90","FlavorText":"","HP":"20","Sp. Atk":"30","Sp. Def":"90","Species":"Requiem Pok\u00e9mon","Speed":"25","Total":"295","Type":["Ghost"]},"Dustox":{"#":"269","Attack":"50","Defense":"70","FlavorText":"Toxic powder is scattered with each flap. At night, it is known to strip leaves off trees lining boulevards.","HP":"60","Sp. Atk":"50","Sp. Def":"90","Species":"Poison Moth Pok\u00e9mon","Speed":"65","Total":"385","Type":["Bug","Poison"]},"Dwebble":{"#":"557","Attack":"65","Defense":"85","FlavorText":"When it finds a stone of a suitable size, it secretes a liquid from its mouth to open up a hole to crawl into.","HP":"50","Sp. Atk":"35","Sp. Def":"35","Species":"Rock Inn Pok\u00e9mon","Speed":"55","Total":"325","Type":["Bug","Rock"]},"Eelektrik":{"#":"603","Attack":"85","Defense":"70","FlavorText":"","HP":"65","Sp. Atk":"75","Sp. Def":"70","Species":"EleFish Pok\u00e9mon","Speed":"40","Total":"405","Type":["Electric"]},"Eelektross":{"#":"604","Attack":"115","Defense":"80","FlavorText":"","HP":"85","Sp. Atk":"105","Sp. Def":"80","Species":"EleFish Pok\u00e9mon","Speed":"50","Total":"515","Type":["Electric"]},"Eevee":{"#":"133","Attack":"55","Defense":"50","FlavorText":"","HP":"55","Sp. Atk":"45","Sp. Def":"65","Species":"Evolution Pok\u00e9mon","Speed":"55","Total":"325","Type":["Normal"]},"Ekans":{"#":"023","Attack":"60","Defense":"44","FlavorText":"","HP":"35","Sp. Atk":"40","Sp. Def":"54","Species":"Snake Pok\u00e9mon","Speed":"55","Total":"288","Type":["Poison"]},"Electabuzz":{"#":"125","Attack":"83","Defense":"57","FlavorText":"","HP":"65","Sp. Atk":"95","Sp. Def":"85","Species":"Electric Pok\u00e9mon","Speed":"105","Total":"490","Type":["Electric"]},"Electivire":{"#":"466","Attack":"123","Defense":"67","FlavorText":"","HP":"75","Sp. Atk":"95","Sp. Def":"85","Species":"Thunderbolt Pok\u00e9mon","Speed":"95","Total":"540","Type":["Electric"]},"Electrike":{"#":"309","Attack":"45","Defense":"40","FlavorText":"It generates electricity using friction from the atmosphere. In seasons with especially arid air, its entire body blazes with violent showers of sparks.","HP":"40","Sp. Atk":"65","Sp. Def":"40","Species":"Lightning Pok\u00e9mon","Speed":"65","Total":"295","Type":["Electric"]},"Electrode":{"#":"101","Attack":"50","Defense":"70","FlavorText":"","HP":"60","Sp. Atk":"80","Sp. Def":"80","Species":"Ball Pok\u00e9mon","Speed":"140","Total":"480","Type":["Electric"]},"Elekid":{"#":"239","Attack":"63","Defense":"37","FlavorText":"If it touches metal and discharges the electricity it has stored in its body, an ELEKID begins swinging its arms in circles to recharge itself.","HP":"45","Sp. Atk":"65","Sp. Def":"55","Species":"Electric Pok\u00e9mon","Speed":"95","Total":"360","Type":["Electric"]},"Elgyem":{"#":"605","Attack":"55","Defense":"55","FlavorText":"","HP":"55","Sp. Atk":"85","Sp. Def":"55","Species":"Cerebral Pok\u00e9mon","Speed":"30","Total":"335","Type":["Psychic"]},"Emboar":{"#":"500","Attack":"123","Defense":"65","FlavorText":"","HP":"110","Sp. Atk":"100","Sp. Def":"65","Species":"Mega Fire Pig Pok\u00e9mon","Speed":"65","Total":"528","Type":["Fire","Fighting"]},"Emolga":{"#":"587","Attack":"75","Defense":"60","FlavorText":"","HP":"55","Sp. Atk":"75","Sp. Def":"60","Species":"Sky Squirrel Pok\u00e9mon","Speed":"103","Total":"428","Type":["Electric","Flying"]},"Empoleon":{"#":"395","Attack":"86","Defense":"88","FlavorText":"","HP":"84","Sp. Atk":"111","Sp. Def":"101","Species":"Emperor Pok\u00e9mon","Speed":"60","Total":"530","Type":["Water","Steel"]},"Entei":{"#":"244","Attack":"115","Defense":"85","FlavorText":"","HP":"115","Sp. Atk":"90","Sp. Def":"75","Species":"Volcano Pok\u00e9mon","Speed":"100","Total":"580","Type":["Fire"]},"Escavalier":{"#":"589","Attack":"135","Defense":"105","FlavorText":"These Pok\u00e9mon evolve by wearing the shell covering of a Shelmet. The steel armor protects their whole body.","HP":"70","Sp. Atk":"60","Sp. Def":"105","Species":"Cavalry Pok\u00e9mon","Speed":"20","Total":"495","Type":["Bug","Steel"]},"Espeon":{"#":"196","Attack":"65","Defense":"60","FlavorText":"","HP":"65","Sp. Atk":"130","Sp. Def":"95","Species":"Sun Pok\u00e9mon","Speed":"110","Total":"525","Type":["Psychic"]},"Espurr":{"#":"677","Attack":"48","Defense":"54","FlavorText":"","HP":"62","Sp. Atk":"63","Sp. Def":"60","Species":"Restraint Pok\u00e9mon","Speed":"68","Total":"355","Type":["Psychic"]},"Excadrill":{"#":"530","Attack":"135","Defense":"60","FlavorText":"","HP":"110","Sp. Atk":"50","Sp. Def":"65","Species":"Subterrene Pok\u00e9mon","Speed":"88","Total":"508","Type":["Ground","Steel"]},"Exeggcute":{"#":"102","Attack":"40","Defense":"80","FlavorText":"If even one is separated from the group, the energy bond between the six will make them rejoin instantly.","HP":"60","Sp. Atk":"60","Sp. Def":"45","Species":"Egg Pok\u00e9mon","Speed":"40","Total":"325","Type":["Grass","Psychic"]},"Exeggutor":{"#":"103","Attack":"95","Defense":"85","FlavorText":"Living in a good environment makes it grow lots of heads. A head that drops off becomes an EXEGGCUTE.","HP":"95","Sp. Atk":"125","Sp. Def":"65","Species":"Coconut Pok\u00e9mon","Speed":"55","Total":"520","Type":["Grass","Psychic"]},"Exploud":{"#":"295","Attack":"91","Defense":"63","FlavorText":"","HP":"104","Sp. Atk":"91","Sp. Def":"73","Species":"Loud Noise Pok\u00e9mon","Speed":"68","Total":"490","Type":["Normal"]},"Farfetch'd":{"#":"083","Attack":"65","Defense":"55","FlavorText":"","HP":"52","Sp. Atk":"58","Sp. Def":"62","Species":"","Speed":"60","Total":"352","Type":["Normal","Flying"]},"Fearow":{"#":"022","Attack":"90","Defense":"65","FlavorText":"It uses its long beak to attack. It has a surprisingly long reach, so it must be treated with caution.","HP":"65","Sp. Atk":"61","Sp. Def":"61","Species":"Beak Pok\u00e9mon","Speed":"100","Total":"442","Type":["Normal","Flying"]},"Feebas":{"#":"349","Attack":"15","Defense":"20","FlavorText":"","HP":"20","Sp. Atk":"10","Sp. Def":"55","Species":"Fish Pok\u00e9mon","Speed":"80","Total":"200","Type":["Water"]},"Fennekin":{"#":"653","Attack":"45","Defense":"40","FlavorText":"","HP":"40","Sp. Atk":"62","Sp. Def":"60","Species":"Fox Pok\u00e9mon","Speed":"60","Total":"307","Type":["Fire"]},"Feraligatr":{"#":"160","Attack":"105","Defense":"100","FlavorText":"","HP":"85","Sp. Atk":"79","Sp. Def":"83","Species":"Big Jaw Pok\u00e9mon","Speed":"78","Total":"530","Type":["Water"]},"Ferroseed":{"#":"597","Attack":"50","Defense":"91","FlavorText":"","HP":"44","Sp. Atk":"24","Sp. Def":"86","Species":"Thorn Seed Pok\u00e9mon","Speed":"10","Total":"305","Type":["Grass","Steel"]},"Ferrothorn":{"#":"598","Attack":"94","Defense":"131","FlavorText":"","HP":"74","Sp. Atk":"54","Sp. Def":"116","Species":"Thorn Pod Pok\u00e9mon","Speed":"20","Total":"489","Type":["Grass","Steel"]},"Finneon":{"#":"456","Attack":"49","Defense":"56","FlavorText":"","HP":"49","Sp. Atk":"49","Sp. Def":"61","Species":"Wing Fish Pok\u00e9mon","Speed":"66","Total":"330","Type":["Water"]},"Flaaffy":{"#":"180","Attack":"55","Defense":"55","FlavorText":"Its fleece quality changes to generate strong static electricity with a small amount of wool. The bare, slick parts of its hide are shielded against electricity.","HP":"70","Sp. Atk":"80","Sp. Def":"60","Species":"Wool Pok\u00e9mon","Speed":"45","Total":"365","Type":["Electric"]},"Flab\u00e9b\u00e9":{"#":"669","Attack":"38","Defense":"39","FlavorText":"","HP":"44","Sp. Atk":"61","Sp. Def":"79","Species":"","Speed":"42","Total":"303","Type":["Fairy"]},"Flareon":{"#":"136","Attack":"130","Defense":"60","FlavorText":"","HP":"65","Sp. Atk":"95","Sp. Def":"110","Species":"Flame Pok\u00e9mon","Speed":"65","Total":"525","Type":["Fire"]},"Fletchinder":{"#":"662","Attack":"73","Defense":"55","FlavorText":"","HP":"62","Sp. Atk":"56","Sp. Def":"52","Species":"Ember Pok\u00e9mon","Speed":"84","Total":"382","Type":["Fire","Flying"]},"Fletchling":{"#":"661","Attack":"50","Defense":"43","FlavorText":"","HP":"45","Sp. Atk":"40","Sp. Def":"38","Species":"Tiny Robin Pok\u00e9mon","Speed":"62","Total":"278","Type":["Normal","Flying"]},"Floatzel":{"#":"419","Attack":"105","Defense":"55","FlavorText":"","HP":"85","Sp. Atk":"85","Sp. Def":"50","Species":"Sea Weasel Pok\u00e9mon","Speed":"115","Total":"495","Type":["Water"]},"Floette":{"#":"670","Attack":"45","Defense":"47","FlavorText":"","HP":"54","Sp. Atk":"75","Sp. Def":"98","Species":"Single Bloom Pok\u00e9mon","Speed":"52","Total":"371","Type":["Fairy"]},"Florges":{"#":"671","Attack":"65","Defense":"68","FlavorText":"","HP":"78","Sp. Atk":"112","Sp. Def":"154","Species":"Garden Pok\u00e9mon","Speed":"75","Total":"552","Type":["Fairy"]},"Flygon":{"#":"330","Attack":"100","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"80","Sp. Def":"80","Species":"Mystic Pok\u00e9mon","Speed":"100","Total":"520","Type":["Ground","Dragon"]},"Foongus":{"#":"590","Attack":"55","Defense":"45","FlavorText":"","HP":"69","Sp. Atk":"55","Sp. Def":"55","Species":"Mushroom Pok\u00e9mon","Speed":"15","Total":"294","Type":["Grass","Poison"]},"Forretress":{"#":"205","Attack":"90","Defense":"140","FlavorText":"","HP":"75","Sp. Atk":"60","Sp. Def":"60","Species":"Bagworm Pok\u00e9mon","Speed":"40","Total":"465","Type":["Bug","Steel"]},"Fraxure":{"#":"611","Attack":"117","Defense":"70","FlavorText":"A broken tusk will not grow back, so it diligently sharpens its tusks on river rocks after the end of a battle.","HP":"66","Sp. Atk":"40","Sp. Def":"50","Species":"Axe Jaw Pok\u00e9mon","Speed":"67","Total":"410","Type":["Dragon"]},"Frillish":{"#":"592","Attack":"40","Defense":"50","FlavorText":"","HP":"55","Sp. Atk":"65","Sp. Def":"85","Species":"Floating Pok\u00e9mon","Speed":"40","Total":"335","Type":["Water","Ghost"]},"Froakie":{"#":"656","Attack":"56","Defense":"40","FlavorText":"","HP":"41","Sp. Atk":"62","Sp. Def":"44","Species":"Bubble Frog Pok\u00e9mon","Speed":"71","Total":"314","Type":["Water"]},"Frogadier":{"#":"657","Attack":"63","Defense":"52","FlavorText":"","HP":"54","Sp. Atk":"83","Sp. Def":"56","Species":"Bubble Frog Pok\u00e9mon","Speed":"97","Total":"405","Type":["Water"]},"Froslass":{"#":"478","Attack":"80","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"80","Sp. Def":"70","Species":"Snow Land Pok\u00e9mon","Speed":"110","Total":"480","Type":["Ice","Ghost"]},"Furfrou":{"#":"676","Attack":"80","Defense":"60","FlavorText":"","HP":"75","Sp. Atk":"65","Sp. Def":"90","Species":"Poodle Pok\u00e9mon","Speed":"102","Total":"472","Type":["Normal"]},"Furret":{"#":"162","Attack":"76","Defense":"64","FlavorText":"A FURRET has a very slim build. When under attack, it can squirm through narrow spaces and get away. In spite of its short limbs, it is very nimble and fleet.","HP":"85","Sp. Atk":"45","Sp. Def":"55","Species":"Long Body Pok\u00e9mon","Speed":"90","Total":"415","Type":["Normal"]},"Gabite":{"#":"444","Attack":"90","Defense":"65","FlavorText":"","HP":"68","Sp. Atk":"50","Sp. Def":"55","Species":"Cave Pok\u00e9mon","Speed":"82","Total":"410","Type":["Dragon","Ground"]},"Gallade":{"#":"475","Attack":"125","Defense":"65","FlavorText":"","HP":"68","Sp. Atk":"65","Sp. Def":"115","Species":"Blade Pok\u00e9mon","Speed":"80","Total":"518","Type":["Psychic","Fighting"]},"Gallade ( Mega Gallade )":{"#":"475","Attack":"165","Defense":"95","FlavorText":"","HP":"68","Sp. Atk":"65","Sp. Def":"115","Species":"","Speed":"110","Total":"618","Type":["Psychic","Fighting"]},"Galvantula":{"#":"596","Attack":"77","Defense":"60","FlavorText":"","HP":"70","Sp. Atk":"97","Sp. Def":"60","Species":"EleSpider Pok\u00e9mon","Speed":"108","Total":"472","Type":["Bug","Electric"]},"Garbodor":{"#":"569","Attack":"95","Defense":"82","FlavorText":"Consuming garbage makes new kinds of poison gases and liquids inside their bodies.","HP":"80","Sp. Atk":"60","Sp. Def":"82","Species":"Trash Heap Pok\u00e9mon","Speed":"75","Total":"474","Type":["Poison"]},"Garchomp":{"#":"445","Attack":"130","Defense":"95","FlavorText":"","HP":"108","Sp. Atk":"80","Sp. Def":"85","Species":"Mach Pok\u00e9mon","Speed":"102","Total":"600","Type":["Dragon","Ground"]},"Garchomp ( Mega Garchomp )":{"#":"445","Attack":"170","Defense":"115","FlavorText":"","HP":"108","Sp. Atk":"120","Sp. Def":"95","Species":"","Speed":"92","Total":"700","Type":["Dragon","Ground"]},"Gardevoir":{"#":"282","Attack":"65","Defense":"65","FlavorText":"","HP":"68","Sp. Atk":"125","Sp. Def":"115","Species":"Embrace Pok\u00e9mon","Speed":"80","Total":"518","Type":["Psychic","Fairy"]},"Gardevoir ( Mega Gardevoir )":{"#":"282","Attack":"85","Defense":"65","FlavorText":"","HP":"68","Sp. Atk":"165","Sp. Def":"135","Species":"","Speed":"100","Total":"618","Type":["Psychic","Fairy"]},"Gastly":{"#":"092","Attack":"35","Defense":"30","FlavorText":"","HP":"30","Sp. Atk":"100","Sp. Def":"35","Species":"Gas Pok\u00e9mon","Speed":"80","Total":"310","Type":["Ghost","Poison"]},"Gastrodon":{"#":"423","Attack":"83","Defense":"68","FlavorText":"","HP":"111","Sp. Atk":"92","Sp. Def":"82","Species":"Sea Slug Pok\u00e9mon","Speed":"39","Total":"475","Type":["Water","Ground"]},"Genesect":{"#":"649","Attack":"120","Defense":"95","FlavorText":"","HP":"71","Sp. Atk":"120","Sp. Def":"95","Species":"Paleozoic Pok\u00e9mon","Speed":"99","Total":"600","Type":["Bug","Steel"]},"Gengar":{"#":"094","Attack":"65","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"130","Sp. Def":"75","Species":"Shadow Pok\u00e9mon","Speed":"110","Total":"500","Type":["Ghost","Poison"]},"Gengar ( Mega Gengar )":{"#":"094","Attack":"65","Defense":"80","FlavorText":"","HP":"60","Sp. Atk":"170","Sp. Def":"95","Species":"","Speed":"130","Total":"600","Type":["Ghost","Poison"]},"Geodude":{"#":"074","Attack":"80","Defense":"100","FlavorText":"","HP":"40","Sp. Atk":"30","Sp. Def":"30","Species":"Rock Pok\u00e9mon","Speed":"20","Total":"300","Type":["Rock","Ground"]},"Gible":{"#":"443","Attack":"70","Defense":"45","FlavorText":"","HP":"58","Sp. Atk":"40","Sp. Def":"45","Species":"Land Shark Pok\u00e9mon","Speed":"42","Total":"300","Type":["Dragon","Ground"]},"Gigalith":{"#":"526","Attack":"135","Defense":"130","FlavorText":"","HP":"85","Sp. Atk":"60","Sp. Def":"80","Species":"Compressed Pok\u00e9mon","Speed":"25","Total":"515","Type":["Rock"]},"Girafarig":{"#":"203","Attack":"80","Defense":"65","FlavorText":"","HP":"70","Sp. Atk":"90","Sp. Def":"65","Species":"Long Neck Pok\u00e9mon","Speed":"85","Total":"455","Type":["Normal","Psychic"]},"Giratina ( Altered Forme )":{"#":"487","Attack":"100","Defense":"120","FlavorText":"","HP":"150","Sp. Atk":"100","Sp. Def":"120","Species":"","Speed":"90","Total":"680","Type":["Ghost","Dragon"]},"Giratina ( Origin Forme )":{"#":"487","Attack":"120","Defense":"100","FlavorText":"","HP":"150","Sp. Atk":"120","Sp. Def":"100","Species":"","Speed":"90","Total":"680","Type":["Ghost","Dragon"]},"Glaceon":{"#":"471","Attack":"60","Defense":"110","FlavorText":"","HP":"65","Sp. Atk":"130","Sp. Def":"95","Species":"Fresh Snow Pok\u00e9mon","Speed":"65","Total":"525","Type":["Ice"]},"Glalie":{"#":"362","Attack":"80","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"80","Sp. Def":"80","Species":"Face Pok\u00e9mon","Speed":"80","Total":"480","Type":["Ice"]},"Glalie ( Mega Glalie )":{"#":"362","Attack":"120","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"120","Sp. Def":"80","Species":"","Speed":"100","Total":"580","Type":["Ice"]},"Glameow":{"#":"431","Attack":"55","Defense":"42","FlavorText":"","HP":"49","Sp. Atk":"42","Sp. Def":"37","Species":"Catty Pok\u00e9mon","Speed":"85","Total":"310","Type":["Normal"]},"Gligar":{"#":"207","Attack":"75","Defense":"105","FlavorText":"","HP":"65","Sp. Atk":"35","Sp. Def":"65","Species":"FlyScorpion Pok\u00e9mon","Speed":"85","Total":"430","Type":["Ground","Flying"]},"Gliscor":{"#":"472","Attack":"95","Defense":"125","FlavorText":"If it succeeds in catching even a faint breeze properly, it can circle the globe without flapping once.","HP":"75","Sp. Atk":"45","Sp. Def":"75","Species":"Fang Scorp Pok\u00e9mon","Speed":"95","Total":"510","Type":["Ground","Flying"]},"Gloom":{"#":"044","Attack":"65","Defense":"70","FlavorText":"","HP":"60","Sp. Atk":"85","Sp. Def":"75","Species":"Weed Pok\u00e9mon","Speed":"40","Total":"395","Type":["Grass","Poison"]},"Gogoat":{"#":"673","Attack":"100","Defense":"62","FlavorText":"","HP":"123","Sp. Atk":"97","Sp. Def":"81","Species":"Mount Pok\u00e9mon","Speed":"68","Total":"531","Type":["Grass"]},"Golbat":{"#":"042","Attack":"80","Defense":"70","FlavorText":"","HP":"75","Sp. Atk":"65","Sp. Def":"75","Species":"Bat Pok\u00e9mon","Speed":"90","Total":"455","Type":["Poison","Flying"]},"Goldeen":{"#":"118","Attack":"67","Defense":"60","FlavorText":"","HP":"45","Sp. Atk":"35","Sp. Def":"50","Species":"Goldfish Pok\u00e9mon","Speed":"63","Total":"320","Type":["Water"]},"Golduck":{"#":"055","Attack":"82","Defense":"78","FlavorText":"","HP":"80","Sp. Atk":"95","Sp. Def":"80","Species":"Duck Pok\u00e9mon","Speed":"85","Total":"500","Type":["Water"]},"Golem":{"#":"076","Attack":"120","Defense":"130","FlavorText":"","HP":"80","Sp. Atk":"55","Sp. Def":"65","Species":"Megaton Pok\u00e9mon","Speed":"45","Total":"495","Type":["Rock","Ground"]},"Golett":{"#":"622","Attack":"74","Defense":"50","FlavorText":"Ancient science fashioned this Pok\u00e9mon from clay. It\u2019s been active for thousands of years.","HP":"59","Sp. Atk":"35","Sp. Def":"50","Species":"Automaton Pok\u00e9mon","Speed":"35","Total":"303","Type":["Ground","Ghost"]},"Golurk":{"#":"623","Attack":"124","Defense":"80","FlavorText":"It flies across the sky at Mach speeds. Removing the seal on its chest makes its internal energy go out of control.","HP":"89","Sp. Atk":"55","Sp. Def":"80","Species":"Automaton Pok\u00e9mon","Speed":"55","Total":"483","Type":["Ground","Ghost"]},"Goodra":{"#":"706","Attack":"100","Defense":"70","FlavorText":"","HP":"90","Sp. Atk":"110","Sp. Def":"150","Species":"Dragon Pok\u00e9mon","Speed":"80","Total":"600","Type":["Dragon"]},"Goomy":{"#":"704","Attack":"50","Defense":"35","FlavorText":"","HP":"45","Sp. Atk":"55","Sp. Def":"75","Species":"Soft Tissue Pok\u00e9mon","Speed":"40","Total":"300","Type":["Dragon"]},"Gorebyss":{"#":"368","Attack":"84","Defense":"105","FlavorText":"","HP":"55","Sp. Atk":"114","Sp. Def":"75","Species":"South Sea Pok\u00e9mon","Speed":"52","Total":"485","Type":["Water"]},"Gothita":{"#":"574","Attack":"30","Defense":"50","FlavorText":"They intently observe both Trainers and Pok\u00e9mon. Apparently, they are looking at something that only Gothita can see.","HP":"45","Sp. Atk":"55","Sp. Def":"65","Species":"Fixation Pok\u00e9mon","Speed":"45","Total":"290","Type":["Psychic"]},"Gothitelle":{"#":"576","Attack":"55","Defense":"95","FlavorText":"They can predict the future from the placement and movement of the stars. They can see Trainers\u2019 life spans.","HP":"70","Sp. Atk":"95","Sp. Def":"110","Species":"Astral Body Pok\u00e9mon","Speed":"65","Total":"490","Type":["Psychic"]},"Gothorita":{"#":"575","Attack":"45","Defense":"70","FlavorText":"According to many old tales, it creates friends for itself by controlling sleeping children on starry nights.","HP":"60","Sp. Atk":"75","Sp. Def":"85","Species":"Manipulate Pok\u00e9mon","Speed":"55","Total":"390","Type":["Psychic"]},"Gourgeist ( Average Size )":{"#":"711","Attack":"90","Defense":"122","FlavorText":"","HP":"65","Sp. Atk":"58","Sp. Def":"75","Species":"","Speed":"84","Total":"494","Type":["Ghost","Grass"]},"Gourgeist ( Large Size )":{"#":"711","Attack":"95","Defense":"122","FlavorText":"","HP":"75","Sp. Atk":"58","Sp. Def":"75","Species":"","Speed":"69","Total":"494","Type":["Ghost","Grass"]},"Gourgeist ( Small Size )":{"#":"711","Attack":"85","Defense":"122","FlavorText":"","HP":"55","Sp. Atk":"58","Sp. Def":"75","Species":"","Speed":"99","Total":"494","Type":["Ghost","Grass"]},"Gourgeist ( Super Size )":{"#":"711","Attack":"100","Defense":"122","FlavorText":"","HP":"85","Sp. Atk":"58","Sp. Def":"75","Species":"","Speed":"54","Total":"494","Type":["Ghost","Grass"]},"Granbull":{"#":"210","Attack":"120","Defense":"75","FlavorText":"It has a particularly well-developed lower jaw. The huge fangs are heavy, causing it to tilt its head. Unless it is startled, it will not try to bite.","HP":"90","Sp. Atk":"60","Sp. Def":"60","Species":"Fairy Pok\u00e9mon","Speed":"45","Total":"450","Type":["Fairy"]},"Graveler":{"#":"075","Attack":"95","Defense":"115","FlavorText":"","HP":"55","Sp. Atk":"45","Sp. Def":"45","Species":"Rock Pok\u00e9mon","Speed":"35","Total":"390","Type":["Rock","Ground"]},"Greninja":{"#":"658","Attack":"95","Defense":"67","FlavorText":"","HP":"72","Sp. Atk":"103","Sp. Def":"71","Species":"Ninja Pok\u00e9mon","Speed":"122","Total":"530","Type":["Water","Dark"]},"Grimer":{"#":"088","Attack":"80","Defense":"50","FlavorText":"","HP":"80","Sp. Atk":"40","Sp. Def":"50","Species":"Sludge Pok\u00e9mon","Speed":"25","Total":"325","Type":["Poison"]},"Grotle":{"#":"388","Attack":"89","Defense":"85","FlavorText":"","HP":"75","Sp. Atk":"55","Sp. Def":"65","Species":"Grove Pok\u00e9mon","Speed":"36","Total":"405","Type":["Grass"]},"Groudon":{"#":"383","Attack":"150","Defense":"140","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"90","Species":"Continent Pok\u00e9mon","Speed":"90","Total":"670","Type":["Ground"]},"Groudon ( Primal Groudon )":{"#":"383","Attack":"180","Defense":"160","FlavorText":"","HP":"100","Sp. Atk":"150","Sp. Def":"90","Species":"","Speed":"90","Total":"770","Type":["Ground","Fire"]},"Grovyle":{"#":"253","Attack":"65","Defense":"45","FlavorText":"","HP":"50","Sp. Atk":"85","Sp. Def":"65","Species":"Wood Gecko Pok\u00e9mon","Speed":"95","Total":"405","Type":["Grass"]},"Growlithe":{"#":"058","Attack":"70","Defense":"45","FlavorText":"","HP":"55","Sp. Atk":"70","Sp. Def":"50","Species":"Puppy Pok\u00e9mon","Speed":"60","Total":"350","Type":["Fire"]},"Grumpig":{"#":"326","Attack":"45","Defense":"65","FlavorText":"","HP":"80","Sp. Atk":"90","Sp. Def":"110","Species":"Manipulate Pok\u00e9mon","Speed":"80","Total":"470","Type":["Psychic"]},"Gulpin":{"#":"316","Attack":"43","Defense":"53","FlavorText":"This POK\u00e9MON\u2019s stomach fluid can even digest scrap iron. In one gulp, it can swallow something that is as large as itself.","HP":"70","Sp. Atk":"43","Sp. Def":"53","Species":"Stomach Pok\u00e9mon","Speed":"40","Total":"302","Type":["Poison"]},"Gurdurr":{"#":"533","Attack":"105","Defense":"85","FlavorText":"This Pok\u00e9mon is so muscular and strongly built that even a group of wrestlers could not make it budge an inch.","HP":"85","Sp. Atk":"40","Sp. Def":"50","Species":"Muscular Pok\u00e9mon","Speed":"40","Total":"405","Type":["Fighting"]},"Gyarados":{"#":"130","Attack":"125","Defense":"79","FlavorText":"","HP":"95","Sp. Atk":"60","Sp. Def":"100","Species":"Atrocious Pok\u00e9mon","Speed":"81","Total":"540","Type":["Water","Flying"]},"Gyarados ( Mega Gyarados )":{"#":"130","Attack":"155","Defense":"109","FlavorText":"","HP":"95","Sp. Atk":"70","Sp. Def":"130","Species":"","Speed":"81","Total":"640","Type":["Water","Dark"]},"Happiny":{"#":"440","Attack":"5","Defense":"5","FlavorText":"","HP":"100","Sp. Atk":"15","Sp. Def":"65","Species":"Playhouse Pok\u00e9mon","Speed":"30","Total":"220","Type":["Normal"]},"Hariyama":{"#":"297","Attack":"120","Defense":"60","FlavorText":"It has the habit of challenging others without hesitation to tests of strength. It\u2019s been known to stand on train tracks and stop trains using forearm thrusts.","HP":"144","Sp. Atk":"40","Sp. Def":"60","Species":"Arm Thrust Pok\u00e9mon","Speed":"50","Total":"474","Type":["Fighting"]},"Haunter":{"#":"093","Attack":"50","Defense":"45","FlavorText":"","HP":"45","Sp. Atk":"115","Sp. Def":"55","Species":"Gas Pok\u00e9mon","Speed":"95","Total":"405","Type":["Ghost","Poison"]},"Hawlucha":{"#":"701","Attack":"92","Defense":"75","FlavorText":"","HP":"78","Sp. Atk":"74","Sp. Def":"63","Species":"Wrestling Pok\u00e9mon","Speed":"118","Total":"500","Type":["Fighting","Flying"]},"Haxorus":{"#":"612","Attack":"147","Defense":"90","FlavorText":"Their sturdy tusks will stay sharp even if used to cut steel beams. These Pok\u00e9mon are covered in hard armor.","HP":"76","Sp. Atk":"60","Sp. Def":"70","Species":"Axe Jaw Pok\u00e9mon","Speed":"97","Total":"540","Type":["Dragon"]},"Heatmor":{"#":"631","Attack":"97","Defense":"66","FlavorText":"It draws in air through its tail, transforms it into fire, and uses it like a tongue. It melts Durant and eats them.","HP":"85","Sp. Atk":"105","Sp. Def":"66","Species":"Anteater Pok\u00e9mon","Speed":"65","Total":"484","Type":["Fire"]},"Heatran":{"#":"485","Attack":"90","Defense":"106","FlavorText":"","HP":"91","Sp. Atk":"130","Sp. Def":"106","Species":"Lava Dome Pok\u00e9mon","Speed":"77","Total":"600","Type":["Fire","Steel"]},"Heliolisk":{"#":"695","Attack":"55","Defense":"52","FlavorText":"","HP":"62","Sp. Atk":"109","Sp. Def":"94","Species":"Generator Pok\u00e9mon","Speed":"109","Total":"481","Type":["Electric","Normal"]},"Helioptile":{"#":"694","Attack":"38","Defense":"33","FlavorText":"","HP":"44","Sp. Atk":"61","Sp. Def":"43","Species":"Generator Pok\u00e9mon","Speed":"70","Total":"289","Type":["Electric","Normal"]},"Heracross":{"#":"214","Attack":"125","Defense":"75","FlavorText":"","HP":"80","Sp. Atk":"40","Sp. Def":"95","Species":"Single Horn Pok\u00e9mon","Speed":"85","Total":"500","Type":["Bug","Fighting"]},"Heracross ( Mega Heracross )":{"#":"214","Attack":"185","Defense":"115","FlavorText":"","HP":"80","Sp. Atk":"40","Sp. Def":"105","Species":"","Speed":"75","Total":"600","Type":["Bug","Fighting"]},"Herdier":{"#":"507","Attack":"80","Defense":"65","FlavorText":"","HP":"65","Sp. Atk":"35","Sp. Def":"65","Species":"Loyal Dog Pok\u00e9mon","Speed":"60","Total":"370","Type":["Normal"]},"Hippopotas":{"#":"449","Attack":"72","Defense":"78","FlavorText":"","HP":"68","Sp. Atk":"38","Sp. Def":"42","Species":"Hippo Pok\u00e9mon","Speed":"32","Total":"330","Type":["Ground"]},"Hippowdon":{"#":"450","Attack":"112","Defense":"118","FlavorText":"","HP":"108","Sp. Atk":"68","Sp. Def":"72","Species":"Heavyweight Pok\u00e9mon","Speed":"47","Total":"525","Type":["Ground"]},"Hitmonchan":{"#":"107","Attack":"105","Defense":"79","FlavorText":"To increase the strength of all its punch moves, it spins its arms just before making contact.","HP":"50","Sp. Atk":"35","Sp. Def":"110","Species":"Punching Pok\u00e9mon","Speed":"76","Total":"455","Type":["Fighting"]},"Hitmonlee":{"#":"106","Attack":"120","Defense":"53","FlavorText":"It is also called the Kick Master. It uses its elastic legs to execute every known kick.","HP":"50","Sp. Atk":"35","Sp. Def":"110","Species":"Kicking Pok\u00e9mon","Speed":"87","Total":"455","Type":["Fighting"]},"Hitmontop":{"#":"237","Attack":"95","Defense":"95","FlavorText":"","HP":"50","Sp. Atk":"35","Sp. Def":"110","Species":"Handstand Pok\u00e9mon","Speed":"70","Total":"455","Type":["Fighting"]},"Ho-oh":{"#":"250","Attack":"130","Defense":"90","FlavorText":"","HP":"106","Sp. Atk":"110","Sp. Def":"154","Species":"Rainbow Pok\u00e9mon","Speed":"90","Total":"680","Type":["Fire","Flying"]},"Honchkrow":{"#":"430","Attack":"125","Defense":"52","FlavorText":"","HP":"100","Sp. Atk":"105","Sp. Def":"52","Species":"Big Boss Pok\u00e9mon","Speed":"71","Total":"505","Type":["Dark","Flying"]},"Honedge":{"#":"679","Attack":"80","Defense":"100","FlavorText":"","HP":"45","Sp. Atk":"35","Sp. Def":"37","Species":"Sword Pok\u00e9mon","Speed":"28","Total":"325","Type":["Steel","Ghost"]},"Hoopa ( Hoopa Confined )":{"#":"720","Attack":"110","Defense":"60","FlavorText":"","HP":"80","Sp. Atk":"150","Sp. Def":"130","Species":"","Speed":"70","Total":"600","Type":["Psychic","Ghost"]},"Hoopa ( Hoopa Unbound )":{"#":"720","Attack":"160","Defense":"60","FlavorText":"","HP":"80","Sp. Atk":"170","Sp. Def":"130","Species":"","Speed":"80","Total":"680","Type":["Psychic","Dark"]},"Hoothoot":{"#":"163","Attack":"30","Defense":"30","FlavorText":"","HP":"60","Sp. Atk":"36","Sp. Def":"56","Species":"Owl Pok\u00e9mon","Speed":"50","Total":"262","Type":["Normal","Flying"]},"Hoppip":{"#":"187","Attack":"35","Defense":"40","FlavorText":"This POK\u00e9MON drifts and floats with the wind. If it senses the approach of strong winds, a HOPPIP links leaves with others to prepare against being blown away.","HP":"35","Sp. Atk":"35","Sp. Def":"55","Species":"Cottonweed Pok\u00e9mon","Speed":"50","Total":"250","Type":["Grass","Flying"]},"Horsea":{"#":"116","Attack":"40","Defense":"70","FlavorText":"","HP":"30","Sp. Atk":"70","Sp. Def":"25","Species":"Dragon Pok\u00e9mon","Speed":"60","Total":"295","Type":["Water"]},"Houndoom":{"#":"229","Attack":"90","Defense":"50","FlavorText":"","HP":"75","Sp. Atk":"110","Sp. Def":"80","Species":"Dark Pok\u00e9mon","Speed":"95","Total":"500","Type":["Dark","Fire"]},"Houndoom ( Mega Houndoom )":{"#":"229","Attack":"90","Defense":"90","FlavorText":"","HP":"75","Sp. Atk":"140","Sp. Def":"90","Species":"","Speed":"115","Total":"600","Type":["Dark","Fire"]},"Houndour":{"#":"228","Attack":"60","Defense":"30","FlavorText":"","HP":"45","Sp. Atk":"80","Sp. Def":"50","Species":"Dark Pok\u00e9mon","Speed":"65","Total":"330","Type":["Dark","Fire"]},"Huntail":{"#":"367","Attack":"104","Defense":"105","FlavorText":"","HP":"55","Sp. Atk":"94","Sp. Def":"75","Species":"Deep Sea Pok\u00e9mon","Speed":"52","Total":"485","Type":["Water"]},"Hydreigon":{"#":"635","Attack":"105","Defense":"90","FlavorText":"","HP":"92","Sp. Atk":"125","Sp. Def":"90","Species":"Brutal Pok\u00e9mon","Speed":"98","Total":"600","Type":["Dark","Dragon"]},"Hypno":{"#":"097","Attack":"73","Defense":"70","FlavorText":"The longer it swings its pendulum, the longer the effects of its hypnosis last.","HP":"85","Sp. Atk":"73","Sp. Def":"115","Species":"Hypnosis Pok\u00e9mon","Speed":"67","Total":"483","Type":["Psychic"]},"Igglybuff":{"#":"174","Attack":"30","Defense":"15","FlavorText":"","HP":"90","Sp. Atk":"40","Sp. Def":"20","Species":"Balloon Pok\u00e9mon","Speed":"15","Total":"210","Type":["Normal","Fairy"]},"Illumise":{"#":"314","Attack":"47","Defense":"55","FlavorText":"A nocturnal POK\u00e9MON that becomes active upon nightfall. It leads a VOLBEAT swarm to draw patterns in the night sky. Over 200 different patterns have been confirmed.","HP":"65","Sp. Atk":"73","Sp. Def":"75","Species":"Firefly Pok\u00e9mon","Speed":"85","Total":"400","Type":["Bug"]},"Infernape":{"#":"392","Attack":"104","Defense":"71","FlavorText":"","HP":"76","Sp. Atk":"104","Sp. Def":"71","Species":"Flame Pok\u00e9mon","Speed":"108","Total":"534","Type":["Fire","Fighting"]},"Inkay":{"#":"686","Attack":"54","Defense":"53","FlavorText":"","HP":"53","Sp. Atk":"37","Sp. Def":"46","Species":"Revolving Pok\u00e9mon","Speed":"45","Total":"288","Type":["Dark","Psychic"]},"Ivysaur":{"#":"002","Attack":"62","Defense":"63","FlavorText":"The bulb on its back grows as it absorbs nutrients. The bulb gives off a pleasant aroma when it blooms.","HP":"60","Sp. Atk":"80","Sp. Def":"80","Species":"Seed Pok\u00e9mon","Speed":"60","Total":"405","Type":["Grass","Poison"]},"Jellicent":{"#":"593","Attack":"60","Defense":"70","FlavorText":"","HP":"100","Sp. Atk":"85","Sp. Def":"105","Species":"Floating Pok\u00e9mon","Speed":"60","Total":"480","Type":["Water","Ghost"]},"Jigglypuff":{"#":"039","Attack":"45","Defense":"20","FlavorText":"","HP":"115","Sp. Atk":"45","Sp. Def":"25","Species":"Balloon Pok\u00e9mon","Speed":"20","Total":"270","Type":["Normal","Fairy"]},"Jirachi":{"#":"385","Attack":"100","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"100","Species":"Wish Pok\u00e9mon","Speed":"100","Total":"600","Type":["Steel","Psychic"]},"Jolteon":{"#":"135","Attack":"65","Defense":"60","FlavorText":"","HP":"65","Sp. Atk":"110","Sp. Def":"95","Species":"Lightning Pok\u00e9mon","Speed":"130","Total":"525","Type":["Electric"]},"Joltik":{"#":"595","Attack":"47","Defense":"50","FlavorText":"","HP":"50","Sp. Atk":"57","Sp. Def":"50","Species":"Attaching Pok\u00e9mon","Speed":"65","Total":"319","Type":["Bug","Electric"]},"Jumpluff":{"#":"189","Attack":"55","Defense":"70","FlavorText":"JUMPLUFF ride warm southern winds to cross the sea and fly to foreign lands. This POK\u00e9MON lands when it encounters cold air while it is floating.","HP":"75","Sp. Atk":"55","Sp. Def":"95","Species":"Cottonweed Pok\u00e9mon","Speed":"110","Total":"460","Type":["Grass","Flying"]},"Jynx":{"#":"124","Attack":"50","Defense":"35","FlavorText":"","HP":"65","Sp. Atk":"115","Sp. Def":"95","Species":"Human Shape Pok\u00e9mon","Speed":"95","Total":"455","Type":["Ice","Psychic"]},"Kabuto":{"#":"140","Attack":"80","Defense":"90","FlavorText":"Three hundred million years ago, it hid on the sea floor. It also has eyes on its back that glow.","HP":"30","Sp. Atk":"55","Sp. Def":"45","Species":"Shellfish Pok\u00e9mon","Speed":"55","Total":"355","Type":["Rock","Water"]},"Kabutops":{"#":"141","Attack":"115","Defense":"105","FlavorText":"It was able to swim quickly through the water by compactly folding up its razor-sharp sickles.","HP":"60","Sp. Atk":"65","Sp. Def":"70","Species":"Shellfish Pok\u00e9mon","Speed":"80","Total":"495","Type":["Rock","Water"]},"Kadabra":{"#":"064","Attack":"35","Defense":"30","FlavorText":"","HP":"40","Sp. Atk":"120","Sp. Def":"70","Species":"Psi Pok\u00e9mon","Speed":"105","Total":"400","Type":["Psychic"]},"Kakuna":{"#":"014","Attack":"25","Defense":"50","FlavorText":"","HP":"45","Sp. Atk":"25","Sp. Def":"25","Species":"Cocoon Pok\u00e9mon","Speed":"35","Total":"205","Type":["Bug","Poison"]},"Kangaskhan":{"#":"115","Attack":"95","Defense":"80","FlavorText":"","HP":"105","Sp. Atk":"40","Sp. Def":"80","Species":"Parent Pok\u00e9mon","Speed":"90","Total":"490","Type":["Normal"]},"Kangaskhan ( Mega Kangaskhan )":{"#":"115","Attack":"125","Defense":"100","FlavorText":"","HP":"105","Sp. Atk":"60","Sp. Def":"100","Species":"","Speed":"100","Total":"590","Type":["Normal"]},"Karrablast":{"#":"588","Attack":"75","Defense":"45","FlavorText":"For some reason they evolve when they receive electrical energy while they are attacking Shelmet.","HP":"50","Sp. Atk":"40","Sp. Def":"45","Species":"Clamping Pok\u00e9mon","Speed":"60","Total":"315","Type":["Bug"]},"Kecleon":{"#":"352","Attack":"90","Defense":"70","FlavorText":"","HP":"60","Sp. Atk":"60","Sp. Def":"120","Species":"Color Swap Pok\u00e9mon","Speed":"40","Total":"440","Type":["Normal"]},"Keldeo ( Ordinary Forme )":{"#":"647","Attack":"72","Defense":"90","FlavorText":"","HP":"91","Sp. Atk":"129","Sp. Def":"90","Species":"","Speed":"108","Total":"580","Type":["Water","Fighting"]},"Keldeo ( Resolute Forme )":{"#":"647","Attack":"72","Defense":"90","FlavorText":"","HP":"91","Sp. Atk":"129","Sp. Def":"90","Species":"","Speed":"108","Total":"580","Type":["Water","Fighting"]},"Kingdra":{"#":"230","Attack":"95","Defense":"95","FlavorText":"","HP":"75","Sp. Atk":"95","Sp. Def":"95","Species":"Dragon Pok\u00e9mon","Speed":"85","Total":"540","Type":["Water","Dragon"]},"Kingler":{"#":"099","Attack":"130","Defense":"115","FlavorText":"Its oversized claw is very powerful, but when it's not in battle, the claw just gets in the way.","HP":"55","Sp. Atk":"50","Sp. Def":"50","Species":"Pincer Pok\u00e9mon","Speed":"75","Total":"475","Type":["Water"]},"Kirlia":{"#":"281","Attack":"35","Defense":"35","FlavorText":"","HP":"38","Sp. Atk":"65","Sp. Def":"55","Species":"Emotion Pok\u00e9mon","Speed":"50","Total":"278","Type":["Psychic","Fairy"]},"Klang":{"#":"600","Attack":"80","Defense":"95","FlavorText":"","HP":"60","Sp. Atk":"70","Sp. Def":"85","Species":"Gear Pok\u00e9mon","Speed":"50","Total":"440","Type":["Steel"]},"Klefki":{"#":"707","Attack":"80","Defense":"91","FlavorText":"","HP":"57","Sp. Atk":"80","Sp. Def":"87","Species":"Key Ring Pok\u00e9mon","Speed":"75","Total":"470","Type":["Steel","Fairy"]},"Klink":{"#":"599","Attack":"55","Defense":"70","FlavorText":"","HP":"40","Sp. Atk":"45","Sp. Def":"60","Species":"Gear Pok\u00e9mon","Speed":"30","Total":"300","Type":["Steel"]},"Klinklang":{"#":"601","Attack":"100","Defense":"115","FlavorText":"","HP":"60","Sp. Atk":"70","Sp. Def":"85","Species":"Gear Pok\u00e9mon","Speed":"90","Total":"520","Type":["Steel"]},"Koffing":{"#":"109","Attack":"65","Defense":"95","FlavorText":"","HP":"40","Sp. Atk":"60","Sp. Def":"45","Species":"Poison Gas Pok\u00e9mon","Speed":"35","Total":"340","Type":["Poison"]},"Krabby":{"#":"098","Attack":"105","Defense":"90","FlavorText":"If it is unable to find food, it will absorb nutrients by swallowing a mouthful of sand.","HP":"30","Sp. Atk":"25","Sp. Def":"25","Species":"River Crab Pok\u00e9mon","Speed":"50","Total":"325","Type":["Water"]},"Kricketot":{"#":"401","Attack":"25","Defense":"41","FlavorText":"","HP":"37","Sp. Atk":"25","Sp. Def":"41","Species":"Cricket Pok\u00e9mon","Speed":"25","Total":"194","Type":["Bug"]},"Kricketune":{"#":"402","Attack":"85","Defense":"51","FlavorText":"","HP":"77","Sp. Atk":"55","Sp. Def":"51","Species":"Cricket Pok\u00e9mon","Speed":"65","Total":"384","Type":["Bug"]},"Krokorok":{"#":"552","Attack":"82","Defense":"45","FlavorText":"The special membrane covering its eyes can sense the heat of objects, so it can see its surroundings even in darkness.","HP":"60","Sp. Atk":"45","Sp. Def":"45","Species":"Desert Croc Pok\u00e9mon","Speed":"74","Total":"351","Type":["Ground","Dark"]},"Krookodile":{"#":"553","Attack":"117","Defense":"80","FlavorText":"They never allow prey to escape. Their jaws are so powerful, they can crush the body of an automobile.","HP":"95","Sp. Atk":"65","Sp. Def":"70","Species":"Intimidation Pok\u00e9mon","Speed":"92","Total":"519","Type":["Ground","Dark"]},"Kyogre":{"#":"382","Attack":"100","Defense":"90","FlavorText":"","HP":"100","Sp. Atk":"150","Sp. Def":"140","Species":"Sea Basin Pok\u00e9mon","Speed":"90","Total":"670","Type":["Water"]},"Kyogre ( Primal Kyogre )":{"#":"382","Attack":"150","Defense":"90","FlavorText":"","HP":"100","Sp. Atk":"180","Sp. Def":"160","Species":"","Speed":"90","Total":"770","Type":["Water"]},"Kyurem":{"#":"646","Attack":"130","Defense":"90","FlavorText":"","HP":"125","Sp. Atk":"130","Sp. Def":"90","Species":"Boundary Pok\u00e9mon","Speed":"95","Total":"660","Type":["Dragon","Ice"]},"Kyurem ( Black Kyurem )":{"#":"646","Attack":"170","Defense":"100","FlavorText":"","HP":"125","Sp. Atk":"120","Sp. Def":"90","Species":"","Speed":"95","Total":"700","Type":["Dragon","Ice"]},"Kyurem ( White Kyurem )":{"#":"646","Attack":"120","Defense":"90","FlavorText":"","HP":"125","Sp. Atk":"170","Sp. Def":"100","Species":"","Speed":"95","Total":"700","Type":["Dragon","Ice"]},"Lairon":{"#":"305","Attack":"90","Defense":"140","FlavorText":"","HP":"60","Sp. Atk":"50","Sp. Def":"50","Species":"Iron Armor Pok\u00e9mon","Speed":"40","Total":"430","Type":["Steel","Rock"]},"Lampent":{"#":"608","Attack":"40","Defense":"60","FlavorText":"It arrives near the moment of death and steals spirit from the body.","HP":"60","Sp. Atk":"95","Sp. Def":"60","Species":"Lamp Pok\u00e9mon","Speed":"55","Total":"370","Type":["Ghost","Fire"]},"Landorus ( Incarnate Forme )":{"#":"645","Attack":"125","Defense":"90","FlavorText":"","HP":"89","Sp. Atk":"115","Sp. Def":"80","Species":"","Speed":"101","Total":"600","Type":["Ground","Flying"]},"Landorus ( Therian Forme )":{"#":"645","Attack":"145","Defense":"90","FlavorText":"","HP":"89","Sp. Atk":"105","Sp. Def":"80","Species":"","Speed":"91","Total":"600","Type":["Ground","Flying"]},"Lanturn":{"#":"171","Attack":"58","Defense":"58","FlavorText":"","HP":"125","Sp. Atk":"76","Sp. Def":"76","Species":"Light Pok\u00e9mon","Speed":"67","Total":"460","Type":["Water","Electric"]},"Lapras":{"#":"131","Attack":"85","Defense":"80","FlavorText":"","HP":"130","Sp. Atk":"85","Sp. Def":"95","Species":"Transport Pok\u00e9mon","Speed":"60","Total":"535","Type":["Water","Ice"]},"Larvesta":{"#":"636","Attack":"85","Defense":"55","FlavorText":"","HP":"55","Sp. Atk":"50","Sp. Def":"55","Species":"Torch Pok\u00e9mon","Speed":"60","Total":"360","Type":["Bug","Fire"]},"Larvitar":{"#":"246","Attack":"64","Defense":"50","FlavorText":"A LARVITAR is born deep under the ground. It must eat its way through the soil above and reach the surface for it to see its parents\u2019 faces.","HP":"50","Sp. Atk":"45","Sp. Def":"50","Species":"Rock Skin Pok\u00e9mon","Speed":"41","Total":"300","Type":["Rock","Ground"]},"Latias":{"#":"380","Attack":"80","Defense":"90","FlavorText":"","HP":"80","Sp. Atk":"110","Sp. Def":"130","Species":"Eon Pok\u00e9mon","Speed":"110","Total":"600","Type":["Dragon","Psychic"]},"Latias ( Mega Latias )":{"#":"380","Attack":"100","Defense":"120","FlavorText":"","HP":"80","Sp. Atk":"140","Sp. Def":"150","Species":"","Speed":"110","Total":"700","Type":["Dragon","Psychic"]},"Latios":{"#":"381","Attack":"90","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"130","Sp. Def":"110","Species":"Eon Pok\u00e9mon","Speed":"110","Total":"600","Type":["Dragon","Psychic"]},"Latios ( Mega Latios )":{"#":"381","Attack":"130","Defense":"100","FlavorText":"","HP":"80","Sp. Atk":"160","Sp. Def":"120","Species":"","Speed":"110","Total":"700","Type":["Dragon","Psychic"]},"Leafeon":{"#":"470","Attack":"110","Defense":"130","FlavorText":"","HP":"65","Sp. Atk":"60","Sp. Def":"65","Species":"Verdant Pok\u00e9mon","Speed":"95","Total":"525","Type":["Grass"]},"Leavanny":{"#":"542","Attack":"103","Defense":"80","FlavorText":"","HP":"75","Sp. Atk":"70","Sp. Def":"80","Species":"Nurturing Pok\u00e9mon","Speed":"92","Total":"500","Type":["Bug","Grass"]},"Ledian":{"#":"166","Attack":"35","Defense":"50","FlavorText":"It is said that in lands with clean air, where the stars fill the sky, there live many LEDIAN. For good reason, they use the light of the stars as energy.","HP":"55","Sp. Atk":"55","Sp. Def":"110","Species":"Five Star Pok\u00e9mon","Speed":"85","Total":"390","Type":["Bug","Flying"]},"Ledyba":{"#":"165","Attack":"20","Defense":"30","FlavorText":"LEDYBA communicate using a fluid that they secrete from where the legs join the body. They are said to convey feelings to others by altering the fluid\u2019s scent.","HP":"40","Sp. Atk":"40","Sp. Def":"80","Species":"Five Star Pok\u00e9mon","Speed":"55","Total":"265","Type":["Bug","Flying"]},"Lickilicky":{"#":"463","Attack":"85","Defense":"95","FlavorText":"","HP":"110","Sp. Atk":"80","Sp. Def":"95","Species":"Licking Pok\u00e9mon","Speed":"50","Total":"515","Type":["Normal"]},"Lickitung":{"#":"108","Attack":"55","Defense":"75","FlavorText":"","HP":"90","Sp. Atk":"60","Sp. Def":"75","Species":"Licking Pok\u00e9mon","Speed":"30","Total":"385","Type":["Normal"]},"Liepard":{"#":"510","Attack":"88","Defense":"50","FlavorText":"Stealthily, it sneaks up on its target, striking from behind before its victim has a chance to react.","HP":"64","Sp. Atk":"88","Sp. Def":"50","Species":"Cruel Pok\u00e9mon","Speed":"106","Total":"446","Type":["Dark"]},"Lileep":{"#":"345","Attack":"41","Defense":"77","FlavorText":"","HP":"66","Sp. Atk":"61","Sp. Def":"87","Species":"Sea Lily Pok\u00e9mon","Speed":"23","Total":"355","Type":["Rock","Grass"]},"Lilligant":{"#":"549","Attack":"60","Defense":"75","FlavorText":"","HP":"70","Sp. Atk":"110","Sp. Def":"75","Species":"Flowering Pok\u00e9mon","Speed":"90","Total":"480","Type":["Grass"]},"Lillipup":{"#":"506","Attack":"60","Defense":"45","FlavorText":"","HP":"45","Sp. Atk":"25","Sp. Def":"45","Species":"Puppy Pok\u00e9mon","Speed":"55","Total":"275","Type":["Normal"]},"Linoone":{"#":"264","Attack":"70","Defense":"61","FlavorText":"It is exceedingly fast if it only has to run in a straight line. When it spots pond-dwelling prey underwater, it quickly leaps in and catches it with its sharp claws.","HP":"78","Sp. Atk":"50","Sp. Def":"61","Species":"Rushing Pok\u00e9mon","Speed":"100","Total":"420","Type":["Normal"]},"Litleo":{"#":"667","Attack":"50","Defense":"58","FlavorText":"","HP":"62","Sp. Atk":"73","Sp. Def":"54","Species":"Lion Cub Pok\u00e9mon","Speed":"72","Total":"369","Type":["Fire","Normal"]},"Litwick":{"#":"607","Attack":"30","Defense":"55","FlavorText":"Litwick shines a light that absorbs the life energy of people and Pok\u00e9mon, which becomes the fuel that it burns.","HP":"50","Sp. Atk":"65","Sp. Def":"55","Species":"Candle Pok\u00e9mon","Speed":"20","Total":"275","Type":["Ghost","Fire"]},"Lombre":{"#":"271","Attack":"50","Defense":"50","FlavorText":"In the evening, it takes great delight in popping out of rivers and startling people. It feeds on aquatic moss that grows on rocks in the riverbed.","HP":"60","Sp. Atk":"60","Sp. Def":"70","Species":"Jolly Pok\u00e9mon","Speed":"50","Total":"340","Type":["Water","Grass"]},"Lopunny":{"#":"428","Attack":"76","Defense":"84","FlavorText":"","HP":"65","Sp. Atk":"54","Sp. Def":"96","Species":"Rabbit Pok\u00e9mon","Speed":"105","Total":"480","Type":["Normal"]},"Lopunny ( Mega Lopunny )":{"#":"428","Attack":"136","Defense":"94","FlavorText":"","HP":"65","Sp. Atk":"54","Sp. Def":"96","Species":"","Speed":"135","Total":"580","Type":["Normal","Fighting"]},"Lotad":{"#":"270","Attack":"30","Defense":"30","FlavorText":"This POK\u00e9MON lives in ponds with clean water. It is known to ferry small POK\u00e9MON across ponds by carrying them on the broad leaf on its head.","HP":"40","Sp. Atk":"40","Sp. Def":"50","Species":"Water Weed Pok\u00e9mon","Speed":"30","Total":"220","Type":["Water","Grass"]},"Loudred":{"#":"294","Attack":"71","Defense":"43","FlavorText":"","HP":"84","Sp. Atk":"71","Sp. Def":"43","Species":"Big Voice Pok\u00e9mon","Speed":"48","Total":"360","Type":["Normal"]},"Lucario":{"#":"448","Attack":"110","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"115","Sp. Def":"70","Species":"Aura Pok\u00e9mon","Speed":"90","Total":"525","Type":["Fighting","Steel"]},"Lucario ( Mega Lucario )":{"#":"448","Attack":"145","Defense":"88","FlavorText":"","HP":"70","Sp. Atk":"140","Sp. Def":"70","Species":"","Speed":"112","Total":"625","Type":["Fighting","Steel"]},"Ludicolo":{"#":"272","Attack":"70","Defense":"70","FlavorText":"When it hears festive music, all the cells in its body become stimulated, and it begins moving in rhythm. It does not quail even when it faces a tough opponent.","HP":"80","Sp. Atk":"90","Sp. Def":"100","Species":"Carefree Pok\u00e9mon","Speed":"70","Total":"480","Type":["Water","Grass"]},"Lugia":{"#":"249","Attack":"90","Defense":"130","FlavorText":"","HP":"106","Sp. Atk":"90","Sp. Def":"154","Species":"Diving Pok\u00e9mon","Speed":"110","Total":"680","Type":["Psychic","Flying"]},"Lumineon":{"#":"457","Attack":"69","Defense":"76","FlavorText":"","HP":"69","Sp. Atk":"69","Sp. Def":"86","Species":"Neon Pok\u00e9mon","Speed":"91","Total":"460","Type":["Water"]},"Lunatone":{"#":"337","Attack":"55","Defense":"65","FlavorText":"","HP":"70","Sp. Atk":"95","Sp. Def":"85","Species":"Meteorite Pok\u00e9mon","Speed":"70","Total":"440","Type":["Rock","Psychic"]},"Luvdisc":{"#":"370","Attack":"30","Defense":"55","FlavorText":"","HP":"43","Sp. Atk":"40","Sp. Def":"65","Species":"Rendezvous Pok\u00e9mon","Speed":"97","Total":"330","Type":["Water"]},"Luxio":{"#":"404","Attack":"85","Defense":"49","FlavorText":"","HP":"60","Sp. Atk":"60","Sp. Def":"49","Species":"Spark Pok\u00e9mon","Speed":"60","Total":"363","Type":["Electric"]},"Luxray":{"#":"405","Attack":"120","Defense":"79","FlavorText":"","HP":"80","Sp. Atk":"95","Sp. Def":"79","Species":"Gleam Eyes Pok\u00e9mon","Speed":"70","Total":"523","Type":["Electric"]},"Machamp":{"#":"068","Attack":"130","Defense":"80","FlavorText":"","HP":"90","Sp. Atk":"65","Sp. Def":"85","Species":"Superpower Pok\u00e9mon","Speed":"55","Total":"505","Type":["Fighting"]},"Machoke":{"#":"067","Attack":"100","Defense":"70","FlavorText":"","HP":"80","Sp. Atk":"50","Sp. Def":"60","Species":"Superpower Pok\u00e9mon","Speed":"45","Total":"405","Type":["Fighting"]},"Machop":{"#":"066","Attack":"80","Defense":"50","FlavorText":"","HP":"70","Sp. Atk":"35","Sp. Def":"35","Species":"Superpower Pok\u00e9mon","Speed":"35","Total":"305","Type":["Fighting"]},"Magby":{"#":"240","Attack":"75","Defense":"37","FlavorText":"If a MAGBY is spouting yellow flames from its mouth, it is in good health. When it is fatigued, black smoke will be mixed in with the flames.","HP":"45","Sp. Atk":"70","Sp. Def":"55","Species":"Live Coal Pok\u00e9mon","Speed":"83","Total":"365","Type":["Fire"]},"Magcargo":{"#":"219","Attack":"50","Defense":"120","FlavorText":"","HP":"50","Sp. Atk":"80","Sp. Def":"80","Species":"Lava Pok\u00e9mon","Speed":"30","Total":"410","Type":["Fire","Rock"]},"Magikarp":{"#":"129","Attack":"10","Defense":"55","FlavorText":"","HP":"20","Sp. Atk":"15","Sp. Def":"20","Species":"Fish Pok\u00e9mon","Speed":"80","Total":"200","Type":["Water"]},"Magmar":{"#":"126","Attack":"95","Defense":"57","FlavorText":"","HP":"65","Sp. Atk":"100","Sp. Def":"85","Species":"Spitfire Pok\u00e9mon","Speed":"93","Total":"495","Type":["Fire"]},"Magmortar":{"#":"467","Attack":"95","Defense":"67","FlavorText":"","HP":"75","Sp. Atk":"125","Sp. Def":"95","Species":"Blast Pok\u00e9mon","Speed":"83","Total":"540","Type":["Fire"]},"Magnemite":{"#":"081","Attack":"35","Defense":"70","FlavorText":"","HP":"25","Sp. Atk":"95","Sp. Def":"55","Species":"Magnet Pok\u00e9mon","Speed":"45","Total":"325","Type":["Electric","Steel"]},"Magneton":{"#":"082","Attack":"60","Defense":"95","FlavorText":"","HP":"50","Sp. Atk":"120","Sp. Def":"70","Species":"Magnet Pok\u00e9mon","Speed":"70","Total":"465","Type":["Electric","Steel"]},"Magnezone":{"#":"462","Attack":"70","Defense":"115","FlavorText":"","HP":"70","Sp. Atk":"130","Sp. Def":"90","Species":"Magnet Area Pok\u00e9mon","Speed":"60","Total":"535","Type":["Electric","Steel"]},"Makuhita":{"#":"296","Attack":"60","Defense":"30","FlavorText":"It loves to toughen up its body above all else. If you hear quaking rumbles in a cave, it is the sound of MAKUHITA undertaking strenuous training.","HP":"72","Sp. Atk":"20","Sp. Def":"30","Species":"Guts Pok\u00e9mon","Speed":"25","Total":"237","Type":["Fighting"]},"Malamar":{"#":"687","Attack":"92","Defense":"88","FlavorText":"","HP":"86","Sp. Atk":"68","Sp. Def":"75","Species":"Overturning Pok\u00e9mon","Speed":"73","Total":"482","Type":["Dark","Psychic"]},"Mamoswine":{"#":"473","Attack":"130","Defense":"80","FlavorText":"","HP":"110","Sp. Atk":"70","Sp. Def":"60","Species":"Twin Tusk Pok\u00e9mon","Speed":"80","Total":"530","Type":["Ice","Ground"]},"Manaphy":{"#":"490","Attack":"100","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"100","Species":"Seafaring Pok\u00e9mon","Speed":"100","Total":"600","Type":["Water"]},"Mandibuzz":{"#":"630","Attack":"65","Defense":"105","FlavorText":"","HP":"110","Sp. Atk":"55","Sp. Def":"95","Species":"Bone Vulture Pok\u00e9mon","Speed":"80","Total":"510","Type":["Dark","Flying"]},"Manectric":{"#":"310","Attack":"75","Defense":"60","FlavorText":"","HP":"70","Sp. Atk":"105","Sp. Def":"60","Species":"Discharge Pok\u00e9mon","Speed":"105","Total":"475","Type":["Electric"]},"Manectric ( Mega Manectric )":{"#":"310","Attack":"75","Defense":"80","FlavorText":"","HP":"70","Sp. Atk":"135","Sp. Def":"80","Species":"","Speed":"135","Total":"575","Type":["Electric"]},"Mankey":{"#":"056","Attack":"80","Defense":"35","FlavorText":"It lives in groups in the treetops. If it loses sight of its group, it becomes infuriated by its loneliness.","HP":"40","Sp. Atk":"35","Sp. Def":"45","Species":"Pig Monkey Pok\u00e9mon","Speed":"70","Total":"305","Type":["Fighting"]},"Mantine":{"#":"226","Attack":"40","Defense":"70","FlavorText":"","HP":"65","Sp. Atk":"80","Sp. Def":"140","Species":"Kite Pok\u00e9mon","Speed":"70","Total":"465","Type":["Water","Flying"]},"Mantyke":{"#":"458","Attack":"20","Defense":"50","FlavorText":"","HP":"45","Sp. Atk":"60","Sp. Def":"120","Species":"Kite Pok\u00e9mon","Speed":"50","Total":"345","Type":["Water","Flying"]},"Maractus":{"#":"556","Attack":"86","Defense":"67","FlavorText":"","HP":"75","Sp. Atk":"106","Sp. Def":"67","Species":"Cactus Pok\u00e9mon","Speed":"60","Total":"461","Type":["Grass"]},"Mareep":{"#":"179","Attack":"40","Defense":"40","FlavorText":"Its fluffy wool rubs together and builds a static charge. The more energy is charged, the more brightly the lightbulb at the tip of its tail glows.","HP":"55","Sp. Atk":"65","Sp. Def":"45","Species":"Wool Pok\u00e9mon","Speed":"35","Total":"280","Type":["Electric"]},"Marill":{"#":"183","Attack":"20","Defense":"50","FlavorText":"","HP":"70","Sp. Atk":"20","Sp. Def":"50","Species":"Aqua Mouse Pok\u00e9mon","Speed":"40","Total":"250","Type":["Water","Fairy"]},"Marowak":{"#":"105","Attack":"80","Defense":"110","FlavorText":"","HP":"60","Sp. Atk":"50","Sp. Def":"80","Species":"Bone Keeper Pok\u00e9mon","Speed":"45","Total":"425","Type":["Ground"]},"Marshtomp":{"#":"259","Attack":"85","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"60","Sp. Def":"70","Species":"Mud Fish Pok\u00e9mon","Speed":"50","Total":"405","Type":["Water","Ground"]},"Masquerain":{"#":"284","Attack":"60","Defense":"62","FlavorText":"","HP":"70","Sp. Atk":"80","Sp. Def":"82","Species":"Eyeball Pok\u00e9mon","Speed":"60","Total":"414","Type":["Bug","Flying"]},"Mawile":{"#":"303","Attack":"85","Defense":"85","FlavorText":"","HP":"50","Sp. Atk":"55","Sp. Def":"55","Species":"Deceiver Pok\u00e9mon","Speed":"50","Total":"380","Type":["Steel","Fairy"]},"Mawile ( Mega Mawile )":{"#":"303","Attack":"105","Defense":"125","FlavorText":"","HP":"50","Sp. Atk":"55","Sp. Def":"95","Species":"","Speed":"50","Total":"480","Type":["Steel","Fairy"]},"Medicham":{"#":"308","Attack":"60","Defense":"75","FlavorText":"","HP":"60","Sp. Atk":"60","Sp. Def":"75","Species":"Meditate Pok\u00e9mon","Speed":"80","Total":"410","Type":["Fighting","Psychic"]},"Medicham ( Mega Medicham )":{"#":"308","Attack":"100","Defense":"85","FlavorText":"","HP":"60","Sp. Atk":"80","Sp. Def":"85","Species":"","Speed":"100","Total":"510","Type":["Fighting","Psychic"]},"Meditite":{"#":"307","Attack":"40","Defense":"55","FlavorText":"","HP":"30","Sp. Atk":"40","Sp. Def":"55","Species":"Meditate Pok\u00e9mon","Speed":"60","Total":"280","Type":["Fighting","Psychic"]},"Meganium":{"#":"154","Attack":"82","Defense":"100","FlavorText":"","HP":"80","Sp. Atk":"83","Sp. Def":"100","Species":"Herb Pok\u00e9mon","Speed":"80","Total":"525","Type":["Grass"]},"Meloetta ( Aria Forme )":{"#":"648","Attack":"77","Defense":"77","FlavorText":"","HP":"100","Sp. Atk":"128","Sp. Def":"128","Species":"","Speed":"90","Total":"600","Type":["Normal","Psychic"]},"Meloetta ( Pirouette Forme )":{"#":"648","Attack":"128","Defense":"90","FlavorText":"","HP":"100","Sp. Atk":"77","Sp. Def":"77","Species":"","Speed":"128","Total":"600","Type":["Normal","Fighting"]},"Meowstic ( Female )":{"#":"678","Attack":"48","Defense":"76","FlavorText":"","HP":"74","Sp. Atk":"83","Sp. Def":"81","Species":"","Speed":"104","Total":"466","Type":["Psychic"]},"Meowstic ( Male )":{"#":"678","Attack":"48","Defense":"76","FlavorText":"","HP":"74","Sp. Atk":"83","Sp. Def":"81","Species":"","Speed":"104","Total":"466","Type":["Psychic"]},"Meowth":{"#":"052","Attack":"45","Defense":"35","FlavorText":"It loves things that sparkle. When it sees a shiny object, the gold coin on its head shines too.","HP":"40","Sp. Atk":"40","Sp. Def":"40","Species":"Scratch Cat Pok\u00e9mon","Speed":"90","Total":"290","Type":["Normal"]},"Mesprit":{"#":"481","Attack":"105","Defense":"105","FlavorText":"","HP":"80","Sp. Atk":"105","Sp. Def":"105","Species":"Emotion Pok\u00e9mon","Speed":"80","Total":"580","Type":["Psychic"]},"Metagross":{"#":"376","Attack":"135","Defense":"130","FlavorText":"","HP":"80","Sp. Atk":"95","Sp. Def":"90","Species":"Iron Leg Pok\u00e9mon","Speed":"70","Total":"600","Type":["Steel","Psychic"]},"Metagross ( Mega Metagross )":{"#":"376","Attack":"145","Defense":"150","FlavorText":"","HP":"80","Sp. Atk":"105","Sp. Def":"110","Species":"","Speed":"110","Total":"700","Type":["Steel","Psychic"]},"Metang":{"#":"375","Attack":"75","Defense":"100","FlavorText":"","HP":"60","Sp. Atk":"55","Sp. Def":"80","Species":"Iron Claw Pok\u00e9mon","Speed":"50","Total":"420","Type":["Steel","Psychic"]},"Metapod":{"#":"011","Attack":"20","Defense":"55","FlavorText":"","HP":"50","Sp. Atk":"25","Sp. Def":"25","Species":"Cocoon Pok\u00e9mon","Speed":"30","Total":"205","Type":["Bug"]},"Mew":{"#":"151","Attack":"100","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"100","Species":"New Species Pok\u00e9mon","Speed":"100","Total":"600","Type":["Psychic"]},"Mewtwo":{"#":"150","Attack":"110","Defense":"90","FlavorText":"","HP":"106","Sp. Atk":"154","Sp. Def":"90","Species":"Genetic Pok\u00e9mon","Speed":"130","Total":"680","Type":["Psychic"]},"Mewtwo ( Mega Mewtwo X )":{"#":"150","Attack":"190","Defense":"100","FlavorText":"","HP":"106","Sp. Atk":"154","Sp. Def":"100","Species":"","Speed":"130","Total":"780","Type":["Psychic","Fighting"]},"Mewtwo ( Mega Mewtwo Y )":{"#":"150","Attack":"150","Defense":"70","FlavorText":"","HP":"106","Sp. Atk":"194","Sp. Def":"120","Species":"","Speed":"140","Total":"780","Type":["Psychic"]},"Mienfoo":{"#":"619","Attack":"85","Defense":"50","FlavorText":"In fights, they dominate with onslaughts of flowing, continuous attacks. With their sharp claws, they cut enemies.","HP":"45","Sp. Atk":"55","Sp. Def":"50","Species":"Martial Arts Pok\u00e9mon","Speed":"65","Total":"350","Type":["Fighting"]},"Mienshao":{"#":"620","Attack":"125","Defense":"60","FlavorText":"Using the long fur on its arms like whips, it launches into combo attacks that, once started, no one can stop.","HP":"65","Sp. Atk":"95","Sp. Def":"60","Species":"Martial Arts Pok\u00e9mon","Speed":"105","Total":"510","Type":["Fighting"]},"Mightyena":{"#":"262","Attack":"90","Defense":"70","FlavorText":"In the wild, MIGHTYENA live in a pack. They never defy their leader\u2019s orders. They defeat foes with perfectly coordinated teamwork.","HP":"70","Sp. Atk":"60","Sp. Def":"60","Species":"Bite Pok\u00e9mon","Speed":"70","Total":"420","Type":["Dark"]},"Milotic":{"#":"350","Attack":"60","Defense":"79","FlavorText":"","HP":"95","Sp. Atk":"100","Sp. Def":"125","Species":"Tender Pok\u00e9mon","Speed":"81","Total":"540","Type":["Water"]},"Miltank":{"#":"241","Attack":"80","Defense":"105","FlavorText":"It gives over five gallons of milk daily. Its sweet milk is enjoyed by children and grown-ups alike. People who can\u2019t drink milk turn it into yogurt and eat it instead.","HP":"95","Sp. Atk":"40","Sp. Def":"70","Species":"Milk Cow Pok\u00e9mon","Speed":"100","Total":"490","Type":["Normal"]},"Mime ( Jr. )":{"#":"439","Attack":"25","Defense":"45","FlavorText":"","HP":"20","Sp. Atk":"70","Sp. Def":"90","Species":"","Speed":"60","Total":"310","Type":["Psychic","Fairy"]},"Minccino":{"#":"572","Attack":"50","Defense":"40","FlavorText":"","HP":"55","Sp. Atk":"40","Sp. Def":"40","Species":"Chinchilla Pok\u00e9mon","Speed":"75","Total":"300","Type":["Normal"]},"Minun":{"#":"312","Attack":"40","Defense":"50","FlavorText":"","HP":"60","Sp. Atk":"75","Sp. Def":"85","Species":"Cheering Pok\u00e9mon","Speed":"95","Total":"405","Type":["Electric"]},"Misdreavus":{"#":"200","Attack":"60","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"85","Sp. Def":"85","Species":"Screech Pok\u00e9mon","Speed":"85","Total":"435","Type":["Ghost"]},"Mismagius":{"#":"429","Attack":"60","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"105","Sp. Def":"105","Species":"Magical Pok\u00e9mon","Speed":"105","Total":"495","Type":["Ghost"]},"Moltres":{"#":"146","Attack":"100","Defense":"90","FlavorText":"Legendary bird POK\u00e9MON. It is said to migrate from the south along with the spring.","HP":"90","Sp. Atk":"125","Sp. Def":"85","Species":"Flame Pok\u00e9mon","Speed":"90","Total":"580","Type":["Fire","Flying"]},"Monferno":{"#":"391","Attack":"78","Defense":"52","FlavorText":"","HP":"64","Sp. Atk":"78","Sp. Def":"52","Species":"Playful Pok\u00e9mon","Speed":"81","Total":"405","Type":["Fire","Fighting"]},"Mothim":{"#":"414","Attack":"94","Defense":"50","FlavorText":"","HP":"70","Sp. Atk":"94","Sp. Def":"50","Species":"Moth Pok\u00e9mon","Speed":"66","Total":"424","Type":["Bug","Flying"]},"Mr. ( Mime )":{"#":"122","Attack":"45","Defense":"65","FlavorText":"","HP":"40","Sp. Atk":"100","Sp. Def":"120","Species":"","Speed":"90","Total":"460","Type":["Psychic","Fairy"]},"Mudkip":{"#":"258","Attack":"70","Defense":"50","FlavorText":"","HP":"50","Sp. Atk":"50","Sp. Def":"50","Species":"Mud Fish Pok\u00e9mon","Speed":"40","Total":"310","Type":["Water"]},"Muk":{"#":"089","Attack":"105","Defense":"75","FlavorText":"","HP":"105","Sp. Atk":"65","Sp. Def":"100","Species":"Sludge Pok\u00e9mon","Speed":"50","Total":"500","Type":["Poison"]},"Munchlax":{"#":"446","Attack":"85","Defense":"40","FlavorText":"","HP":"135","Sp. Atk":"40","Sp. Def":"85","Species":"Big Eater Pok\u00e9mon","Speed":"5","Total":"390","Type":["Normal"]},"Munna":{"#":"517","Attack":"25","Defense":"45","FlavorText":"","HP":"76","Sp. Atk":"67","Sp. Def":"55","Species":"Dream Eater Pok\u00e9mon","Speed":"24","Total":"292","Type":["Psychic"]},"Murkrow":{"#":"198","Attack":"85","Defense":"42","FlavorText":"","HP":"60","Sp. Atk":"85","Sp. Def":"42","Species":"Darkness Pok\u00e9mon","Speed":"91","Total":"405","Type":["Dark","Flying"]},"Musharna":{"#":"518","Attack":"55","Defense":"85","FlavorText":"","HP":"116","Sp. Atk":"107","Sp. Def":"95","Species":"Drowsing Pok\u00e9mon","Speed":"29","Total":"487","Type":["Psychic"]},"Natu":{"#":"177","Attack":"50","Defense":"45","FlavorText":"","HP":"40","Sp. Atk":"70","Sp. Def":"45","Species":"Tiny Bird Pok\u00e9mon","Speed":"70","Total":"320","Type":["Psychic","Flying"]},"Nidoking":{"#":"034","Attack":"102","Defense":"77","FlavorText":"","HP":"81","Sp. Atk":"85","Sp. Def":"75","Species":"Drill Pok\u00e9mon","Speed":"85","Total":"505","Type":["Poison","Ground"]},"Nidoqueen":{"#":"031","Attack":"92","Defense":"87","FlavorText":"","HP":"90","Sp. Atk":"75","Sp. Def":"85","Species":"Drill Pok\u00e9mon","Speed":"76","Total":"505","Type":["Poison","Ground"]},"Nidoran\u2640":{"#":"029","Attack":"47","Defense":"52","FlavorText":"","HP":"55","Sp. Atk":"40","Sp. Def":"40","Species":"","Speed":"41","Total":"275","Type":["Poison"]},"Nidoran\u2642":{"#":"032","Attack":"57","Defense":"40","FlavorText":"","HP":"46","Sp. Atk":"40","Sp. Def":"40","Species":"","Speed":"50","Total":"273","Type":["Poison"]},"Nidorina":{"#":"030","Attack":"62","Defense":"67","FlavorText":"","HP":"70","Sp. Atk":"55","Sp. Def":"55","Species":"Poison Pin Pok\u00e9mon","Speed":"56","Total":"365","Type":["Poison"]},"Nidorino":{"#":"033","Attack":"72","Defense":"57","FlavorText":"","HP":"61","Sp. Atk":"55","Sp. Def":"55","Species":"Poison Pin Pok\u00e9mon","Speed":"65","Total":"365","Type":["Poison"]},"Nincada":{"#":"290","Attack":"45","Defense":"90","FlavorText":"","HP":"31","Sp. Atk":"30","Sp. Def":"30","Species":"Trainee Pok\u00e9mon","Speed":"40","Total":"266","Type":["Bug","Ground"]},"Ninetales":{"#":"038","Attack":"76","Defense":"75","FlavorText":"","HP":"73","Sp. Atk":"81","Sp. Def":"100","Species":"Fox Pok\u00e9mon","Speed":"100","Total":"505","Type":["Fire"]},"Ninjask":{"#":"291","Attack":"90","Defense":"45","FlavorText":"","HP":"61","Sp. Atk":"50","Sp. Def":"50","Species":"Ninja Pok\u00e9mon","Speed":"160","Total":"456","Type":["Bug","Flying"]},"Noctowl":{"#":"164","Attack":"50","Defense":"50","FlavorText":"","HP":"100","Sp. Atk":"76","Sp. Def":"96","Species":"Owl Pok\u00e9mon","Speed":"70","Total":"442","Type":["Normal","Flying"]},"Noibat":{"#":"714","Attack":"30","Defense":"35","FlavorText":"","HP":"40","Sp. Atk":"45","Sp. Def":"40","Species":"Sound Wave Pok\u00e9mon","Speed":"55","Total":"245","Type":["Flying","Dragon"]},"Noivern":{"#":"715","Attack":"70","Defense":"80","FlavorText":"","HP":"85","Sp. Atk":"97","Sp. Def":"80","Species":"Sound Wave Pok\u00e9mon","Speed":"123","Total":"535","Type":["Flying","Dragon"]},"Nosepass":{"#":"299","Attack":"45","Defense":"135","FlavorText":"","HP":"30","Sp. Atk":"45","Sp. Def":"90","Species":"Compass Pok\u00e9mon","Speed":"30","Total":"375","Type":["Rock"]},"Numel":{"#":"322","Attack":"60","Defense":"40","FlavorText":"A NUMEL stores boiling magma in the hump on its back. It is a hardy POK\u00e9MON that can transport a 220-pound load. It has served humans at work since long ago.","HP":"60","Sp. Atk":"65","Sp. Def":"45","Species":"Numb Pok\u00e9mon","Speed":"35","Total":"305","Type":["Fire","Ground"]},"Nuzleaf":{"#":"274","Attack":"70","Defense":"40","FlavorText":"","HP":"70","Sp. Atk":"60","Sp. Def":"40","Species":"Wily Pok\u00e9mon","Speed":"60","Total":"340","Type":["Grass","Dark"]},"Octillery":{"#":"224","Attack":"105","Defense":"75","FlavorText":"","HP":"75","Sp. Atk":"105","Sp. Def":"75","Species":"Jet Pok\u00e9mon","Speed":"45","Total":"480","Type":["Water"]},"Oddish":{"#":"043","Attack":"50","Defense":"55","FlavorText":"","HP":"45","Sp. Atk":"75","Sp. Def":"65","Species":"Weed Pok\u00e9mon","Speed":"30","Total":"320","Type":["Grass","Poison"]},"Omanyte":{"#":"138","Attack":"40","Defense":"100","FlavorText":"In prehistoric times, it swam on the sea floor, eating plankton. Its fossils are sometimes found.","HP":"35","Sp. Atk":"90","Sp. Def":"55","Species":"Spiral Pok\u00e9mon","Speed":"35","Total":"355","Type":["Rock","Water"]},"Omastar":{"#":"139","Attack":"60","Defense":"125","FlavorText":"Its heavy shell allowed it to reach only nearby food. This could be the reason it is extinct.","HP":"70","Sp. Atk":"115","Sp. Def":"70","Species":"Spiral Pok\u00e9mon","Speed":"55","Total":"495","Type":["Rock","Water"]},"Onix":{"#":"095","Attack":"45","Defense":"160","FlavorText":"","HP":"35","Sp. Atk":"30","Sp. Def":"45","Species":"Rock Snake Pok\u00e9mon","Speed":"70","Total":"385","Type":["Rock","Ground"]},"Oshawott":{"#":"501","Attack":"55","Defense":"45","FlavorText":"","HP":"55","Sp. Atk":"63","Sp. Def":"45","Species":"Sea Otter Pok\u00e9mon","Speed":"45","Total":"308","Type":["Water"]},"Pachirisu":{"#":"417","Attack":"45","Defense":"70","FlavorText":"","HP":"60","Sp. Atk":"45","Sp. Def":"90","Species":"EleSquirrel Pok\u00e9mon","Speed":"95","Total":"405","Type":["Electric"]},"Palkia":{"#":"484","Attack":"120","Defense":"100","FlavorText":"","HP":"90","Sp. Atk":"150","Sp. Def":"120","Species":"Spatial Pok\u00e9mon","Speed":"100","Total":"680","Type":["Water","Dragon"]},"Palpitoad":{"#":"536","Attack":"65","Defense":"55","FlavorText":"","HP":"75","Sp. Atk":"65","Sp. Def":"55","Species":"Vibration Pok\u00e9mon","Speed":"69","Total":"384","Type":["Water","Ground"]},"Pancham":{"#":"674","Attack":"82","Defense":"62","FlavorText":"","HP":"67","Sp. Atk":"46","Sp. Def":"48","Species":"Playful Pok\u00e9mon","Speed":"43","Total":"348","Type":["Fighting"]},"Pangoro":{"#":"675","Attack":"124","Defense":"78","FlavorText":"","HP":"95","Sp. Atk":"69","Sp. Def":"71","Species":"Daunting Pok\u00e9mon","Speed":"58","Total":"495","Type":["Fighting","Dark"]},"Panpour":{"#":"515","Attack":"53","Defense":"48","FlavorText":"","HP":"50","Sp. Atk":"53","Sp. Def":"48","Species":"Spray Pok\u00e9mon","Speed":"64","Total":"316","Type":["Water"]},"Pansage":{"#":"511","Attack":"53","Defense":"48","FlavorText":"","HP":"50","Sp. Atk":"53","Sp. Def":"48","Species":"Grass Monkey Pok\u00e9mon","Speed":"64","Total":"316","Type":["Grass"]},"Pansear":{"#":"513","Attack":"53","Defense":"48","FlavorText":"","HP":"50","Sp. Atk":"53","Sp. Def":"48","Species":"High Temp Pok\u00e9mon","Speed":"64","Total":"316","Type":["Fire"]},"Paras":{"#":"046","Attack":"70","Defense":"55","FlavorText":"A PARAS has parasitic tochukaso mushrooms growing on its back. They grow by drawing nutrients from the host. They are valued as a medicine for long life.","HP":"35","Sp. Atk":"45","Sp. Def":"55","Species":"Mushroom Pok\u00e9mon","Speed":"25","Total":"285","Type":["Bug","Grass"]},"Parasect":{"#":"047","Attack":"95","Defense":"80","FlavorText":"When nothing's left to extract from the bug, the mushrooms on its back leave spores on the bug's egg.","HP":"60","Sp. Atk":"60","Sp. Def":"80","Species":"Mushroom Pok\u00e9mon","Speed":"30","Total":"405","Type":["Bug","Grass"]},"Patrat":{"#":"504","Attack":"55","Defense":"39","FlavorText":"Extremely cautious, one of them will always be on the lookout, but it won\u2019t notice a foe coming from behind.","HP":"45","Sp. Atk":"35","Sp. Def":"39","Species":"Scout Pok\u00e9mon","Speed":"42","Total":"255","Type":["Normal"]},"Pawniard":{"#":"624","Attack":"85","Defense":"70","FlavorText":"Ignoring their injuries, groups attack by sinking the blades that cover their bodies into their prey.","HP":"45","Sp. Atk":"40","Sp. Def":"40","Species":"Sharp Blade Pok\u00e9mon","Speed":"60","Total":"340","Type":["Dark","Steel"]},"Pelipper":{"#":"279","Attack":"50","Defense":"100","FlavorText":"","HP":"60","Sp. Atk":"85","Sp. Def":"70","Species":"Water Bird Pok\u00e9mon","Speed":"65","Total":"430","Type":["Water","Flying"]},"Persian":{"#":"053","Attack":"70","Defense":"60","FlavorText":"Behind its lithe, elegant appearance lies a barbaric side. It will tear apart its prey on a mere whim.","HP":"65","Sp. Atk":"65","Sp. Def":"65","Species":"Classy Cat Pok\u00e9mon","Speed":"115","Total":"440","Type":["Normal"]},"Petilil":{"#":"548","Attack":"35","Defense":"50","FlavorText":"","HP":"45","Sp. Atk":"70","Sp. Def":"50","Species":"Bulb Pok\u00e9mon","Speed":"30","Total":"280","Type":["Grass"]},"Phanpy":{"#":"231","Attack":"60","Defense":"60","FlavorText":"","HP":"90","Sp. Atk":"40","Sp. Def":"40","Species":"Long Nose Pok\u00e9mon","Speed":"40","Total":"330","Type":["Ground"]},"Phantump":{"#":"708","Attack":"70","Defense":"48","FlavorText":"","HP":"43","Sp. Atk":"50","Sp. Def":"60","Species":"Stump Pok\u00e9mon","Speed":"38","Total":"309","Type":["Ghost","Grass"]},"Phione":{"#":"489","Attack":"80","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"80","Sp. Def":"80","Species":"Sea Drifter Pok\u00e9mon","Speed":"80","Total":"480","Type":["Water"]},"Pichu":{"#":"172","Attack":"40","Defense":"15","FlavorText":"","HP":"20","Sp. Atk":"35","Sp. Def":"35","Species":"Tiny Mouse Pok\u00e9mon","Speed":"60","Total":"205","Type":["Electric"]},"Pidgeot":{"#":"018","Attack":"80","Defense":"75","FlavorText":"","HP":"83","Sp. Atk":"70","Sp. Def":"70","Species":"Bird Pok\u00e9mon","Speed":"101","Total":"479","Type":["Normal","Flying"]},"Pidgeot ( Mega Pidgeot )":{"#":"018","Attack":"80","Defense":"80","FlavorText":"","HP":"83","Sp. Atk":"135","Sp. Def":"80","Species":"","Speed":"121","Total":"579","Type":["Normal","Flying"]},"Pidgeotto":{"#":"017","Attack":"60","Defense":"55","FlavorText":"","HP":"63","Sp. Atk":"50","Sp. Def":"50","Species":"Bird Pok\u00e9mon","Speed":"71","Total":"349","Type":["Normal","Flying"]},"Pidgey":{"#":"016","Attack":"45","Defense":"40","FlavorText":"","HP":"40","Sp. Atk":"35","Sp. Def":"35","Species":"Tiny Bird Pok\u00e9mon","Speed":"56","Total":"251","Type":["Normal","Flying"]},"Pidove":{"#":"519","Attack":"55","Defense":"50","FlavorText":"","HP":"50","Sp. Atk":"36","Sp. Def":"30","Species":"Tiny Pigeon Pok\u00e9mon","Speed":"43","Total":"264","Type":["Normal","Flying"]},"Pignite":{"#":"499","Attack":"93","Defense":"55","FlavorText":"","HP":"90","Sp. Atk":"70","Sp. Def":"55","Species":"Fire Pig Pok\u00e9mon","Speed":"55","Total":"418","Type":["Fire","Fighting"]},"Pikachu":{"#":"025","Attack":"55","Defense":"40","FlavorText":"","HP":"35","Sp. Atk":"50","Sp. Def":"50","Species":"Mouse Pok\u00e9mon","Speed":"90","Total":"320","Type":["Electric"]},"Piloswine":{"#":"221","Attack":"100","Defense":"80","FlavorText":"","HP":"100","Sp. Atk":"60","Sp. Def":"60","Species":"Swine Pok\u00e9mon","Speed":"50","Total":"450","Type":["Ice","Ground"]},"Pineco":{"#":"204","Attack":"65","Defense":"90","FlavorText":"","HP":"50","Sp. Atk":"35","Sp. Def":"35","Species":"Bagworm Pok\u00e9mon","Speed":"15","Total":"290","Type":["Bug"]},"Pinsir":{"#":"127","Attack":"125","Defense":"100","FlavorText":"","HP":"65","Sp. Atk":"55","Sp. Def":"70","Species":"Stag Beetle Pok\u00e9mon","Speed":"85","Total":"500","Type":["Bug"]},"Pinsir ( Mega Pinsir )":{"#":"127","Attack":"155","Defense":"120","FlavorText":"","HP":"65","Sp. Atk":"65","Sp. Def":"90","Species":"","Speed":"105","Total":"600","Type":["Bug","Flying"]},"Piplup":{"#":"393","Attack":"51","Defense":"53","FlavorText":"","HP":"53","Sp. Atk":"61","Sp. Def":"56","Species":"Penguin Pok\u00e9mon","Speed":"40","Total":"314","Type":["Water"]},"Plusle":{"#":"311","Attack":"50","Defense":"40","FlavorText":"","HP":"60","Sp. Atk":"85","Sp. Def":"75","Species":"Cheering Pok\u00e9mon","Speed":"95","Total":"405","Type":["Electric"]},"Politoed":{"#":"186","Attack":"75","Defense":"75","FlavorText":"The curled hair on its head proves its status as a king. It is said that the longer and curlier the hair, the more respect it earns from its peers.","HP":"90","Sp. Atk":"90","Sp. Def":"100","Species":"Frog Pok\u00e9mon","Speed":"70","Total":"500","Type":["Water"]},"Poliwag":{"#":"060","Attack":"50","Defense":"40","FlavorText":"","HP":"40","Sp. Atk":"40","Sp. Def":"40","Species":"Tadpole Pok\u00e9mon","Speed":"90","Total":"300","Type":["Water"]},"Poliwhirl":{"#":"061","Attack":"65","Defense":"65","FlavorText":"","HP":"65","Sp. Atk":"50","Sp. Def":"50","Species":"Tadpole Pok\u00e9mon","Speed":"90","Total":"385","Type":["Water"]},"Poliwrath":{"#":"062","Attack":"95","Defense":"95","FlavorText":"","HP":"90","Sp. Atk":"70","Sp. Def":"90","Species":"Tadpole Pok\u00e9mon","Speed":"70","Total":"510","Type":["Water","Fighting"]},"Ponyta":{"#":"077","Attack":"85","Defense":"55","FlavorText":"","HP":"50","Sp. Atk":"65","Sp. Def":"65","Species":"Fire Horse Pok\u00e9mon","Speed":"90","Total":"410","Type":["Fire"]},"Poochyena":{"#":"261","Attack":"55","Defense":"35","FlavorText":"It savagely threatens foes with bared fangs. It chases after fleeing targets tenaciously. It turns tail and runs, however, if the foe strikes back.","HP":"35","Sp. Atk":"30","Sp. Def":"30","Species":"Bite Pok\u00e9mon","Speed":"35","Total":"220","Type":["Dark"]},"Porygon":{"#":"137","Attack":"60","Defense":"70","FlavorText":"","HP":"65","Sp. Atk":"85","Sp. Def":"75","Species":"Virtual Pok\u00e9mon","Speed":"40","Total":"395","Type":["Normal"]},"Porygon- ( Z )":{"#":"474","Attack":"80","Defense":"70","FlavorText":"","HP":"85","Sp. Atk":"135","Sp. Def":"75","Species":"","Speed":"90","Total":"535","Type":["Normal"]},"Porygon2":{"#":"233","Attack":"80","Defense":"90","FlavorText":"It was created by humans using the power of science. It has been given artificial intelligence that enables it to learn new gestures and emotions on its own.","HP":"85","Sp. Atk":"105","Sp. Def":"95","Species":"Virtual Pok\u00e9mon","Speed":"60","Total":"515","Type":["Normal"]},"Primeape":{"#":"057","Attack":"105","Defense":"60","FlavorText":"It will beat up anyone who makes it mad, even if it has to chase them until the end of the world.","HP":"65","Sp. Atk":"60","Sp. Def":"70","Species":"Pig Monkey Pok\u00e9mon","Speed":"95","Total":"455","Type":["Fighting"]},"Prinplup":{"#":"394","Attack":"66","Defense":"68","FlavorText":"","HP":"64","Sp. Atk":"81","Sp. Def":"76","Species":"Penguin Pok\u00e9mon","Speed":"50","Total":"405","Type":["Water"]},"Probopass":{"#":"476","Attack":"55","Defense":"145","FlavorText":"","HP":"60","Sp. Atk":"75","Sp. Def":"150","Species":"Compass Pok\u00e9mon","Speed":"40","Total":"525","Type":["Rock","Steel"]},"Psyduck":{"#":"054","Attack":"52","Defense":"48","FlavorText":"","HP":"50","Sp. Atk":"65","Sp. Def":"50","Species":"Duck Pok\u00e9mon","Speed":"55","Total":"320","Type":["Water"]},"Pumpkaboo ( Average Size )":{"#":"710","Attack":"66","Defense":"70","FlavorText":"","HP":"49","Sp. Atk":"44","Sp. Def":"55","Species":"","Speed":"51","Total":"335","Type":["Ghost","Grass"]},"Pumpkaboo ( Large Size )":{"#":"710","Attack":"66","Defense":"70","FlavorText":"","HP":"54","Sp. Atk":"44","Sp. Def":"55","Species":"","Speed":"46","Total":"335","Type":["Ghost","Grass"]},"Pumpkaboo ( Small Size )":{"#":"710","Attack":"66","Defense":"70","FlavorText":"","HP":"44","Sp. Atk":"44","Sp. Def":"55","Species":"","Speed":"56","Total":"335","Type":["Ghost","Grass"]},"Pumpkaboo ( Super Size )":{"#":"710","Attack":"66","Defense":"70","FlavorText":"","HP":"59","Sp. Atk":"44","Sp. Def":"55","Species":"","Speed":"41","Total":"335","Type":["Ghost","Grass"]},"Pupitar":{"#":"247","Attack":"84","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"65","Sp. Def":"70","Species":"Hard Shell Pok\u00e9mon","Speed":"51","Total":"410","Type":["Rock","Ground"]},"Purrloin":{"#":"509","Attack":"50","Defense":"37","FlavorText":"They steal from people for fun, but their victims can\u2019t help but forgive them. Their deceptively cute act is perfect.","HP":"41","Sp. Atk":"50","Sp. Def":"37","Species":"Devious Pok\u00e9mon","Speed":"66","Total":"281","Type":["Dark"]},"Purugly":{"#":"432","Attack":"82","Defense":"64","FlavorText":"","HP":"71","Sp. Atk":"64","Sp. Def":"59","Species":"Tiger Cat Pok\u00e9mon","Speed":"112","Total":"452","Type":["Normal"]},"Pyroar":{"#":"668","Attack":"68","Defense":"72","FlavorText":"","HP":"86","Sp. Atk":"109","Sp. Def":"66","Species":"Royal Pok\u00e9mon","Speed":"106","Total":"507","Type":["Fire","Normal"]},"Quagsire":{"#":"195","Attack":"85","Defense":"85","FlavorText":"","HP":"95","Sp. Atk":"65","Sp. Def":"65","Species":"Water Fish Pok\u00e9mon","Speed":"35","Total":"430","Type":["Water","Ground"]},"Quilava":{"#":"156","Attack":"64","Defense":"58","FlavorText":"","HP":"58","Sp. Atk":"80","Sp. Def":"65","Species":"Volcano Pok\u00e9mon","Speed":"80","Total":"405","Type":["Fire"]},"Quilladin":{"#":"651","Attack":"78","Defense":"95","FlavorText":"","HP":"61","Sp. Atk":"56","Sp. Def":"58","Species":"Spiny Armor Pok\u00e9mon","Speed":"57","Total":"405","Type":["Grass"]},"Qwilfish":{"#":"211","Attack":"95","Defense":"75","FlavorText":"A QWILFISH uses the pressure of water it swallows to shoot toxic quills all at once from all over its body. It finds swimming to be somewhat challenging.","HP":"65","Sp. Atk":"55","Sp. Def":"55","Species":"Balloon Pok\u00e9mon","Speed":"85","Total":"430","Type":["Water","Poison"]},"Raichu":{"#":"026","Attack":"90","Defense":"55","FlavorText":"","HP":"60","Sp. Atk":"90","Sp. Def":"80","Species":"Mouse Pok\u00e9mon","Speed":"110","Total":"485","Type":["Electric"]},"Raikou":{"#":"243","Attack":"85","Defense":"75","FlavorText":"","HP":"90","Sp. Atk":"115","Sp. Def":"100","Species":"Thunder Pok\u00e9mon","Speed":"115","Total":"580","Type":["Electric"]},"Ralts":{"#":"280","Attack":"25","Defense":"25","FlavorText":"","HP":"28","Sp. Atk":"45","Sp. Def":"35","Species":"Feeling Pok\u00e9mon","Speed":"40","Total":"198","Type":["Psychic","Fairy"]},"Rampardos":{"#":"409","Attack":"165","Defense":"60","FlavorText":"","HP":"97","Sp. Atk":"65","Sp. Def":"50","Species":"Head Butt Pok\u00e9mon","Speed":"58","Total":"495","Type":["Rock"]},"Rapidash":{"#":"078","Attack":"100","Defense":"70","FlavorText":"","HP":"65","Sp. Atk":"80","Sp. Def":"80","Species":"Fire Horse Pok\u00e9mon","Speed":"105","Total":"500","Type":["Fire"]},"Raticate":{"#":"020","Attack":"81","Defense":"60","FlavorText":"","HP":"55","Sp. Atk":"50","Sp. Def":"70","Species":"Mouse Pok\u00e9mon","Speed":"97","Total":"413","Type":["Normal"]},"Rattata":{"#":"019","Attack":"56","Defense":"35","FlavorText":"","HP":"30","Sp. Atk":"25","Sp. Def":"35","Species":"Mouse Pok\u00e9mon","Speed":"72","Total":"253","Type":["Normal"]},"Rayquaza":{"#":"384","Attack":"150","Defense":"90","FlavorText":"","HP":"105","Sp. Atk":"150","Sp. Def":"90","Species":"Sky High Pok\u00e9mon","Speed":"95","Total":"680","Type":["Dragon","Flying"]},"Rayquaza ( Mega Rayquaza )":{"#":"384","Attack":"180","Defense":"100","FlavorText":"","HP":"105","Sp. Atk":"180","Sp. Def":"100","Species":"","Speed":"115","Total":"780","Type":["Dragon","Flying"]},"Regice":{"#":"378","Attack":"50","Defense":"100","FlavorText":"","HP":"80","Sp. Atk":"100","Sp. Def":"200","Species":"Iceberg Pok\u00e9mon","Speed":"50","Total":"580","Type":["Ice"]},"Regigigas":{"#":"486","Attack":"160","Defense":"110","FlavorText":"","HP":"110","Sp. Atk":"80","Sp. Def":"110","Species":"Colossal Pok\u00e9mon","Speed":"100","Total":"670","Type":["Normal"]},"Regirock":{"#":"377","Attack":"100","Defense":"200","FlavorText":"","HP":"80","Sp. Atk":"50","Sp. Def":"100","Species":"Rock Peak Pok\u00e9mon","Speed":"50","Total":"580","Type":["Rock"]},"Registeel":{"#":"379","Attack":"75","Defense":"150","FlavorText":"","HP":"80","Sp. Atk":"75","Sp. Def":"150","Species":"Iron Pok\u00e9mon","Speed":"50","Total":"580","Type":["Steel"]},"Relicanth":{"#":"369","Attack":"90","Defense":"130","FlavorText":"A POK\u00e9MON that was once believed to have been extinct. The species has not changed its form for 100 million years. It walks on the seafloor using its pectoral fins.","HP":"100","Sp. Atk":"45","Sp. Def":"65","Species":"Longevity Pok\u00e9mon","Speed":"55","Total":"485","Type":["Water","Rock"]},"Remoraid":{"#":"223","Attack":"65","Defense":"35","FlavorText":"","HP":"35","Sp. Atk":"65","Sp. Def":"35","Species":"Jet Pok\u00e9mon","Speed":"65","Total":"300","Type":["Water"]},"Reshiram":{"#":"643","Attack":"120","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"150","Sp. Def":"120","Species":"Vast White Pok\u00e9mon","Speed":"90","Total":"680","Type":["Dragon","Fire"]},"Reuniclus":{"#":"579","Attack":"65","Defense":"75","FlavorText":"When Reuniclus shake hands, a network forms between their brains, increasing their psychic power.","HP":"110","Sp. Atk":"125","Sp. Def":"85","Species":"Multiplying Pok\u00e9mon","Speed":"30","Total":"490","Type":["Psychic"]},"Rhydon":{"#":"112","Attack":"130","Defense":"120","FlavorText":"","HP":"105","Sp. Atk":"45","Sp. Def":"45","Species":"Drill Pok\u00e9mon","Speed":"40","Total":"485","Type":["Ground","Rock"]},"Rhyhorn":{"#":"111","Attack":"85","Defense":"95","FlavorText":"","HP":"80","Sp. Atk":"30","Sp. Def":"30","Species":"Spikes Pok\u00e9mon","Speed":"25","Total":"345","Type":["Ground","Rock"]},"Rhyperior":{"#":"464","Attack":"140","Defense":"130","FlavorText":"It can launch a rock held in its hand like a missile by tightening then expanding muscles instantly.","HP":"115","Sp. Atk":"55","Sp. Def":"55","Species":"Drill Pok\u00e9mon","Speed":"40","Total":"535","Type":["Ground","Rock"]},"Riolu":{"#":"447","Attack":"70","Defense":"40","FlavorText":"","HP":"40","Sp. Atk":"35","Sp. Def":"40","Species":"Emanation Pok\u00e9mon","Speed":"60","Total":"285","Type":["Fighting"]},"Roggenrola":{"#":"524","Attack":"75","Defense":"85","FlavorText":"","HP":"55","Sp. Atk":"25","Sp. Def":"25","Species":"Mantle Pok\u00e9mon","Speed":"15","Total":"280","Type":["Rock"]},"Roselia":{"#":"315","Attack":"60","Defense":"45","FlavorText":"","HP":"50","Sp. Atk":"100","Sp. Def":"80","Species":"Thorn Pok\u00e9mon","Speed":"65","Total":"400","Type":["Grass","Poison"]},"Roserade":{"#":"407","Attack":"70","Defense":"65","FlavorText":"","HP":"60","Sp. Atk":"125","Sp. Def":"105","Species":"Bouquet Pok\u00e9mon","Speed":"90","Total":"515","Type":["Grass","Poison"]},"Rotom":{"#":"479","Attack":"50","Defense":"77","FlavorText":"","HP":"50","Sp. Atk":"95","Sp. Def":"77","Species":"Plasma Pok\u00e9mon","Speed":"91","Total":"440","Type":["Electric","Ghost"]},"Rotom ( Fan Rotom )":{"#":"479","Attack":"65","Defense":"107","FlavorText":"","HP":"50","Sp. Atk":"105","Sp. Def":"107","Species":"","Speed":"86","Total":"520","Type":["Electric","Flying"]},"Rotom ( Frost Rotom )":{"#":"479","Attack":"65","Defense":"107","FlavorText":"","HP":"50","Sp. Atk":"105","Sp. Def":"107","Species":"","Speed":"86","Total":"520","Type":["Electric","Ice"]},"Rotom ( Heat Rotom )":{"#":"479","Attack":"65","Defense":"107","FlavorText":"","HP":"50","Sp. Atk":"105","Sp. Def":"107","Species":"","Speed":"86","Total":"520","Type":["Electric","Fire"]},"Rotom ( Mow Rotom )":{"#":"479","Attack":"65","Defense":"107","FlavorText":"","HP":"50","Sp. Atk":"105","Sp. Def":"107","Species":"","Speed":"86","Total":"520","Type":["Electric","Grass"]},"Rotom ( Wash Rotom )":{"#":"479","Attack":"65","Defense":"107","FlavorText":"","HP":"50","Sp. Atk":"105","Sp. Def":"107","Species":"","Speed":"86","Total":"520","Type":["Electric","Water"]},"Rufflet":{"#":"627","Attack":"83","Defense":"50","FlavorText":"","HP":"70","Sp. Atk":"37","Sp. Def":"50","Species":"Eaglet Pok\u00e9mon","Speed":"60","Total":"350","Type":["Normal","Flying"]},"Sableye":{"#":"302","Attack":"75","Defense":"75","FlavorText":"","HP":"50","Sp. Atk":"65","Sp. Def":"65","Species":"Darkness Pok\u00e9mon","Speed":"50","Total":"380","Type":["Dark","Ghost"]},"Sableye ( Mega Sableye )":{"#":"302","Attack":"85","Defense":"125","FlavorText":"","HP":"50","Sp. Atk":"85","Sp. Def":"115","Species":"","Speed":"20","Total":"480","Type":["Dark","Ghost"]},"Salamence":{"#":"373","Attack":"135","Defense":"80","FlavorText":"","HP":"95","Sp. Atk":"110","Sp. Def":"80","Species":"Dragon Pok\u00e9mon","Speed":"100","Total":"600","Type":["Dragon","Flying"]},"Salamence ( Mega Salamence )":{"#":"373","Attack":"145","Defense":"130","FlavorText":"","HP":"95","Sp. Atk":"120","Sp. Def":"90","Species":"","Speed":"120","Total":"700","Type":["Dragon","Flying"]},"Samurott":{"#":"503","Attack":"100","Defense":"85","FlavorText":"","HP":"95","Sp. Atk":"108","Sp. Def":"70","Species":"Formidable Pok\u00e9mon","Speed":"70","Total":"528","Type":["Water"]},"Sandile":{"#":"551","Attack":"72","Defense":"35","FlavorText":"They live buried in the sands of the desert. The sun-warmed sands prevent their body temperature from dropping.","HP":"50","Sp. Atk":"35","Sp. Def":"35","Species":"Desert Croc Pok\u00e9mon","Speed":"65","Total":"292","Type":["Ground","Dark"]},"Sandshrew":{"#":"027","Attack":"75","Defense":"85","FlavorText":"","HP":"50","Sp. Atk":"20","Sp. Def":"30","Species":"Mouse Pok\u00e9mon","Speed":"40","Total":"300","Type":["Ground"]},"Sandslash":{"#":"028","Attack":"100","Defense":"110","FlavorText":"","HP":"75","Sp. Atk":"45","Sp. Def":"55","Species":"Mouse Pok\u00e9mon","Speed":"65","Total":"450","Type":["Ground"]},"Sawk":{"#":"539","Attack":"125","Defense":"75","FlavorText":"Tying their belts gets them pumped and makes their punches more destructive. Disturbing their training angers them.","HP":"75","Sp. Atk":"30","Sp. Def":"75","Species":"Karate Pok\u00e9mon","Speed":"85","Total":"465","Type":["Fighting"]},"Sawsbuck":{"#":"586","Attack":"100","Defense":"70","FlavorText":"","HP":"80","Sp. Atk":"60","Sp. Def":"70","Species":"Season Pok\u00e9mon","Speed":"95","Total":"475","Type":["Normal","Grass"]},"Scatterbug":{"#":"664","Attack":"35","Defense":"40","FlavorText":"","HP":"38","Sp. Atk":"27","Sp. Def":"25","Species":"Scatterdust Pok\u00e9mon","Speed":"35","Total":"200","Type":["Bug"]},"Sceptile":{"#":"254","Attack":"85","Defense":"65","FlavorText":"","HP":"70","Sp. Atk":"105","Sp. Def":"85","Species":"Forest Pok\u00e9mon","Speed":"120","Total":"530","Type":["Grass"]},"Sceptile ( Mega Sceptile )":{"#":"254","Attack":"110","Defense":"75","FlavorText":"","HP":"70","Sp. Atk":"145","Sp. Def":"85","Species":"","Speed":"145","Total":"630","Type":["Grass","Dragon"]},"Scizor":{"#":"212","Attack":"130","Defense":"100","FlavorText":"","HP":"70","Sp. Atk":"55","Sp. Def":"80","Species":"Pincer Pok\u00e9mon","Speed":"65","Total":"500","Type":["Bug","Steel"]},"Scizor ( Mega Scizor )":{"#":"212","Attack":"150","Defense":"140","FlavorText":"","HP":"70","Sp. Atk":"65","Sp. Def":"100","Species":"","Speed":"75","Total":"600","Type":["Bug","Steel"]},"Scolipede":{"#":"545","Attack":"100","Defense":"89","FlavorText":"With quick movements, it chases down its foes, attacking relentlessly with its horns until it prevails.","HP":"60","Sp. Atk":"55","Sp. Def":"69","Species":"Megapede Pok\u00e9mon","Speed":"112","Total":"485","Type":["Bug","Poison"]},"Scrafty":{"#":"560","Attack":"90","Defense":"115","FlavorText":"It can smash concrete blocks with its kicking attacks. The one with the biggest crest is the group leader.","HP":"65","Sp. Atk":"45","Sp. Def":"115","Species":"Hoodlum Pok\u00e9mon","Speed":"58","Total":"488","Type":["Dark","Fighting"]},"Scraggy":{"#":"559","Attack":"75","Defense":"70","FlavorText":"Proud of its sturdy skull, it suddenly headbutts everything, but its weight makes it unstable, too.","HP":"50","Sp. Atk":"35","Sp. Def":"70","Species":"Shedding Pok\u00e9mon","Speed":"48","Total":"348","Type":["Dark","Fighting"]},"Scyther":{"#":"123","Attack":"110","Defense":"80","FlavorText":"","HP":"70","Sp. Atk":"55","Sp. Def":"80","Species":"Mantis Pok\u00e9mon","Speed":"105","Total":"500","Type":["Bug","Flying"]},"Seadra":{"#":"117","Attack":"65","Defense":"95","FlavorText":"","HP":"55","Sp. Atk":"95","Sp. Def":"45","Species":"Dragon Pok\u00e9mon","Speed":"85","Total":"440","Type":["Water"]},"Seaking":{"#":"119","Attack":"92","Defense":"65","FlavorText":"","HP":"80","Sp. Atk":"65","Sp. Def":"80","Species":"Goldfish Pok\u00e9mon","Speed":"68","Total":"450","Type":["Water"]},"Sealeo":{"#":"364","Attack":"60","Defense":"70","FlavorText":"SEALEO live in herds on ice floes. Using its powerful flippers, it shatters ice. It dives into the sea to hunt prey five times a day.","HP":"90","Sp. Atk":"75","Sp. Def":"70","Species":"Ball Roll Pok\u00e9mon","Speed":"45","Total":"410","Type":["Ice","Water"]},"Seedot":{"#":"273","Attack":"40","Defense":"50","FlavorText":"","HP":"40","Sp. Atk":"30","Sp. Def":"30","Species":"Acorn Pok\u00e9mon","Speed":"30","Total":"220","Type":["Grass"]},"Seel":{"#":"086","Attack":"45","Defense":"55","FlavorText":"","HP":"65","Sp. Atk":"45","Sp. Def":"70","Species":"Sea Lion Pok\u00e9mon","Speed":"45","Total":"325","Type":["Water"]},"Seismitoad":{"#":"537","Attack":"95","Defense":"75","FlavorText":"","HP":"105","Sp. Atk":"85","Sp. Def":"75","Species":"Vibration Pok\u00e9mon","Speed":"74","Total":"509","Type":["Water","Ground"]},"Sentret":{"#":"161","Attack":"46","Defense":"34","FlavorText":"They take turns standing guard when it is time to sleep. The sentry awakens the others if it senses danger. If one becomes separated, it turns sleepless with fear.","HP":"35","Sp. Atk":"35","Sp. Def":"45","Species":"Scout Pok\u00e9mon","Speed":"20","Total":"215","Type":["Normal"]},"Serperior":{"#":"497","Attack":"75","Defense":"95","FlavorText":"","HP":"75","Sp. Atk":"75","Sp. Def":"95","Species":"Regal Pok\u00e9mon","Speed":"113","Total":"528","Type":["Grass"]},"Servine":{"#":"496","Attack":"60","Defense":"75","FlavorText":"","HP":"60","Sp. Atk":"60","Sp. Def":"75","Species":"Grass Snake Pok\u00e9mon","Speed":"83","Total":"413","Type":["Grass"]},"Seviper":{"#":"336","Attack":"100","Defense":"60","FlavorText":"SEVIPER and ZANGOOSE are eternal rivals. It counters a ZANGOOSE\u2019s dazzling agility with its swordlike tail, which also oozes a horrible poison.","HP":"73","Sp. Atk":"100","Sp. Def":"60","Species":"Fang Snake Pok\u00e9mon","Speed":"65","Total":"458","Type":["Poison"]},"Sewaddle":{"#":"540","Attack":"53","Defense":"70","FlavorText":"","HP":"45","Sp. Atk":"40","Sp. Def":"60","Species":"Sewing Pok\u00e9mon","Speed":"42","Total":"310","Type":["Bug","Grass"]},"Sharpedo":{"#":"319","Attack":"120","Defense":"40","FlavorText":"","HP":"70","Sp. Atk":"95","Sp. Def":"40","Species":"Brutal Pok\u00e9mon","Speed":"95","Total":"460","Type":["Water","Dark"]},"Sharpedo ( Mega Sharpedo )":{"#":"319","Attack":"140","Defense":"70","FlavorText":"","HP":"70","Sp. Atk":"110","Sp. Def":"65","Species":"","Speed":"105","Total":"560","Type":["Water","Dark"]},"Shaymin ( Land Forme )":{"#":"492","Attack":"100","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"100","Species":"","Speed":"100","Total":"600","Type":["Grass"]},"Shaymin ( Sky Forme )":{"#":"492","Attack":"103","Defense":"75","FlavorText":"","HP":"100","Sp. Atk":"120","Sp. Def":"75","Species":"","Speed":"127","Total":"600","Type":["Grass","Flying"]},"Shedinja":{"#":"292","Attack":"90","Defense":"45","FlavorText":"","HP":"1","Sp. Atk":"30","Sp. Def":"30","Species":"Shed Pok\u00e9mon","Speed":"40","Total":"236","Type":["Bug","Ghost"]},"Shelgon":{"#":"372","Attack":"95","Defense":"100","FlavorText":"","HP":"65","Sp. Atk":"60","Sp. Def":"50","Species":"Endurance Pok\u00e9mon","Speed":"50","Total":"420","Type":["Dragon"]},"Shellder":{"#":"090","Attack":"65","Defense":"100","FlavorText":"","HP":"30","Sp. Atk":"45","Sp. Def":"25","Species":"Bivalve Pok\u00e9mon","Speed":"40","Total":"305","Type":["Water"]},"Shellos":{"#":"422","Attack":"48","Defense":"48","FlavorText":"","HP":"76","Sp. Atk":"57","Sp. Def":"62","Species":"Sea Slug Pok\u00e9mon","Speed":"34","Total":"325","Type":["Water"]},"Shelmet":{"#":"616","Attack":"40","Defense":"85","FlavorText":"It evolves when bathed in an electric-like energy along with Karrablast. The reason is still unknown.","HP":"50","Sp. Atk":"40","Sp. Def":"65","Species":"Snail Pok\u00e9mon","Speed":"25","Total":"305","Type":["Bug"]},"Shieldon":{"#":"410","Attack":"42","Defense":"118","FlavorText":"","HP":"30","Sp. Atk":"42","Sp. Def":"88","Species":"Shield Pok\u00e9mon","Speed":"30","Total":"350","Type":["Rock","Steel"]},"Shiftry":{"#":"275","Attack":"100","Defense":"60","FlavorText":"","HP":"90","Sp. Atk":"90","Sp. Def":"60","Species":"Wicked Pok\u00e9mon","Speed":"80","Total":"480","Type":["Grass","Dark"]},"Shinx":{"#":"403","Attack":"65","Defense":"34","FlavorText":"","HP":"45","Sp. Atk":"40","Sp. Def":"34","Species":"Flash Pok\u00e9mon","Speed":"45","Total":"263","Type":["Electric"]},"Shroomish":{"#":"285","Attack":"40","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"40","Sp. Def":"60","Species":"Mushroom Pok\u00e9mon","Speed":"35","Total":"295","Type":["Grass"]},"Shuckle":{"#":"213","Attack":"10","Defense":"230","FlavorText":"","HP":"20","Sp. Atk":"10","Sp. Def":"230","Species":"Mold Pok\u00e9mon","Speed":"5","Total":"505","Type":["Bug","Rock"]},"Shuppet":{"#":"353","Attack":"75","Defense":"35","FlavorText":"","HP":"44","Sp. Atk":"63","Sp. Def":"33","Species":"Puppet Pok\u00e9mon","Speed":"45","Total":"295","Type":["Ghost"]},"Sigilyph":{"#":"561","Attack":"58","Defense":"80","FlavorText":"The guardians of an ancient city, they always fly the same route while keeping watch for invaders.","HP":"72","Sp. Atk":"103","Sp. Def":"80","Species":"Avianoid Pok\u00e9mon","Speed":"97","Total":"490","Type":["Psychic","Flying"]},"Silcoon":{"#":"266","Attack":"35","Defense":"55","FlavorText":"","HP":"50","Sp. Atk":"25","Sp. Def":"25","Species":"Cocoon Pok\u00e9mon","Speed":"15","Total":"205","Type":["Bug"]},"Simipour":{"#":"516","Attack":"98","Defense":"63","FlavorText":"","HP":"75","Sp. Atk":"98","Sp. Def":"63","Species":"Geyser Pok\u00e9mon","Speed":"101","Total":"498","Type":["Water"]},"Simisage":{"#":"512","Attack":"98","Defense":"63","FlavorText":"","HP":"75","Sp. Atk":"98","Sp. Def":"63","Species":"Thorn Monkey Pok\u00e9mon","Speed":"101","Total":"498","Type":["Grass"]},"Simisear":{"#":"514","Attack":"98","Defense":"63","FlavorText":"","HP":"75","Sp. Atk":"98","Sp. Def":"63","Species":"Ember Pok\u00e9mon","Speed":"101","Total":"498","Type":["Fire"]},"Skarmory":{"#":"227","Attack":"80","Defense":"140","FlavorText":"","HP":"65","Sp. Atk":"40","Sp. Def":"70","Species":"Armor Bird Pok\u00e9mon","Speed":"70","Total":"465","Type":["Steel","Flying"]},"Skiddo":{"#":"672","Attack":"65","Defense":"48","FlavorText":"","HP":"66","Sp. Atk":"62","Sp. Def":"57","Species":"Mount Pok\u00e9mon","Speed":"52","Total":"350","Type":["Grass"]},"Skiploom":{"#":"188","Attack":"45","Defense":"50","FlavorText":"It blossoms when the temperature rises above 64 degrees F. Because its flower\u2019s blooming changes with the temperature, it is sometimes used as a thermometer.","HP":"55","Sp. Atk":"45","Sp. Def":"65","Species":"Cottonweed Pok\u00e9mon","Speed":"80","Total":"340","Type":["Grass","Flying"]},"Skitty":{"#":"300","Attack":"45","Defense":"45","FlavorText":"","HP":"50","Sp. Atk":"35","Sp. Def":"35","Species":"Kitten Pok\u00e9mon","Speed":"50","Total":"260","Type":["Normal"]},"Skorupi":{"#":"451","Attack":"50","Defense":"90","FlavorText":"","HP":"40","Sp. Atk":"30","Sp. Def":"55","Species":"Scorpion Pok\u00e9mon","Speed":"65","Total":"330","Type":["Poison","Bug"]},"Skrelp":{"#":"690","Attack":"60","Defense":"60","FlavorText":"","HP":"50","Sp. Atk":"60","Sp. Def":"60","Species":"Mock Kelp Pok\u00e9mon","Speed":"30","Total":"320","Type":["Poison","Water"]},"Skuntank":{"#":"435","Attack":"93","Defense":"67","FlavorText":"","HP":"103","Sp. Atk":"71","Sp. Def":"61","Species":"Skunk Pok\u00e9mon","Speed":"84","Total":"479","Type":["Poison","Dark"]},"Slaking":{"#":"289","Attack":"160","Defense":"100","FlavorText":"","HP":"150","Sp. Atk":"95","Sp. Def":"65","Species":"Lazy Pok\u00e9mon","Speed":"100","Total":"670","Type":["Normal"]},"Slakoth":{"#":"287","Attack":"60","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"35","Sp. Def":"35","Species":"Slacker Pok\u00e9mon","Speed":"30","Total":"280","Type":["Normal"]},"Sliggoo":{"#":"705","Attack":"75","Defense":"53","FlavorText":"","HP":"68","Sp. Atk":"83","Sp. Def":"113","Species":"Soft Tissue Pok\u00e9mon","Speed":"60","Total":"452","Type":["Dragon"]},"Slowbro":{"#":"080","Attack":"75","Defense":"110","FlavorText":"","HP":"95","Sp. Atk":"100","Sp. Def":"80","Species":"Hermit Crab Pok\u00e9mon","Speed":"30","Total":"490","Type":["Water","Psychic"]},"Slowbro ( Mega Slowbro )":{"#":"080","Attack":"75","Defense":"180","FlavorText":"","HP":"95","Sp. Atk":"130","Sp. Def":"80","Species":"","Speed":"30","Total":"590","Type":["Water","Psychic"]},"Slowking":{"#":"199","Attack":"75","Defense":"80","FlavorText":"It undertakes research every day to solve the mysteries of the world. However, it apparently forgets everything if the SHELLDER on its head comes off.","HP":"95","Sp. Atk":"100","Sp. Def":"110","Species":"Royal Pok\u00e9mon","Speed":"30","Total":"490","Type":["Water","Psychic"]},"Slowpoke":{"#":"079","Attack":"65","Defense":"65","FlavorText":"","HP":"90","Sp. Atk":"40","Sp. Def":"40","Species":"Dopey Pok\u00e9mon","Speed":"15","Total":"315","Type":["Water","Psychic"]},"Slugma":{"#":"218","Attack":"40","Defense":"40","FlavorText":"","HP":"40","Sp. Atk":"70","Sp. Def":"40","Species":"Lava Pok\u00e9mon","Speed":"20","Total":"250","Type":["Fire"]},"Slurpuff":{"#":"685","Attack":"80","Defense":"86","FlavorText":"","HP":"82","Sp. Atk":"85","Sp. Def":"75","Species":"Meringue Pok\u00e9mon","Speed":"72","Total":"480","Type":["Fairy"]},"Smeargle":{"#":"235","Attack":"20","Defense":"35","FlavorText":"A SMEARGLE marks its territory using a fluid that leaks out from the tip of its tail. About 5,000 different marks left by this POK\u00e9MON have been found.","HP":"55","Sp. Atk":"20","Sp. Def":"45","Species":"Painter Pok\u00e9mon","Speed":"75","Total":"250","Type":["Normal"]},"Smoochum":{"#":"238","Attack":"30","Defense":"15","FlavorText":"It actively runs about, but also falls often. Whenever it falls, it will check its reflection on a lake\u2019s surface to make sure its face hasn\u2019t become dirty.","HP":"45","Sp. Atk":"85","Sp. Def":"65","Species":"Kiss Pok\u00e9mon","Speed":"65","Total":"305","Type":["Ice","Psychic"]},"Sneasel":{"#":"215","Attack":"95","Defense":"55","FlavorText":"","HP":"55","Sp. Atk":"35","Sp. Def":"75","Species":"Sharp Claw Pok\u00e9mon","Speed":"115","Total":"430","Type":["Dark","Ice"]},"Snivy":{"#":"495","Attack":"45","Defense":"55","FlavorText":"","HP":"45","Sp. Atk":"45","Sp. Def":"55","Species":"Grass Snake Pok\u00e9mon","Speed":"63","Total":"308","Type":["Grass"]},"Snorlax":{"#":"143","Attack":"110","Defense":"65","FlavorText":"","HP":"160","Sp. Atk":"65","Sp. Def":"110","Species":"Sleeping Pok\u00e9mon","Speed":"30","Total":"540","Type":["Normal"]},"Snorunt":{"#":"361","Attack":"50","Defense":"50","FlavorText":"They tend to move about in groups of around five SNORUNT. In snowy regions, it is said that when they are seen late at night, snowfall will arrive by morning.","HP":"50","Sp. Atk":"50","Sp. Def":"50","Species":"Snow Hat Pok\u00e9mon","Speed":"50","Total":"300","Type":["Ice"]},"Snover":{"#":"459","Attack":"62","Defense":"50","FlavorText":"","HP":"60","Sp. Atk":"62","Sp. Def":"60","Species":"Frost Tree Pok\u00e9mon","Speed":"40","Total":"334","Type":["Grass","Ice"]},"Snubbull":{"#":"209","Attack":"80","Defense":"50","FlavorText":"By baring its fangs and making a scary face, it sends smaller POK\u00e9MON scurrying in terror. The SNUBBULL does seem a little sad at making its foes flee.","HP":"60","Sp. Atk":"40","Sp. Def":"40","Species":"Fairy Pok\u00e9mon","Speed":"30","Total":"300","Type":["Fairy"]},"Solosis":{"#":"577","Attack":"30","Defense":"40","FlavorText":"They drive away attackers by unleashing psychic power. They can use telepathy to talk with others.","HP":"45","Sp. Atk":"105","Sp. Def":"50","Species":"Cell Pok\u00e9mon","Speed":"20","Total":"290","Type":["Psychic"]},"Solrock":{"#":"338","Attack":"95","Defense":"85","FlavorText":"","HP":"70","Sp. Atk":"55","Sp. Def":"65","Species":"Meteorite Pok\u00e9mon","Speed":"70","Total":"440","Type":["Rock","Psychic"]},"Spearow":{"#":"021","Attack":"60","Defense":"30","FlavorText":"To protect its territory, it flies around ceaselessly, making high-pitched cries.","HP":"40","Sp. Atk":"31","Sp. Def":"31","Species":"Tiny Bird Pok\u00e9mon","Speed":"70","Total":"262","Type":["Normal","Flying"]},"Spewpa":{"#":"665","Attack":"22","Defense":"60","FlavorText":"","HP":"45","Sp. Atk":"27","Sp. Def":"30","Species":"Scatterdust Pok\u00e9mon","Speed":"29","Total":"213","Type":["Bug"]},"Spheal":{"#":"363","Attack":"40","Defense":"50","FlavorText":"It is completely covered with plushy fur. As a result, it never feels the cold even when it is rolling about on ice floes or diving in the sea.","HP":"70","Sp. Atk":"55","Sp. Def":"50","Species":"Clap Pok\u00e9mon","Speed":"25","Total":"290","Type":["Ice","Water"]},"Spinarak":{"#":"167","Attack":"60","Defense":"40","FlavorText":"The web it spins can be considered its second nervous system. It is said that a SPINARAK determines its prey by the tiny vibrations it feels through the web.","HP":"40","Sp. Atk":"40","Sp. Def":"40","Species":"String Spit Pok\u00e9mon","Speed":"30","Total":"250","Type":["Bug","Poison"]},"Spinda":{"#":"327","Attack":"60","Defense":"60","FlavorText":"It is distinguished by a pattern of spots that is always different. Its unsteady, tottering walk has the effect of fouling its foe\u2019s aim.","HP":"60","Sp. Atk":"60","Sp. Def":"60","Species":"Spot Panda Pok\u00e9mon","Speed":"60","Total":"360","Type":["Normal"]},"Spiritomb":{"#":"442","Attack":"92","Defense":"108","FlavorText":"","HP":"50","Sp. Atk":"92","Sp. Def":"108","Species":"Forbidden Pok\u00e9mon","Speed":"35","Total":"485","Type":["Ghost","Dark"]},"Spoink":{"#":"325","Attack":"25","Defense":"35","FlavorText":"","HP":"60","Sp. Atk":"70","Sp. Def":"80","Species":"Bounce Pok\u00e9mon","Speed":"60","Total":"330","Type":["Psychic"]},"Spritzee":{"#":"682","Attack":"52","Defense":"60","FlavorText":"","HP":"78","Sp. Atk":"63","Sp. Def":"65","Species":"Perfume Pok\u00e9mon","Speed":"23","Total":"341","Type":["Fairy"]},"Squirtle":{"#":"007","Attack":"48","Defense":"65","FlavorText":"When it feels threatened, it draws its legs inside its shell and sprays water from its mouth.","HP":"44","Sp. Atk":"50","Sp. Def":"64","Species":"Tiny Turtle Pok\u00e9mon","Speed":"43","Total":"314","Type":["Water"]},"Stantler":{"#":"234","Attack":"95","Defense":"62","FlavorText":"","HP":"73","Sp. Atk":"85","Sp. Def":"65","Species":"Big Horn Pok\u00e9mon","Speed":"85","Total":"465","Type":["Normal"]},"Staraptor":{"#":"398","Attack":"120","Defense":"70","FlavorText":"","HP":"85","Sp. Atk":"50","Sp. Def":"60","Species":"Predator Pok\u00e9mon","Speed":"100","Total":"485","Type":["Normal","Flying"]},"Staravia":{"#":"397","Attack":"75","Defense":"50","FlavorText":"","HP":"55","Sp. Atk":"40","Sp. Def":"40","Species":"Starling Pok\u00e9mon","Speed":"80","Total":"340","Type":["Normal","Flying"]},"Starly":{"#":"396","Attack":"55","Defense":"30","FlavorText":"","HP":"40","Sp. Atk":"30","Sp. Def":"30","Species":"Starling Pok\u00e9mon","Speed":"60","Total":"245","Type":["Normal","Flying"]},"Starmie":{"#":"121","Attack":"75","Defense":"85","FlavorText":"","HP":"60","Sp. Atk":"100","Sp. Def":"85","Species":"Mysterious Pok\u00e9mon","Speed":"115","Total":"520","Type":["Water","Psychic"]},"Staryu":{"#":"120","Attack":"45","Defense":"55","FlavorText":"","HP":"30","Sp. Atk":"70","Sp. Def":"55","Species":"Star Shape Pok\u00e9mon","Speed":"85","Total":"340","Type":["Water"]},"Steelix":{"#":"208","Attack":"85","Defense":"200","FlavorText":"","HP":"75","Sp. Atk":"55","Sp. Def":"65","Species":"Iron Snake Pok\u00e9mon","Speed":"30","Total":"510","Type":["Steel","Ground"]},"Steelix ( Mega Steelix )":{"#":"208","Attack":"125","Defense":"230","FlavorText":"","HP":"75","Sp. Atk":"55","Sp. Def":"95","Species":"","Speed":"30","Total":"610","Type":["Steel","Ground"]},"Stoutland":{"#":"508","Attack":"110","Defense":"90","FlavorText":"","HP":"85","Sp. Atk":"45","Sp. Def":"90","Species":"Big-Hearted Pok\u00e9mon","Speed":"80","Total":"500","Type":["Normal"]},"Stunfisk":{"#":"618","Attack":"66","Defense":"84","FlavorText":"It conceals itself in the mud of the seashore. Then it waits. When prey touch it, it delivers a jolt of electricity.","HP":"109","Sp. Atk":"81","Sp. Def":"99","Species":"Trap Pok\u00e9mon","Speed":"32","Total":"471","Type":["Ground","Electric"]},"Stunky":{"#":"434","Attack":"63","Defense":"47","FlavorText":"","HP":"63","Sp. Atk":"41","Sp. Def":"41","Species":"Skunk Pok\u00e9mon","Speed":"74","Total":"329","Type":["Poison","Dark"]},"Sudowoodo":{"#":"185","Attack":"100","Defense":"115","FlavorText":"","HP":"70","Sp. Atk":"30","Sp. Def":"65","Species":"Imitation Pok\u00e9mon","Speed":"30","Total":"410","Type":["Rock"]},"Suicune":{"#":"245","Attack":"75","Defense":"115","FlavorText":"","HP":"100","Sp. Atk":"90","Sp. Def":"115","Species":"Aurora Pok\u00e9mon","Speed":"85","Total":"580","Type":["Water"]},"Sunflora":{"#":"192","Attack":"75","Defense":"55","FlavorText":"SUNFLORA convert solar energy into nutrition. They are highly active in the warm daytime but suddenly stop moving as soon as the sun sets.","HP":"75","Sp. Atk":"105","Sp. Def":"85","Species":"Sun Pok\u00e9mon","Speed":"30","Total":"425","Type":["Grass"]},"Sunkern":{"#":"191","Attack":"30","Defense":"30","FlavorText":"SUNKERN try to minimize movement to conserve the nutrients they have stored in their bodies for evolution. They will not eat, subsisting only on morning dew.","HP":"30","Sp. Atk":"30","Sp. Def":"30","Species":"Seed Pok\u00e9mon","Speed":"30","Total":"180","Type":["Grass"]},"Surskit":{"#":"283","Attack":"30","Defense":"32","FlavorText":"","HP":"40","Sp. Atk":"50","Sp. Def":"52","Species":"Pond Skater Pok\u00e9mon","Speed":"65","Total":"269","Type":["Bug","Water"]},"Swablu":{"#":"333","Attack":"40","Defense":"60","FlavorText":"","HP":"45","Sp. Atk":"40","Sp. Def":"75","Species":"Cotton Bird Pok\u00e9mon","Speed":"50","Total":"310","Type":["Normal","Flying"]},"Swadloon":{"#":"541","Attack":"63","Defense":"90","FlavorText":"","HP":"55","Sp. Atk":"50","Sp. Def":"80","Species":"Leaf-Wrapped Pok\u00e9mon","Speed":"42","Total":"380","Type":["Bug","Grass"]},"Swalot":{"#":"317","Attack":"73","Defense":"83","FlavorText":"Its powerful stomach acid is capable of digesting almost anything. The one thing in the whole world a SWALOT can\u2019t digest is its own stomach.","HP":"100","Sp. Atk":"73","Sp. Def":"83","Species":"Poison Bag Pok\u00e9mon","Speed":"55","Total":"467","Type":["Poison"]},"Swampert":{"#":"260","Attack":"110","Defense":"90","FlavorText":"","HP":"100","Sp. Atk":"85","Sp. Def":"90","Species":"Mud Fish Pok\u00e9mon","Speed":"60","Total":"535","Type":["Water","Ground"]},"Swampert ( Mega Swampert )":{"#":"260","Attack":"150","Defense":"110","FlavorText":"","HP":"100","Sp. Atk":"95","Sp. Def":"110","Species":"","Speed":"70","Total":"635","Type":["Water","Ground"]},"Swanna":{"#":"581","Attack":"87","Defense":"63","FlavorText":"Swanna start to dance at dusk. The one dancing in the middle is the leader of the flock.","HP":"75","Sp. Atk":"87","Sp. Def":"63","Species":"White Bird Pok\u00e9mon","Speed":"98","Total":"473","Type":["Water","Flying"]},"Swellow":{"#":"277","Attack":"85","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"50","Sp. Def":"50","Species":"Swallow Pok\u00e9mon","Speed":"125","Total":"430","Type":["Normal","Flying"]},"Swinub":{"#":"220","Attack":"50","Defense":"40","FlavorText":"","HP":"50","Sp. Atk":"30","Sp. Def":"30","Species":"Pig Pok\u00e9mon","Speed":"50","Total":"250","Type":["Ice","Ground"]},"Swirlix":{"#":"684","Attack":"48","Defense":"66","FlavorText":"","HP":"62","Sp. Atk":"59","Sp. Def":"57","Species":"Cotton Candy Pok\u00e9mon","Speed":"49","Total":"341","Type":["Fairy"]},"Swoobat":{"#":"528","Attack":"57","Defense":"55","FlavorText":"Anyone who comes into contact with the ultrasonic waves emitted by a courting male experiences a positive mood shift.","HP":"67","Sp. Atk":"77","Sp. Def":"55","Species":"Courting Pok\u00e9mon","Speed":"114","Total":"425","Type":["Psychic","Flying"]},"Sylveon":{"#":"700","Attack":"65","Defense":"65","FlavorText":"","HP":"95","Sp. Atk":"110","Sp. Def":"130","Species":"Intertwining Pok\u00e9mon","Speed":"60","Total":"525","Type":["Fairy"]},"Taillow":{"#":"276","Attack":"55","Defense":"30","FlavorText":"","HP":"40","Sp. Atk":"30","Sp. Def":"30","Species":"TinySwallow Pok\u00e9mon","Speed":"85","Total":"270","Type":["Normal","Flying"]},"Talonflame":{"#":"663","Attack":"81","Defense":"71","FlavorText":"","HP":"78","Sp. Atk":"74","Sp. Def":"69","Species":"Scorching Pok\u00e9mon","Speed":"126","Total":"499","Type":["Fire","Flying"]},"Tangela":{"#":"114","Attack":"55","Defense":"115","FlavorText":"","HP":"65","Sp. Atk":"100","Sp. Def":"40","Species":"Vine Pok\u00e9mon","Speed":"60","Total":"435","Type":["Grass"]},"Tangrowth":{"#":"465","Attack":"100","Defense":"125","FlavorText":"Its vines grow so profusely that, in the warm season, you can\u2019t even see its eyes.","HP":"100","Sp. Atk":"110","Sp. Def":"50","Species":"Vine Pok\u00e9mon","Speed":"50","Total":"535","Type":["Grass"]},"Tauros":{"#":"128","Attack":"100","Defense":"95","FlavorText":"","HP":"75","Sp. Atk":"40","Sp. Def":"70","Species":"Wild Bull Pok\u00e9mon","Speed":"110","Total":"490","Type":["Normal"]},"Teddiursa":{"#":"216","Attack":"80","Defense":"50","FlavorText":"It licks its palms that are sweetened by being soaked in honey. A TEDDIURSA makes its own honey by blending fruits and pollen collected by BEEDRILL.","HP":"60","Sp. Atk":"50","Sp. Def":"50","Species":"Little Bear Pok\u00e9mon","Speed":"40","Total":"330","Type":["Normal"]},"Tentacool":{"#":"072","Attack":"40","Defense":"35","FlavorText":"","HP":"40","Sp. Atk":"50","Sp. Def":"100","Species":"Jellyfish Pok\u00e9mon","Speed":"70","Total":"335","Type":["Water","Poison"]},"Tentacruel":{"#":"073","Attack":"70","Defense":"65","FlavorText":"","HP":"80","Sp. Atk":"80","Sp. Def":"120","Species":"Jellyfish Pok\u00e9mon","Speed":"100","Total":"515","Type":["Water","Poison"]},"Tepig":{"#":"498","Attack":"63","Defense":"45","FlavorText":"","HP":"65","Sp. Atk":"45","Sp. Def":"45","Species":"Fire Pig Pok\u00e9mon","Speed":"45","Total":"308","Type":["Fire"]},"Terrakion":{"#":"639","Attack":"129","Defense":"90","FlavorText":"","HP":"91","Sp. Atk":"72","Sp. Def":"90","Species":"Cavern Pok\u00e9mon","Speed":"108","Total":"580","Type":["Rock","Fighting"]},"Throh":{"#":"538","Attack":"100","Defense":"85","FlavorText":"When it encounters a foe bigger than itself, it wants to throw it. It changes belts as it gets stronger.","HP":"120","Sp. Atk":"30","Sp. Def":"85","Species":"Judo Pok\u00e9mon","Speed":"45","Total":"465","Type":["Fighting"]},"Thundurus ( Incarnate Forme )":{"#":"642","Attack":"115","Defense":"70","FlavorText":"","HP":"79","Sp. Atk":"125","Sp. Def":"80","Species":"","Speed":"111","Total":"580","Type":["Electric","Flying"]},"Thundurus ( Therian Forme )":{"#":"642","Attack":"105","Defense":"70","FlavorText":"","HP":"79","Sp. Atk":"145","Sp. Def":"80","Species":"","Speed":"101","Total":"580","Type":["Electric","Flying"]},"Timburr":{"#":"532","Attack":"80","Defense":"55","FlavorText":"Always carrying squared logs, they help out with construction. As they grow, they carry bigger logs.","HP":"75","Sp. Atk":"25","Sp. Def":"35","Species":"Muscular Pok\u00e9mon","Speed":"35","Total":"305","Type":["Fighting"]},"Tirtouga":{"#":"564","Attack":"78","Defense":"103","FlavorText":"","HP":"54","Sp. Atk":"53","Sp. Def":"45","Species":"Prototurtle Pok\u00e9mon","Speed":"22","Total":"355","Type":["Water","Rock"]},"Togekiss":{"#":"468","Attack":"50","Defense":"95","FlavorText":"","HP":"85","Sp. Atk":"120","Sp. Def":"115","Species":"Jubilee Pok\u00e9mon","Speed":"80","Total":"545","Type":["Fairy","Flying"]},"Togepi":{"#":"175","Attack":"20","Defense":"65","FlavorText":"As its energy, it uses the feelings of compassion and pleasure exuded by people and POK\u00e9MON. It stores up happy feelings in its shell, then shares them out.","HP":"35","Sp. Atk":"40","Sp. Def":"65","Species":"Spike Ball Pok\u00e9mon","Speed":"20","Total":"245","Type":["Fairy"]},"Togetic":{"#":"176","Attack":"40","Defense":"85","FlavorText":"It is said to be a POK\u00e9MON that brings good fortune. When it spots someone who is pure of heart, a TOGETIC appears and shares its happiness with that person.","HP":"55","Sp. Atk":"80","Sp. Def":"105","Species":"Happiness Pok\u00e9mon","Speed":"40","Total":"405","Type":["Fairy","Flying"]},"Torchic":{"#":"255","Attack":"60","Defense":"40","FlavorText":"","HP":"45","Sp. Atk":"70","Sp. Def":"50","Species":"Chick Pok\u00e9mon","Speed":"45","Total":"310","Type":["Fire"]},"Torkoal":{"#":"324","Attack":"85","Defense":"140","FlavorText":"","HP":"70","Sp. Atk":"85","Sp. Def":"70","Species":"Coal Pok\u00e9mon","Speed":"20","Total":"470","Type":["Fire"]},"Tornadus ( Incarnate Forme )":{"#":"641","Attack":"115","Defense":"70","FlavorText":"","HP":"79","Sp. Atk":"125","Sp. Def":"80","Species":"","Speed":"111","Total":"580","Type":["Flying"]},"Tornadus ( Therian Forme )":{"#":"641","Attack":"100","Defense":"80","FlavorText":"","HP":"79","Sp. Atk":"110","Sp. Def":"90","Species":"","Speed":"121","Total":"580","Type":["Flying"]},"Torterra":{"#":"389","Attack":"109","Defense":"105","FlavorText":"","HP":"95","Sp. Atk":"75","Sp. Def":"85","Species":"Continent Pok\u00e9mon","Speed":"56","Total":"525","Type":["Grass","Ground"]},"Totodile":{"#":"158","Attack":"65","Defense":"64","FlavorText":"","HP":"50","Sp. Atk":"44","Sp. Def":"48","Species":"Big Jaw Pok\u00e9mon","Speed":"43","Total":"314","Type":["Water"]},"Toxicroak":{"#":"454","Attack":"106","Defense":"65","FlavorText":"","HP":"83","Sp. Atk":"86","Sp. Def":"65","Species":"Toxic Mouth Pok\u00e9mon","Speed":"85","Total":"490","Type":["Poison","Fighting"]},"Tranquill":{"#":"520","Attack":"77","Defense":"62","FlavorText":"","HP":"62","Sp. Atk":"50","Sp. Def":"42","Species":"Wild Pigeon Pok\u00e9mon","Speed":"65","Total":"358","Type":["Normal","Flying"]},"Trapinch":{"#":"328","Attack":"100","Defense":"45","FlavorText":"","HP":"45","Sp. Atk":"45","Sp. Def":"45","Species":"Ant Pit Pok\u00e9mon","Speed":"10","Total":"290","Type":["Ground"]},"Treecko":{"#":"252","Attack":"45","Defense":"35","FlavorText":"","HP":"40","Sp. Atk":"65","Sp. Def":"55","Species":"Wood Gecko Pok\u00e9mon","Speed":"70","Total":"310","Type":["Grass"]},"Trevenant":{"#":"709","Attack":"110","Defense":"76","FlavorText":"","HP":"85","Sp. Atk":"65","Sp. Def":"82","Species":"Elder Tree Pok\u00e9mon","Speed":"56","Total":"474","Type":["Ghost","Grass"]},"Tropius":{"#":"357","Attack":"68","Defense":"83","FlavorText":"","HP":"99","Sp. Atk":"72","Sp. Def":"87","Species":"Fruit Pok\u00e9mon","Speed":"51","Total":"460","Type":["Grass","Flying"]},"Trubbish":{"#":"568","Attack":"50","Defense":"62","FlavorText":"Inhaling the gas they belch will make you sleep for a week. They prefer unsanitary places.","HP":"50","Sp. Atk":"40","Sp. Def":"62","Species":"Trash Bag Pok\u00e9mon","Speed":"65","Total":"329","Type":["Poison"]},"Turtwig":{"#":"387","Attack":"68","Defense":"64","FlavorText":"","HP":"55","Sp. Atk":"45","Sp. Def":"55","Species":"Tiny Leaf Pok\u00e9mon","Speed":"31","Total":"318","Type":["Grass"]},"Tympole":{"#":"535","Attack":"50","Defense":"40","FlavorText":"","HP":"50","Sp. Atk":"50","Sp. Def":"40","Species":"Tadpole Pok\u00e9mon","Speed":"64","Total":"294","Type":["Water"]},"Tynamo":{"#":"602","Attack":"55","Defense":"40","FlavorText":"","HP":"35","Sp. Atk":"45","Sp. Def":"40","Species":"EleFish Pok\u00e9mon","Speed":"60","Total":"275","Type":["Electric"]},"Typhlosion":{"#":"157","Attack":"84","Defense":"78","FlavorText":"","HP":"78","Sp. Atk":"109","Sp. Def":"85","Species":"Volcano Pok\u00e9mon","Speed":"100","Total":"534","Type":["Fire"]},"Tyranitar":{"#":"248","Attack":"134","Defense":"110","FlavorText":"","HP":"100","Sp. Atk":"95","Sp. Def":"100","Species":"Armor Pok\u00e9mon","Speed":"61","Total":"600","Type":["Rock","Dark"]},"Tyranitar ( Mega Tyranitar )":{"#":"248","Attack":"164","Defense":"150","FlavorText":"","HP":"100","Sp. Atk":"95","Sp. Def":"120","Species":"","Speed":"71","Total":"700","Type":["Rock","Dark"]},"Tyrantrum":{"#":"697","Attack":"121","Defense":"119","FlavorText":"","HP":"82","Sp. Atk":"69","Sp. Def":"59","Species":"Despot Pok\u00e9mon","Speed":"71","Total":"521","Type":["Rock","Dragon"]},"Tyrogue":{"#":"236","Attack":"35","Defense":"35","FlavorText":"","HP":"35","Sp. Atk":"35","Sp. Def":"35","Species":"Scuffle Pok\u00e9mon","Speed":"35","Total":"210","Type":["Fighting"]},"Tyrunt":{"#":"696","Attack":"89","Defense":"77","FlavorText":"","HP":"58","Sp. Atk":"45","Sp. Def":"45","Species":"Royal Heir Pok\u00e9mon","Speed":"48","Total":"362","Type":["Rock","Dragon"]},"Umbreon":{"#":"197","Attack":"65","Defense":"110","FlavorText":"","HP":"95","Sp. Atk":"60","Sp. Def":"130","Species":"Moonlight Pok\u00e9mon","Speed":"65","Total":"525","Type":["Dark"]},"Unfezant":{"#":"521","Attack":"115","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"65","Sp. Def":"55","Species":"Proud Pok\u00e9mon","Speed":"93","Total":"488","Type":["Normal","Flying"]},"Unown":{"#":"201","Attack":"72","Defense":"48","FlavorText":"","HP":"48","Sp. Atk":"72","Sp. Def":"48","Species":"Symbol Pok\u00e9mon","Speed":"48","Total":"336","Type":["Psychic"]},"Ursaring":{"#":"217","Attack":"130","Defense":"75","FlavorText":"In forests, it is said that there are many streams and towering trees where an URSARING gathers food. It walks through its forest collecting food every day.","HP":"90","Sp. Atk":"75","Sp. Def":"75","Species":"Hibernator Pok\u00e9mon","Speed":"55","Total":"500","Type":["Normal"]},"Uxie":{"#":"480","Attack":"75","Defense":"130","FlavorText":"","HP":"75","Sp. Atk":"75","Sp. Def":"130","Species":"Knowledge Pok\u00e9mon","Speed":"95","Total":"580","Type":["Psychic"]},"Vanillish":{"#":"583","Attack":"65","Defense":"65","FlavorText":"","HP":"51","Sp. Atk":"80","Sp. Def":"75","Species":"Icy Snow Pok\u00e9mon","Speed":"59","Total":"395","Type":["Ice"]},"Vanillite":{"#":"582","Attack":"50","Defense":"50","FlavorText":"","HP":"36","Sp. Atk":"65","Sp. Def":"60","Species":"Fresh Snow Pok\u00e9mon","Speed":"44","Total":"305","Type":["Ice"]},"Vanilluxe":{"#":"584","Attack":"95","Defense":"85","FlavorText":"","HP":"71","Sp. Atk":"110","Sp. Def":"95","Species":"Snowstorm Pok\u00e9mon","Speed":"79","Total":"535","Type":["Ice"]},"Vaporeon":{"#":"134","Attack":"65","Defense":"60","FlavorText":"","HP":"130","Sp. Atk":"110","Sp. Def":"95","Species":"Bubble Jet Pok\u00e9mon","Speed":"65","Total":"525","Type":["Water"]},"Venipede":{"#":"543","Attack":"45","Defense":"59","FlavorText":"Its bite injects a potent poison, enough to paralyze large bird Pok\u00e9mon that try to prey on it.","HP":"30","Sp. Atk":"30","Sp. Def":"39","Species":"Centipede Pok\u00e9mon","Speed":"57","Total":"260","Type":["Bug","Poison"]},"Venomoth":{"#":"049","Attack":"65","Defense":"60","FlavorText":"The scales it scatters will paralyze anyone who touches them, making that person unable to stand.","HP":"70","Sp. Atk":"90","Sp. Def":"75","Species":"Poison Moth Pok\u00e9mon","Speed":"90","Total":"450","Type":["Bug","Poison"]},"Venonat":{"#":"048","Attack":"55","Defense":"50","FlavorText":"The small bugs it eats appear only at night, so it sleeps in a hole in a tree until night falls.","HP":"60","Sp. Atk":"40","Sp. Def":"55","Species":"Insect Pok\u00e9mon","Speed":"45","Total":"305","Type":["Bug","Poison"]},"Venusaur":{"#":"003","Attack":"82","Defense":"83","FlavorText":"","HP":"80","Sp. Atk":"100","Sp. Def":"100","Species":"Seed Pok\u00e9mon","Speed":"80","Total":"525","Type":["Grass","Poison"]},"Venusaur ( Mega Venusaur )":{"#":"003","Attack":"100","Defense":"123","FlavorText":"","HP":"80","Sp. Atk":"122","Sp. Def":"120","Species":"","Speed":"80","Total":"625","Type":["Grass","Poison"]},"Vespiquen":{"#":"416","Attack":"80","Defense":"102","FlavorText":"","HP":"70","Sp. Atk":"80","Sp. Def":"102","Species":"Beehive Pok\u00e9mon","Speed":"40","Total":"474","Type":["Bug","Flying"]},"Vibrava":{"#":"329","Attack":"70","Defense":"50","FlavorText":"","HP":"50","Sp. Atk":"50","Sp. Def":"50","Species":"Vibration Pok\u00e9mon","Speed":"70","Total":"340","Type":["Ground","Dragon"]},"Victini":{"#":"494","Attack":"100","Defense":"100","FlavorText":"","HP":"100","Sp. Atk":"100","Sp. Def":"100","Species":"Victory Pok\u00e9mon","Speed":"100","Total":"600","Type":["Psychic","Fire"]},"Victreebel":{"#":"071","Attack":"105","Defense":"65","FlavorText":"Once ingested into this POK\u00e9MON's body, even the hardest object will melt into nothing.","HP":"80","Sp. Atk":"100","Sp. Def":"70","Species":"Flycatcher Pok\u00e9mon","Speed":"70","Total":"490","Type":["Grass","Poison"]},"Vigoroth":{"#":"288","Attack":"80","Defense":"80","FlavorText":"","HP":"80","Sp. Atk":"55","Sp. Def":"55","Species":"Wild Monkey Pok\u00e9mon","Speed":"90","Total":"440","Type":["Normal"]},"Vileplume":{"#":"045","Attack":"80","Defense":"85","FlavorText":"","HP":"75","Sp. Atk":"110","Sp. Def":"90","Species":"Flower Pok\u00e9mon","Speed":"50","Total":"490","Type":["Grass","Poison"]},"Virizion":{"#":"640","Attack":"90","Defense":"72","FlavorText":"","HP":"91","Sp. Atk":"90","Sp. Def":"129","Species":"Grassland Pok\u00e9mon","Speed":"108","Total":"580","Type":["Grass","Fighting"]},"Vivillon":{"#":"666","Attack":"52","Defense":"50","FlavorText":"","HP":"80","Sp. Atk":"90","Sp. Def":"50","Species":"Scale Pok\u00e9mon","Speed":"89","Total":"411","Type":["Bug","Flying"]},"Volbeat":{"#":"313","Attack":"73","Defense":"55","FlavorText":"With their taillights lit, VOLBEAT fly in a swarm, drawing geometric designs in the night sky. They move their nests if their pond water becomes dirty.","HP":"65","Sp. Atk":"47","Sp. Def":"75","Species":"Firefly Pok\u00e9mon","Speed":"85","Total":"400","Type":["Bug"]},"Volcanion":{"#":"721","Attack":"110","Defense":"120","FlavorText":"","HP":"80","Sp. Atk":"130","Sp. Def":"90","Species":"Steam Pok\u00e9mon","Speed":"70","Total":"600","Type":["Fire","Water"]},"Volcarona":{"#":"637","Attack":"60","Defense":"65","FlavorText":"","HP":"85","Sp. Atk":"135","Sp. Def":"105","Species":"Sun Pok\u00e9mon","Speed":"100","Total":"550","Type":["Bug","Fire"]},"Voltorb":{"#":"100","Attack":"30","Defense":"50","FlavorText":"","HP":"40","Sp. Atk":"55","Sp. Def":"55","Species":"Ball Pok\u00e9mon","Speed":"100","Total":"330","Type":["Electric"]},"Vullaby":{"#":"629","Attack":"55","Defense":"75","FlavorText":"","HP":"70","Sp. Atk":"45","Sp. Def":"65","Species":"Diapered Pok\u00e9mon","Speed":"60","Total":"370","Type":["Dark","Flying"]},"Vulpix":{"#":"037","Attack":"41","Defense":"40","FlavorText":"","HP":"38","Sp. Atk":"50","Sp. Def":"65","Species":"Fox Pok\u00e9mon","Speed":"65","Total":"299","Type":["Fire"]},"Wailmer":{"#":"320","Attack":"70","Defense":"35","FlavorText":"","HP":"130","Sp. Atk":"70","Sp. Def":"35","Species":"Ball Whale Pok\u00e9mon","Speed":"60","Total":"400","Type":["Water"]},"Wailord":{"#":"321","Attack":"90","Defense":"45","FlavorText":"","HP":"170","Sp. Atk":"90","Sp. Def":"45","Species":"Float Whale Pok\u00e9mon","Speed":"60","Total":"500","Type":["Water"]},"Walrein":{"#":"365","Attack":"80","Defense":"90","FlavorText":"To protect its herd, the leader battles anything that invades its territory, even at the cost of its life. Its tusks may snap off in battle.","HP":"110","Sp. Atk":"95","Sp. Def":"90","Species":"Ice Break Pok\u00e9mon","Speed":"65","Total":"530","Type":["Ice","Water"]},"Wartortle":{"#":"008","Attack":"63","Defense":"80","FlavorText":"Its long, furry tail is a symbol of longevity, making it quite popular among older people.","HP":"59","Sp. Atk":"65","Sp. Def":"80","Species":"Turtle Pok\u00e9mon","Speed":"58","Total":"405","Type":["Water"]},"Watchog":{"#":"505","Attack":"85","Defense":"69","FlavorText":"When they see an enemy, their tails stand high, and they spit the seeds of berries stored in their cheek pouches.","HP":"60","Sp. Atk":"60","Sp. Def":"69","Species":"Lookout Pok\u00e9mon","Speed":"77","Total":"420","Type":["Normal"]},"Weavile":{"#":"461","Attack":"120","Defense":"65","FlavorText":"","HP":"70","Sp. Atk":"45","Sp. Def":"85","Species":"Sharp Claw Pok\u00e9mon","Speed":"125","Total":"510","Type":["Dark","Ice"]},"Weedle":{"#":"013","Attack":"35","Defense":"30","FlavorText":"The barb on top of its head secretes a strong poison. It uses this toxic barb to protect itself.","HP":"40","Sp. Atk":"20","Sp. Def":"20","Species":"Hairy Bug Pok\u00e9mon","Speed":"50","Total":"195","Type":["Bug","Poison"]},"Weepinbell":{"#":"070","Attack":"90","Defense":"50","FlavorText":"When it's hungry, it swings its razor-sharp leaves, slicing up any unlucky object nearby for food.","HP":"65","Sp. Atk":"85","Sp. Def":"45","Species":"Flycatcher Pok\u00e9mon","Speed":"55","Total":"390","Type":["Grass","Poison"]},"Weezing":{"#":"110","Attack":"90","Defense":"120","FlavorText":"","HP":"65","Sp. Atk":"85","Sp. Def":"70","Species":"Poison Gas Pok\u00e9mon","Speed":"60","Total":"490","Type":["Poison"]},"Whimsicott":{"#":"547","Attack":"67","Defense":"85","FlavorText":"","HP":"60","Sp. Atk":"77","Sp. Def":"75","Species":"Windveiled Pok\u00e9mon","Speed":"116","Total":"480","Type":["Grass","Fairy"]},"Whirlipede":{"#":"544","Attack":"55","Defense":"99","FlavorText":"It is usually motionless, but when attacked, it rotates at high speed and then crashes into its opponent.","HP":"40","Sp. Atk":"40","Sp. Def":"79","Species":"Curlipede Pok\u00e9mon","Speed":"47","Total":"360","Type":["Bug","Poison"]},"Whiscash":{"#":"340","Attack":"78","Defense":"73","FlavorText":"","HP":"110","Sp. Atk":"76","Sp. Def":"71","Species":"Whiskers Pok\u00e9mon","Speed":"60","Total":"468","Type":["Water","Ground"]},"Whismur":{"#":"293","Attack":"51","Defense":"23","FlavorText":"","HP":"64","Sp. Atk":"51","Sp. Def":"23","Species":"Whisper Pok\u00e9mon","Speed":"28","Total":"240","Type":["Normal"]},"Wigglytuff":{"#":"040","Attack":"70","Defense":"45","FlavorText":"","HP":"140","Sp. Atk":"85","Sp. Def":"50","Species":"Balloon Pok\u00e9mon","Speed":"45","Total":"435","Type":["Normal","Fairy"]},"Wingull":{"#":"278","Attack":"30","Defense":"30","FlavorText":"","HP":"40","Sp. Atk":"55","Sp. Def":"30","Species":"Seagull Pok\u00e9mon","Speed":"85","Total":"270","Type":["Water","Flying"]},"Wobbuffet":{"#":"202","Attack":"33","Defense":"58","FlavorText":"","HP":"190","Sp. Atk":"33","Sp. Def":"58","Species":"Patient Pok\u00e9mon","Speed":"33","Total":"405","Type":["Psychic"]},"Woobat":{"#":"527","Attack":"45","Defense":"43","FlavorText":"The heart-shaped mark left on a body after a Woobat has been attached to it is said to bring good fortune.","HP":"55","Sp. Atk":"55","Sp. Def":"43","Species":"Bat Pok\u00e9mon","Speed":"72","Total":"313","Type":["Psychic","Flying"]},"Wooper":{"#":"194","Attack":"45","Defense":"45","FlavorText":"","HP":"55","Sp. Atk":"25","Sp. Def":"25","Species":"Water Fish Pok\u00e9mon","Speed":"15","Total":"210","Type":["Water","Ground"]},"Wormadam ( Plant Cloak )":{"#":"413","Attack":"59","Defense":"85","FlavorText":"","HP":"60","Sp. Atk":"79","Sp. Def":"105","Species":"","Speed":"36","Total":"424","Type":["Bug","Grass"]},"Wormadam ( Sandy Cloak )":{"#":"413","Attack":"79","Defense":"105","FlavorText":"","HP":"60","Sp. Atk":"59","Sp. Def":"85","Species":"","Speed":"36","Total":"424","Type":["Bug","Ground"]},"Wormadam ( Trash Cloak )":{"#":"413","Attack":"69","Defense":"95","FlavorText":"","HP":"60","Sp. Atk":"69","Sp. Def":"95","Species":"","Speed":"36","Total":"424","Type":["Bug","Steel"]},"Wurmple":{"#":"265","Attack":"45","Defense":"35","FlavorText":"Often targeted by bird Pok\u00e9mon, it desperately resists by releasing poison from its tail spikes.","HP":"45","Sp. Atk":"20","Sp. Def":"30","Species":"Worm Pok\u00e9mon","Speed":"20","Total":"195","Type":["Bug"]},"Wynaut":{"#":"360","Attack":"23","Defense":"48","FlavorText":"","HP":"95","Sp. Atk":"23","Sp. Def":"48","Species":"Bright Pok\u00e9mon","Speed":"23","Total":"260","Type":["Psychic"]},"Xatu":{"#":"178","Attack":"75","Defense":"70","FlavorText":"","HP":"65","Sp. Atk":"95","Sp. Def":"70","Species":"Mystic Pok\u00e9mon","Speed":"95","Total":"470","Type":["Psychic","Flying"]},"Xerneas":{"#":"716","Attack":"131","Defense":"95","FlavorText":"","HP":"126","Sp. Atk":"131","Sp. Def":"98","Species":"Life Pok\u00e9mon","Speed":"99","Total":"680","Type":["Fairy"]},"Yamask":{"#":"562","Attack":"30","Defense":"85","FlavorText":"","HP":"38","Sp. Atk":"55","Sp. Def":"65","Species":"Spirit Pok\u00e9mon","Speed":"30","Total":"303","Type":["Ghost"]},"Yanma":{"#":"193","Attack":"65","Defense":"45","FlavorText":"","HP":"65","Sp. Atk":"75","Sp. Def":"45","Species":"Clear Wing Pok\u00e9mon","Speed":"95","Total":"390","Type":["Bug","Flying"]},"Yanmega":{"#":"469","Attack":"76","Defense":"86","FlavorText":"","HP":"86","Sp. Atk":"116","Sp. Def":"56","Species":"Ogre Darner Pok\u00e9mon","Speed":"95","Total":"515","Type":["Bug","Flying"]},"Yveltal":{"#":"717","Attack":"131","Defense":"95","FlavorText":"","HP":"126","Sp. Atk":"131","Sp. Def":"98","Species":"Destruction Pok\u00e9mon","Speed":"99","Total":"680","Type":["Dark","Flying"]},"Zangoose":{"#":"335","Attack":"115","Defense":"60","FlavorText":"When it battles, it stands on its hind legs and attacks with its sharply clawed forelegs. Its fur bristles if it encounters any SEVIPER.","HP":"73","Sp. Atk":"60","Sp. Def":"60","Species":"Cat Ferret Pok\u00e9mon","Speed":"90","Total":"458","Type":["Normal"]},"Zapdos":{"#":"145","Attack":"90","Defense":"85","FlavorText":"Legendary bird POK\u00e9MON. They say lightning caused by the flapping of its wings causes summer storms.","HP":"90","Sp. Atk":"125","Sp. Def":"90","Species":"Electric Pok\u00e9mon","Speed":"100","Total":"580","Type":["Electric","Flying"]},"Zebstrika":{"#":"523","Attack":"100","Defense":"63","FlavorText":"","HP":"75","Sp. Atk":"80","Sp. Def":"63","Species":"Thunderbolt Pok\u00e9mon","Speed":"116","Total":"497","Type":["Electric"]},"Zekrom":{"#":"644","Attack":"150","Defense":"120","FlavorText":"","HP":"100","Sp. Atk":"120","Sp. Def":"100","Species":"Deep Black Pok\u00e9mon","Speed":"90","Total":"680","Type":["Dragon","Electric"]},"Zigzagoon":{"#":"263","Attack":"30","Defense":"41","FlavorText":"Rubbing its nose against the ground, it always wanders about back and forth in search of something. It is distinguished by the zigzag footprints it leaves.","HP":"38","Sp. Atk":"30","Sp. Def":"41","Species":"TinyRaccoon Pok\u00e9mon","Speed":"60","Total":"240","Type":["Normal"]},"Zoroark":{"#":"571","Attack":"105","Defense":"60","FlavorText":"","HP":"60","Sp. Atk":"120","Sp. Def":"60","Species":"Illusion Fox Pok\u00e9mon","Speed":"105","Total":"510","Type":["Dark"]},"Zorua":{"#":"570","Attack":"65","Defense":"40","FlavorText":"","HP":"40","Sp. Atk":"80","Sp. Def":"40","Species":"Tricky Fox Pok\u00e9mon","Speed":"65","Total":"330","Type":["Dark"]},"Zubat":{"#":"041","Attack":"45","Defense":"35","FlavorText":"","HP":"40","Sp. Atk":"30","Sp. Def":"40","Species":"Bat Pok\u00e9mon","Speed":"55","Total":"245","Type":["Poison","Flying"]},"Zweilous":{"#":"634","Attack":"85","Defense":"70","FlavorText":"","HP":"72","Sp. Atk":"65","Sp. Def":"70","Species":"Hostile Pok\u00e9mon","Speed":"58","Total":"420","Type":["Dark","Dragon"]},"Zygarde50% ( Forme )":{"#":"718","Attack":"100","Defense":"121","FlavorText":"","HP":"108","Sp. Atk":"81","Sp. Def":"95","Species":"","Speed":"95","Total":"600","Type":["Dragon","Ground"]}} diff --git a/PokedexTests/Info.plist b/PokedexTests/Info.plist new file mode 100644 index 0000000..6c6c23c --- /dev/null +++ b/PokedexTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/PokedexTests/PokedexTests.swift b/PokedexTests/PokedexTests.swift new file mode 100644 index 0000000..06b8be3 --- /dev/null +++ b/PokedexTests/PokedexTests.swift @@ -0,0 +1,36 @@ +// +// PokedexTests.swift +// PokedexTests +// +// Created by SAMEER SURESH on 9/25/16. +// Copyright © 2016 trainingprogram. All rights reserved. +// + +import XCTest +@testable import Pokedex + +class PokedexTests: XCTestCase { + + override func setUp() { + super.setUp() + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + super.tearDown() + } + + func testExample() { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/PokedexUITests/Info.plist b/PokedexUITests/Info.plist new file mode 100644 index 0000000..6c6c23c --- /dev/null +++ b/PokedexUITests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/PokedexUITests/PokedexUITests.swift b/PokedexUITests/PokedexUITests.swift new file mode 100644 index 0000000..763b9e0 --- /dev/null +++ b/PokedexUITests/PokedexUITests.swift @@ -0,0 +1,36 @@ +// +// PokedexUITests.swift +// PokedexUITests +// +// Created by SAMEER SURESH on 9/25/16. +// Copyright © 2016 trainingprogram. All rights reserved. +// + +import XCTest + +class PokedexUITests: XCTestCase { + + override func setUp() { + super.setUp() + + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method. + XCUIApplication().launch() + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + super.tearDown() + } + + func testExample() { + // Use recording to get started writing UI tests. + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + +} diff --git a/README.md b/README.md index 94139a4..2d5fde5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,2 @@ # proj2FA17iOS -Repository for Fall 2017 MDB iOS Training Program Mini-Project 2 Submissions - -Finalized mini-projects should be stored in personal portfolios, but this repository will be used for providing feedback on code quality using the GitHub code review features. - -When pushing code to this repo, DO NOT push to master. Create a new branch and open a pull request. +This is a Pokedex app which allows user to search for either Pokemon name or search by inputting all critera for defense points, health points, and attack points. It displays both a list and collection view of the Pokemon based on the search and if the user clicks on a specific Pokemon, it displays its profile.