From 2c7f440cda98299462764b4d0b4735c56a8490ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A2=85=EB=AF=B8=28=EB=AF=B8=EC=95=84=29?= <101439796+jongmee@users.noreply.github.com> Date: Thu, 14 Nov 2024 17:07:36 +0900 Subject: [PATCH] =?UTF-8?q?[BE-INFRA]=20API=201.1.1=20=EB=B0=B0=ED=8F=AC?= =?UTF-8?q?=20=20(#444)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 사진 저장 후 링크 반환 기능 * test: 도감 상세 정보 조회 api 컨트롤러 테스트 메소드명, display name 수정 * chore: ci db mysql로 교체 * refactor: url에서 id를 추출하는 로직 DataUrl로 이동 * test: AcceptanceTest 추상 클래스로 변경 * test: 어플리케이션 테스트에 profile 설정 추가 * chore: 테스트 로그 추가 * fix: 오탈자 수정 * test: PokemonControllerTest 삭제 * test: 존재하지 않는 포켓몬의 상세 정보를 조회 테스트를 경계값으로 변경 * feat: 포켓몬 타입 상성 API를 조회하는 기능 * refactor: 변수명 및 개행 수정 * style: 개행 수정 * fix: jpql문 수정 * feat: 타입 로고 링크를 저장하는 기능 * refactor: height, weight를 double로 수정 * refactor: name을 koName으로 수정 * refactor: speed도 반환하도록 수정 * refactor: ability의 description 개행 삭제 * refactor: 타입 영어이름으로 반환하도록 수정 * chore: nginx ipv6, keepalive 설정 변경 * chore: prod db의 ddl-auto 설정 none으로 변경 * chore: DatabaseInitializer profile 설정 * refactor: 포켓몬 특성에 id도 같이 반환하도록 수정 * style: 개행 수정 * hotfix: nginx config 파일 수정 * hotfix: 오탈자 수정 * hotfix: 오탈자 수정 * chore: nginx upstream 재설정 * chore: nginx default server 제거 * chore: nginx default server 복구 * chore: nginx 로그 설정 * chore: cd 브랜치 dev로 복구 * refactor: log 상세화 및 ExceptionHandler 추가 * chore: Exception 메시지 변경 * refactor: fail2ban 관련 설정 파일 추가 및 수정 * refactor: CD 테스트를 위한 트리거 변경 * fix: 오탈자 수정 * feat: pokemon_type_matching 컬럼 수정 (type fk로 변경) * test: 테스트 json 데이터 추가 * refactor: CD 트리거 develop 브랜치로 변경 * chore: .gitignore 수정 * chore: test environ 패키지 위치 이동 * chore: test environ 패키지 위치 이동 * refactor: RestClient configuration 클래스명 변경 * chore: 변수명 오타 수정 * chore: 개행 컨벤션에 맞게 수정 * chore: environ에서 environment로 패키지 이름 수정 * test: 테스트용 S3 클라이언트 객체 도입, test config 클래스명 수정 * test: 포켓몬 도감 상세 정보 조회 테스트 수정 * chore: db ddl 설정 변경 * refactor: batch insert 메서드 추가 * fix: 타입 상성 3610개 저장되는 오류 수정 * chore: production db ddl 설정 변경 * refactor: 메서드 명 수정 * refactor: 테스트용 api 추가 * chore: test yml 설정 변경 * chore: test yml 에서 format sql 설정 추가 * test: jpa repository 테스트에 쿼리 db 사용 * refactor: PokemonRepository의 findAll 쿼리 메소드 개선 * style: 개행 수정 * refactor: findByIdWithPokemonMappings 쿼리 fetch join으로 변경 * refactor: Batch Insert 로직 분리 * refactor: PokemonRepository의 findById 쿼리 메소드 개선 * chore: 쿼리 로그 레벨 변경 (같은 쿼리 2번 출력 문제 해결) * chore: ci에 test db 추가 * chore: ci test container 확인 * chore: ci test db container 준비될 때까지 기다리는 로직 추가 * chore: ci test db container 준비될 때까지 기다리는 로직 수정 * chore: ci working directory 설정 추가 * chore: ci docker container 살아 있는지 확인 * chore: ci 스크립트에서 불필요한 디렉토리 설정 삭제 * refactor: toList로 변경 * refactor: 타입 매칭 쿼리 개선 * refactor: 테스트 주석 처리 * chore: ci 스크립트의 docker compose secrets로 변경 * chore: cd 스크립트의 docker compose secrets로 변경 * chore: ci 스크립트 불필요한 과정 제거, job 이름 변경 * style: 쿼리 이름 변경 * style: 컨벤션 적용 * refactor: Override 어노테이션 추가 * refactor: 테스트용 log 삽입 * refactor: 주석 삭제 * refactor: 불필요한 변수 제거 * refactor: 불필요한 테스트 api 삭제 * refactor: 2중 for문 Stream으로 수정 * refactor: 불필요한 메서드 분리 통합 * refactor: 불필요한 api 삭제 및 jdbc 클래스 삭제 * refactor: 불필요한 로깅 삭제 * refactor: 변수명 수정 * test: PokemonAbilityTest 작성 * refactor: 변수명 수정 * refactor: 예외 처리 추가 * refactor: 중복 메서드 통합 * refactor: findAll 삭제 * refactor: 개행 추가 * refactor: 예외 처리 추가 * infra: 호스트 러너 label로 변경 * infra: ci에서 docker-compose 스크립트 삭제 * infra: 컨테이너 지우는 스크립트 추가 * fix: 오탈자 수정 * fix: 오탈자 수정 * fix: 오탈자 수정 * test: 깨지는 Test 수정 * infra: 컨테이너 지우는 명령어 수정 * fix: 잘못된 import문 수정 * docs: nginx 설정 변경 - 화이트리스트 추가 - 정상 응답 반환 - * docs: nginx req limit 4r/s로 변경 * fix: 포켓몬 전체 목록 조회 시 id 정렬 추가 * fix: 같은 특성을 가진 포켓몬 목록 조회 시 id 정렬 추가 * docs: nginx 설정 변경 * fix: location 위치 및 주소 변경 * docs: 쓰이지 않는 블럭 삭제 * test: 주석 제거 * [BE-REFACTOR] 내용이 없을 때 저장하는 값 수정 (#151) * refactor: 한글 버전의 이름이나 설명이 없을 시 영어 버전을 저장하도록 수정 * refactor: 도트 이미지가 없을 시 아트 이미지, 아트 이미지도 없을 시 "이미지가 없습니다ㅠㅠ"를 저장하도록 수정 * refactor: 사용하지 않는 메서드 삭제 * refactor: 메서드 오버라이딩 추가 * refactor: for문 Stream으로 수정 * refactor: 변수명 수정 * refactor: 메서드 분리 및 메서드 명 변경 * refactor: 메서드 명 수정 * refactor: 상수화 * refactor: 불필요한 static 삭제 * refactor: 불필요한 static 삭제 * fix: url 오류 수정 (#159) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 (#163) * [BE-FIX] 아이디로 특성을 찾을 때 중복되는 포켓몬 제거 (#165, # 167, #168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 Be/fix/#164 add eng name equals (#167) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 Be/fix/#164 add eng name equals (#168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 * fix: 중복 타입 제거 * build: log-back-encoder 추가 * feat: ELK 설정 파일 추가 * [BE-FIX] 포켓몬이 없는 특성 상세 페이지 조회, 포켓몬 타입 정렬 (#175) * fix: Pokemon entity의 equals와 hashcode 제거 * fix: 포켓몬이 없는 특성 단건 조회 쿼리 수정 * refactor: 특성 조회 테스트에서 지역 변수명 변경 * fix: 특성 상세 정보의 포켓몬 목록 조회시 포켓몬 타입 정렬 추가 * refactor: 포켓몬 엔티티에 정렬된 타입 조회 메소드 추가 * fix: 포켓몬 상세 정보, 목록 조회 서비스 메소드에 타입 정렬 추가 * style: 개행 추가 * chore: resources 파일 반영 및 기존 파일 삭제 * feat: fail2ban 파일 재생성 * feat: logback-spring.xml Profile 별로 설정 * [BE-INFRA] CI, CD에서 사용하는 docker compose 설정 파일 버전 관리 (#187) * chore: ci, cd 관련 yml 추가 * chore: ci 스크립트에서 docker compose 파일을 artifact에서 저장 * chore: ci 스크립트 로그 추가 * chore: ci, cd yml 재설정 * chore: log xml 임시 삭제 * chore: ci에서 artifact 제거 * chore: ci 스크립트 테스트 디비 헬스 체크 명령어 변경 * chore: cd 스크립트 docker compose 생성 방식 변경 * chore: ci working directory 정리 * chore: ci 트리거 브랜치 변경 * chore: cd 스크립트 sudo 권한 정리 * chore: 서브모듈 fetch * hotfix: 배포용 docker compose 파일 이름 변경 * [BE-INFRA] 모니터링 서버 구축 (#196) * chore: 도커파일 서브모듈로 이동, 모니터링 서버 도커 컴포즈 파일 추가 * chore: 모니터링 서버 CD 워크 플로우 추가 * chore: 모니터링 서버 CD 워크 플로우 트리거 태그로 수정 * chore: 모니터링 서버 CD 워크 플로우 태그 이름 수정 * chore: 로그스태시 주소, 키바나 포트 변경 * chore: 로그 설정 변경 후 cd 테스트 * chore: 로그스태시 서버 ip 변경 * chore: cd 워크플로우 러너 재설정 * chore: 모니터링 서버 관련 코드 디렉토리 변경 및 서브모듈 추가 * chore: 모니터링 서버 cd 워크플로우에서 스크립트 경로 수정 * chore: resources 서브모듈 레포 변경 * chore: 모니터링 CD에 수동 트리거 추가 * chore: 모니터링 CD에 실행 중인 도커 컨테이너 제거 추가 * chore: CD 트리거 브랜치 변경 * chore: 모니터링 서버 브랜치 이전 * chore: 3차 스프린트 cd 시연 준비 (#198) * chore: 3차 스프린트 cd 시연 (#199) * [BE-INFRA] CI/CD 워크플로우 수정 (#205) * chore: ci 워크플로우 트리거 변경 * chore: cd 워크플로우에서 nginx와 fail2ban 이미지 푸시 과정 제거 * chore: 테스트 job 파일 분리 * chore: 테스트 job 파일 분리 테스트 * chore: reusable workflow에서 secrets 상속 * chore: cd 워크플로우에서 ci 워크플로우 호출 * chore: cd 워크플로우에서 test, build 순서 지정 * feat: 포켓몬 조회 API * refactor: 수정된 코드 롤백 * [BE-FEAT] 배틀 날씨 리스트 불러오는 API (#222) * feat: 날씨 데이터 세팅 * feat: 날씨 리스트 불러오는 api * refactor: 날씨 데이터 세팅 로직 리팩토링, 날씨 id에 공백 제거 * style: 개행 추가 * refactor: 날씨 id 데이터 변경 * docs: 데이터 추출용 테스트 코드 추가 * refactor: DatabaseInitializer를 원래 코드로 수정 * hotfix: 파일 경로 절대 경로로 변경 * hotfix: resources로 데이터 위치 변경 * [BE-FEAT] 바이옴 리스트를 불러오는 API (#231) * feat: 특성, 기술 머신, 날씨 정보 추출 기능 * feat: 바이옴 리스트 불러오는 API * refactor: 절대 경로를 상대 경로로 수정 * refactor: txt파일을 파싱하는 로직 이동 * refactor: String으로 저장하던 것을 객체로 변환 * refactor: 필드 변수를 메서드 내부 변수로 이동 * refactor: 에러 처리 및 개행 추가 * test: 바이옴 데이터 세팅 테스트 * rename: 폴더명 수정 * refactor: try-with-resource문으로 예외처리 * chore: 바이옴 데이터 추가 * refactor: 파일 경로 수정 * refactor: jar파일 배포 문제로 인해 파일을 읽는 방식 변경 * feat: 포켓몬 조회 API * refactor: 디비 초기화 클래스 패키지 이동 * fix: 오탈자 수정 * chore: 포켓몬 데이터 추가 * fix: 잘못된 resolve 수정 * refactor: stringid 변수명 변경 * rename: 파일 이름 변경 * [BE-FEAT] 포켓몬의 기술 리스트 불러오는 API (#237) * refactor: WeatherRepository 컴포넌트 애너테이션 변경 * feat: 기술 데이터 세팅 * refactor: 기술 id 저장 데이터 변경 * feat: 포켓몬의 기술 데이터 세팅 * feat: 포켓몬의 기술 리스트 불러오는 api * chore: 기술 데이터 추가 * feat: 기술 리스트에서 타입, 카테고리 로고 함께 반환 * fix: 빈 문자열 저장하는 오류 * refactor: 포켓몬 타입 enum 생성 * test: 모든 도감 번호에 대해서 기술 리스트 조회 테스트 * refactor: 포켓몬 타입 레포지토리 생성 * refactor: 기술 카테고리 enum 생성 * style: 개행 추가 * style: enum 개행 추가 * chore: 데이터 추가 히스토리 맞추기 * fix: 중복되는 bean 이름 변경 * fix: 기술 리스트에서 카테고리 로고 이미지 누락 (#248) * [BE-FEAT] 바이옴 세부 정보를 불러오는 API (#253) * refactor: txt파일 형식 변경에 따른 파싱 로직 수정 * feat: 바이옴 세부 정보 불러오는 API * refactor: 바이옴, 트레이너 사진을 가져오도록 수정 * chore: 서브모듈 시점 변경 * refactor: findById의 반환 값 수정 * chore: 서브모듈 커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * feat: 바이옴 세부정보 불러오는 기능 * chore: 서브모듈 커밋 시점 변경 * fix: 테스트 통과 못하는 오류 수정 * refactor: 아이디 형식 변경에 따른 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 불필요한 로그 삭제 * style: 개행 추가 * refactor: 포켓몬 이미지 url 전송 기능 * refactor: 초기화 과정에서 포켓몬 이미지 url 저장하도록 수정 * refactor: 필드 이름 변경 * refactor: 이미지 폴더 경로 수정 * refactor: 메서드명 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * refactor: 다음 바이옴 이름과 출현 확률 추가 * chore: 서브모듈 커밋 시점 변경 * refactor: 마지막 스테이지 다음 바이옴 빈값 반환하도록 수정 * [BE-FEAT] 포켓몬 배틀 결과 계산 API (#261) * feat: 배틀에 사용할 포켓몬, 타입 상성 데이터 세팅 * feat: 배틀 계산 api * refactor: 타입 enum으로 변경 * refactor: weather enum으로 변경 * feat: 배틀 계산에서 강풍 배수 적용 * refactor: 배틀 관련 데이터들 id 영어이름으로 변경 * fix: 날씨 비교 로직 오류 수정 * chore: 불필요한 데이터 삭제 * refactor: 불필요한 코드 제거 * refactor: api 명세에 따라 응답값 변경 * fix: 문법 오류 * style: 개행 추가 * refactor: BattleService 리팩토링 * refactor: MoveCategory 리팩토링 * [BE-REFACTOR] 기술 리스트에 타입과 카테고리 영어 이름 포함 (#268) * refactor: 기술 리스트 조회 api 반환 값 변경 * refactor: 기술 타입, 카테고리 이미지 url 저장값 변경 * refactor: 불필요한 import 제거 * refactor: 이미지 url에서 확장자 제거 * refactor: 기술 카테고리 이미지 getter 수정 * [BE-REFACTOR] 바이옴 타입 전달 시 이름과 함께 전달 (#270) * refactor: 바이옴 타입 반환 시 이름도 같이 반환하도록 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 타입만 로고 확장자 제거 * style: 개행 추가 * style: 개행 추가 * chore: 서브모듈 커밋 시점 최신화 * [BE-REFACTOR] 포켓몬 정보를 불러오는 API (#263) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * remove: .DS_STORE 삭제 * [BE-REFACTOR] 데이터베이스 관련 파일 정리 (#272) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * docs: ds_store 삭제 * [BE-REFACTOR] 포켓몬 타입 응답 파라미터명 변경 (#276) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * refactor: 파라미터명 변경 * chore: ds_store 삭제 * fix: 변수명 수정 * [BE-FEAT] 특성 api txt 파싱 정보로 변환 (#275) * chore: 서브모듈 커밋 시점 변경 * feat: 특성 txt파일로 파싱 * chore: 서버모듈 커밋 시점 변경 * refactor: 출력문 제거 * refactor: 타입 이미지 가져오는 로직 수정 * refactor: 안쓰는 부분 제거 * refactor: empty로 저장되는 데이터를 빈 문자열로 교체 (#277) * [BE-REFACTOR] 포켓몬 get api 리펙터링 (#282) * feat: 포켓몬 전체 리스트 뒷모습 이미지 응답 추가 * feat: 포켓몬 진화 응답에 아이디 추가 및 리스트 destruct * refactor: 진화 응답시 아이템 한글화 * refactor: 메서드 순서 정리 및 try catch 문 재활용 * refactor: empty대신 빈문자열을 반환하도록 변경 * refactor: 타입 이미지 주소 수정 * refactor: 타입 중복, 빈 값 응답 제거 * refactor: 진화 기본폼 응답 못하는 오류 수정 * refactor: 중복 특성 응답 수정 * chore:서브모듈 시점 변경 * fix: typeResponse로 이름 변경 * style: 세미콜론 위치 수정 * refactor: 메서드명 변경 * refactor: 파라미터명 변경 * chore: 서브모듈 커밋 시점 변경 (#289) * [BE-FIX] 특성 파일 오류 수정 (#291) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * [BE-FIX] 데이터 수정 (#292) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * chore: 서브모듈 커밋 시점 변경 * fix: 데이터 변경에 따른 테스트 수정 * fix: 배틀 결과 계산에서 날씨에 의한 기술 무효 조건 추가 (#294) * [BE-REFACTOR] 같은 정보를 담고 있는 파일들 합치기 (#311) * refactor: pokemon-by-biome.txt 삭제 * refactor: ability-pokemon.txt 삭제 * refactor: biome 중복 제거 * refactor: AbilityDatabaseInitializer 삭제 * refactor: data 파일 패키지 분리 * chore: 서브 모듈 커밋 시점 변경 * refactor: 불필요한 import 삭제 * refactor: move-for-pokemon-response.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: BattlePokemon 삭제 * fix: 타입 못 찾는 오류 수정 * refactor: battle-pokemon.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: 과거 코드 삭제 * refactor: 과거 테스트 삭제 * refactor: 기술 중복 전달되는 오류 수정 * test: findMovesByPokemon 테스트 * refactor: 이전에 있던 api 복구 * refactor: 과거 dto 형식으로 복구 * refactor: 디버깅용 출력문 삭제 * refactor: 에러 메시지 추가 * refactor: 변수명 수정 * refactor: 패키지, 클래스명 수정 * refactor: enum 비교로 수정 * refactor: 주석 제거 * refactor: dto 수정 * fix: 대상 Ec2 변경 resources 적용 * [BE-INFRA] 개발, 배포 Github Actions 워크플로우 분리 (#325) * chore: dev cd 워크플로우 생성 * chore: cd 워크플로우 트리거 변경 * chore: jar 배포와 인프라 수정 워크플로우 분리 * chore: cd 워크플로우에서 nginx, fail2ban 빌드 과정 제거 * chore: cd 워크플로우에서 nginx log 파일 관련 명령어 제거 * chore: 워크플로우 파일 이름 변경 * style: 인덴트 통일 * Spring Data Mongo 세팅 (#329) * chore: 로컬 mongodb 연결 * build: mongodb 세팅 * remove: 남아 있는 jpa entity 삭제 * feat: Data mongo document 및 mongo repository 생성 * DataMongoTest 뼈대 코드 추가 (#334) * [BE-TEST] CI에 테스트용 MongoDB 설정 (#340) * chore: ci db 변경 * chore: ci mongodb로 db 교체 * chore: ci 트리거 branch 변경 * chore: ci 테스트에서 profile 설정 제거 * feat(Tier): 들어온 값을 찾아주는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(Type): 들어온 값을 찾아주는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveTarget: MoveTarget Enum 생성 및 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveFlag: MoveFlag Enum 생성 및 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveCategory): 값을 찾아주는 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(EvolutionItem): 값을 찾아주는 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(TypeReadConverter): 읽는 경우 타입으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(MoveTargetConverter): 읽는 경우 MoveTarget 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(MoveCategoryConverter): 읽는 경우 MoveCategory 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(FlagConverter): 읽는 경우 Flag 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(EvolutionItemConverter): 읽는 경우 EvolutionItem 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(TierConverter): 읽는 경우 Tier 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(TypeMatching): TypeMatching entity 생성 * feat(ConverterConfig): Converter Config에 등록 * feat(Biome): Type으로 변동 - Type으로 변동에 따른 사용하는 코드들 변경 - TypeMatchingRepository 이름 변경 * feat(ErrorMessage): 에러 메시지 생성 * modify(,,,): Entity 필드를 Enum으로 받도록 변경 * feat(MongoRepositoryTest): Converter Config 추가 * feat(PokemonTypeService): 포켓몬 타입 API 구현 - TypeMatchingRepository 생성 - 필요한 Response 생성 - 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(BiomeRepositoryTest): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(MoveRepository): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(PokemonRepositoryTest): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * refactor(NextBiome): 생성자 수정 * style(TypeMatching): 패키지 위치 변경 * [BE-INFRA] 개발 DB 서버 설정 (#347) * chore: dev 서버 profile 생성 * chore: dev 서버 logback 설정 * chore: dev 서버 cd 워크플로우에 profile 설정 * chore: dev 서버 cd 워크플로우 수정 테스트 * chore: dev 서버 cd 워크플로우 트리거 복구 * chore: prod 서버 cd runner tag 변경 * [BE-REFACTOR] Biome, Move 정보 MongoDB 사용하도록 리팩토링 (#335) * refactor: Biome MongoDB를 사용하도록 리팩토링 * refactor: Move MongoDB를 사용하도록 리팩토링 * refactor: Biome 관련 사용하지 않는 클래스 삭제 * refactor: 테스트 통과하도록 수정 * refactor: 로그 추가 * test: 테스트 작성 * refactor: 불필요한 필드 및 메소드 삭제 * refactor: 일단 테스트 삭제 * refactor: 일단 테스트 * refactor: 테스트 통과하도록 수정 * refactor: getter 삭제 * refactor: BiomePokemonType 삭제 * refactor: 상수화 * refactor: 메시지 수정 * refactor: AllArgsConstructor 삭제 * refactor: 메소드명 수정 * refactor: 로그에 스레드 정보 포함 * refactor: 반환값 확인 * refactor: 메소드 순서 변경 * refactor: 캐싱 삭제 * refactor: 캐싱 삭제 * refactor: 테스트 복구 * refactor: notExistMove 테스트 작성 * refactor: notExistBiome 테스트 작성 * refactor: ErrorMessage 수정 * refactor: 개행 추가 * refactor: findAllById 적용 * refactor: 테스트 깨지는 오류 수정 * refactor: 오타 수정 * refactor: 에러 처리 * refactor: Backend-CI.yml 수정 * refactor: Backend-CI.yml 수정 * refactor: conflict로 인한 오류 해결 * refactor: 중복 클래스 삭제 * [BE-REFACTOR] Ability 정보 MongoDB 사용하도록 리팩토링 (#349) * refactor: mongoDB로 변경 * refactor: BiomeDatabaseInitializer 삭제 * refactor: 정적 팩토리 메소드로 수정 * refactor: 메소드 분리 * refactor: 메소드 명 수정 * refactor: 메소드 분리 * [BE-REFACTOR] 포켓몬 정보 MongoDB 리팩토링 (#336) * [BE-REFACTOR] 배틀 기능 MongoDB 사용하도록 리팩토링 (#338) * refactor: 패키지 분리 * feat: TypeMatching document 생성 * refactor: InMemoryTypeMatchingRepository를 MongoRepository로 대체 * refactor: battle 패키지에서 move api 제거 * refactor: BattleService에서 InMemoryRepository 및 InMemory data 제거 * refactor: WeatherMultiplier 생성 * refactor: BattleMultiplier 추상 클래스 생성 * refactor: TypeMultiplier 생성 * refactor: BattleService에서 WeatherMultiplier, TypeMultiplier 사용 * refactor: 상수화 추가 * refactor: Weather enum에서 배틀 날씨 배수 관리 * refactor: WeatherService 분리 * refactor: BattleMultiplier VO 생성 * refactor: TypeMultiplierProvider 구현 * fix: Mongo Document 기본 생성자 추가 * style: return 문 전에 개행 * rm: TypeMatchingRepositoryTest * refactor: BattleServiceTest 패키지 이동 * remove: DataInitializer * refactor: 배틀 배수 배열 상수화 * refactor: 강한 바람에 의한 배틀 배수 계산 조건문 메소드로 추출 * refactor: WeatherMultiplierProvider 생성 * refactor: BattleCalculator 생성 * refactor: return 문 전에 개행 * remove: WeatherServiceTest * fix: BattleMultiplier에서 내부 값을 doouble에서 BigDecimal로 교체 * refactor: TypeMultiplierProvider.getAllByTypeMatchings 변수명 변경 * refactor: BattleMultiplierTest * refactor: WeatherMultiplierProvider 수정 * feat: 배틀 결과 계산에서 선제 공격 여부 함께 결정 * remove: 불필요한 코드 삭제 * chore: 서브모듈 최신화 * [BE-INFRA] 기존 디비 ec2에 있는 도커를 dev ec2안으로 옮긴다 (#351) * refactor: 커밋 시점 수정 * refactor: 커밋 시점 수정 * refactor: 커밋 시점 수정 * refactor: 커밋 시점 변경 * refactor: 수정 * refactor: 스크립트 수정 * refactor: secret으로 변경 및 캐시 삭제 * refactor: 인덴트 제거 * chore: 서브 모듈 커밋 시점 변경 * chore: cd 워크플로우 서버별 분리 (#350) * [BE-FIX] MoveFlag 추가 (#373) * [BE-FEAT] 기술 관련 api 만들기 (#360) * feat: 전체 기술 리스트 반환 api * feat: 단일 기술 정보 불러오는 api * refactor: 기술 불러오는 로직 수정 * test: 전체 기술 목록 반환 api, 단일 기술 정보 반환 api 테스트 작성 * refactor: 데이터 추가 및 테스트 수정 * refactor: MoveFlag 추가 * test: 테스트 수정 * test: 테스트 수정 * refactor: 강제 캐시 삭제 * refactor: 전체 캐시 삭제 * refactor: api, 메소드명 수정 * refactor: 변수명 수정 * test: 테스트 수정 * refactor: 전체 캐시 삭제 * test: 테스트 수정 * [BE-REFACTOR] 바이옴 포켓몬 티어 정렬 (#363) * refactor: NativePokemonComparator 생성 * refactor: 바이옴 포켓몬 정렬 적용 (쿼리 스트링 추가) * style: return 문 전에 개행 * refactor: 정렬 기준 상수 enum으로 관리 * refactor: MongoDB config * refactor: 바이옴 포켓몬 정렬 기준 쿼리스트링 컨버터 생성 * [BE-FEAT] 데이터베이스 버전 확인 API 생성 (#382) * refactor: 클래스명 수정 * fix: unique 제거 * fix: sql query 오류 수정 * refactor: unique 추가 * refactor: unique 삭제 * refactor: unique 추가 * fix: 데이터 인덱스 오류 수정 * build: build.gradle 추가 * feat: S3에 이미지를 업로드하는 기능 * docs: yml 파일 S3 설정 추가 * feat: Cloudfront 도메인으로 주도록 변경 * build: yml 파일 cloudfront 도메인 추가 * refactor: if문 orElseThrow로 변경 * style: return문 전 들여쓰기 컨벤션 적용 * refactor: 상속과 생성을 하지 못하도록 변경 * refactor: 메서드 명 수정 * refactor: S3TagMaker 불필요하다고 판단, 삭제 * refactor: 원하는 값을 찾을 시 반복문을 종료하도록 수정 * refactor: for문 Stream으로 변경, 메서드 체이닝 감소 * refactor: 변수명 변경 * feat: 포켓몬 상성 리스트 API를 불러오는 기능 * refactor: 변수명 수정 * refactor: AllArgsConstructor 어노테이션 삭제 * refactor: api 변경, 메서드명 변경, GetMapping을 PostMapping으로 변경 * refactor: 매개변수 타입을 String에서 int로 수정 * refactor: 변수명 수정 * refactor: 불필요한 메서드 반환 값 void로 수정 * refactor: 클래스명 수정 * refactor: 상수화 * refactor: 변수명 수정 * refactor: url에서 id 추출하는 로직 메서드 추출 * refactor: 불필요한 db 초기화 로직 수정 * refactor: findAny를 findFirst로 수정 * refactor: Map변환, 총 합 계산 로직을 Stream을 활용하도록 수정 * feat: 상세 꿀팁 API를 불러오는 기능 * fix: 오탈자 수정 * feat: 단일 특성 정보 API를 불러오는 기능 * test: 계층별 테스트 뼈대 코드 작성 * test: PokemonService 테스트 추가 * test: 테스트 super class에 DatabaseCleaner 의존성 제거 * refactor: description 추출 로직 메서드로 수정 * style: 컨벤션에 따른 개행 수정 * refactor: 불필요한 로직 삭제 * refactor: 클래스명 수정 * chore: 패키지 이동 * refactor: 포켓몬 타입, 특성, 포켓몬을 일괄 업데이트 하도록 수정 * refactor: 상수화 * refactor: 메서드 분리 * refactor: 컨트롤러에서 메시지를 반환하도록 수정 * refactor: 트랜잭션 애너테이션 위치 변경 * refactor: for문 depth 감소 * chore: 주석 설명 추가 * chore: 패키지 이동 * test: PokemonController 테스트 추가 * refactor: 매개변수의 final 삭제 * feat: 타입 상성 업데이트 기능 * refactor: PokemonAbilityService에서 pokemonRepository 삭제 및 연관관계 사용 * refactor: 테스트 api 삭제 * fix: 문법 오류 수정 * refactor: 메서드명 수정, 메서드 순서 수정 * refactor: break 없이 return하도록 수정 * refactor: 개행 수정 * refactor: 클래스명 수정 * refactor: 타입 개수 결정 로직 수정 * refactor: 개행 추가 및 상수화 * refactor: 쿼리 최적화를 위한 쿼리 및 연관 객체 조회 위치 수정 * chore: 패키지 이동 * refactor: override 제거 및 findByIdWithPokemonMappings 메서드 추가 * refactor: 해당 name의 type이 없는 경우 에러 핸들링하도록 수정 * refactor: 메서드 순서 수정 * refactor: 메서드명 수정 * refactor: 메서드 체이닝 감소, 불필요한 필드 삭제 * refactor: for문 스트림으로 변환 * refactor: 패키지명 변경 * feat: 사진 저장 후 링크 반환 기능 * test: 도감 상세 정보 조회 api 컨트롤러 테스트 메소드명, display name 수정 * chore: ci db mysql로 교체 * refactor: url에서 id를 추출하는 로직 DataUrl로 이동 * test: AcceptanceTest 추상 클래스로 변경 * test: 어플리케이션 테스트에 profile 설정 추가 * chore: 테스트 로그 추가 * fix: 오탈자 수정 * test: PokemonControllerTest 삭제 * test: 존재하지 않는 포켓몬의 상세 정보를 조회 테스트를 경계값으로 변경 * feat: 포켓몬 타입 상성 API를 조회하는 기능 * refactor: 변수명 및 개행 수정 * style: 개행 수정 * fix: jpql문 수정 * feat: 타입 로고 링크를 저장하는 기능 * refactor: height, weight를 double로 수정 * refactor: name을 koName으로 수정 * refactor: speed도 반환하도록 수정 * refactor: ability의 description 개행 삭제 * refactor: 타입 영어이름으로 반환하도록 수정 * chore: nginx ipv6, keepalive 설정 변경 * chore: prod db의 ddl-auto 설정 none으로 변경 * chore: DatabaseInitializer profile 설정 * refactor: 포켓몬 특성에 id도 같이 반환하도록 수정 * style: 개행 수정 * hotfix: nginx config 파일 수정 * hotfix: 오탈자 수정 * hotfix: 오탈자 수정 * chore: nginx upstream 재설정 * chore: nginx default server 제거 * chore: nginx default server 복구 * chore: nginx 로그 설정 * chore: cd 브랜치 dev로 복구 * refactor: log 상세화 및 ExceptionHandler 추가 * chore: Exception 메시지 변경 * refactor: fail2ban 관련 설정 파일 추가 및 수정 * refactor: CD 테스트를 위한 트리거 변경 * fix: 오탈자 수정 * feat: pokemon_type_matching 컬럼 수정 (type fk로 변경) * test: 테스트 json 데이터 추가 * refactor: CD 트리거 develop 브랜치로 변경 * chore: .gitignore 수정 * chore: test environ 패키지 위치 이동 * chore: test environ 패키지 위치 이동 * refactor: RestClient configuration 클래스명 변경 * chore: 변수명 오타 수정 * chore: 개행 컨벤션에 맞게 수정 * chore: environ에서 environment로 패키지 이름 수정 * test: 테스트용 S3 클라이언트 객체 도입, test config 클래스명 수정 * test: 포켓몬 도감 상세 정보 조회 테스트 수정 * chore: db ddl 설정 변경 * refactor: batch insert 메서드 추가 * fix: 타입 상성 3610개 저장되는 오류 수정 * chore: production db ddl 설정 변경 * refactor: 메서드 명 수정 * refactor: 테스트용 api 추가 * chore: test yml 설정 변경 * chore: test yml 에서 format sql 설정 추가 * test: jpa repository 테스트에 쿼리 db 사용 * refactor: PokemonRepository의 findAll 쿼리 메소드 개선 * style: 개행 수정 * refactor: findByIdWithPokemonMappings 쿼리 fetch join으로 변경 * refactor: Batch Insert 로직 분리 * refactor: PokemonRepository의 findById 쿼리 메소드 개선 * chore: 쿼리 로그 레벨 변경 (같은 쿼리 2번 출력 문제 해결) * chore: ci에 test db 추가 * chore: ci test container 확인 * chore: ci test db container 준비될 때까지 기다리는 로직 추가 * chore: ci test db container 준비될 때까지 기다리는 로직 수정 * chore: ci working directory 설정 추가 * chore: ci docker container 살아 있는지 확인 * chore: ci 스크립트에서 불필요한 디렉토리 설정 삭제 * refactor: toList로 변경 * refactor: 타입 매칭 쿼리 개선 * refactor: 테스트 주석 처리 * chore: ci 스크립트의 docker compose secrets로 변경 * chore: cd 스크립트의 docker compose secrets로 변경 * chore: ci 스크립트 불필요한 과정 제거, job 이름 변경 * style: 쿼리 이름 변경 * style: 컨벤션 적용 * refactor: Override 어노테이션 추가 * refactor: 테스트용 log 삽입 * refactor: 주석 삭제 * refactor: 불필요한 변수 제거 * refactor: 불필요한 테스트 api 삭제 * refactor: 2중 for문 Stream으로 수정 * refactor: 불필요한 메서드 분리 통합 * refactor: 불필요한 api 삭제 및 jdbc 클래스 삭제 * refactor: 불필요한 로깅 삭제 * refactor: 변수명 수정 * test: PokemonAbilityTest 작성 * refactor: 변수명 수정 * refactor: 예외 처리 추가 * refactor: 중복 메서드 통합 * refactor: findAll 삭제 * refactor: 개행 추가 * refactor: 예외 처리 추가 * infra: 호스트 러너 label로 변경 * infra: ci에서 docker-compose 스크립트 삭제 * infra: 컨테이너 지우는 스크립트 추가 * fix: 오탈자 수정 * fix: 오탈자 수정 * fix: 오탈자 수정 * test: 깨지는 Test 수정 * infra: 컨테이너 지우는 명령어 수정 * fix: 잘못된 import문 수정 * docs: nginx 설정 변경 - 화이트리스트 추가 - 정상 응답 반환 - * docs: nginx req limit 4r/s로 변경 * fix: 포켓몬 전체 목록 조회 시 id 정렬 추가 * fix: 같은 특성을 가진 포켓몬 목록 조회 시 id 정렬 추가 * docs: nginx 설정 변경 * fix: location 위치 및 주소 변경 * docs: 쓰이지 않는 블럭 삭제 * test: 주석 제거 * [BE-REFACTOR] 내용이 없을 때 저장하는 값 수정 (#151) * refactor: 한글 버전의 이름이나 설명이 없을 시 영어 버전을 저장하도록 수정 * refactor: 도트 이미지가 없을 시 아트 이미지, 아트 이미지도 없을 시 "이미지가 없습니다ㅠㅠ"를 저장하도록 수정 * refactor: 사용하지 않는 메서드 삭제 * refactor: 메서드 오버라이딩 추가 * refactor: for문 Stream으로 수정 * refactor: 변수명 수정 * refactor: 메서드 분리 및 메서드 명 변경 * refactor: 메서드 명 수정 * refactor: 상수화 * refactor: 불필요한 static 삭제 * refactor: 불필요한 static 삭제 * fix: url 오류 수정 (#159) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 (#163) * [BE-FIX] 아이디로 특성을 찾을 때 중복되는 포켓몬 제거 (#165, # 167, #168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 Be/fix/#164 add eng name equals (#167) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 Be/fix/#164 add eng name equals (#168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 * fix: 중복 타입 제거 * build: log-back-encoder 추가 * feat: ELK 설정 파일 추가 * [BE-FIX] 포켓몬이 없는 특성 상세 페이지 조회, 포켓몬 타입 정렬 (#175) * fix: Pokemon entity의 equals와 hashcode 제거 * fix: 포켓몬이 없는 특성 단건 조회 쿼리 수정 * refactor: 특성 조회 테스트에서 지역 변수명 변경 * fix: 특성 상세 정보의 포켓몬 목록 조회시 포켓몬 타입 정렬 추가 * refactor: 포켓몬 엔티티에 정렬된 타입 조회 메소드 추가 * fix: 포켓몬 상세 정보, 목록 조회 서비스 메소드에 타입 정렬 추가 * style: 개행 추가 * chore: resources 파일 반영 및 기존 파일 삭제 * feat: fail2ban 파일 재생성 * feat: logback-spring.xml Profile 별로 설정 * [BE-INFRA] CI, CD에서 사용하는 docker compose 설정 파일 버전 관리 (#187) * chore: ci, cd 관련 yml 추가 * chore: ci 스크립트에서 docker compose 파일을 artifact에서 저장 * chore: ci 스크립트 로그 추가 * chore: ci, cd yml 재설정 * chore: log xml 임시 삭제 * chore: ci에서 artifact 제거 * chore: ci 스크립트 테스트 디비 헬스 체크 명령어 변경 * chore: cd 스크립트 docker compose 생성 방식 변경 * chore: ci working directory 정리 * chore: ci 트리거 브랜치 변경 * chore: cd 스크립트 sudo 권한 정리 * chore: 서브모듈 fetch * hotfix: 배포용 docker compose 파일 이름 변경 * [BE-INFRA] 모니터링 서버 구축 (#196) * chore: 도커파일 서브모듈로 이동, 모니터링 서버 도커 컴포즈 파일 추가 * chore: 모니터링 서버 CD 워크 플로우 추가 * chore: 모니터링 서버 CD 워크 플로우 트리거 태그로 수정 * chore: 모니터링 서버 CD 워크 플로우 태그 이름 수정 * chore: 로그스태시 주소, 키바나 포트 변경 * chore: 로그 설정 변경 후 cd 테스트 * chore: 로그스태시 서버 ip 변경 * chore: cd 워크플로우 러너 재설정 * chore: 모니터링 서버 관련 코드 디렉토리 변경 및 서브모듈 추가 * chore: 모니터링 서버 cd 워크플로우에서 스크립트 경로 수정 * chore: resources 서브모듈 레포 변경 * chore: 모니터링 CD에 수동 트리거 추가 * chore: 모니터링 CD에 실행 중인 도커 컨테이너 제거 추가 * chore: CD 트리거 브랜치 변경 * chore: 모니터링 서버 브랜치 이전 * chore: 3차 스프린트 cd 시연 준비 (#198) * chore: 3차 스프린트 cd 시연 (#199) * [BE-INFRA] CI/CD 워크플로우 수정 (#205) * chore: ci 워크플로우 트리거 변경 * chore: cd 워크플로우에서 nginx와 fail2ban 이미지 푸시 과정 제거 * chore: 테스트 job 파일 분리 * chore: 테스트 job 파일 분리 테스트 * chore: reusable workflow에서 secrets 상속 * chore: cd 워크플로우에서 ci 워크플로우 호출 * chore: cd 워크플로우에서 test, build 순서 지정 * feat: 포켓몬 조회 API * refactor: 수정된 코드 롤백 * [BE-FEAT] 배틀 날씨 리스트 불러오는 API (#222) * feat: 날씨 데이터 세팅 * feat: 날씨 리스트 불러오는 api * refactor: 날씨 데이터 세팅 로직 리팩토링, 날씨 id에 공백 제거 * style: 개행 추가 * refactor: 날씨 id 데이터 변경 * docs: 데이터 추출용 테스트 코드 추가 * refactor: DatabaseInitializer를 원래 코드로 수정 * hotfix: 파일 경로 절대 경로로 변경 * hotfix: resources로 데이터 위치 변경 * [BE-FEAT] 바이옴 리스트를 불러오는 API (#231) * feat: 특성, 기술 머신, 날씨 정보 추출 기능 * feat: 바이옴 리스트 불러오는 API * refactor: 절대 경로를 상대 경로로 수정 * refactor: txt파일을 파싱하는 로직 이동 * refactor: String으로 저장하던 것을 객체로 변환 * refactor: 필드 변수를 메서드 내부 변수로 이동 * refactor: 에러 처리 및 개행 추가 * test: 바이옴 데이터 세팅 테스트 * rename: 폴더명 수정 * refactor: try-with-resource문으로 예외처리 * chore: 바이옴 데이터 추가 * refactor: 파일 경로 수정 * refactor: jar파일 배포 문제로 인해 파일을 읽는 방식 변경 * feat: 포켓몬 조회 API * refactor: 디비 초기화 클래스 패키지 이동 * fix: 오탈자 수정 * chore: 포켓몬 데이터 추가 * fix: 잘못된 resolve 수정 * refactor: stringid 변수명 변경 * rename: 파일 이름 변경 * [BE-FEAT] 포켓몬의 기술 리스트 불러오는 API (#237) * refactor: WeatherRepository 컴포넌트 애너테이션 변경 * feat: 기술 데이터 세팅 * refactor: 기술 id 저장 데이터 변경 * feat: 포켓몬의 기술 데이터 세팅 * feat: 포켓몬의 기술 리스트 불러오는 api * chore: 기술 데이터 추가 * feat: 기술 리스트에서 타입, 카테고리 로고 함께 반환 * fix: 빈 문자열 저장하는 오류 * refactor: 포켓몬 타입 enum 생성 * test: 모든 도감 번호에 대해서 기술 리스트 조회 테스트 * refactor: 포켓몬 타입 레포지토리 생성 * refactor: 기술 카테고리 enum 생성 * style: 개행 추가 * style: enum 개행 추가 * chore: 데이터 추가 히스토리 맞추기 * fix: 중복되는 bean 이름 변경 * fix: 기술 리스트에서 카테고리 로고 이미지 누락 (#248) * [BE-FEAT] 바이옴 세부 정보를 불러오는 API (#253) * refactor: txt파일 형식 변경에 따른 파싱 로직 수정 * feat: 바이옴 세부 정보 불러오는 API * refactor: 바이옴, 트레이너 사진을 가져오도록 수정 * chore: 서브모듈 시점 변경 * refactor: findById의 반환 값 수정 * chore: 서브모듈 커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * feat: 바이옴 세부정보 불러오는 기능 * chore: 서브모듈 커밋 시점 변경 * fix: 테스트 통과 못하는 오류 수정 * refactor: 아이디 형식 변경에 따른 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 불필요한 로그 삭제 * style: 개행 추가 * refactor: 포켓몬 이미지 url 전송 기능 * refactor: 초기화 과정에서 포켓몬 이미지 url 저장하도록 수정 * refactor: 필드 이름 변경 * refactor: 이미지 폴더 경로 수정 * refactor: 메서드명 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * refactor: 다음 바이옴 이름과 출현 확률 추가 * chore: 서브모듈 커밋 시점 변경 * refactor: 마지막 스테이지 다음 바이옴 빈값 반환하도록 수정 * [BE-FEAT] 포켓몬 배틀 결과 계산 API (#261) * feat: 배틀에 사용할 포켓몬, 타입 상성 데이터 세팅 * feat: 배틀 계산 api * refactor: 타입 enum으로 변경 * refactor: weather enum으로 변경 * feat: 배틀 계산에서 강풍 배수 적용 * refactor: 배틀 관련 데이터들 id 영어이름으로 변경 * fix: 날씨 비교 로직 오류 수정 * chore: 불필요한 데이터 삭제 * refactor: 불필요한 코드 제거 * refactor: api 명세에 따라 응답값 변경 * fix: 문법 오류 * style: 개행 추가 * refactor: BattleService 리팩토링 * refactor: MoveCategory 리팩토링 * [BE-REFACTOR] 기술 리스트에 타입과 카테고리 영어 이름 포함 (#268) * refactor: 기술 리스트 조회 api 반환 값 변경 * refactor: 기술 타입, 카테고리 이미지 url 저장값 변경 * refactor: 불필요한 import 제거 * refactor: 이미지 url에서 확장자 제거 * refactor: 기술 카테고리 이미지 getter 수정 * [BE-REFACTOR] 바이옴 타입 전달 시 이름과 함께 전달 (#270) * refactor: 바이옴 타입 반환 시 이름도 같이 반환하도록 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 타입만 로고 확장자 제거 * style: 개행 추가 * style: 개행 추가 * chore: 서브모듈 커밋 시점 최신화 * [BE-REFACTOR] 포켓몬 정보를 불러오는 API (#263) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * remove: .DS_STORE 삭제 * [BE-REFACTOR] 데이터베이스 관련 파일 정리 (#272) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * docs: ds_store 삭제 * [BE-REFACTOR] 포켓몬 타입 응답 파라미터명 변경 (#276) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * refactor: 파라미터명 변경 * chore: ds_store 삭제 * fix: 변수명 수정 * [BE-FEAT] 특성 api txt 파싱 정보로 변환 (#275) * chore: 서브모듈 커밋 시점 변경 * feat: 특성 txt파일로 파싱 * chore: 서버모듈 커밋 시점 변경 * refactor: 출력문 제거 * refactor: 타입 이미지 가져오는 로직 수정 * refactor: 안쓰는 부분 제거 * refactor: empty로 저장되는 데이터를 빈 문자열로 교체 (#277) * [BE-REFACTOR] 포켓몬 get api 리펙터링 (#282) * feat: 포켓몬 전체 리스트 뒷모습 이미지 응답 추가 * feat: 포켓몬 진화 응답에 아이디 추가 및 리스트 destruct * refactor: 진화 응답시 아이템 한글화 * refactor: 메서드 순서 정리 및 try catch 문 재활용 * refactor: empty대신 빈문자열을 반환하도록 변경 * refactor: 타입 이미지 주소 수정 * refactor: 타입 중복, 빈 값 응답 제거 * refactor: 진화 기본폼 응답 못하는 오류 수정 * refactor: 중복 특성 응답 수정 * chore:서브모듈 시점 변경 * fix: typeResponse로 이름 변경 * style: 세미콜론 위치 수정 * refactor: 메서드명 변경 * refactor: 파라미터명 변경 * chore: 서브모듈 커밋 시점 변경 (#289) * [BE-FIX] 특성 파일 오류 수정 (#291) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * [BE-FIX] 데이터 수정 (#292) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * chore: 서브모듈 커밋 시점 변경 * fix: 데이터 변경에 따른 테스트 수정 * fix: 배틀 결과 계산에서 날씨에 의한 기술 무효 조건 추가 (#294) * build(config): config 시점 변경 * build(config): config 시점 변경 * [BE-REFACTOR] 같은 정보를 담고 있는 파일들 합치기 (#311) * refactor: pokemon-by-biome.txt 삭제 * refactor: ability-pokemon.txt 삭제 * refactor: biome 중복 제거 * refactor: AbilityDatabaseInitializer 삭제 * refactor: data 파일 패키지 분리 * chore: 서브 모듈 커밋 시점 변경 * refactor: 불필요한 import 삭제 * refactor: move-for-pokemon-response.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: BattlePokemon 삭제 * fix: 타입 못 찾는 오류 수정 * refactor: battle-pokemon.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: 과거 코드 삭제 * refactor: 과거 테스트 삭제 * refactor: 기술 중복 전달되는 오류 수정 * test: findMovesByPokemon 테스트 * refactor: 이전에 있던 api 복구 * refactor: 과거 dto 형식으로 복구 * refactor: 디버깅용 출력문 삭제 * refactor: 에러 메시지 추가 * refactor: 변수명 수정 * refactor: 패키지, 클래스명 수정 * refactor: enum 비교로 수정 * refactor: 주석 제거 * refactor: dto 수정 * feat(DatabaseVersion): 데이터베이스 버전을 전달하는 API 생성 * test(DatabaseVersionTest): 테스트 추가 * feat(DatabaseVersionResponse): 응답 객체 생성자 차단 * feat(DatabaseVersion): 객체의 기본 생성자 차단 * modify(Backend-CI.yml): 브랜치 추가 * feat(resources): resources 변경 * delete(config) : monitoring 패키지 삭제 * modify(Backend-CI) : CI 설정 변경 * modify(Backend-CD) : CD 설정 변경 및 추가 --------- Co-authored-by: unifolio0 Co-authored-by: woojong Co-authored-by: jongmee Co-authored-by: SANGHUN OH <121424793+unifolio0@users.noreply.github.com> Co-authored-by: murjune Co-authored-by: 종미(미아) <101439796+jongmee@users.noreply.github.com> * [BE-INFRA] 개발 서버 DB 변경 (#387) * 포켓몬 데이터 캐싱 (#397) * [BE-INFRA] Tomcat thread pool 및 MongoDB connection pool 설정 (#420) * feat: MongoDB maxSize, minSize 설정 * fix: 새로운 리스트 생성해서 ability 생성하도록 수정 * chore: 서브모듈 시점 수정 * refactor: 포켓몬 전체 리스트 반환 시 정렬 기능 추가 * [BE-INFRA] 무중단 배포 be/release로 브랜치 변경 (#424) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * [BE-INFRA] 무중단 배포 구현에 따른 action 스크립트 변환 (#399) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * Modify/#398 infra zero down time (#400) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * Modify/#398 infra zero down time (#401) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * Modify/#398 infra zero down time (#403) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * Modify/#398 infra zero down time (#404) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * Modify/#398 infra zero down time (#405) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * Modify/#398 infra zero down time (#421) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * Update Backend-CD-Prod-A.yml * infra: 서비스 상태 체크 및 종료 로직 추가 * Modify/#398 infra zero down time (#422) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 서비스 상태 체크 및 종료 로직 추가 * infra: 에러를 반환하는 코드 수정 * Modify/#398 infra zero down time (#423) * chore: 서브모듈 커밋 시점 변경 * docs: 액츄에이터 의존성 추가 * infra: 무중단 배포를 위한 cd 스크립트 변경 * infra: 테스트와 빌드 하나로 통합 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 스크립트 수정 * infra: 서비스 상태 체크 및 종료 로직 추가 * infra: 에러를 반환하는 코드 수정 * fix: curl 에러 수정 * modify: 브랜치를 be/release로 변경 --------- Co-authored-by: Eugene Jang * [BE-INFRA] API 1.1.0 배포 (#416) * refactor: 타입 개수 결정 로직 수정 * refactor: 개행 추가 및 상수화 * refactor: 쿼리 최적화를 위한 쿼리 및 연관 객체 조회 위치 수정 * chore: 패키지 이동 * refactor: override 제거 및 findByIdWithPokemonMappings 메서드 추가 * refactor: 해당 name의 type이 없는 경우 에러 핸들링하도록 수정 * refactor: 메서드 순서 수정 * refactor: 메서드명 수정 * refactor: 메서드 체이닝 감소, 불필요한 필드 삭제 * refactor: for문 스트림으로 변환 * refactor: 패키지명 변경 * feat: 사진 저장 후 링크 반환 기능 * test: 도감 상세 정보 조회 api 컨트롤러 테스트 메소드명, display name 수정 * chore: ci db mysql로 교체 * refactor: url에서 id를 추출하는 로직 DataUrl로 이동 * test: AcceptanceTest 추상 클래스로 변경 * test: 어플리케이션 테스트에 profile 설정 추가 * chore: 테스트 로그 추가 * fix: 오탈자 수정 * test: PokemonControllerTest 삭제 * test: 존재하지 않는 포켓몬의 상세 정보를 조회 테스트를 경계값으로 변경 * feat: 포켓몬 타입 상성 API를 조회하는 기능 * refactor: 변수명 및 개행 수정 * style: 개행 수정 * fix: jpql문 수정 * feat: 타입 로고 링크를 저장하는 기능 * refactor: height, weight를 double로 수정 * refactor: name을 koName으로 수정 * refactor: speed도 반환하도록 수정 * refactor: ability의 description 개행 삭제 * refactor: 타입 영어이름으로 반환하도록 수정 * chore: nginx ipv6, keepalive 설정 변경 * chore: prod db의 ddl-auto 설정 none으로 변경 * chore: DatabaseInitializer profile 설정 * refactor: 포켓몬 특성에 id도 같이 반환하도록 수정 * style: 개행 수정 * hotfix: nginx config 파일 수정 * hotfix: 오탈자 수정 * hotfix: 오탈자 수정 * chore: nginx upstream 재설정 * chore: nginx default server 제거 * chore: nginx default server 복구 * chore: nginx 로그 설정 * chore: cd 브랜치 dev로 복구 * refactor: log 상세화 및 ExceptionHandler 추가 * chore: Exception 메시지 변경 * refactor: fail2ban 관련 설정 파일 추가 및 수정 * refactor: CD 테스트를 위한 트리거 변경 * fix: 오탈자 수정 * feat: pokemon_type_matching 컬럼 수정 (type fk로 변경) * test: 테스트 json 데이터 추가 * refactor: CD 트리거 develop 브랜치로 변경 * chore: .gitignore 수정 * chore: test environ 패키지 위치 이동 * chore: test environ 패키지 위치 이동 * refactor: RestClient configuration 클래스명 변경 * chore: 변수명 오타 수정 * chore: 개행 컨벤션에 맞게 수정 * chore: environ에서 environment로 패키지 이름 수정 * test: 테스트용 S3 클라이언트 객체 도입, test config 클래스명 수정 * test: 포켓몬 도감 상세 정보 조회 테스트 수정 * chore: db ddl 설정 변경 * refactor: batch insert 메서드 추가 * fix: 타입 상성 3610개 저장되는 오류 수정 * chore: production db ddl 설정 변경 * refactor: 메서드 명 수정 * refactor: 테스트용 api 추가 * chore: test yml 설정 변경 * chore: test yml 에서 format sql 설정 추가 * test: jpa repository 테스트에 쿼리 db 사용 * refactor: PokemonRepository의 findAll 쿼리 메소드 개선 * style: 개행 수정 * refactor: findByIdWithPokemonMappings 쿼리 fetch join으로 변경 * refactor: Batch Insert 로직 분리 * refactor: PokemonRepository의 findById 쿼리 메소드 개선 * chore: 쿼리 로그 레벨 변경 (같은 쿼리 2번 출력 문제 해결) * chore: ci에 test db 추가 * chore: ci test container 확인 * chore: ci test db container 준비될 때까지 기다리는 로직 추가 * chore: ci test db container 준비될 때까지 기다리는 로직 수정 * chore: ci working directory 설정 추가 * chore: ci docker container 살아 있는지 확인 * chore: ci 스크립트에서 불필요한 디렉토리 설정 삭제 * refactor: toList로 변경 * refactor: 타입 매칭 쿼리 개선 * refactor: 테스트 주석 처리 * chore: ci 스크립트의 docker compose secrets로 변경 * chore: cd 스크립트의 docker compose secrets로 변경 * chore: ci 스크립트 불필요한 과정 제거, job 이름 변경 * style: 쿼리 이름 변경 * style: 컨벤션 적용 * refactor: Override 어노테이션 추가 * refactor: 테스트용 log 삽입 * refactor: 주석 삭제 * refactor: 불필요한 변수 제거 * refactor: 불필요한 테스트 api 삭제 * refactor: 2중 for문 Stream으로 수정 * refactor: 불필요한 메서드 분리 통합 * refactor: 불필요한 api 삭제 및 jdbc 클래스 삭제 * refactor: 불필요한 로깅 삭제 * refactor: 변수명 수정 * test: PokemonAbilityTest 작성 * refactor: 변수명 수정 * refactor: 예외 처리 추가 * refactor: 중복 메서드 통합 * refactor: findAll 삭제 * refactor: 개행 추가 * refactor: 예외 처리 추가 * infra: 호스트 러너 label로 변경 * infra: ci에서 docker-compose 스크립트 삭제 * infra: 컨테이너 지우는 스크립트 추가 * fix: 오탈자 수정 * fix: 오탈자 수정 * fix: 오탈자 수정 * test: 깨지는 Test 수정 * infra: 컨테이너 지우는 명령어 수정 * fix: 잘못된 import문 수정 * docs: nginx 설정 변경 - 화이트리스트 추가 - 정상 응답 반환 - * docs: nginx req limit 4r/s로 변경 * fix: 포켓몬 전체 목록 조회 시 id 정렬 추가 * fix: 같은 특성을 가진 포켓몬 목록 조회 시 id 정렬 추가 * docs: nginx 설정 변경 * fix: location 위치 및 주소 변경 * docs: 쓰이지 않는 블럭 삭제 * test: 주석 제거 * [BE-REFACTOR] 내용이 없을 때 저장하는 값 수정 (#151) * refactor: 한글 버전의 이름이나 설명이 없을 시 영어 버전을 저장하도록 수정 * refactor: 도트 이미지가 없을 시 아트 이미지, 아트 이미지도 없을 시 "이미지가 없습니다ㅠㅠ"를 저장하도록 수정 * refactor: 사용하지 않는 메서드 삭제 * refactor: 메서드 오버라이딩 추가 * refactor: for문 Stream으로 수정 * refactor: 변수명 수정 * refactor: 메서드 분리 및 메서드 명 변경 * refactor: 메서드 명 수정 * refactor: 상수화 * refactor: 불필요한 static 삭제 * refactor: 불필요한 static 삭제 * fix: url 오류 수정 (#159) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 (#163) * [BE-FIX] 아이디로 특성을 찾을 때 중복되는 포켓몬 제거 (#165, # 167, #168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 Be/fix/#164 add eng name equals (#167) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 Be/fix/#164 add eng name equals (#168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 * fix: 중복 타입 제거 * build: log-back-encoder 추가 * feat: ELK 설정 파일 추가 * [BE-FIX] 포켓몬이 없는 특성 상세 페이지 조회, 포켓몬 타입 정렬 (#175) * fix: Pokemon entity의 equals와 hashcode 제거 * fix: 포켓몬이 없는 특성 단건 조회 쿼리 수정 * refactor: 특성 조회 테스트에서 지역 변수명 변경 * fix: 특성 상세 정보의 포켓몬 목록 조회시 포켓몬 타입 정렬 추가 * refactor: 포켓몬 엔티티에 정렬된 타입 조회 메소드 추가 * fix: 포켓몬 상세 정보, 목록 조회 서비스 메소드에 타입 정렬 추가 * style: 개행 추가 * chore: resources 파일 반영 및 기존 파일 삭제 * feat: fail2ban 파일 재생성 * feat: logback-spring.xml Profile 별로 설정 * [BE-INFRA] CI, CD에서 사용하는 docker compose 설정 파일 버전 관리 (#187) * chore: ci, cd 관련 yml 추가 * chore: ci 스크립트에서 docker compose 파일을 artifact에서 저장 * chore: ci 스크립트 로그 추가 * chore: ci, cd yml 재설정 * chore: log xml 임시 삭제 * chore: ci에서 artifact 제거 * chore: ci 스크립트 테스트 디비 헬스 체크 명령어 변경 * chore: cd 스크립트 docker compose 생성 방식 변경 * chore: ci working directory 정리 * chore: ci 트리거 브랜치 변경 * chore: cd 스크립트 sudo 권한 정리 * chore: 서브모듈 fetch * hotfix: 배포용 docker compose 파일 이름 변경 * [BE-INFRA] 모니터링 서버 구축 (#196) * chore: 도커파일 서브모듈로 이동, 모니터링 서버 도커 컴포즈 파일 추가 * chore: 모니터링 서버 CD 워크 플로우 추가 * chore: 모니터링 서버 CD 워크 플로우 트리거 태그로 수정 * chore: 모니터링 서버 CD 워크 플로우 태그 이름 수정 * chore: 로그스태시 주소, 키바나 포트 변경 * chore: 로그 설정 변경 후 cd 테스트 * chore: 로그스태시 서버 ip 변경 * chore: cd 워크플로우 러너 재설정 * chore: 모니터링 서버 관련 코드 디렉토리 변경 및 서브모듈 추가 * chore: 모니터링 서버 cd 워크플로우에서 스크립트 경로 수정 * chore: resources 서브모듈 레포 변경 * chore: 모니터링 CD에 수동 트리거 추가 * chore: 모니터링 CD에 실행 중인 도커 컨테이너 제거 추가 * chore: CD 트리거 브랜치 변경 * chore: 모니터링 서버 브랜치 이전 * chore: 3차 스프린트 cd 시연 준비 (#198) * chore: 3차 스프린트 cd 시연 (#199) * [BE-INFRA] CI/CD 워크플로우 수정 (#205) * chore: ci 워크플로우 트리거 변경 * chore: cd 워크플로우에서 nginx와 fail2ban 이미지 푸시 과정 제거 * chore: 테스트 job 파일 분리 * chore: 테스트 job 파일 분리 테스트 * chore: reusable workflow에서 secrets 상속 * chore: cd 워크플로우에서 ci 워크플로우 호출 * chore: cd 워크플로우에서 test, build 순서 지정 * feat: 포켓몬 조회 API * refactor: 수정된 코드 롤백 * [BE-FEAT] 배틀 날씨 리스트 불러오는 API (#222) * feat: 날씨 데이터 세팅 * feat: 날씨 리스트 불러오는 api * refactor: 날씨 데이터 세팅 로직 리팩토링, 날씨 id에 공백 제거 * style: 개행 추가 * refactor: 날씨 id 데이터 변경 * docs: 데이터 추출용 테스트 코드 추가 * refactor: DatabaseInitializer를 원래 코드로 수정 * hotfix: 파일 경로 절대 경로로 변경 * hotfix: resources로 데이터 위치 변경 * [BE-FEAT] 바이옴 리스트를 불러오는 API (#231) * feat: 특성, 기술 머신, 날씨 정보 추출 기능 * feat: 바이옴 리스트 불러오는 API * refactor: 절대 경로를 상대 경로로 수정 * refactor: txt파일을 파싱하는 로직 이동 * refactor: String으로 저장하던 것을 객체로 변환 * refactor: 필드 변수를 메서드 내부 변수로 이동 * refactor: 에러 처리 및 개행 추가 * test: 바이옴 데이터 세팅 테스트 * rename: 폴더명 수정 * refactor: try-with-resource문으로 예외처리 * chore: 바이옴 데이터 추가 * refactor: 파일 경로 수정 * refactor: jar파일 배포 문제로 인해 파일을 읽는 방식 변경 * feat: 포켓몬 조회 API * refactor: 디비 초기화 클래스 패키지 이동 * fix: 오탈자 수정 * chore: 포켓몬 데이터 추가 * fix: 잘못된 resolve 수정 * refactor: stringid 변수명 변경 * rename: 파일 이름 변경 * [BE-FEAT] 포켓몬의 기술 리스트 불러오는 API (#237) * refactor: WeatherRepository 컴포넌트 애너테이션 변경 * feat: 기술 데이터 세팅 * refactor: 기술 id 저장 데이터 변경 * feat: 포켓몬의 기술 데이터 세팅 * feat: 포켓몬의 기술 리스트 불러오는 api * chore: 기술 데이터 추가 * feat: 기술 리스트에서 타입, 카테고리 로고 함께 반환 * fix: 빈 문자열 저장하는 오류 * refactor: 포켓몬 타입 enum 생성 * test: 모든 도감 번호에 대해서 기술 리스트 조회 테스트 * refactor: 포켓몬 타입 레포지토리 생성 * refactor: 기술 카테고리 enum 생성 * style: 개행 추가 * style: enum 개행 추가 * chore: 데이터 추가 히스토리 맞추기 * fix: 중복되는 bean 이름 변경 * fix: 기술 리스트에서 카테고리 로고 이미지 누락 (#248) * [BE-FEAT] 바이옴 세부 정보를 불러오는 API (#253) * refactor: txt파일 형식 변경에 따른 파싱 로직 수정 * feat: 바이옴 세부 정보 불러오는 API * refactor: 바이옴, 트레이너 사진을 가져오도록 수정 * chore: 서브모듈 시점 변경 * refactor: findById의 반환 값 수정 * chore: 서브모듈 커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * feat: 바이옴 세부정보 불러오는 기능 * chore: 서브모듈 커밋 시점 변경 * fix: 테스트 통과 못하는 오류 수정 * refactor: 아이디 형식 변경에 따른 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 불필요한 로그 삭제 * style: 개행 추가 * refactor: 포켓몬 이미지 url 전송 기능 * refactor: 초기화 과정에서 포켓몬 이미지 url 저장하도록 수정 * refactor: 필드 이름 변경 * refactor: 이미지 폴더 경로 수정 * refactor: 메서드명 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * refactor: 다음 바이옴 이름과 출현 확률 추가 * chore: 서브모듈 커밋 시점 변경 * refactor: 마지막 스테이지 다음 바이옴 빈값 반환하도록 수정 * [BE-FEAT] 포켓몬 배틀 결과 계산 API (#261) * feat: 배틀에 사용할 포켓몬, 타입 상성 데이터 세팅 * feat: 배틀 계산 api * refactor: 타입 enum으로 변경 * refactor: weather enum으로 변경 * feat: 배틀 계산에서 강풍 배수 적용 * refactor: 배틀 관련 데이터들 id 영어이름으로 변경 * fix: 날씨 비교 로직 오류 수정 * chore: 불필요한 데이터 삭제 * refactor: 불필요한 코드 제거 * refactor: api 명세에 따라 응답값 변경 * fix: 문법 오류 * style: 개행 추가 * refactor: BattleService 리팩토링 * refactor: MoveCategory 리팩토링 * [BE-REFACTOR] 기술 리스트에 타입과 카테고리 영어 이름 포함 (#268) * refactor: 기술 리스트 조회 api 반환 값 변경 * refactor: 기술 타입, 카테고리 이미지 url 저장값 변경 * refactor: 불필요한 import 제거 * refactor: 이미지 url에서 확장자 제거 * refactor: 기술 카테고리 이미지 getter 수정 * [BE-REFACTOR] 바이옴 타입 전달 시 이름과 함께 전달 (#270) * refactor: 바이옴 타입 반환 시 이름도 같이 반환하도록 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 타입만 로고 확장자 제거 * style: 개행 추가 * style: 개행 추가 * chore: 서브모듈 커밋 시점 최신화 * [BE-REFACTOR] 포켓몬 정보를 불러오는 API (#263) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * remove: .DS_STORE 삭제 * [BE-REFACTOR] 데이터베이스 관련 파일 정리 (#272) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * docs: ds_store 삭제 * [BE-REFACTOR] 포켓몬 타입 응답 파라미터명 변경 (#276) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * refactor: 파라미터명 변경 * chore: ds_store 삭제 * fix: 변수명 수정 * [BE-FEAT] 특성 api txt 파싱 정보로 변환 (#275) * chore: 서브모듈 커밋 시점 변경 * feat: 특성 txt파일로 파싱 * chore: 서버모듈 커밋 시점 변경 * refactor: 출력문 제거 * refactor: 타입 이미지 가져오는 로직 수정 * refactor: 안쓰는 부분 제거 * refactor: empty로 저장되는 데이터를 빈 문자열로 교체 (#277) * [BE-REFACTOR] 포켓몬 get api 리펙터링 (#282) * feat: 포켓몬 전체 리스트 뒷모습 이미지 응답 추가 * feat: 포켓몬 진화 응답에 아이디 추가 및 리스트 destruct * refactor: 진화 응답시 아이템 한글화 * refactor: 메서드 순서 정리 및 try catch 문 재활용 * refactor: empty대신 빈문자열을 반환하도록 변경 * refactor: 타입 이미지 주소 수정 * refactor: 타입 중복, 빈 값 응답 제거 * refactor: 진화 기본폼 응답 못하는 오류 수정 * refactor: 중복 특성 응답 수정 * chore:서브모듈 시점 변경 * fix: typeResponse로 이름 변경 * style: 세미콜론 위치 수정 * refactor: 메서드명 변경 * refactor: 파라미터명 변경 * chore: 서브모듈 커밋 시점 변경 (#289) * [BE-FIX] 특성 파일 오류 수정 (#291) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * [BE-FIX] 데이터 수정 (#292) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * chore: 서브모듈 커밋 시점 변경 * fix: 데이터 변경에 따른 테스트 수정 * fix: 배틀 결과 계산에서 날씨에 의한 기술 무효 조건 추가 (#294) * [BE-REFACTOR] 같은 정보를 담고 있는 파일들 합치기 (#311) * refactor: pokemon-by-biome.txt 삭제 * refactor: ability-pokemon.txt 삭제 * refactor: biome 중복 제거 * refactor: AbilityDatabaseInitializer 삭제 * refactor: data 파일 패키지 분리 * chore: 서브 모듈 커밋 시점 변경 * refactor: 불필요한 import 삭제 * refactor: move-for-pokemon-response.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: BattlePokemon 삭제 * fix: 타입 못 찾는 오류 수정 * refactor: battle-pokemon.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: 과거 코드 삭제 * refactor: 과거 테스트 삭제 * refactor: 기술 중복 전달되는 오류 수정 * test: findMovesByPokemon 테스트 * refactor: 이전에 있던 api 복구 * refactor: 과거 dto 형식으로 복구 * refactor: 디버깅용 출력문 삭제 * refactor: 에러 메시지 추가 * refactor: 변수명 수정 * refactor: 패키지, 클래스명 수정 * refactor: enum 비교로 수정 * refactor: 주석 제거 * refactor: dto 수정 * fix: 대상 Ec2 변경 resources 적용 * [BE-INFRA] 개발, 배포 Github Actions 워크플로우 분리 (#325) * chore: dev cd 워크플로우 생성 * chore: cd 워크플로우 트리거 변경 * chore: jar 배포와 인프라 수정 워크플로우 분리 * chore: cd 워크플로우에서 nginx, fail2ban 빌드 과정 제거 * chore: cd 워크플로우에서 nginx log 파일 관련 명령어 제거 * chore: 워크플로우 파일 이름 변경 * style: 인덴트 통일 * Spring Data Mongo 세팅 (#329) * chore: 로컬 mongodb 연결 * build: mongodb 세팅 * remove: 남아 있는 jpa entity 삭제 * feat: Data mongo document 및 mongo repository 생성 * DataMongoTest 뼈대 코드 추가 (#334) * [BE-TEST] CI에 테스트용 MongoDB 설정 (#340) * chore: ci db 변경 * chore: ci mongodb로 db 교체 * chore: ci 트리거 branch 변경 * chore: ci 테스트에서 profile 설정 제거 * feat(Tier): 들어온 값을 찾아주는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(Type): 들어온 값을 찾아주는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveTarget: MoveTarget Enum 생성 및 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveFlag: MoveFlag Enum 생성 및 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveCategory): 값을 찾아주는 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(EvolutionItem): 값을 찾아주는 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(TypeReadConverter): 읽는 경우 타입으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(MoveTargetConverter): 읽는 경우 MoveTarget 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(MoveCategoryConverter): 읽는 경우 MoveCategory 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(FlagConverter): 읽는 경우 Flag 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(EvolutionItemConverter): 읽는 경우 EvolutionItem 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(TierConverter): 읽는 경우 Tier 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(TypeMatching): TypeMatching entity 생성 * feat(ConverterConfig): Converter Config에 등록 * feat(Biome): Type으로 변동 - Type으로 변동에 따른 사용하는 코드들 변경 - TypeMatchingRepository 이름 변경 * feat(ErrorMessage): 에러 메시지 생성 * modify(,,,): Entity 필드를 Enum으로 받도록 변경 * feat(MongoRepositoryTest): Converter Config 추가 * feat(PokemonTypeService): 포켓몬 타입 API 구현 - TypeMatchingRepository 생성 - 필요한 Response 생성 - 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(BiomeRepositoryTest): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(MoveRepository): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(PokemonRepositoryTest): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * refactor(NextBiome): 생성자 수정 * style(TypeMatching): 패키지 위치 변경 * [BE-INFRA] 개발 DB 서버 설정 (#347) * chore: dev 서버 profile 생성 * chore: dev 서버 logback 설정 * chore: dev 서버 cd 워크플로우에 profile 설정 * chore: dev 서버 cd 워크플로우 수정 테스트 * chore: dev 서버 cd 워크플로우 트리거 복구 * chore: prod 서버 cd runner tag 변경 * [BE-REFACTOR] Biome, Move 정보 MongoDB 사용하도록 리팩토링 (#335) * refactor: Biome MongoDB를 사용하도록 리팩토링 * refactor: Move MongoDB를 사용하도록 리팩토링 * refactor: Biome 관련 사용하지 않는 클래스 삭제 * refactor: 테스트 통과하도록 수정 * refactor: 로그 추가 * test: 테스트 작성 * refactor: 불필요한 필드 및 메소드 삭제 * refactor: 일단 테스트 삭제 * refactor: 일단 테스트 * refactor: 테스트 통과하도록 수정 * refactor: getter 삭제 * refactor: BiomePokemonType 삭제 * refactor: 상수화 * refactor: 메시지 수정 * refactor: AllArgsConstructor 삭제 * refactor: 메소드명 수정 * refactor: 로그에 스레드 정보 포함 * refactor: 반환값 확인 * refactor: 메소드 순서 변경 * refactor: 캐싱 삭제 * refactor: 캐싱 삭제 * refactor: 테스트 복구 * refactor: notExistMove 테스트 작성 * refactor: notExistBiome 테스트 작성 * refactor: ErrorMessage 수정 * refactor: 개행 추가 * refactor: findAllById 적용 * refactor: 테스트 깨지는 오류 수정 * refactor: 오타 수정 * refactor: 에러 처리 * refactor: Backend-CI.yml 수정 * refactor: Backend-CI.yml 수정 * refactor: conflict로 인한 오류 해결 * refactor: 중복 클래스 삭제 * [BE-REFACTOR] Ability 정보 MongoDB 사용하도록 리팩토링 (#349) * refactor: mongoDB로 변경 * refactor: BiomeDatabaseInitializer 삭제 * refactor: 정적 팩토리 메소드로 수정 * refactor: 메소드 분리 * refactor: 메소드 명 수정 * refactor: 메소드 분리 * [BE-REFACTOR] 포켓몬 정보 MongoDB 리팩토링 (#336) * [BE-REFACTOR] 배틀 기능 MongoDB 사용하도록 리팩토링 (#338) * refactor: 패키지 분리 * feat: TypeMatching document 생성 * refactor: InMemoryTypeMatchingRepository를 MongoRepository로 대체 * refactor: battle 패키지에서 move api 제거 * refactor: BattleService에서 InMemoryRepository 및 InMemory data 제거 * refactor: WeatherMultiplier 생성 * refactor: BattleMultiplier 추상 클래스 생성 * refactor: TypeMultiplier 생성 * refactor: BattleService에서 WeatherMultiplier, TypeMultiplier 사용 * refactor: 상수화 추가 * refactor: Weather enum에서 배틀 날씨 배수 관리 * refactor: WeatherService 분리 * refactor: BattleMultiplier VO 생성 * refactor: TypeMultiplierProvider 구현 * fix: Mongo Document 기본 생성자 추가 * style: return 문 전에 개행 * rm: TypeMatchingRepositoryTest * refactor: BattleServiceTest 패키지 이동 * remove: DataInitializer * refactor: 배틀 배수 배열 상수화 * refactor: 강한 바람에 의한 배틀 배수 계산 조건문 메소드로 추출 * refactor: WeatherMultiplierProvider 생성 * refactor: BattleCalculator 생성 * refactor: return 문 전에 개행 * remove: WeatherServiceTest * fix: BattleMultiplier에서 내부 값을 doouble에서 BigDecimal로 교체 * refactor: TypeMultiplierProvider.getAllByTypeMatchings 변수명 변경 * refactor: BattleMultiplierTest * refactor: WeatherMultiplierProvider 수정 * feat: 배틀 결과 계산에서 선제 공격 여부 함께 결정 * remove: 불필요한 코드 삭제 * chore: 서브모듈 최신화 * [BE-INFRA] 기존 디비 ec2에 있는 도커를 dev ec2안으로 옮긴다 (#351) * refactor: 커밋 시점 수정 * refactor: 커밋 시점 수정 * refactor: 커밋 시점 수정 * refactor: 커밋 시점 변경 * refactor: 수정 * refactor: 스크립트 수정 * refactor: secret으로 변경 및 캐시 삭제 * refactor: 인덴트 제거 * chore: 서브 모듈 커밋 시점 변경 * chore: cd 워크플로우 서버별 분리 (#350) * [BE-FIX] MoveFlag 추가 (#373) * [BE-FEAT] 기술 관련 api 만들기 (#360) * feat: 전체 기술 리스트 반환 api * feat: 단일 기술 정보 불러오는 api * refactor: 기술 불러오는 로직 수정 * test: 전체 기술 목록 반환 api, 단일 기술 정보 반환 api 테스트 작성 * refactor: 데이터 추가 및 테스트 수정 * refactor: MoveFlag 추가 * test: 테스트 수정 * test: 테스트 수정 * refactor: 강제 캐시 삭제 * refactor: 전체 캐시 삭제 * refactor: api, 메소드명 수정 * refactor: 변수명 수정 * test: 테스트 수정 * refactor: 전체 캐시 삭제 * test: 테스트 수정 * [BE-REFACTOR] 바이옴 포켓몬 티어 정렬 (#363) * refactor: NativePokemonComparator 생성 * refactor: 바이옴 포켓몬 정렬 적용 (쿼리 스트링 추가) * style: return 문 전에 개행 * refactor: 정렬 기준 상수 enum으로 관리 * refactor: MongoDB config * refactor: 바이옴 포켓몬 정렬 기준 쿼리스트링 컨버터 생성 * [BE-INFRA] 개발 서버 DB 변경 (#387) * 포켓몬 데이터 캐싱 (#397) * [BE-INFRA] Tomcat thread pool 및 MongoDB connection pool 설정 (#420) * feat: MongoDB maxSize, minSize 설정 * fix: 새로운 리스트 생성해서 ability 생성하도록 수정 * chore: 서브모듈 시점 수정 * refactor: 포켓몬 전체 리스트 반환 시 정렬 기능 추가 --------- Co-authored-by: unifolio0 Co-authored-by: woojong Co-authored-by: SANGHUN OH <121424793+unifolio0@users.noreply.github.com> Co-authored-by: Eugene Jang Co-authored-by: murjune * cd 워크플로우 트리거 이벤트 변경 (#435) * [BE-INFRA] prod mongo db uri 설정 (#436) * [BE-INFRA] prod mongo db uri 설정 (#437) * refactor: 쿼리 최적화를 위한 쿼리 및 연관 객체 조회 위치 수정 * chore: 패키지 이동 * refactor: override 제거 및 findByIdWithPokemonMappings 메서드 추가 * refactor: 해당 name의 type이 없는 경우 에러 핸들링하도록 수정 * refactor: 메서드 순서 수정 * refactor: 메서드명 수정 * refactor: 메서드 체이닝 감소, 불필요한 필드 삭제 * refactor: for문 스트림으로 변환 * refactor: 패키지명 변경 * feat: 사진 저장 후 링크 반환 기능 * test: 도감 상세 정보 조회 api 컨트롤러 테스트 메소드명, display name 수정 * chore: ci db mysql로 교체 * refactor: url에서 id를 추출하는 로직 DataUrl로 이동 * test: AcceptanceTest 추상 클래스로 변경 * test: 어플리케이션 테스트에 profile 설정 추가 * chore: 테스트 로그 추가 * fix: 오탈자 수정 * test: PokemonControllerTest 삭제 * test: 존재하지 않는 포켓몬의 상세 정보를 조회 테스트를 경계값으로 변경 * feat: 포켓몬 타입 상성 API를 조회하는 기능 * refactor: 변수명 및 개행 수정 * style: 개행 수정 * fix: jpql문 수정 * feat: 타입 로고 링크를 저장하는 기능 * refactor: height, weight를 double로 수정 * refactor: name을 koName으로 수정 * refactor: speed도 반환하도록 수정 * refactor: ability의 description 개행 삭제 * refactor: 타입 영어이름으로 반환하도록 수정 * chore: nginx ipv6, keepalive 설정 변경 * chore: prod db의 ddl-auto 설정 none으로 변경 * chore: DatabaseInitializer profile 설정 * refactor: 포켓몬 특성에 id도 같이 반환하도록 수정 * style: 개행 수정 * hotfix: nginx config 파일 수정 * hotfix: 오탈자 수정 * hotfix: 오탈자 수정 * chore: nginx upstream 재설정 * chore: nginx default server 제거 * chore: nginx default server 복구 * chore: nginx 로그 설정 * chore: cd 브랜치 dev로 복구 * refactor: log 상세화 및 ExceptionHandler 추가 * chore: Exception 메시지 변경 * refactor: fail2ban 관련 설정 파일 추가 및 수정 * refactor: CD 테스트를 위한 트리거 변경 * fix: 오탈자 수정 * feat: pokemon_type_matching 컬럼 수정 (type fk로 변경) * test: 테스트 json 데이터 추가 * refactor: CD 트리거 develop 브랜치로 변경 * chore: .gitignore 수정 * chore: test environ 패키지 위치 이동 * chore: test environ 패키지 위치 이동 * refactor: RestClient configuration 클래스명 변경 * chore: 변수명 오타 수정 * chore: 개행 컨벤션에 맞게 수정 * chore: environ에서 environment로 패키지 이름 수정 * test: 테스트용 S3 클라이언트 객체 도입, test config 클래스명 수정 * test: 포켓몬 도감 상세 정보 조회 테스트 수정 * chore: db ddl 설정 변경 * refactor: batch insert 메서드 추가 * fix: 타입 상성 3610개 저장되는 오류 수정 * chore: production db ddl 설정 변경 * refactor: 메서드 명 수정 * refactor: 테스트용 api 추가 * chore: test yml 설정 변경 * chore: test yml 에서 format sql 설정 추가 * test: jpa repository 테스트에 쿼리 db 사용 * refactor: PokemonRepository의 findAll 쿼리 메소드 개선 * style: 개행 수정 * refactor: findByIdWithPokemonMappings 쿼리 fetch join으로 변경 * refactor: Batch Insert 로직 분리 * refactor: PokemonRepository의 findById 쿼리 메소드 개선 * chore: 쿼리 로그 레벨 변경 (같은 쿼리 2번 출력 문제 해결) * chore: ci에 test db 추가 * chore: ci test container 확인 * chore: ci test db container 준비될 때까지 기다리는 로직 추가 * chore: ci test db container 준비될 때까지 기다리는 로직 수정 * chore: ci working directory 설정 추가 * chore: ci docker container 살아 있는지 확인 * chore: ci 스크립트에서 불필요한 디렉토리 설정 삭제 * refactor: toList로 변경 * refactor: 타입 매칭 쿼리 개선 * refactor: 테스트 주석 처리 * chore: ci 스크립트의 docker compose secrets로 변경 * chore: cd 스크립트의 docker compose secrets로 변경 * chore: ci 스크립트 불필요한 과정 제거, job 이름 변경 * style: 쿼리 이름 변경 * style: 컨벤션 적용 * refactor: Override 어노테이션 추가 * refactor: 테스트용 log 삽입 * refactor: 주석 삭제 * refactor: 불필요한 변수 제거 * refactor: 불필요한 테스트 api 삭제 * refactor: 2중 for문 Stream으로 수정 * refactor: 불필요한 메서드 분리 통합 * refactor: 불필요한 api 삭제 및 jdbc 클래스 삭제 * refactor: 불필요한 로깅 삭제 * refactor: 변수명 수정 * test: PokemonAbilityTest 작성 * refactor: 변수명 수정 * refactor: 예외 처리 추가 * refactor: 중복 메서드 통합 * refactor: findAll 삭제 * refactor: 개행 추가 * refactor: 예외 처리 추가 * infra: 호스트 러너 label로 변경 * infra: ci에서 docker-compose 스크립트 삭제 * infra: 컨테이너 지우는 스크립트 추가 * fix: 오탈자 수정 * fix: 오탈자 수정 * fix: 오탈자 수정 * test: 깨지는 Test 수정 * infra: 컨테이너 지우는 명령어 수정 * fix: 잘못된 import문 수정 * docs: nginx 설정 변경 - 화이트리스트 추가 - 정상 응답 반환 - * docs: nginx req limit 4r/s로 변경 * fix: 포켓몬 전체 목록 조회 시 id 정렬 추가 * fix: 같은 특성을 가진 포켓몬 목록 조회 시 id 정렬 추가 * docs: nginx 설정 변경 * fix: location 위치 및 주소 변경 * docs: 쓰이지 않는 블럭 삭제 * test: 주석 제거 * [BE-REFACTOR] 내용이 없을 때 저장하는 값 수정 (#151) * refactor: 한글 버전의 이름이나 설명이 없을 시 영어 버전을 저장하도록 수정 * refactor: 도트 이미지가 없을 시 아트 이미지, 아트 이미지도 없을 시 "이미지가 없습니다ㅠㅠ"를 저장하도록 수정 * refactor: 사용하지 않는 메서드 삭제 * refactor: 메서드 오버라이딩 추가 * refactor: for문 Stream으로 수정 * refactor: 변수명 수정 * refactor: 메서드 분리 및 메서드 명 변경 * refactor: 메서드 명 수정 * refactor: 상수화 * refactor: 불필요한 static 삭제 * refactor: 불필요한 static 삭제 * fix: url 오류 수정 (#159) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 (#163) * [BE-FIX] 아이디로 특성을 찾을 때 중복되는 포켓몬 제거 (#165, # 167, #168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 Be/fix/#164 add eng name equals (#167) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 Be/fix/#164 add eng name equals (#168) * fix: 스트림 콜렉팅 중복 키 에러 핸들링 * refactor: 포켓몬에서의 equals 위치 수정 * fix: 중복 포켓몬 제거 * fix: 중복 타입 제거 * build: log-back-encoder 추가 * feat: ELK 설정 파일 추가 * [BE-FIX] 포켓몬이 없는 특성 상세 페이지 조회, 포켓몬 타입 정렬 (#175) * fix: Pokemon entity의 equals와 hashcode 제거 * fix: 포켓몬이 없는 특성 단건 조회 쿼리 수정 * refactor: 특성 조회 테스트에서 지역 변수명 변경 * fix: 특성 상세 정보의 포켓몬 목록 조회시 포켓몬 타입 정렬 추가 * refactor: 포켓몬 엔티티에 정렬된 타입 조회 메소드 추가 * fix: 포켓몬 상세 정보, 목록 조회 서비스 메소드에 타입 정렬 추가 * style: 개행 추가 * chore: resources 파일 반영 및 기존 파일 삭제 * feat: fail2ban 파일 재생성 * feat: logback-spring.xml Profile 별로 설정 * [BE-INFRA] CI, CD에서 사용하는 docker compose 설정 파일 버전 관리 (#187) * chore: ci, cd 관련 yml 추가 * chore: ci 스크립트에서 docker compose 파일을 artifact에서 저장 * chore: ci 스크립트 로그 추가 * chore: ci, cd yml 재설정 * chore: log xml 임시 삭제 * chore: ci에서 artifact 제거 * chore: ci 스크립트 테스트 디비 헬스 체크 명령어 변경 * chore: cd 스크립트 docker compose 생성 방식 변경 * chore: ci working directory 정리 * chore: ci 트리거 브랜치 변경 * chore: cd 스크립트 sudo 권한 정리 * chore: 서브모듈 fetch * hotfix: 배포용 docker compose 파일 이름 변경 * [BE-INFRA] 모니터링 서버 구축 (#196) * chore: 도커파일 서브모듈로 이동, 모니터링 서버 도커 컴포즈 파일 추가 * chore: 모니터링 서버 CD 워크 플로우 추가 * chore: 모니터링 서버 CD 워크 플로우 트리거 태그로 수정 * chore: 모니터링 서버 CD 워크 플로우 태그 이름 수정 * chore: 로그스태시 주소, 키바나 포트 변경 * chore: 로그 설정 변경 후 cd 테스트 * chore: 로그스태시 서버 ip 변경 * chore: cd 워크플로우 러너 재설정 * chore: 모니터링 서버 관련 코드 디렉토리 변경 및 서브모듈 추가 * chore: 모니터링 서버 cd 워크플로우에서 스크립트 경로 수정 * chore: resources 서브모듈 레포 변경 * chore: 모니터링 CD에 수동 트리거 추가 * chore: 모니터링 CD에 실행 중인 도커 컨테이너 제거 추가 * chore: CD 트리거 브랜치 변경 * chore: 모니터링 서버 브랜치 이전 * chore: 3차 스프린트 cd 시연 준비 (#198) * chore: 3차 스프린트 cd 시연 (#199) * [BE-INFRA] CI/CD 워크플로우 수정 (#205) * chore: ci 워크플로우 트리거 변경 * chore: cd 워크플로우에서 nginx와 fail2ban 이미지 푸시 과정 제거 * chore: 테스트 job 파일 분리 * chore: 테스트 job 파일 분리 테스트 * chore: reusable workflow에서 secrets 상속 * chore: cd 워크플로우에서 ci 워크플로우 호출 * chore: cd 워크플로우에서 test, build 순서 지정 * feat: 포켓몬 조회 API * refactor: 수정된 코드 롤백 * [BE-FEAT] 배틀 날씨 리스트 불러오는 API (#222) * feat: 날씨 데이터 세팅 * feat: 날씨 리스트 불러오는 api * refactor: 날씨 데이터 세팅 로직 리팩토링, 날씨 id에 공백 제거 * style: 개행 추가 * refactor: 날씨 id 데이터 변경 * docs: 데이터 추출용 테스트 코드 추가 * refactor: DatabaseInitializer를 원래 코드로 수정 * hotfix: 파일 경로 절대 경로로 변경 * hotfix: resources로 데이터 위치 변경 * [BE-FEAT] 바이옴 리스트를 불러오는 API (#231) * feat: 특성, 기술 머신, 날씨 정보 추출 기능 * feat: 바이옴 리스트 불러오는 API * refactor: 절대 경로를 상대 경로로 수정 * refactor: txt파일을 파싱하는 로직 이동 * refactor: String으로 저장하던 것을 객체로 변환 * refactor: 필드 변수를 메서드 내부 변수로 이동 * refactor: 에러 처리 및 개행 추가 * test: 바이옴 데이터 세팅 테스트 * rename: 폴더명 수정 * refactor: try-with-resource문으로 예외처리 * chore: 바이옴 데이터 추가 * refactor: 파일 경로 수정 * refactor: jar파일 배포 문제로 인해 파일을 읽는 방식 변경 * feat: 포켓몬 조회 API * refactor: 디비 초기화 클래스 패키지 이동 * fix: 오탈자 수정 * chore: 포켓몬 데이터 추가 * fix: 잘못된 resolve 수정 * refactor: stringid 변수명 변경 * rename: 파일 이름 변경 * [BE-FEAT] 포켓몬의 기술 리스트 불러오는 API (#237) * refactor: WeatherRepository 컴포넌트 애너테이션 변경 * feat: 기술 데이터 세팅 * refactor: 기술 id 저장 데이터 변경 * feat: 포켓몬의 기술 데이터 세팅 * feat: 포켓몬의 기술 리스트 불러오는 api * chore: 기술 데이터 추가 * feat: 기술 리스트에서 타입, 카테고리 로고 함께 반환 * fix: 빈 문자열 저장하는 오류 * refactor: 포켓몬 타입 enum 생성 * test: 모든 도감 번호에 대해서 기술 리스트 조회 테스트 * refactor: 포켓몬 타입 레포지토리 생성 * refactor: 기술 카테고리 enum 생성 * style: 개행 추가 * style: enum 개행 추가 * chore: 데이터 추가 히스토리 맞추기 * fix: 중복되는 bean 이름 변경 * fix: 기술 리스트에서 카테고리 로고 이미지 누락 (#248) * [BE-FEAT] 바이옴 세부 정보를 불러오는 API (#253) * refactor: txt파일 형식 변경에 따른 파싱 로직 수정 * feat: 바이옴 세부 정보 불러오는 API * refactor: 바이옴, 트레이너 사진을 가져오도록 수정 * chore: 서브모듈 시점 변경 * refactor: findById의 반환 값 수정 * chore: 서브모듈 커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * feat: 바이옴 세부정보 불러오는 기능 * chore: 서브모듈 커밋 시점 변경 * fix: 테스트 통과 못하는 오류 수정 * refactor: 아이디 형식 변경에 따른 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 불필요한 로그 삭제 * style: 개행 추가 * refactor: 포켓몬 이미지 url 전송 기능 * refactor: 초기화 과정에서 포켓몬 이미지 url 저장하도록 수정 * refactor: 필드 이름 변경 * refactor: 이미지 폴더 경로 수정 * refactor: 메서드명 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * fix: 트레이너나 포켓몬이 없을 시 오류처리하는 로직 수정 * refactor: 다음 바이옴 이름과 출현 확률 추가 * chore: 서브모듈 커밋 시점 변경 * refactor: 마지막 스테이지 다음 바이옴 빈값 반환하도록 수정 * [BE-FEAT] 포켓몬 배틀 결과 계산 API (#261) * feat: 배틀에 사용할 포켓몬, 타입 상성 데이터 세팅 * feat: 배틀 계산 api * refactor: 타입 enum으로 변경 * refactor: weather enum으로 변경 * feat: 배틀 계산에서 강풍 배수 적용 * refactor: 배틀 관련 데이터들 id 영어이름으로 변경 * fix: 날씨 비교 로직 오류 수정 * chore: 불필요한 데이터 삭제 * refactor: 불필요한 코드 제거 * refactor: api 명세에 따라 응답값 변경 * fix: 문법 오류 * style: 개행 추가 * refactor: BattleService 리팩토링 * refactor: MoveCategory 리팩토링 * [BE-REFACTOR] 기술 리스트에 타입과 카테고리 영어 이름 포함 (#268) * refactor: 기술 리스트 조회 api 반환 값 변경 * refactor: 기술 타입, 카테고리 이미지 url 저장값 변경 * refactor: 불필요한 import 제거 * refactor: 이미지 url에서 확장자 제거 * refactor: 기술 카테고리 이미지 getter 수정 * [BE-REFACTOR] 바이옴 타입 전달 시 이름과 함께 전달 (#270) * refactor: 바이옴 타입 반환 시 이름도 같이 반환하도록 수정 * chore: 서브모듈 커밋 시점 변경 * refactor: 타입만 로고 확장자 제거 * style: 개행 추가 * style: 개행 추가 * chore: 서브모듈 커밋 시점 최신화 * [BE-REFACTOR] 포켓몬 정보를 불러오는 API (#263) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * remove: .DS_STORE 삭제 * [BE-REFACTOR] 데이터베이스 관련 파일 정리 (#272) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * docs: ds_store 삭제 * [BE-REFACTOR] 포켓몬 타입 응답 파라미터명 변경 (#276) * reafactor: 단일 포켓몬 조회 api명세서대로 주소 변경 * test: 포켓몬 정보가 지정된 개수만큼 저장된다 * test: 랜덤 포켓몬 이름 검 * refactor: 파일 위치 이동 및 repsonse 구현 * refactor: 더미 데이터로 단일 조회 리펙터링 * refactor: 응답 관련 dto 생 * refactor: 서비스단에서 응답 객체 생성 * refactor: 포켓몬 데이터 저장 객체 생성 * feat: 바이옴, 타입, 특성 이넘 구 * feat: 데이터 추가 * feat: 데이터 추가 * feat: 간이 데이터 추가 * refactor: 전체 포켓몬 덱스 번호 기준으로 반환 * feat: 폼 이름 추가 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * chore: 커밋 시점 변경 * refactor: s3 이미지 URL 적용 * chore: 커밋 시점 변경 * feat: 진화체 응답 구현 * refactor: repository optinal 적용 * refactor: 포켓몬 데이터 저장할 때 스탯 파싱으로 변경 * refactor: 진화 응답에 depth추가 * chore:커밋 시점 변경 * chore: 서브모듈 커밋 시점 변경 * test * refactor: 불필요한 데이터베이스 관련 파일 제거 및 포켓몬 typeResponse 파라미터명 변경 * refactor: 파라미터명 변경 * chore: ds_store 삭제 * fix: 변수명 수정 * [BE-FEAT] 특성 api txt 파싱 정보로 변환 (#275) * chore: 서브모듈 커밋 시점 변경 * feat: 특성 txt파일로 파싱 * chore: 서버모듈 커밋 시점 변경 * refactor: 출력문 제거 * refactor: 타입 이미지 가져오는 로직 수정 * refactor: 안쓰는 부분 제거 * refactor: empty로 저장되는 데이터를 빈 문자열로 교체 (#277) * [BE-REFACTOR] 포켓몬 get api 리펙터링 (#282) * feat: 포켓몬 전체 리스트 뒷모습 이미지 응답 추가 * feat: 포켓몬 진화 응답에 아이디 추가 및 리스트 destruct * refactor: 진화 응답시 아이템 한글화 * refactor: 메서드 순서 정리 및 try catch 문 재활용 * refactor: empty대신 빈문자열을 반환하도록 변경 * refactor: 타입 이미지 주소 수정 * refactor: 타입 중복, 빈 값 응답 제거 * refactor: 진화 기본폼 응답 못하는 오류 수정 * refactor: 중복 특성 응답 수정 * chore:서브모듈 시점 변경 * fix: typeResponse로 이름 변경 * style: 세미콜론 위치 수정 * refactor: 메서드명 변경 * refactor: 파라미터명 변경 * chore: 서브모듈 커밋 시점 변경 (#289) * [BE-FIX] 특성 파일 오류 수정 (#291) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * [BE-FIX] 데이터 수정 (#292) * chore: 서브모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 변경 * chore: 서브 모듈 커밋 시점 수정 * chore: 서브 모듈 커밋 시점 변경 * refactor: 사용하지 않는 import 삭제 * chore: 서브모듈 커밋 시점 변경 * fix: 데이터 변경에 따른 테스트 수정 * fix: 배틀 결과 계산에서 날씨에 의한 기술 무효 조건 추가 (#294) * [BE-REFACTOR] 같은 정보를 담고 있는 파일들 합치기 (#311) * refactor: pokemon-by-biome.txt 삭제 * refactor: ability-pokemon.txt 삭제 * refactor: biome 중복 제거 * refactor: AbilityDatabaseInitializer 삭제 * refactor: data 파일 패키지 분리 * chore: 서브 모듈 커밋 시점 변경 * refactor: 불필요한 import 삭제 * refactor: move-for-pokemon-response.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: BattlePokemon 삭제 * fix: 타입 못 찾는 오류 수정 * refactor: battle-pokemon.txt 삭제 * chore: 서브모듈 커밋 시점 변경 * refactor: 과거 코드 삭제 * refactor: 과거 테스트 삭제 * refactor: 기술 중복 전달되는 오류 수정 * test: findMovesByPokemon 테스트 * refactor: 이전에 있던 api 복구 * refactor: 과거 dto 형식으로 복구 * refactor: 디버깅용 출력문 삭제 * refactor: 에러 메시지 추가 * refactor: 변수명 수정 * refactor: 패키지, 클래스명 수정 * refactor: enum 비교로 수정 * refactor: 주석 제거 * refactor: dto 수정 * fix: 대상 Ec2 변경 resources 적용 * [BE-INFRA] 개발, 배포 Github Actions 워크플로우 분리 (#325) * chore: dev cd 워크플로우 생성 * chore: cd 워크플로우 트리거 변경 * chore: jar 배포와 인프라 수정 워크플로우 분리 * chore: cd 워크플로우에서 nginx, fail2ban 빌드 과정 제거 * chore: cd 워크플로우에서 nginx log 파일 관련 명령어 제거 * chore: 워크플로우 파일 이름 변경 * style: 인덴트 통일 * Spring Data Mongo 세팅 (#329) * chore: 로컬 mongodb 연결 * build: mongodb 세팅 * remove: 남아 있는 jpa entity 삭제 * feat: Data mongo document 및 mongo repository 생성 * DataMongoTest 뼈대 코드 추가 (#334) * [BE-TEST] CI에 테스트용 MongoDB 설정 (#340) * chore: ci db 변경 * chore: ci mongodb로 db 교체 * chore: ci 트리거 branch 변경 * chore: ci 테스트에서 profile 설정 제거 * feat(Tier): 들어온 값을 찾아주는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(Type): 들어온 값을 찾아주는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveTarget: MoveTarget Enum 생성 및 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveFlag: MoveFlag Enum 생성 및 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(MoveCategory): 값을 찾아주는 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(EvolutionItem): 값을 찾아주는 컨버트 메서드 작성 - 값을 찾는 메서드 생성 - 정상적으로 찾아주는지 확인하는 테스트 작성 * feat(TypeReadConverter): 읽는 경우 타입으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(MoveTargetConverter): 읽는 경우 MoveTarget 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(MoveCategoryConverter): 읽는 경우 MoveCategory 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(FlagConverter): 읽는 경우 Flag 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(EvolutionItemConverter): 읽는 경우 EvolutionItem 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(TierConverter): 읽는 경우 Tier 으로 변환해주는 Converter 생성 - 정상적으로 변화시키는지 확인하는 테스트 작성 * feat(TypeMatching): TypeMatching entity 생성 * feat(ConverterConfig): Converter Config에 등록 * feat(Biome): Type으로 변동 - Type으로 변동에 따른 사용하는 코드들 변경 - TypeMatchingRepository 이름 변경 * feat(ErrorMessage): 에러 메시지 생성 * modify(,,,): Entity 필드를 Enum으로 받도록 변경 * feat(MongoRepositoryTest): Converter Config 추가 * feat(PokemonTypeService): 포켓몬 타입 API 구현 - TypeMatchingRepository 생성 - 필요한 Response 생성 - 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(BiomeRepositoryTest): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(MoveRepository): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * feat(PokemonRepositoryTest): 데이터를 전부 가져오고 잘 매핑하는지 확인하는 테스트 작성 * refactor(NextBiome): 생성자 수정 * style(TypeMatching): 패키지 위치 변경 * [BE-INFRA] 개발 DB 서버 설정 (#347) * chore: dev 서버 profile 생성 * chore: dev 서버 logback 설정 * chore: dev 서버 cd 워크플로우에 profile 설정 * chore: dev 서버 cd 워크플로우 수정 테스트 * chore: dev 서버 cd 워크플로우 트리거 복구 * chore: prod 서버 cd runner tag 변경 * [BE-REFACTOR] Biome, Move 정보 MongoDB 사용하도록 리팩토링 (#335) * refactor: Biome MongoDB를 사용하도록 리팩토링 * refactor: Move MongoDB를 사용하도록 리팩토링 * refactor: Biome 관련 사용하지 않는 클래스 삭제 * refactor: 테스트 통과하도록 수정 * refactor: 로그 추가 * test: 테스트 작성 * refactor: 불필요한 필드 및 메소드 삭제 * refactor: 일단 테스트 삭제 * refactor: 일단 테스트 * refactor: 테스트 통과하도록 수정 * refactor: getter 삭제 * refactor: BiomePokemonType 삭제 * refactor: 상수화 * refactor: 메시지 수정 * refactor: AllArgsConstructor 삭제 * refactor: 메소드명 수정 * refactor: 로그에 스레드 정보 포함 * refactor: 반환값 확인 * refactor: 메소드 순서 변경 * refactor: 캐싱 삭제 * refactor: 캐싱 삭제 * refactor: 테스트 복구 * refactor: notExistMove 테스트 작성 * refactor: notExistBiome 테스트 작성 * refactor: ErrorMessage 수정 * refactor: 개행 추가 * refactor: findAllById 적용 * refactor: 테스트 깨지는 오류 수정 * refactor: 오타 수정 * refactor: 에러 처리 * refactor: Backend-CI.yml 수정 * refactor: Backend-CI.yml 수정 * refactor: conflict로 인한 오류 해결 * refactor: 중복 클래스 삭제 * [BE-REFACTOR] Ability 정보 MongoDB 사용하도록 리팩토링 (#349) * refactor: mongoDB로 변경 * refactor: BiomeDatabaseInitializer 삭제 * refactor: 정적 팩토리 메소드로 수정 * refactor: 메소드 분리 * refactor: 메소드 명 수정 * refactor: 메소드 분리 * [BE-REFACTOR] 포켓몬 정보 MongoDB 리팩토링 (#336) * [BE-REFACTOR] 배틀 기능 MongoDB 사용하도록 리팩토링 (#338) * refactor: 패키지 분리 * feat: TypeMatching document 생성 * refactor: InMemoryTypeMatchingRepository를 MongoRepository로 대체 * refactor: battle 패키지에서 move api 제거 * refactor: BattleService에서 InMemoryRepository 및 InMemory data 제거 * refactor: WeatherMultiplier 생성 * refactor: BattleMultiplier 추상 클래스 생성 * refactor: TypeMultiplier 생성 * refactor: BattleService에서 WeatherMultiplier, TypeMultiplier 사용 * refactor: 상수화 추가 * refactor: Weather enum에서 배틀 날씨 배수 관리 * refactor: WeatherService 분리 * refactor: BattleMultiplier VO 생성 * refactor: TypeMultiplierProvider 구현 * fix: Mongo Document 기본 생성자 추가 * style: return 문 전에 개행 * rm: TypeMatchingRepositoryTest * refactor: BattleServiceTest 패키지 이동 * remove: DataInitializer * refactor: 배틀 배수 배열 상수화 * refactor: 강한 바람에 의한 배틀 배수 계산 조건문 메소드로 추출 * refactor: WeatherMultiplierProvider 생성 * refactor: BattleCalculator 생성 * refactor: return 문 전에 개행 * remove: WeatherServiceTest * fix: BattleMultiplier에서 내부 값을 doouble에서 BigDecimal로 교체 * refactor: TypeMultiplierProvider.getAllByTypeMatchings 변수명 변경 * refactor: BattleMultiplierTest * refactor: WeatherMultiplierProvider 수정 * feat: 배틀 결과 계산에서 선제 공격 여부 함께 결정 * remove: 불필요한 코드 삭제 * chore: 서브모듈 최신화 * [BE-INFRA] 기존 디비 ec2에 있는 도커를 dev ec2안으로 옮긴다 (#351) * refactor: 커밋 시점 수정 * refactor: 커밋 시점 수정 * refactor: 커밋 시점 수정 * refactor: 커밋 시점 변경 * refactor: 수정 * refactor: 스크립트 수정 * refactor: secret으로 변경 및 캐시 삭제 * refactor: 인덴트 제거 * chore: 서브 모듈 커밋 시점 변경 * chore: cd 워크플로우 서버별 분리 (#350) * [BE-FIX] MoveFlag 추가 (#373) * [BE-FEAT] 기술 관련 api 만들기 (#360) * feat: 전체 기술 리스트 반환 api * feat: 단일 기술 정보 불러오는 api * refactor: 기술 불러오는 로직 수정 * test: 전체 기술 목록 반환 api, 단일 기술 정보 반환 api 테스트 작성 * refactor: 데이터 추가 및 테스트 수정 * refactor: MoveFlag 추가 * test: 테스트 수정 * test: 테스트 수정 * refactor: 강제 캐시 삭제 * refactor: 전체 캐시 삭제 * refactor: api, 메소드명 수정 * refactor: 변수명 수정 * test: 테스트 수정 * refactor: 전체 캐시 삭제 * test: 테스트 수정 * [BE-REFACTOR] 바이옴 포켓몬 티어 정렬 (#363) * refactor: NativePokemonComparator 생성 * refactor: 바이옴 포켓몬 정렬 적용 (쿼리 스트링 추가) * style: return 문 전에 개행 * refactor: 정렬 기준 상수 enum으로 관리 * refactor: MongoDB config * refactor: 바이옴 포켓몬 정렬 기준 쿼리스트링 컨버터 생성 * [BE-INFRA] 개발 서버 DB 변경 (#387) * 포켓몬 데이터 캐싱 (#397) * [BE-INFRA] Tomcat thread pool 및 MongoDB connection pool 설정 (#420) * feat: MongoDB maxSize, minSize 설정 * fix: 새로운 리스트 생성해서 ability 생성하도록 수정 * chore: 서브모듈 시점 수정 * refactor: 포켓몬 전체 리스트 반환 시 정렬 기능 추가 * [BE-INFRA] prod mongo db uri 설정 (#436) --------- Co-authored-by: woojong Co-authored-by: unifolio0 Co-authored-by: SANGHUN OH <121424793+unifolio0@users.noreply.github.com> Co-authored-by: Eugene Jang Co-authored-by: murjune * 이미지 url 수정 및 진화 조건 수정 (#443) * chore: 서브모듈 커밋 시점 변경 * docs: README.md --------- Co-authored-by: unifolio0 Co-authored-by: SANGHUN OH <121424793+unifolio0@users.noreply.github.com> Co-authored-by: woojong Co-authored-by: Eugene Jang Co-authored-by: murjune --- .github/workflows/Backend-CD-Dev.yml | 73 + .github/workflows/Backend-CD-Infra.yml | 66 + .github/workflows/Backend-CD-Prod-A.yml | 75 + .github/workflows/Backend-CD-Prod-All.yml | 53 + .github/workflows/Backend-CD-Prod-B.yml | 75 + .github/workflows/Backend-CI.yml | 52 + .github/workflows/PR_Comment_Notification.yml | 72 - .gitmodules | 3 + backend/pokerogue/.gitignore | 1 - backend/pokerogue/build.gradle | 60 +- backend/pokerogue/docker/Dockerfile | 4 + backend/pokerogue/docker/Dockerfile-fail2ban | 4 + backend/pokerogue/docker/Dockerfile-nginx | 6 + backend/pokerogue/docker/fail2ban/jail.local | 7 + .../docker/fail2ban/paths-common.conf | 93 + .../pokerogue/docker/nginx/conf.d/nginx.conf | 44 + backend/pokerogue/docker/nginx/nginx.conf | 33 + .../{helper => }/PokerogueApplication.java | 8 +- .../external/extraction/ability.test.ts | 193 + .../external/extraction/biome.test.ts | 93 + .../external/extraction/biomeLinks.test.ts | 87 + .../external/extraction/biomeTrainers.test.ts | 115 + .../external/extraction/image.test.ts | 58 + .../external/extraction/move.test.ts | 126 + .../external/extraction/pokemon-imgId.test.ts | 213 + .../external/extraction/pokemon.test.ts | 220 + .../pokerogue/external/extraction/tms.test.ts | 195 + .../extraction/trainer-speceis.test.ts | 102 + .../external/extraction/weather.test.ts | 209 + .../external/s3/client/S3ImageClient.java | 57 + .../external/s3/service/S3Service.java | 88 + .../ability/controller/AbilityController.java | 37 + .../helper/ability/data/Ability.java | 46 + .../ability/dto/AbilityDetailResponse.java | 15 + .../ability/dto/AbilityPokemonResponse.java | 26 + .../helper/ability/dto/AbilityResponse.java | 10 + .../ability/dto/AbilityTypeResponse.java | 10 + .../ability/repository/AbilityRepository.java | 7 + .../ability/service/AbilityService.java | 65 + .../battle/controller/BattleController.java | 36 + .../pokerogue/helper/battle/data/Weather.java | 43 + .../battle/dto/BattleResultResponse.java | 33 + .../helper/battle/dto/WeatherResponse.java | 16 + .../battle/service/BattleCalculator.java | 76 + .../battle/service/BattleMultiplier.java | 70 + .../helper/battle/service/BattleService.java | 42 + .../service/TypeMultiplierProvider.java | 58 + .../service/WeatherMultiplierProvider.java | 31 + .../helper/battle/service/WeatherService.java | 17 + .../biome/controller/BiomeController.java | 42 + .../SortingCriteriaRequestConverter.java | 12 + .../helper/biome/converter/TierConverter.java | 14 + .../pokerogue/helper/biome/data/Biome.java | 37 + .../helper/biome/data/NativePokemon.java | 32 + .../helper/biome/data/NextBiome.java | 17 + .../com/pokerogue/helper/biome/data/Tier.java | 48 + .../pokerogue/helper/biome/data/Trainer.java | 25 + .../biome/dto/BiomeAllPokemonResponse.java | 11 + .../helper/biome/dto/BiomeDetailResponse.java | 33 + .../biome/dto/BiomePokemonResponse.java | 11 + .../helper/biome/dto/BiomeResponse.java | 23 + .../helper/biome/dto/BiomeTypeResponse.java | 4 + .../helper/biome/dto/NextBiomeResponse.java | 31 + .../biome/dto/TrainerPokemonResponse.java | 25 + .../biome/repository/BiomeRepository.java | 7 + .../helper/biome/service/BiomeService.java | 141 + .../service/NativePokemonComparator.java | 37 + .../helper/data/PokemonValidator.java | 275 + .../global/config/DataMongoDbConfig.java | 56 + .../helper/global/config/WebConfig.java | 15 + .../global/constant/SortingCriteria.java | 27 + .../databaseversion/DatabaseVersion.java | 18 + .../DatabaseVersionController.java | 18 + .../DatabaseVersionResponse.java | 16 + .../helper/global/exception/ErrorMessage.java | 51 + .../exception/GlobalCustomException.java | 22 + .../exception/PokemonExceptionHandler.java | 54 + .../move/controller/MoveController.java | 62 + .../helper/move/converter/FlagConverter.java | 14 + .../move/converter/MoveCategoryConverter.java | 14 + .../move/converter/MoveTargetConverter.java | 14 + .../com/pokerogue/helper/move/data/Move.java | 68 + .../helper/move/data/MoveCategory.java | 47 + .../pokerogue/helper/move/data/MoveFlag.java | 46 + .../helper/move/data/MoveTarget.java | 45 + .../helper/move/dto/MoveDetailResponse.java | 58 + .../helper/move/dto/MoveResponse.java | 35 + .../move/repository/MoveRepository.java | 7 + .../helper/move/service/MoveService.java | 82 + .../helper/pokemon/config/ImageUrl.java | 32 + .../pokemon/controller/PokemonController.java | 29 + .../converter/EvolutionItemConverter.java | 14 + .../helper/pokemon/data/Evolution.java | 28 + .../helper/pokemon/data/EvolutionItem.java | 172 + .../helper/pokemon/data/FormChange.java | 23 + .../helper/pokemon/data/LevelMove.java | 19 + .../helper/pokemon/data/Pokemon.java | 129 + .../helper/pokemon/dto/EggMoveResponse.java | 36 + .../helper/pokemon/dto/EvolutionResponse.java | 29 + .../pokemon/dto/EvolutionResponses.java | 6 + .../pokemon/dto/PokemonAbilityResponse.java | 44 + .../pokemon/dto/PokemonBiomeResponse.java | 10 + .../pokemon/dto/PokemonDetailResponse.java | 68 + .../pokemon/dto/PokemonMoveResponse.java | 36 + .../helper/pokemon/dto/PokemonResponse.java | 44 + .../repository/PokemonInMemoryRepository.java | 48 + .../pokemon/repository/PokemonRepository.java | 14 + .../helper/pokemon/service/BufferedQueue.java | 45 + .../pokemon/service/EvolutionContext.java | 45 + .../pokemon/service/EvolutionService.java | 47 + .../pokemon/service/PokemonService.java | 128 + .../pokemon/service/TreeDepthCalculator.java | 98 + .../helper/type/collection/TypeMatching.java | 27 + .../controller/PokemonTypeController.java | 27 + .../type/converter/TypeReadConverter.java | 14 + .../com/pokerogue/helper/type/data/Type.java | 60 + .../type/dto/PokemonTypeMatchingResponse.java | 6 + .../helper/type/dto/PokemonTypeResponse.java | 10 + .../helper/type/dto/TypeMatchingResponse.java | 11 + .../repository/TypeMatchingRepository.java | 10 + .../type/service/PokemonTypeService.java | 36 + .../helper/util/dto/ApiResponse.java | 4 + backend/pokerogue/src/main/resources | 1 + .../environment/client/FakeS3ImageClient.java | 19 + .../environment/client/TestClientConfig.java | 14 + .../controller/ControllerTest.java | 21 + .../repository/MongoRepositoryTest.java | 12 + .../environment/service/ServiceTest.java | 12 + .../helper/PokerogueApplicationTests.java | 2 + .../ability/service/AbilityServiceTest.java | 35 + .../helper/battle/MoveCategoryTest.java | 30 + .../battle/service/BattleCalculatorTest.java | 49 + .../battle/service/BattleMultiplierTest.java | 70 + .../battle/service/BattleServiceTest.java | 58 + .../service/TypeMultiplierProviderTest.java | 60 + .../WeatherMultiplierProviderTest.java | 41 + .../biome/controller/BiomeControllerTest.java | 58 + .../biome/converter/TierConverterTest.java | 18 + .../pokerogue/helper/biome/data/TierTest.java | 29 + .../biome/repository/BiomeRepositoryTest.java | 49 + .../biome/service/BiomeServiceTest.java | 73 + .../service/NativePokemonComparatorTest.java | 41 + .../helper/data/PokemonDataTest.java | 189 + .../helper/data/PokemonValidatorTest.java | 41 + .../helper/data/PokeomonControllerTest.java | 54 + .../global/constant/SortingCriteriaTest.java | 28 + .../databaseversion/DatabaseVersionTest.java | 24 + .../move/converter/FlagConverterTest.java | 18 + .../converter/MoveCategoryConverterTest.java | 18 + .../converter/MoveTargetConverterTest.java | 18 + .../helper/move/data/MoveFlagTest.java | 28 + .../helper/move/data/MoveTargetTest.java | 28 + .../move/repository/MoveRepositoryTest.java | 51 + .../helper/move/service/MoveServiceTest.java | 92 + .../converter/EvolutionItemConverterTest.java | 18 + .../pokemon/data/EvolutionItemTest.java | 30 + .../helper/pokemon/data/PokemonTest.java | 38 + .../pokemon/data/PokemonTestFixture.java | 141 + .../pokemon/service/BufferedQueueTest.java | 58 + .../pokemon/service/EvolutionContextTest.java | 59 + .../service/TreeDepthCalculatorTest.java | 33 + .../type/converter/TypeReadConverterTest.java | 18 + .../pokerogue/helper/type/data/TypeTest.java | 29 + .../TypeMatchingRepositoryTest.java | 38 + .../resources/json/ability/ability-1.json | 933 ++ .../resources/json/ability/ability-11.json | 1070 ++ .../resources/json/ability/ability-119.json | 1101 ++ .../resources/json/ability/ability-14.json | 957 ++ .../resources/json/ability/ability-143.json | 852 + .../resources/json/ability/ability-2.json | 854 + .../resources/json/ability/ability-3.json | 942 ++ .../resources/json/ability/ability-34.json | 1142 ++ .../resources/json/ability/ability-6.json | 990 ++ .../resources/json/ability/ability-60.json | 933 ++ .../resources/json/ability/ability-66.json | 1086 ++ .../pokemon-species/pokemon-species-186.json | 1527 ++ .../pokemon-species/pokemon-species-193.json | 847 + .../pokemon-species/pokemon-species-255.json | 775 + .../pokemon-species/pokemon-species-382.json | 775 + .../pokemon-species/pokemon-species-44.json | 1348 ++ .../pokemon-species/pokemon-species-88.json | 1592 ++ .../resources/json/pokemon/pokemon-186.json | 10868 +++++++++++++ .../resources/json/pokemon/pokemon-193.json | 10358 ++++++++++++ .../resources/json/pokemon/pokemon-255.json | 10981 +++++++++++++ .../resources/json/pokemon/pokemon-382.json | 10659 ++++++++++++ .../resources/json/pokemon/pokemon-44.json | 10070 ++++++++++++ .../resources/json/pokemon/pokemon-88.json | 13440 ++++++++++++++++ .../src/test/resources/json/type/type-1.json | 963 ++ .../src/test/resources/json/type/type-10.json | 470 + .../src/test/resources/json/type/type-11.json | 387 + .../src/test/resources/json/type/type-12.json | 455 + .../src/test/resources/json/type/type-13.json | 380 + .../src/test/resources/json/type/type-14.json | 548 + .../src/test/resources/json/type/type-15.json | 386 + .../src/test/resources/json/type/type-16.json | 308 + .../src/test/resources/json/type/type-17.json | 449 + .../src/test/resources/json/type/type-18.json | 286 + .../src/test/resources/json/type/type-19.json | 93 + .../src/test/resources/json/type/type-2.json | 440 + .../src/test/resources/json/type/type-3.json | 320 + .../src/test/resources/json/type/type-4.json | 411 + .../src/test/resources/json/type/type-5.json | 325 + .../src/test/resources/json/type/type-6.json | 311 + .../src/test/resources/json/type/type-7.json | 418 + .../src/test/resources/json/type/type-8.json | 437 + .../src/test/resources/json/type/type-9.json | 477 + .../test/resources/json/type/type-all.json | 83 + 207 files changed, 99752 insertions(+), 104 deletions(-) create mode 100644 .github/workflows/Backend-CD-Dev.yml create mode 100644 .github/workflows/Backend-CD-Infra.yml create mode 100644 .github/workflows/Backend-CD-Prod-A.yml create mode 100644 .github/workflows/Backend-CD-Prod-All.yml create mode 100644 .github/workflows/Backend-CD-Prod-B.yml create mode 100644 .github/workflows/Backend-CI.yml delete mode 100644 .github/workflows/PR_Comment_Notification.yml create mode 100644 .gitmodules create mode 100644 backend/pokerogue/docker/Dockerfile create mode 100644 backend/pokerogue/docker/Dockerfile-fail2ban create mode 100644 backend/pokerogue/docker/Dockerfile-nginx create mode 100644 backend/pokerogue/docker/fail2ban/jail.local create mode 100644 backend/pokerogue/docker/fail2ban/paths-common.conf create mode 100644 backend/pokerogue/docker/nginx/conf.d/nginx.conf create mode 100644 backend/pokerogue/docker/nginx/nginx.conf rename backend/pokerogue/src/main/java/com/pokerogue/{helper => }/PokerogueApplication.java (57%) create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/ability.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biome.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeLinks.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeTrainers.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/image.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/move.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon-imgId.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/tms.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/trainer-speceis.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/extraction/weather.test.ts create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/s3/client/S3ImageClient.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/external/s3/service/S3Service.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/controller/AbilityController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/data/Ability.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityDetailResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityPokemonResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityTypeResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/repository/AbilityRepository.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/ability/service/AbilityService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/controller/BattleController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/data/Weather.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/BattleResultResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/WeatherResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleCalculator.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleMultiplier.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/TypeMultiplierProvider.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherMultiplierProvider.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/controller/BiomeController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/SortingCriteriaRequestConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/TierConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Biome.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NativePokemon.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NextBiome.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Tier.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Trainer.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeAllPokemonResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeDetailResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomePokemonResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeTypeResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/NextBiomeResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/TrainerPokemonResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/repository/BiomeRepository.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/BiomeService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/NativePokemonComparator.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/data/PokemonValidator.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/DataMongoDbConfig.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/WebConfig.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/constant/SortingCriteria.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersion.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/ErrorMessage.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/GlobalCustomException.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/PokemonExceptionHandler.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/controller/MoveController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/FlagConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveCategoryConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveTargetConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/Move.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveCategory.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveFlag.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveTarget.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveDetailResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/repository/MoveRepository.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/move/service/MoveService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/config/ImageUrl.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/controller/PokemonController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Evolution.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/EvolutionItem.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/FormChange.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/LevelMove.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Pokemon.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EggMoveResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponses.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonAbilityResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonBiomeResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonDetailResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonMoveResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonInMemoryRepository.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonRepository.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/BufferedQueue.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionContext.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/PokemonService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculator.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/collection/TypeMatching.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/controller/PokemonTypeController.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/converter/TypeReadConverter.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/data/Type.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeMatchingResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/TypeMatchingResponse.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/repository/TypeMatchingRepository.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/type/service/PokemonTypeService.java create mode 100644 backend/pokerogue/src/main/java/com/pokerogue/helper/util/dto/ApiResponse.java create mode 160000 backend/pokerogue/src/main/resources create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/environment/client/FakeS3ImageClient.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/environment/client/TestClientConfig.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/environment/controller/ControllerTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/environment/repository/MongoRepositoryTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/environment/service/ServiceTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/ability/service/AbilityServiceTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/battle/MoveCategoryTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleCalculatorTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleMultiplierTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleServiceTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/TypeMultiplierProviderTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/WeatherMultiplierProviderTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/biome/controller/BiomeControllerTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/biome/converter/TierConverterTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/biome/data/TierTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/biome/repository/BiomeRepositoryTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/BiomeServiceTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/NativePokemonComparatorTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonDataTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonValidatorTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokeomonControllerTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/global/constant/SortingCriteriaTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/FlagConverterTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveCategoryConverterTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveTargetConverterTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveFlagTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveTargetTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/repository/MoveRepositoryTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/move/service/MoveServiceTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverterTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/EvolutionItemTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTestFixture.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/BufferedQueueTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/EvolutionContextTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculatorTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/type/converter/TypeReadConverterTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/type/data/TypeTest.java create mode 100644 backend/pokerogue/src/test/java/com/pokerogue/helper/type/repository/TypeMatchingRepositoryTest.java create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-1.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-11.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-119.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-14.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-143.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-2.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-3.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-34.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-6.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-60.json create mode 100644 backend/pokerogue/src/test/resources/json/ability/ability-66.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-186.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-193.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-255.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-382.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-44.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-88.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon/pokemon-186.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon/pokemon-193.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon/pokemon-255.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon/pokemon-382.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon/pokemon-44.json create mode 100644 backend/pokerogue/src/test/resources/json/pokemon/pokemon-88.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-1.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-10.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-11.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-12.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-13.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-14.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-15.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-16.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-17.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-18.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-19.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-2.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-3.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-4.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-5.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-6.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-7.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-8.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-9.json create mode 100644 backend/pokerogue/src/test/resources/json/type/type-all.json diff --git a/.github/workflows/Backend-CD-Dev.yml b/.github/workflows/Backend-CD-Dev.yml new file mode 100644 index 00000000..12b06209 --- /dev/null +++ b/.github/workflows/Backend-CD-Dev.yml @@ -0,0 +1,73 @@ +name: Backend Development Server CD + +on: + push: + branches: [ "be/develop" ] + +permissions: + contents: read + +jobs: + test: + uses: ./.github/workflows/Backend-CI.yml + secrets: inherit + + build: + needs: test + runs-on: dev + steps: + + - name: Checkout + uses: actions/checkout@v3 + with: + token: ${{ secrets.ACTION_TOKEN }} + submodules: true + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Build with Gradle + run: ./gradlew bootJar + working-directory: ./backend/pokerogue + + - name: Docker build and push + run: | + docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + + docker build -t ${{ secrets.DOCKER_DEV_SERVER_IMAGE }} -f ./backend/pokerogue/docker/Dockerfile ./backend/pokerogue + docker push ${{ secrets.DOCKER_DEV_SERVER_IMAGE }} + + + deploy: + needs: build + runs-on: dev + steps: + + - name: Deploy + run: | + cd /home/ubuntu + + sudo mkdir -p log/nginx && sudo touch log/nginx/error.log && sudo touch log/nginx/access.log + + sudo chmod 666 /var/run/docker.sock + + if [ "$(docker ps -qa)" ]; then + docker rm -f $(docker ps -qa) + docker builder prune + else + echo "No containers to remove." + fi + + docker pull ${{ secrets.DOCKER_DEV_MONGO_IMAGE }} + docker run -d --name pokerogue-mongo-db ${{ secrets.DOCKER_DEV_MONGO_IMAGE }} + + docker pull ${{ secrets.DOCKER_DEV_SERVER_IMAGE }} + docker run -d -p 8080:8080 --name server \ + --link pokerogue-mongo-db \ + -e JAVA_OPTS="-XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0" \ + -e TZ=Asia/Seoul \ + -e SPRING_PROFILES_ACTIVE=dev \ + ${{ secrets.DOCKER_DEV_SERVER_IMAGE }} diff --git a/.github/workflows/Backend-CD-Infra.yml b/.github/workflows/Backend-CD-Infra.yml new file mode 100644 index 00000000..7613c505 --- /dev/null +++ b/.github/workflows/Backend-CD-Infra.yml @@ -0,0 +1,66 @@ +name: Backend Infrastructure Modification + +on: + push: + tags: + - 'be-infra*' + +permissions: + contents: read + +jobs: + + build: + runs-on: cd + steps: + + - name: Checkout + uses: actions/checkout@v3 + with: + token: ${{ secrets.ACTION_TOKEN }} + submodules: true + + - name: Copy docker-compose.yml to home directory + working-directory: ./backend/pokerogue/src/main/resources + run: sudo cp ./docker-compose-prod.yml /home/ubuntu/docker-compose.yml + + - name: Docker build and push + run: | + docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + + docker build -t ${{ secrets.DOCKER_NGINX_IMAGE }} -f ./backend/pokerogue/docker/Dockerfile-nginx ./backend/pokerogue/docker + + docker build -t ${{ secrets.DOCKER_FAIL2BAN_IMAGE }} -f ./backend/pokerogue/docker/Dockerfile-fail2ban ./backend/pokerogue/docker + + + run: + needs: build + runs-on: cd + steps: + + - name: Change permission + run: | + sudo chown -R ubuntu:ubuntu /home/ubuntu/actions-runner/_work/2024-pokerogue-helper + + - name: Run Docker Containers + run: | + cd /home/ubuntu + + sudo mkdir -p log/nginx && sudo touch log/nginx/error.log && sudo touch log/nginx/access.log + + sudo chmod 666 /var/run/docker.sock + + if [ "$(docker ps -qa -f name=fail2ban)" ]; then + docker rm -f fail2ban + else + echo "No container named 'fail2ban' to remove." + fi + + if [ "$(docker ps -qa -f name=nginx)" ]; then + docker rm -f nginx + else + echo "No container named 'nginx' to remove." + fi + + docker-compose -f docker-compose.yml up -d fail2ban nginx + docker image prune -f diff --git a/.github/workflows/Backend-CD-Prod-A.yml b/.github/workflows/Backend-CD-Prod-A.yml new file mode 100644 index 00000000..5a7272a6 --- /dev/null +++ b/.github/workflows/Backend-CD-Prod-A.yml @@ -0,0 +1,75 @@ +name: Backend Production Server CD A + +on: + workflow_call: + +permissions: + contents: read + +jobs: + deploy: + runs-on: [ cd, app-a ] + steps: + - name: Change permission + run: | + sudo chown -R ubuntu:ubuntu /home/ubuntu/actions-runner/_work/2024-pokerogue-helper + + - name: Port forwarding begin + run: | + sudo sysctl -w net.ipv4.ip_forward=1 + sudo iptables -t nat -I PREROUTING 1 -p tcp --dport 80 -j DNAT --to-destination ${{ secrets.BE_PROD_B_PRIVATE_IP }}:80 + sudo iptables -t nat -I POSTROUTING 1 -p tcp --dport 80 -j SNAT --to-source ${{ secrets.BE_PROD_A_PRIVATE_IP }} + sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT + + - name: Deploy + run: | + cd /home/ubuntu + + sudo chmod 666 /var/run/docker.sock + + if [ "$(docker ps -qa -f name=server)" ]; then + docker rm -f server + else + echo "No container named 'server' to remove." + fi + + sudo docker system prune -f + + docker pull ${{ secrets.DOCKER_SERVER_IMAGE }} + + docker run -d -p 80:8080 --name server \ + -e JAVA_OPTS="-XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0" \ + -e TZ=Asia/Seoul \ + ${{ secrets.DOCKER_SERVER_IMAGE }} + + - name: Check service availability + run: | + SUCCESS=false + + for i in {1..10}; do + HTTP_STATUS=$(curl -o /dev/null -s -w "%{http_code}" http://localhost:80/actuator/health) || { + echo "Attempt $i: curl command failed. Retrying..."; + sleep 3; + continue; + } + + if [ $? -eq 0 ] && [ "$HTTP_STATUS" -eq 200 ]; then + echo "Service is up and running" + SUCCESS=true + break + fi + done + + - name: Port forwarding end + run: | + sudo iptables -t nat -D PREROUTING 1 + sudo iptables -t nat -D POSTROUTING 1 + sudo iptables -D INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT + sudo iptables -L -v -t nat + + - name: Exit if fails + run: | + if [ "$SUCCESS" = false ]; then + echo "Service did not respond successfully after $ATTEMPTS attempts, stopping github actions.." + sudo exit 1 + fi diff --git a/.github/workflows/Backend-CD-Prod-All.yml b/.github/workflows/Backend-CD-Prod-All.yml new file mode 100644 index 00000000..971fe310 --- /dev/null +++ b/.github/workflows/Backend-CD-Prod-All.yml @@ -0,0 +1,53 @@ +name: Backend Production Server CD All + +permissions: + contents: read + +on: + push: + branches: [ "be/release" ] + tags: + - 'v*' + +jobs: + test: + uses: ./.github/workflows/Backend-CI.yml + secrets: inherit + + build: + needs: test + runs-on: ci + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + token: ${{ secrets.ACTION_TOKEN }} + submodules: true + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Build with Gradle + run: ./gradlew bootJar + working-directory: ./backend/pokerogue + + - name: Docker build and push + run: | + docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + + docker build -t ${{ secrets.DOCKER_SERVER_IMAGE }} -f ./backend/pokerogue/docker/Dockerfile ./backend/pokerogue + docker push ${{ secrets.DOCKER_SERVER_IMAGE }} + + prod_a: + needs: build + name: Backend Production Server CD A + uses: ./.github/workflows/Backend-CD-Prod-A.yml + secrets: inherit + prod_b: + needs: prod_a + name: Backend Production Server CD B + uses: ./.github/workflows/Backend-CD-Prod-B.yml + secrets: inherit diff --git a/.github/workflows/Backend-CD-Prod-B.yml b/.github/workflows/Backend-CD-Prod-B.yml new file mode 100644 index 00000000..0a0575da --- /dev/null +++ b/.github/workflows/Backend-CD-Prod-B.yml @@ -0,0 +1,75 @@ +name: Backend Production Server CD B + +on: + workflow_call: + +permissions: + contents: read + +jobs: + deploy: + runs-on: [ cd, app-b ] + steps: + - name: Change permission + run: | + sudo chown -R ubuntu:ubuntu /home/ubuntu/actions-runner/_work/2024-pokerogue-helper + + - name: Port forwarding begin + run: | + sudo sysctl -w net.ipv4.ip_forward=1 + sudo iptables -t nat -I PREROUTING 1 -p tcp --dport 80 -j DNAT --to-destination ${{ secrets.BE_PROD_A_PRIVATE_IP }}:80 + sudo iptables -t nat -I POSTROUTING 1 -p tcp --dport 80 -j SNAT --to-source ${{ secrets.BE_PROD_B_PRIVATE_IP }} + sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT + + - name: Deploy + run: | + cd /home/ubuntu + + sudo chmod 666 /var/run/docker.sock + + if [ "$(docker ps -qa -f name=server)" ]; then + docker rm -f server + else + echo "No container named 'server' to remove." + fi + + sudo docker system prune -f + + docker pull ${{ secrets.DOCKER_SERVER_IMAGE }} + + docker run -d -p 80:8080 --name server \ + -e JAVA_OPTS="-XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0" \ + -e TZ=Asia/Seoul \ + ${{ secrets.DOCKER_SERVER_IMAGE }} + + - name: Check service availability + run: | + SUCCESS=false + + for i in {1..10}; do + HTTP_STATUS=$(curl -o /dev/null -s -w "%{http_code}" http://localhost:80/actuator/health) || { + echo "Attempt $i: curl command failed. Retrying..."; + sleep 3; + continue; + } + + if [ $? -eq 0 ] && [ "$HTTP_STATUS" -eq 200 ]; then + echo "Service is up and running" + SUCCESS=true + break + fi + done + + - name: Port forwarding end + run: | + sudo iptables -t nat -D PREROUTING 1 + sudo iptables -t nat -D POSTROUTING 1 + sudo iptables -D INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT + sudo iptables -L -v -t nat + + - name: Exit if fails + run: | + if [ "$SUCCESS" = false ]; then + echo "Service did not respond successfully after 10 attempts, stopping github actions.." + sudo exit 1 + fi diff --git a/.github/workflows/Backend-CI.yml b/.github/workflows/Backend-CI.yml new file mode 100644 index 00000000..f3a3c1fd --- /dev/null +++ b/.github/workflows/Backend-CI.yml @@ -0,0 +1,52 @@ +name: Backend CI + +on: + pull_request: + branches: [ "be/develop" ] + workflow_call: + +permissions: + contents: read + +jobs: + test: + runs-on: ci + steps: + + - name: Checkout + uses: actions/checkout@v3 + with: + token: ${{ secrets.ACTION_TOKEN }} + submodules: true + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Remove Containers + run: | + docker ps -aq | xargs -r docker rm -vf + docker system prune -a -f + + - name: Set up Test MongoDB + working-directory: ./backend/pokerogue/src/main/resources/ + run: docker-compose -f docker-compose-ci.yml up -d + + - name: Wait for Test MongoDB to be ready + working-directory: ./backend/pokerogue/src/main/resources/ + run: | + for i in {1..30}; do + if docker-compose -f docker-compose-ci.yml exec -T pokerogue-db mongo -u ${{ secrets.TEST_DB_USERNAME }} -p ${{ secrets.TEST_DB_PASSWORD }} --authenticationDatabase admin --eval "db.runCommand({ ping: 1 })" --quiet; then + echo "MongoDB is up and running!" + break + else + echo "Waiting for MongoDB to be ready..." + sleep 5 + fi + done + + - name: Run Test + working-directory: ./backend/pokerogue + run: ./gradlew clean test diff --git a/.github/workflows/PR_Comment_Notification.yml b/.github/workflows/PR_Comment_Notification.yml deleted file mode 100644 index d0608dba..00000000 --- a/.github/workflows/PR_Comment_Notification.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Discord Notification on PR Comment - -on: - issue_comment: - types: [created, edited] - -jobs: - notify-discord: - if: ${{ github.event.issue.pull_request && contains(github.event.comment.body, '/noti') }} - runs-on: ubuntu-latest - - steps: - - name: Set Environment Variables - env: - TITLE: ${{ github.event.issue.title }} - run: | - if [[ "${{ env.TITLE }}" == *"BE"* ]]; then - echo "AVATAR_URL=${{ secrets.BE_DISCORD_AVATAR_URL }}" >> $GITHUB_ENV - echo "COMMENT_BODY= 🤚백엔드 친구들 모여라~ 🔊" >> $GITHUB_ENV - echo "USERNAME=망나뇽" >> $GITHUB_ENV - echo "WEB_HOOK=${{ secrets.BE_DISCORD_WEB_HOOK }}" >> $GITHUB_ENV - elif [[ "${{ env.TITLE }}" == *"AN"* ]]; then - echo "AVATAR_URL=${{ secrets.AN_DISCORD_AVATAR_URL }}" >> $GITHUB_ENV - echo "COMMENT_BODY= 🤖안드 친구들 모여라~ 🔊" >> $GITHUB_ENV - echo "USERNAME=이상해씨" >> $GITHUB_ENV - echo "WEB_HOOK=${{ secrets.AN_DISCORD_WEB_HOOK }}" >> $GITHUB_ENV - fi - - - name: Notify Discord - env: - COMMENT_BODY: ${{ env.COMMENT_BODY }} - COMMENT_AUTHOR: ${{ github.event.comment.user.login }} - PR_URL: ${{ github.event.issue.pull_request.html_url }} - AUTHOR_URL: ${{ github.event.comment.user.avatar_url }} - AVATAR_URL: ${{ env.AVATAR_URL }} - CONTENT: ${{ github.event.comment.body }} - USERNAME: ${{ env.USERNAME }} - WEB_HOOK: ${{ env.WEB_HOOK }} - run: | - if [ -n "$WEB_HOOK" ]; then - JSON_PAYLOAD=$(jq -n \ - --arg content "$CONTENT" \ - --arg description "$COMMENT_BODY" \ - --arg username "$USERNAME" \ - --arg avatar_url "$AVATAR_URL" \ - --arg title "Pull Request Command" \ - --arg url "$PR_URL" \ - --arg author_url "$AUTHOR_URL" \ - --arg author_name "$COMMENT_AUTHOR" \ - --arg color "5814783" \ - --arg timestamp "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \ - '{ - content: $content, - username: $username, - avatar_url: $avatar_url, - embeds: [{ - title: $title, - url: $url, - author: { - name: $author_name, - icon_url: $author_url - }, - description: $description, - color: ($color | tonumber), - timestamp: $timestamp - }] - }') - - curl -X POST -H "Content-Type: application/json" -d "$JSON_PAYLOAD" "$WEB_HOOK" - else - echo "No matching title found. Skipping notification." - fi diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..30e64ffd --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "backend/pokerogue/src/main/resources"] + path = backend/pokerogue/src/main/resources + url = https://github.com/team-timmyroom/be-config diff --git a/backend/pokerogue/.gitignore b/backend/pokerogue/.gitignore index 5ad8e540..7d0a38b3 100644 --- a/backend/pokerogue/.gitignore +++ b/backend/pokerogue/.gitignore @@ -44,7 +44,6 @@ application.yml ### HTTP 관련 *.http -**/resources/** ### DS Store .DS_Store diff --git a/backend/pokerogue/build.gradle b/backend/pokerogue/build.gradle index 1e94e6f2..9612b47a 100644 --- a/backend/pokerogue/build.gradle +++ b/backend/pokerogue/build.gradle @@ -1,53 +1,59 @@ plugins { - id 'java' - id 'org.springframework.boot' version '3.3.1' - id 'io.spring.dependency-management' version '1.1.5' + id 'java' + id 'org.springframework.boot' version '3.3.1' + id 'io.spring.dependency-management' version '1.1.5' } group = 'com.pokerogue' version = '0.0.1-SNAPSHOT' java { - toolchain { - languageVersion = JavaLanguageVersion.of(17) - } + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } } configurations { - compileOnly { - extendsFrom annotationProcessor - } + compileOnly { + extendsFrom annotationProcessor + } } repositories { - mavenCentral() + mavenCentral() } dependencies { - // spring web - implementation 'org.springframework.boot:spring-boot-starter-web' + // spring web + implementation 'org.springframework.boot:spring-boot-starter-web' - // lombok - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' + // lombok + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' - // validation - implementation 'org.springframework.boot:spring-boot-starter-validation' + // validation + implementation 'org.springframework.boot:spring-boot-starter-validation' - // mySql - runtimeOnly 'com.mysql:mysql-connector-j' + // s3 + implementation "software.amazon.awssdk:s3:2.26.21" - // JPA - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + // Data MongoDB + implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' - // spring test - testImplementation 'org.springframework.boot:spring-boot-starter-test' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + // spring test + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - // rest-assured - testImplementation 'io.rest-assured:rest-assured:5.4.0' + // rest-assured + testImplementation 'io.rest-assured:rest-assured:5.4.0' + + // log-back-encoder + implementation 'net.logstash.logback:logstash-logback-encoder:7.4' + + // actuator + implementation 'org.springframework.boot:spring-boot-starter-actuator' } tasks.named('test') { - useJUnitPlatform() + useJUnitPlatform() } diff --git a/backend/pokerogue/docker/Dockerfile b/backend/pokerogue/docker/Dockerfile new file mode 100644 index 00000000..078d0c29 --- /dev/null +++ b/backend/pokerogue/docker/Dockerfile @@ -0,0 +1,4 @@ +FROM openjdk:17 +ARG JAR_FILE=/build/libs/*.jar +COPY ${JAR_FILE} app.jar +ENTRYPOINT ["java","-jar", "/app.jar"] diff --git a/backend/pokerogue/docker/Dockerfile-fail2ban b/backend/pokerogue/docker/Dockerfile-fail2ban new file mode 100644 index 00000000..2ef66235 --- /dev/null +++ b/backend/pokerogue/docker/Dockerfile-fail2ban @@ -0,0 +1,4 @@ +FROM crazymax/fail2ban +RUN rm -rf /etc/fail2ban/paths-common.conf +COPY ./fail2ban/jail.local /etc/fail2ban +COPY ./fail2ban/paths-common.conf /etc/fail2ban diff --git a/backend/pokerogue/docker/Dockerfile-nginx b/backend/pokerogue/docker/Dockerfile-nginx new file mode 100644 index 00000000..a514f3dd --- /dev/null +++ b/backend/pokerogue/docker/Dockerfile-nginx @@ -0,0 +1,6 @@ +FROM nginx +RUN rm -rf /etc/nginx/conf.d/default.conf +RUN rm -rf /etc/nginx/nginx.conf +COPY ./nginx/conf.d/nginx.conf /etc/nginx/conf.d +COPY ./nginx/nginx.conf /etc/nginx +CMD ["nginx", "-g", "daemon off;"] diff --git a/backend/pokerogue/docker/fail2ban/jail.local b/backend/pokerogue/docker/fail2ban/jail.local new file mode 100644 index 00000000..97e84e25 --- /dev/null +++ b/backend/pokerogue/docker/fail2ban/jail.local @@ -0,0 +1,7 @@ +[nginx-limit-req] +ignoreip = 39.125.9.126/32 39.125.9.64/30 218.39.176.142/32 +maxtry = 2 +enabled=true +chain=DOCKER-USER +port=http,https +bantime = -1 diff --git a/backend/pokerogue/docker/fail2ban/paths-common.conf b/backend/pokerogue/docker/fail2ban/paths-common.conf new file mode 100644 index 00000000..82c9bff9 --- /dev/null +++ b/backend/pokerogue/docker/fail2ban/paths-common.conf @@ -0,0 +1,93 @@ +# Common +# + +[INCLUDES] + +after = paths-overrides.local + +[DEFAULT] + +default_backend = %(default/backend)s + +# Initial common values (to overwrite in path-.conf)... +# There is no sensible generic defaults for syslog log targets, thus +# leaving them empty here (resp. set to mostly used variant) in order +# to avoid errors while parsing/interpolating configs. +# +# Note systemd-backend does not need the logpath at all. +# +syslog_local0 = /var/log/messages + +syslog_authpriv = /var/log/auth.log +syslog_daemon = %(syslog_local0)s +syslog_ftp = %(syslog_local0)s +syslog_mail = +syslog_mail_warn = +syslog_user = %(syslog_local0)s + +# Set the default syslog backend target to default_backend +syslog_backend = %(default_backend)s + +# Default values for several jails: + +sshd_log = %(syslog_authpriv)s +sshd_backend = %(default_backend)s + +dropbear_log = %(syslog_authpriv)s +dropbear_backend = %(default_backend)s + +apache_error_log = /var/log/apache2/*error.log + +apache_access_log = /var/log/apache2/*access.log + +# from /etc/audit/auditd.conf +auditd_log = /var/log/audit/audit.log + +exim_main_log = /var/log/exim/mainlog + +nginx_error_log = /log/nginx/*error.log + +nginx_access_log = /log/nginx/*access.log + + +lighttpd_error_log = /var/log/lighttpd/error.log + +# http://www.hardened-php.net/suhosin/configuration.html#suhosin.log.syslog.facility +# syslog_user is the default. Lighttpd also hooks errors into its log. + +suhosin_log = %(syslog_user)s + %(lighttpd_error_log)s + +# defaults to ftp or local2 if ftp doesn't exist +proftpd_log = %(syslog_ftp)s +proftpd_backend = %(default_backend)s + +# http://svnweb.freebsd.org/ports/head/ftp/proftpd/files/patch-src_proftpd.8.in?view=markup +# defaults to ftp but can be overwritten. +pureftpd_log = %(syslog_ftp)s +pureftpd_backend = %(default_backend)s + +# ftp, daemon and then local7 are tried at configure time however it is overwritable at configure time +# +wuftpd_log = %(syslog_ftp)s +wuftpd_backend = %(default_backend)s + +# syslog_enable defaults to no. so it defaults to vsftpd_log_file setting of /var/log/vsftpd.log +# No distro seems to set it to syslog by default +# If syslog set it defaults to ftp facility if exists at compile time otherwise falls back to daemonlog. +vsftpd_log = /var/log/vsftpd.log + +# Technically syslog_facility in main.cf can overwrite but no-one sane does this. +postfix_log = %(syslog_mail_warn)s +postfix_backend = %(default_backend)s + +dovecot_log = %(syslog_mail_warn)s +dovecot_backend = %(default_backend)s + +# Seems to be set at compile time only to LOG_LOCAL0 (src/const.h) at Notice level +solidpop3d_log = %(syslog_local0)s + +mysql_log = %(syslog_daemon)s +mysql_backend = %(default_backend)s + +roundcube_errors_log = /var/log/roundcube/errors diff --git a/backend/pokerogue/docker/nginx/conf.d/nginx.conf b/backend/pokerogue/docker/nginx/conf.d/nginx.conf new file mode 100644 index 00000000..b6f4b5f1 --- /dev/null +++ b/backend/pokerogue/docker/nginx/conf.d/nginx.conf @@ -0,0 +1,44 @@ +access_log /log/nginx/access.log; +error_log /log/nginx/error.log; + +upstream was { + server server:8080; + keepalive 32; +} + +server { + server_name pokerogue-helper.com; + listen 443 ssl; + + location /api/ { + resolver 8.8.8.8 ipv6=off; + + proxy_pass http://was; + proxy_set_header X-Real_IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_http_version 1.1; + proxy_set_header Connection ""; + } + + location / { + limit_req zone=my_limit; + limit_req_status 429; + } + + + ssl_certificate /etc/letsencrypt/live/pokerogue-helper.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/pokerogue-helper.com/privkey.pem; + include /etc/letsencrypt/options-ssl-nginx.conf; + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; +} + +server { + server_name pokerogue-helper.com; + listen 80 ; + + if ($host = pokerogue-helper.com) { + return 301 https://$host$request_uri; + } + return 404; +} diff --git a/backend/pokerogue/docker/nginx/nginx.conf b/backend/pokerogue/docker/nginx/nginx.conf new file mode 100644 index 00000000..8f6fee3e --- /dev/null +++ b/backend/pokerogue/docker/nginx/nginx.conf @@ -0,0 +1,33 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + limit_req_zone $binary_remote_addr zone=my_limit:10m rate=1r/s; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/PokerogueApplication.java b/backend/pokerogue/src/main/java/com/pokerogue/PokerogueApplication.java similarity index 57% rename from backend/pokerogue/src/main/java/com/pokerogue/helper/PokerogueApplication.java rename to backend/pokerogue/src/main/java/com/pokerogue/PokerogueApplication.java index 30055035..69b61604 100644 --- a/backend/pokerogue/src/main/java/com/pokerogue/helper/PokerogueApplication.java +++ b/backend/pokerogue/src/main/java/com/pokerogue/PokerogueApplication.java @@ -1,4 +1,4 @@ -package com.pokerogue.helper; +package com.pokerogue; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -6,8 +6,8 @@ @SpringBootApplication public class PokerogueApplication { - public static void main(String[] args) { - SpringApplication.run(PokerogueApplication.class, args); - } + public static void main(String[] args) { + SpringApplication.run(PokerogueApplication.class, args); + } } diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/ability.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/ability.test.ts new file mode 100644 index 00000000..b3b56bb7 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/ability.test.ts @@ -0,0 +1,193 @@ +// import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +// +// import { Abilities } from "#app/enums/abilities.js"; +// import { ability } from "#app/locales/ko/ability" +// import { Moves } from "#app/enums/moves" +// import { Type } from "#app/data/type" +// import { allMoves } from "#app/data/move.js"; +// import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +// import * as fs from "fs"; +// import * as path from 'path'; +// import { speciesEggMoves } from "#app/data/egg-moves" +// import { Species } from "#app/enums/species.ts"; +// import i18next, { init } from "i18next"; +// import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.ts"; +// import { biomePokemonPools, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.ts"; +// import { Biome } from "#app/enums/biome.ts"; +// import { exit } from "process"; +// import { Ability, allAbilities } from "#app/data/ability.ts"; +// import GameManager from "#test/utils/gameManager"; +// import { enConfig } from "#app/locales/en/config.js"; +// import { koConfig } from "#app/locales/ko/config.js"; +// +// const filePath = path.join(__dirname, 'ability.txt'); +// const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +// console.log = (...args: any[]) => { +// const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); +// logStream.write(message + '\n'); +// }; +// +// describe("Ability", () => { +// let phaserGame: Phaser.Game; +// let game: GameManager; +// const TIMEOUT = 1000 * 20; +// +// beforeAll(() => { +// }); +// +// afterEach(() => { +// }); +// +// beforeEach(() => { +// }); +// +// // const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { +// // var ret = [] +// // // id +// // ret.push(pokemonId) +// // ret.push(x.speciesId) +// // //name +// // ret.push(sp.name +"-"+ x.formName) +// // // type +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) +// // // ability (todo: passive) +// // ret.push(new Ability(x.ability1, x.generation).name) +// // ret.push(new Ability(x.ability2, x.generation).name) +// // ret.push(new Ability(x.abilityHidden, x.generation).name) +// // ret.push(new Ability(passive, x.generation).name) +// // // metadata +// // ret.push(x.generation) +// // ret.push(sp.legendary) +// // ret.push(sp.subLegendary) +// // ret.push(sp.mythical) +// // // evolution (speciesId, level) +// // ret.push(sp.getEvolutionLevels()) +// // // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) +// // ret.push(x.baseTotal) +// // ret.push(x.baseStats) +// // ret.push(x.height) +// // ret.push(x.weight) +// // // form +// // ret.push(sp.canChangeForm) +// // // eggMoves +// // var tmp = [] +// // for(let i =0; i < eggMoves.length; i++){ +// // tmp.push(eggMoves[i].name) +// // } +// // ret.push(tmp) +// // // moves +// // tmp = [] +// // for(let i =0; i < moves.length; i++){ +// // tmp.push(moves[i][1].name) +// // } +// // ret.push(tmp) +// +// +// // tmp = [] +// // for(let i =0; i < biomes.length; i++){ +// // tmp.push(getBiomeName(biomes[i])) +// // } +// // ret.push(tmp) +// +// // console.log(ret.join(" / ")) +// // })); +// +// +// +// // const print2 = (((x: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes +// // ) => { +// // var ret = [] +// // // id +// // ret.push(pokemonId) +// // ret.push(x.speciesId) +// // //name +// // ret.push(x.name) +// // // type +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) +// // // ability (todo: passive) +// // ret.push(new Ability(x.ability1, x.generation).name) +// // ret.push(new Ability(x.ability2, x.generation).name) +// // ret.push(new Ability(x.abilityHidden, x.generation).name) +// // ret.push(new Ability(passive, x.generation).name) +// // // metadata +// // ret.push(x.generation) +// // ret.push(x.legendary) +// // ret.push(x.subLegendary) +// // ret.push(x.mythical) +// // // evolution (speciesId, level) +// // ret.push(x.getEvolutionLevels()) +// // // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) +// // ret.push(x.baseTotal) +// // ret.push(x.baseStats) +// // ret.push(x.height) +// // ret.push(x.weight) +// // // form +// // ret.push(x.canChangeForm) +// // // eggMoves +// // var tmp = [] +// // for(let i =0; i < eggMoves.length; i++){ +// // tmp.push(eggMoves[i].name) +// // } +// // ret.push(tmp) +// // // moves +// // tmp = [] +// // for(let i =0; i < moves.length; i++){ +// // tmp.push(moves[i][1].name) +// // } +// // ret.push(tmp) +// +// +// // tmp = [] +// // for(let i =0; i < biomes.length; i++){ +// // tmp.push(getBiomeName(biomes[i])) +// // } +// // ret.push(tmp) +// +// // console.log(ret.join(" / ")) +// // })); +// +// it("특성 정보 추출 테스트", async () => { +// console.log("이름 / 효과 설명 / 세대 / 해당 특성을 가진 포켓몬") +// console.log() +// +// let p = allAbilities; +// var abilityId: integer = 1 +// let q = allSpecies +// +// for (let i = 0; i < allAbilities.length; i++) { +// var ret = [] +// let x = allAbilities[i] +// if (x.id === Abilities.NONE) { +// continue +// } +// var name = x.name +// ret.push(name) +// var description = x.description +// ret.push(description) +// var generation = x.generation +// ret.push(generation) +// var abret = [] +// for (let i = 0; i < allSpecies.length; i++) { +// let y = allSpecies[i] +// var passive = starterPassiveAbilities[y.getRootSpeciesId()] +// if (y.ability1 === x.id || y.ability2 === x.id || y.abilityHidden === x.id || passive === x.id) { +// abret.push(y.name) +// } +// if (y.canChangeForm) { +// for (var form of y.forms) { +// if (form.ability1 === x.id || form.ability2 === x.id || form.abilityHidden === x.id) { +// if (form.formName === "Normal") { +// continue +// } +// abret.push(y.name + "-" + form.formName) +// } +// } +// } +// } +// ret.push(abret.join(" , ")) +// console.log(ret.join(" / ")) +// } +// }); +// }); diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biome.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biome.test.ts new file mode 100644 index 00000000..beae407e --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biome.test.ts @@ -0,0 +1,93 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js" +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomeLinks, biomePokemonPools, BiomePoolTier, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { TimeOfDay } from "#app/enums/time-of-day.js"; + +let filePath = path.join(__dirname, 'biome.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +// 포켓몬, +// 기술, +// 바이옴, +// 진화체(트리거), + +// 날씨, +// 특성 + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { + var ret = [] + + // console.log(ret.join(" / ")) + })); + + + const printBiomeSpecies = () => { + for (const b of Object.keys(biomePokemonPools)) { + const BIOME = b + for (const t of Object.keys(biomePokemonPools[b])) { + const TIER = BiomePoolTier[t] + for (const tod of Object.keys(biomePokemonPools[b][t])) { + let ret = [] + const TOD = TimeOfDay[tod] + const biomeTierTimePool = biomePokemonPools[b][t][tod]; + for (let e = 0; e < biomeTierTimePool.length; e++) { + let x = biomeTierTimePool[e] + if (typeof x === 'object') { + let y = Object.values(x) + for (let i = 0; i < y.length; i++) { + ret.push(y[i][0]) + } + continue + } + ret.push(x) + } + + console.log(getBiomeName(BIOME), TOD, TIER, ret.map(r => i18next.t(`pokemon:${Species[r].toLowerCase()}`))) + } + } + + } + } + + const printMetaData = () => { + console.log(` + Biome + TimeOfDay + Tier + Species[] + `) + } + + it("테스트 환경입니다 >_< ", async () => { + printMetaData() + printBiomeSpecies() + }) + +}) diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeLinks.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeLinks.test.ts new file mode 100644 index 00000000..30760008 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeLinks.test.ts @@ -0,0 +1,87 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js" +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomeLinks, biomePokemonPools, BiomePoolTier, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { TimeOfDay } from "#app/enums/time-of-day.js"; + +let filePath = path.join(__dirname, 'biome-names.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +// 포켓몬, +// 기술, +// 바이옴, +// 진화체(트리거), +// 날씨, +// 특성 + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { + var ret = [] + + // console.log(ret.join(" / ")) + })); + + + const printBiomeLinks = () => { + + for (var e in biomeLinks) { + var key = Biome[e] + var value = biomeLinks[e] + if (!Array.isArray(value)) { + value = [value] + } + + value = value.map(r => { + if (!Array.isArray(r)) { + return getBiomeName(r) + } + return getBiomeName(r[0]); + }) + console.log(getBiomeName(Biome[key]) + " " + value) + } + } + + const printMetaData = () => { + console.log(` + links + `) + } + + it("테스트 환경입니다 >_< ", async () => { + // printMetaData() + // printBiomeLinks() + var x = Object.values(Biome) + + for (var value in x){ + console.log(getBiomeName(x[value])) + } + + // console.log(v) + }) + +}) diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeTrainers.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeTrainers.test.ts new file mode 100644 index 00000000..ef6e61d8 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/biomeTrainers.test.ts @@ -0,0 +1,115 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js" +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomeLinks, biomePokemonPools, BiomePoolTier, biomeTrainerPools, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { TimeOfDay } from "#app/enums/time-of-day.js"; +import { TrainerType } from "#enums/trainer-type"; +import { trainerClasses, trainerNames } from "#app/locales/de/trainers.js"; +import { TrainerPoolTier } from "#app/data/trainer-config.js"; + +let filePath = path.join(__dirname, 'biome-trainer.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +// 포켓몬, +// 기술, +// 바이옴, +// 진화체(트리거), + +// 날씨, +// 특성 + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + + enum BiomePoolTierToKo { + COMMON = "보통", + UNCOMMON = "드묾", + RARE = "레어", + SUPER_RARE = "슈퍼 레어", + ULTRA_RARE = "울트라 레어", + BOSS = "보스", + BOSS_RARE = "레어 보스", + BOSS_SUPER_RARE = "슈퍼 레어 보스", + BOSS_ULTRA_RARE = "슈퍼 울트라 레어 보스" + } + + + + const print = () => { + // i18next.changeLanguage('ko') + var ret =[] + + for (var i in biomeTrainerPools) { + var z = biomeTrainerPools[i]; + // console.log(z) + for (var j in z) { + var tmp = [] + var z2 = z[j] + tmp.push( + getBiomeName(i), + BiomePoolTierToKo[BiomePoolTier[j]], + z2.map(r => { + // 먼저 키를 생성합니다. + const nameForCall = TrainerType[r].toLowerCase().replace(/\s/g, "_"); + var key = '' + if (trainerClasses[nameForCall]) { + key = `trainerClasses:${nameForCall}`; + }else{ + key = `trainerNames:${nameForCall}`; + } + + // 해당 키를 사용하여 번역된 문자열을 가져옵니다. + const translated = i18next.t(key) as string; + + // 결과 문자열을 반환합니다. + return `${translated}`; + }), + ) + ret.push(tmp.join(" / ")) + } + } + + for(var x in ret){ + console.log(ret[x]) + } + + } + + const printMetaData = () => { + console.log(` + Biome + Tier + Trainer[] + `) + } + + it("테스트 환경입니다 >_< ", async () => { + printMetaData() + print() + }) + +}) diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/image.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/image.test.ts new file mode 100644 index 00000000..9df8ff81 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/image.test.ts @@ -0,0 +1,58 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js" +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomeLinks, biomePokemonPools, BiomePoolTier, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { TimeOfDay } from "#app/enums/time-of-day.js"; + +let filePath = path.join(__dirname, 'image.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +// 포켓몬, +// 기술, +// 바이옴, +// 진화체(트리거), +// 날씨, +// 특성 + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + const printBiomeLinks = () => { + + } + + const printMetaData = () => { + console.log(` + links + `) + } + + it("테스트 환경입니다 >_< ", async () => { + printMetaData() + printBiomeLinks() + }) + +}) diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/move.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/move.test.ts new file mode 100644 index 00000000..dfa64e5b --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/move.test.ts @@ -0,0 +1,126 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js" +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { MoveCategory, MoveFlags, MoveTarget, allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomeLinks, biomePokemonPools, BiomePoolTier, biomeTrainerPools, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { TimeOfDay } from "#app/enums/time-of-day.js"; +import { TrainerType } from "#enums/trainer-type"; +import { trainerClasses, trainerNames } from "#app/locales/de/trainers.js"; +import { TrainerPoolTier } from "#app/data/trainer-config.js"; +import { move } from "#app/locales/de/move"; +import { all } from "axios"; + +let filePath = path.join(__dirname, 'move.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +// 포켓몬, +// 기술, +// 바이옴, +// 진화체(트리거), + +// 날씨, +// 특성 + + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + // 원하는 순서 정의 + const order = [ + "id", + "name", + "nameAppend", + "effect", + "type", + "defaultType", + "category", + "moveTarget", + "power", + "accuracy", + "pp", + "chance", + "priority", + "generation", + "flags", + ]; + + // 객체의 키값들을 원하는 순서로 정렬하여 새로운 객체 생성 + + + const print = () => { + for (var i in allMoves) { + var move = allMoves[i] + const sortedMove = order + .map(key => { + if(key === "moveTarget"){ + return MoveTarget[move[key]] ? MoveTarget[move[key]] : "EMPTY" + } + if(key === "category"){ + return MoveCategory[move[key]] ? MoveCategory[move[key]] : "EMPTY" + } + if(key === "flags"){ + return MoveFlags[move[key]] ? MoveFlags[move[key]] : "EMPTY" + } + if(key === "type" || key === "defaultType"){ + var tmp = i18next.t(`pokemonInfo:Type:${Type[move[key]]}`); + return tmp ? tmp : "EMPTY" + } + return move[key] ? move[key] : "EMPTY" + }) + + console.log(sortedMove.join(" / ")) + // console.log(Object.values(allMoves[i]).join(" / ")) + } + } + + const printMetaData = () => { + console.log(` + "id", + "name", + "nameAppend", + "effect", + "type", + "defaultType", + "category", + "moveTarget", + "power", + "accuracy", + "pp", + "chance", + "priority", + "generation", + "flags", + //todo: "attrs", + //todo: "conditions", + + `) + } + + it("테스트 환경입니다 >_< ", async () => { + printMetaData() + print() + }) + +}) diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon-imgId.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon-imgId.test.ts new file mode 100644 index 00000000..341fc2b8 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon-imgId.test.ts @@ -0,0 +1,213 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js"; +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm, SpeciesFormKey } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomePokemonPools, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { exit } from "process"; +import { Ability } from "#app/data/ability.js"; + +const filePath = path.join(__dirname, 'pokemon-imgId.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + + const toEvolutionNames = (x) => { + var ret = [] + for (var z in x) { + var y = x[z] + ret.push(i18next.t(`pokemon:${Species[y[0]].toLowerCase()}`), y[1]) + } + return ret + } + + const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { + var ret = [] + // id + ret.push(x.speciesId) + //name + ret.push(sp.name + '-' + x.formName) + // ret.push(i18next.t(`pokemonForm:${x.formName}`)) + // ret.push(sp.name + " " + ) + // type + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) + // ability (todo: passive) + ret.push(new Ability(x.ability1, x.generation).name) + ret.push(new Ability(x.ability2, x.generation).name) + ret.push(new Ability(x.abilityHidden, x.generation).name) + ret.push(new Ability(passive, x.generation).name) + // metadata + ret.push(x.generation) + ret.push(sp.legendary) + ret.push(sp.subLegendary) + ret.push(sp.mythical) + // evolution (speciesId, level) + ret.push(toEvolutionNames(sp.getEvolutionLevels())) + // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) + ret.push(x.baseTotal) + ret.push(x.baseStats) + ret.push(x.height) + ret.push(x.weight) + // form + ret.push(sp.canChangeForm) + // eggMoves + var tmp = [] + for (let i = 0; i < eggMoves.length; i++) { + tmp.push(eggMoves[i].name) + } + ret.push(tmp) + // moves + tmp = [] + for (let i = 0; i < moves.length; i++) { + tmp.push(moves[i][1].name, moves[i][0]) + } + ret.push(tmp) + + + tmp = [] + for (let i = 0; i < biomes.length; i++) { + tmp.push(getBiomeName(biomes[i])) + } + ret.push(tmp) + + console.log(ret.join(" / ")) + })); + + + + const print2 = (((x: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes + ) => { + + var ret = [] + // id + ret.push(x.speciesId) + //name + ret.push(x.name) + // type + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) + // ability (todo: passive) + ret.push(new Ability(x.ability1, x.generation).name) + ret.push(new Ability(x.ability2, x.generation).name) + ret.push(new Ability(x.abilityHidden, x.generation).name) + ret.push(new Ability(passive, x.generation).name) + // metadata + ret.push(x.generation) + ret.push(x.legendary) + ret.push(x.subLegendary) + ret.push(x.mythical) + // evolution (speciesId, level) + ret.push(toEvolutionNames(x.getEvolutionLevels())) + // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) + ret.push(x.baseTotal) + ret.push(x.baseStats) + ret.push(x.height) + ret.push(x.weight) + // form + ret.push(x.canChangeForm) + // eggMoves + var tmp = [] + for (let i = 0; i < eggMoves.length; i++) { + tmp.push(eggMoves[i].name) + } + ret.push(tmp) + // moves + tmp = [] + for (let i = 0; i < moves.length; i++) { + tmp.push(moves[i][1].name, moves[i][0]) + } + ret.push(tmp) + + + tmp = [] + for (let i = 0; i < biomes.length; i++) { + tmp.push(getBiomeName(biomes[i])) + } + + ret.push(tmp) + + console.log(ret.join(" / ")) + })); + + + const printMetaData = () => { + console.log( + `speciesId + name + type1 + type2 + ability1 + ability2 + abilityHidden + abilitypassive + generation + legendary + subLegendary + mythical + getEvolutionLevels() + x.baseTotal + x.baseStats + x.height + x.weight + canChangeForm + eggMoves + moves + biomes + `) + } + + it("테스트 환경입니다 >_< ", async () => { + + let p = allSpecies; + var pokemonId: integer = 1 + + printMetaData() + + // initBiomes(); + const biomeMap = new Map(); + for (let i = 0; i < pokemonBiomes.length; i++) { + var species = Species[pokemonBiomes[i][0]] + var biomeEntries = pokemonBiomes[i][3] + biomeMap.set(species, biomeEntries + .map((a, b, c) => a[0]) + .filter((value, index, self) => self.indexOf(value) === index)) + } + + for (let i = 0; i < allSpecies.length; i++) { + let x = allSpecies[i] + + var passive = starterPassiveAbilities[x.getRootSpeciesId()] + var eggMoves: Moves[] = speciesEggMoves[x.getRootSpeciesId()].map((value, index, arr) => allMoves[value]) + var moves = pokemonSpeciesLevelMoves[x.getRootSpeciesId()].map((value, index, arr) => [value[0], allMoves[value[1]]]) + + i18next.changeLanguage("en") + console.log(i18next.t(`pokemon:${Species[x.speciesId].toLowerCase()}`)) + i18next.changeLanguage("ko") + } + + }); +}); diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon.test.ts new file mode 100644 index 00000000..aef3807b --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/pokemon.test.ts @@ -0,0 +1,220 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js"; +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm, SpeciesFormKey } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomePokemonPools, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { exit } from "process"; +import { Ability } from "#app/data/ability.js"; + +const filePath = path.join(__dirname, 'pokemon.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + + const toEvolutionNames = (x) => { + var ret = [] + for (var z in x) { + var y = x[z] + ret.push(i18next.t(`pokemon:${Species[y[0]].toLowerCase()}`), y[1]) + } + return ret + } + + const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { + var ret = [] + // id + ret.push(x.speciesId) + //name + ret.push(sp.name + '-' + x.formName) + // ret.push(i18next.t(`pokemonForm:${x.formName}`)) + // ret.push(sp.name + " " + ) + // type + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) + // ability (todo: passive) + ret.push(new Ability(x.ability1, x.generation).name) + ret.push(new Ability(x.ability2, x.generation).name) + ret.push(new Ability(x.abilityHidden, x.generation).name) + ret.push(new Ability(passive, x.generation).name) + // metadata + ret.push(x.generation) + ret.push(sp.legendary) + ret.push(sp.subLegendary) + ret.push(sp.mythical) + // evolution (speciesId, level) + ret.push(toEvolutionNames(sp.getEvolutionLevels())) + // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) + ret.push(x.baseTotal) + ret.push(x.baseStats) + ret.push(x.height) + ret.push(x.weight) + // form + ret.push(sp.canChangeForm) + // eggMoves + var tmp = [] + for (let i = 0; i < eggMoves.length; i++) { + tmp.push(eggMoves[i].name) + } + ret.push(tmp) + // moves + tmp = [] + for (let i = 0; i < moves.length; i++) { + tmp.push(moves[i][1].name, moves[i][0]) + } + ret.push(tmp) + + + tmp = [] + for (let i = 0; i < biomes.length; i++) { + tmp.push(getBiomeName(biomes[i])) + } + ret.push(tmp) + + console.log(ret.join(" / ")) + })); + + + + const print2 = (((x: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes + ) => { + + var ret = [] + // id + ret.push(x.speciesId) + //name + ret.push(x.name) + // type + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) + ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) + // ability (todo: passive) + ret.push(new Ability(x.ability1, x.generation).name) + ret.push(new Ability(x.ability2, x.generation).name) + ret.push(new Ability(x.abilityHidden, x.generation).name) + ret.push(new Ability(passive, x.generation).name) + // metadata + ret.push(x.generation) + ret.push(x.legendary) + ret.push(x.subLegendary) + ret.push(x.mythical) + // evolution (speciesId, level) + ret.push(toEvolutionNames(x.getEvolutionLevels())) + // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) + ret.push(x.baseTotal) + ret.push(x.baseStats) + ret.push(x.height) + ret.push(x.weight) + // form + ret.push(x.canChangeForm) + // eggMoves + var tmp = [] + for (let i = 0; i < eggMoves.length; i++) { + tmp.push(eggMoves[i].name) + } + ret.push(tmp) + // moves + tmp = [] + for (let i = 0; i < moves.length; i++) { + tmp.push(moves[i][1].name, moves[i][0]) + } + ret.push(tmp) + + + tmp = [] + for (let i = 0; i < biomes.length; i++) { + tmp.push(getBiomeName(biomes[i])) + } + + ret.push(tmp) + + console.log(ret.join(" / ")) + })); + + + const printMetaData = () => { + console.log( + `speciesId + name + type1 + type2 + ability1 + ability2 + abilityHidden + abilitypassive + generation + legendary + subLegendary + mythical + getEvolutionLevels() + x.baseTotal + x.baseStats + x.height + x.weight + canChangeForm + eggMoves + moves + biomes + `) + } + + it("테스트 환경입니다 >_< ", async () => { + + let p = allSpecies; + var pokemonId: integer = 1 + + printMetaData() + + // initBiomes(); + const biomeMap = new Map(); + for (let i = 0; i < pokemonBiomes.length; i++) { + var species = Species[pokemonBiomes[i][0]] + var biomeEntries = pokemonBiomes[i][3] + biomeMap.set(species, biomeEntries + .map((a, b, c) => a[0]) + .filter((value, index, self) => self.indexOf(value) === index)) + } + + for (let i = 0; i < allSpecies.length; i++) { + let x = allSpecies[i] + + var passive = starterPassiveAbilities[x.getRootSpeciesId()] + var eggMoves: Moves[] = speciesEggMoves[x.getRootSpeciesId()].map((value, index, arr) => allMoves[value]) + var moves = pokemonSpeciesLevelMoves[x.getRootSpeciesId()].map((value, index, arr) => [value[0], allMoves[value[1]]]) + var biomes = biomeMap.get(Species[x.speciesId]) + + print2(x, pokemonId++, passive, eggMoves, moves, biomes) + if (x.canChangeForm) { + for (var form of x.forms) { + // if(form.formName.toLowerCase() === "normal"){ + // continue + // } + print(form, x, pokemonId++, passive, eggMoves, moves, biomes) + } + } + } + + }); +}); diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/tms.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/tms.test.ts new file mode 100644 index 00000000..8c499254 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/tms.test.ts @@ -0,0 +1,195 @@ +// import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +// +// import { Moves } from "#app/enums/moves" +// import { allMoves } from "#app/data/move.js"; +// import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +// import * as fs from "fs"; +// import * as path from 'path'; +// import { Species } from "#app/enums/species.js"; +// import i18next, { init } from "i18next"; +// import { exit } from "process"; +// import { tmSpecies } from "#app/data/tms.js"; +// +// const filePath = path.join(__dirname, 'tms.txt'); +// const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +// console.log = (...args: any[]) => { +// const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); +// logStream.write(message + '\n'); +// }; +// +// describe("Pokemon", () => { +// beforeAll(() => { +// }); +// +// afterEach(() => { +// }); +// +// beforeEach(() => { +// }); +// +// // const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { +// // var ret = [] +// // // id +// // ret.push(pokemonId) +// // ret.push(x.speciesId) +// // //name +// // ret.push(sp.name +"-"+ x.formName) +// // // type +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) +// // // ability (todo: passive) +// // ret.push(new Ability(x.ability1, x.generation).name) +// // ret.push(new Ability(x.ability2, x.generation).name) +// // ret.push(new Ability(x.abilityHidden, x.generation).name) +// // ret.push(new Ability(passive, x.generation).name) +// // // metadata +// // ret.push(x.generation) +// // ret.push(sp.legendary) +// // ret.push(sp.subLegendary) +// // ret.push(sp.mythical) +// // // evolution (speciesId, level) +// // ret.push(sp.getEvolutionLevels()) +// // // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) +// // ret.push(x.baseTotal) +// // ret.push(x.baseStats) +// // ret.push(x.height) +// // ret.push(x.weight) +// // // form +// // ret.push(sp.canChangeForm) +// // // eggMoves +// // var tmp = [] +// // for(let i =0; i < eggMoves.length; i++){ +// // tmp.push(eggMoves[i].name) +// // } +// // ret.push(tmp) +// // // moves +// // tmp = [] +// // for(let i =0; i < moves.length; i++){ +// // tmp.push(moves[i][1].name) +// // } +// // ret.push(tmp) +// +// +// // tmp = [] +// // for(let i =0; i < biomes.length; i++){ +// // tmp.push(getBiomeName(biomes[i])) +// // } +// // ret.push(tmp) +// +// // console.log(ret.join(" / ")) +// // })); +// +// +// +// // const print2 = (((x: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes +// // ) => { +// +// // var ret = [] +// // // id +// // ret.push(pokemonId) +// // ret.push(x.speciesId) +// // //name +// // ret.push(x.name) +// // // type +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) +// // // ability (todo: passive) +// // ret.push(new Ability(x.ability1, x.generation).name) +// // ret.push(new Ability(x.ability2, x.generation).name) +// // ret.push(new Ability(x.abilityHidden, x.generation).name) +// // ret.push(new Ability(passive, x.generation).name) +// // // metadata +// // ret.push(x.generation) +// // ret.push(x.legendary) +// // ret.push(x.subLegendary) +// // ret.push(x.mythical) +// // // evolution (speciesId, level) +// // ret.push(x.getEvolutionLevels()) +// // // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) +// // ret.push(x.baseTotal) +// // ret.push(x.baseStats) +// // ret.push(x.height) +// // ret.push(x.weight) +// // // form +// // ret.push(x.canChangeForm) +// // // eggMoves +// // var tmp = [] +// // for(let i =0; i < eggMoves.length; i++){ +// // tmp.push(eggMoves[i].name) +// // } +// // ret.push(tmp) +// // // moves +// // tmp = [] +// // for(let i =0; i < moves.length; i++){ +// // tmp.push(moves[i][1].name) +// // } +// // ret.push(tmp) +// +// +// // tmp = [] +// // for(let i =0; i < biomes.length; i++){ +// // tmp.push(getBiomeName(biomes[i])) +// // } +// // ret.push(tmp) +// +// // console.log(ret.join(" / ")) +// // })); +// +// function getEnumValues(enumObj: T): T[keyof T][] { +// return Object.values(enumObj).filter(value => typeof value === 'number') as T[keyof T][]; +// } +// function toCamelCase(str: string): string { +// return str +// .toLowerCase() +// .replace(/_./g, match => match.charAt(1).toUpperCase()); +// } +// +// it("포켓몬이 배울 수 있는 기술 정보 추출 테스트", async () => { +// +// let p = allSpecies; +// var pokemonId: integer = 1 +// +// // initBiomes(); +// // const biomeMap = new Map(); +// // for (let i = 0; i < pokemonBiomes.length; i++) { +// // var species = Species[pokemonBiomes[i][0]] +// // var biomeEntries = pokemonBiomes[i][3] +// // biomeMap.set(species, biomeEntries +// // .map((a, b, c) => a[0]) +// // .filter((value, index, self) => self.indexOf(value) === index)) +// // } +// const moves: Moves[] = getEnumValues(Moves); +// const species: Species[] = getEnumValues(Species); +// console.log("이름 / 배울 수 있는 기술 목록") +// console.log() +// for (let i = 0; i < allSpecies.length; i++) { +// var x = allSpecies[i] +// var ret = [] +// ret.push(x.name) +// var ts = [] +// for (let j = 0; j < allMoves.length; j++) { +// var y = tmSpecies[allMoves[j].id] +// if (Array.isArray(y)) { +// for (let k = 0; k < y.length; k++) { +// var speciesEntry = y[k]; +// +// // speciesEntry가 배열인지 확인하고 처리 +// if (Array.isArray(speciesEntry)) { +// // 배열의 첫 번째 항목이 x.speciesId와 일치하는지 확인 +// if (speciesEntry[0] === x.speciesId) { +// ts.push(allMoves[j].name); +// } +// } else { +// // speciesEntry가 단일 Species인지 확인 +// if (speciesEntry === x.speciesId) { +// ts.push(allMoves[j].name); +// } +// } +// } +// } +// } +// ret.push(ts.join(" , ")) +// console.log(ret.join(" / ")) +// } +// }); +// }); diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/trainer-speceis.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/trainer-speceis.test.ts new file mode 100644 index 00000000..fb68d9ef --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/trainer-speceis.test.ts @@ -0,0 +1,102 @@ +import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; + +import { Abilities } from "#app/enums/abilities.js" +import { ability } from "#app/locales/ko/ability" +import { Moves } from "#app/enums/moves" +import { Type } from "#app/data/type" +import { allMoves } from "#app/data/move.js"; +import PokemonSpecies, { starterPassiveAbilities, initSpecies, allSpecies, PokemonSpeciesForm, PokemonForm } from "#app/data/pokemon-species.js"; +import * as fs from "fs"; +import * as path from 'path'; +import { speciesEggMoves } from "#app/data/egg-moves" +import { Species } from "#app/enums/species.js"; +import i18next, { init } from "i18next"; +import { pokemonSpeciesLevelMoves } from "#app/data/pokemon-level-moves.js"; +import { biomeLinks, biomePokemonPools, BiomePoolTier, getBiomeName, initBiomes, pokemonBiomes } from "#app/data/biomes.js"; +import { Biome } from "#app/enums/biome.js"; +import { TimeOfDay } from "#app/enums/time-of-day.js"; +import { signatureSpecies } from "#app/data/trainer-config"; +import { TrainerType } from "#enums/trainer-type"; +import { trainerClasses } from "#app/locales/de/trainers"; +import { trainerNamePools } from "#app/data/trainer-names"; +import { titles, trainerNames } from "#app/locales/ko/trainers"; + +let filePath = path.join(__dirname, 'trainer-species.txt'); +const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +console.log = (...args: any[]) => { + const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); + logStream.write(message + '\n'); +}; + +// 포켓몬, +// 기술, +// 바이옴, +// 진화체(트리거), +// 날씨, +// 특성 + +describe("Pokemon", () => { + beforeAll(() => { + }); + + afterEach(() => { + }); + + beforeEach(() => { + }); + + + const print = () => { + + for (var a in signatureSpecies) { + var ret = [] + ret.push(getTrainerKoName(TrainerType[a])) + var tmp = [] + for (var b in signatureSpecies[a]) { + if (Array.isArray(signatureSpecies[a][b])) { + for (var c in signatureSpecies[a][b]){ + tmp.push(signatureSpecies[a][b][c]) + } + continue + } + tmp.push(signatureSpecies[a][b]) + } + ret.push(tmp.map(r=>i18next.t(`pokemon:${Species[r].toLowerCase()}`))) + console.log(ret.join(" / ")) + } + } + + const printMetaData = () => { + console.log(` + trainer + species[] + `) + } + + + const getTrainerKoName = (r) => { + const nameForCall = TrainerType[r].toLowerCase().replace(/\s/g, "_"); + var key = '' + if (trainerClasses[nameForCall]) { + key = `trainerClasses:${nameForCall}`; + } else if (trainerNames[nameForCall]) { + key = `trainerNames:${nameForCall}`; + } else if (titles[nameForCall]) { + key = `titles:${nameForCall}`; + } else { + key = nameForCall + } + + // 해당 키를 사용하여 번역된 문자열을 가져옵니다. + const translated = i18next.t(key) as string; + + // 결과 문자열을 반환합니다. + return `${translated}`; + } + + it("테스트 환경입니다 >_< ", async () => { + printMetaData() + print() + }) + +}) diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/weather.test.ts b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/weather.test.ts new file mode 100644 index 00000000..4c8f186f --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/extraction/weather.test.ts @@ -0,0 +1,209 @@ +// import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; +// +// import { WeatherType } from "#app/enums/weather-type"; +// import { arenaFlyout } from "#app/locales/ko/arena-flyout"; +// import { weather } from "#app/locales/ko/weather.ts"; +// import { Weather } from "#app/data/weather.ts"; +// import * as fs from "fs"; +// import * as path from 'path'; +// import i18next, { init } from "i18next"; +// import { exit } from "process"; +// import GameManager from "#test/utils/gameManager"; +// +// const filePath = path.join(__dirname, 'weather.txt'); +// const logStream = fs.createWriteStream(filePath, { flags: 'w' }); +// console.log = (...args: any[]) => { +// const message = args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : arg).join(' '); +// logStream.write(message + '\n'); +// }; +// +// describe("Weather", () => { +// let phaserGame: Phaser.Game; +// let game: GameManager; +// const TIMEOUT = 1000 * 20; +// +// beforeAll(() => { +// }); +// +// afterEach(() => { +// }); +// +// beforeEach(() => { +// }); +// +// // const print = (((x: PokemonForm, sp: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes) => { +// // var ret = [] +// // // id +// // ret.push(pokemonId) +// // ret.push(x.speciesId) +// // //name +// // ret.push(sp.name +"-"+ x.formName) +// // // type +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) +// // // ability (todo: passive) +// // ret.push(new Ability(x.ability1, x.generation).name) +// // ret.push(new Ability(x.ability2, x.generation).name) +// // ret.push(new Ability(x.abilityHidden, x.generation).name) +// // ret.push(new Ability(passive, x.generation).name) +// // // metadata +// // ret.push(x.generation) +// // ret.push(sp.legendary) +// // ret.push(sp.subLegendary) +// // ret.push(sp.mythical) +// // // evolution (speciesId, level) +// // ret.push(sp.getEvolutionLevels()) +// // // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) +// // ret.push(x.baseTotal) +// // ret.push(x.baseStats) +// // ret.push(x.height) +// // ret.push(x.weight) +// // // form +// // ret.push(sp.canChangeForm) +// // // eggMoves +// // var tmp = [] +// // for(let i =0; i < eggMoves.length; i++){ +// // tmp.push(eggMoves[i].name) +// // } +// // ret.push(tmp) +// // // moves +// // tmp = [] +// // for(let i =0; i < moves.length; i++){ +// // tmp.push(moves[i][1].name) +// // } +// // ret.push(tmp) +// +// +// // tmp = [] +// // for(let i =0; i < biomes.length; i++){ +// // tmp.push(getBiomeName(biomes[i])) +// // } +// // ret.push(tmp) +// +// // console.log(ret.join(" / ")) +// // })); +// +// +// +// // const print2 = (((x: PokemonSpecies, pokemonId: integer, passive: Abilities, eggMoves, moves, biomes +// // ) => { +// // var ret = [] +// // // id +// // ret.push(pokemonId) +// // ret.push(x.speciesId) +// // //name +// // ret.push(x.name) +// // // type +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type2]}`)) +// // ret.push(i18next.t(`pokemonInfo:Type.${Type[x.type1]}`)) +// // // ability (todo: passive) +// // ret.push(new Ability(x.ability1, x.generation).name) +// // ret.push(new Ability(x.ability2, x.generation).name) +// // ret.push(new Ability(x.abilityHidden, x.generation).name) +// // ret.push(new Ability(passive, x.generation).name) +// // // metadata +// // ret.push(x.generation) +// // ret.push(x.legendary) +// // ret.push(x.subLegendary) +// // ret.push(x.mythical) +// // // evolution (speciesId, level) +// // ret.push(x.getEvolutionLevels()) +// // // stats (baseHp, baseAtk, baseDef, baseSpatk, baseSpdef, baseSpd) +// // ret.push(x.baseTotal) +// // ret.push(x.baseStats) +// // ret.push(x.height) +// // ret.push(x.weight) +// // // form +// // ret.push(x.canChangeForm) +// // // eggMoves +// // var tmp = [] +// // for(let i =0; i < eggMoves.length; i++){ +// // tmp.push(eggMoves[i].name) +// // } +// // ret.push(tmp) +// // // moves +// // tmp = [] +// // for(let i =0; i < moves.length; i++){ +// // tmp.push(moves[i][1].name) +// // } +// // ret.push(tmp) +// +// +// // tmp = [] +// // for(let i =0; i < biomes.length; i++){ +// // tmp.push(getBiomeName(biomes[i])) +// // } +// // ret.push(tmp) +// +// // console.log(ret.join(" / ")) +// // })); +// +// function getEnumValues(enumObj: T): T[keyof T][] { +// return Object.values(enumObj).filter(value => typeof value === 'number') as T[keyof T][]; +// } +// +// function toCamelCase(str: string): string { +// return str +// .toLowerCase() +// .replace(/_./g, match => match.charAt(1).toUpperCase()); +// } +// +// it("날씨 정보 추출 테스트", async () => { +// console.log("이름 / 출력 메시지 / 효과") +// console.log() +// console.log("없음 / 없음 / 없음") +// +// const weatherTypes: WeatherType[] = getEnumValues(WeatherType); +// for (let i = 1; i < weatherTypes.length; i++) { +// var ret = [] +// ret.push(i18next.t(`arenaFlyout:${toCamelCase(WeatherType[i])}`)) +// ret.push(i18next.t(`weather:${toCamelCase(WeatherType[i]) + "LapseMessage"}`)) +// if (i === 1) { +// ret.push("불꽃 타입 기술의 위력이 1.5배가 된다 , 물 타입 기술의 위력이 0.5배가 된다") +// } +// if (i === 2) { +// ret.push("물 타입 기술의 위력이 1.5배가 된다 , 불꽃 타입 기술의 위력이 0.5배가 된다") +// } +// if (i === 3) { +// ret.push("바위 또는 땅 또는 강철 타입 포켓몬이 아니면 매 턴마다 체력의 1/16의 데미지를 받는다 , 바위 타입 포켓몬의 특수방어가 1.5배가 된다") +// } +// if (i === 4) { +// ret.push("얼음 타입 포켓몬이 아니면 매 턴마다 체력의 1/16의 데미지를 받는다") +// } +// if (i === 5) { +// ret.push("얼음 타입 포켓몬의 방어가 1.5배 올라간다") +// } +// if (i === 6) { +// ret.push("모든 기술의 명중률이 0.9배가 된다") +// } +// if (i === 7) { +// ret.push("불타입 기술은 모두 실패한다 , 불꽃 타입 기술의 위력이 1.5배가 된다 , 물 타입 기술의 위력이 1.5배가 된다") +// } +// if (i === 8) { +// ret.push("물타입 기술은 모두 실패한다 , 불꽃 타입 기술의 위력이 1.5배가 된다 , 물 타입 기술의 위력이 0.5배가 된다") +// } +// if (i === 9) { +// ret.push("비행 타입의 약점을 없애준다") +// } +// console.log(ret.join(" / ")) +// } +// +// // for (let i = 0; i < allSpecies.length; i++) { +// // let x = allSpecies[i] +// +// // var passive = starterPassiveAbilities[x.getRootSpeciesId()] +// // var eggMoves: Moves[] = speciesEggMoves[x.getRootSpeciesId()].map((value, index, arr) => allMoves[value]) +// // var moves = pokemonSpeciesLevelMoves[x.getRootSpeciesId()].map((value, index, arr) => [value[0], allMoves[value[1]]]) +// // var biomes = biomeMap.get(Species[x.speciesId]) +// // print2(x, pokemonId++, passive, eggMoves, moves, biomes) +// // if (x.canChangeForm) { +// // for (var form of x.forms) { +// // // if(form.formName.toLowerCase() === "normal"){ +// // // continue +// // // } +// // print(form, x, pokemonId++, passive, eggMoves, moves, biomes) +// // } +// // } +// // } +// }); +// }); diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/s3/client/S3ImageClient.java b/backend/pokerogue/src/main/java/com/pokerogue/external/s3/client/S3ImageClient.java new file mode 100644 index 00000000..ce05e709 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/s3/client/S3ImageClient.java @@ -0,0 +1,57 @@ +package com.pokerogue.external.s3.client; + +import java.net.URI; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider; +import software.amazon.awssdk.core.sync.RequestBody; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.S3Utilities; +import software.amazon.awssdk.services.s3.model.GetUrlRequest; +import software.amazon.awssdk.services.s3.model.PutObjectRequest; + +@Component +public class S3ImageClient { + + private final S3Client s3Client; + private final String bucket; + private final String endPoint; + private final String cloudfrontEndPoint; + + public S3ImageClient(@Value("${cloud.aws.s3.bucket}") String bucket, + @Value("${cloud.aws.s3.endpoint}") String endPoint, + @Value("${cloud.aws.cloudfront.endpoint}") String cloudfrontEndPoint) { + this.s3Client = S3Client.builder() + .region(Region.AP_NORTHEAST_2) + .credentialsProvider(InstanceProfileCredentialsProvider.create()) + .endpointOverride(URI.create(endPoint)) + .forcePathStyle(true) + .build(); + this.bucket = bucket; + this.endPoint = endPoint; + this.cloudfrontEndPoint = cloudfrontEndPoint; + } + + public void putObject(byte[] imageBytes, String contentType, String fileName) { + PutObjectRequest putObjectRequest = PutObjectRequest.builder() + .key(fileName) + .bucket(bucket) + .contentType(contentType) + .build(); + + s3Client.putObject(putObjectRequest, RequestBody.fromBytes(imageBytes)); + } + + public String getFileUrl(String fileName) { + S3Utilities s3Utilities = s3Client.utilities(); + GetUrlRequest urlRequest = GetUrlRequest.builder() + .bucket(bucket) + .key(fileName) + .build(); + + String originUrl = s3Utilities.getUrl(urlRequest).toString(); + + return originUrl.replace(endPoint, cloudfrontEndPoint); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/external/s3/service/S3Service.java b/backend/pokerogue/src/main/java/com/pokerogue/external/s3/service/S3Service.java new file mode 100644 index 00000000..aed9163c --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/external/s3/service/S3Service.java @@ -0,0 +1,88 @@ +package com.pokerogue.external.s3.service; + +import com.pokerogue.external.s3.client.S3ImageClient; +import java.util.UUID; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Service; + +@Slf4j +@Service +@RequiredArgsConstructor +public class S3Service { + + private static final String POKEMON_IMAGE_FOLDER = "image/"; + private static final String TYPE_IMAGE_FOLDER = "type/"; + private static final String BIOME_IMAGE_FOLDER = "pokerogue/biome/"; + private static final String TRAINER_IMAGE_FOLDER = "pokerogue/trainer/"; + private static final String POKEROGUE_TYPE_IMAGE_FOLDER = "pokerogue/type/"; + private static final String POKEROGUE_MOVE_CATEGORY_IMAGE_FOLDER = "pokerogue/move-category/"; + private static final String POKEROGUE_POKEMON_IMAGE_FOLDER = "pokerogue/pokemon/front/"; + private static final String POKEROGUE_POKEMON_BACK_IMAGE_FOLDER = "pokerogue/pokemon/back/"; + private static final String SVG_EXTENSION = ".svg"; + private static final String PNG_EXTENSION = ".png"; + + private final S3ImageClient s3ImageClient; + + public String postImageToS3(byte[] imageBytes) { + String key = makeRandomFileName(); + s3ImageClient.putObject(imageBytes, MediaType.IMAGE_PNG_VALUE, key); + + return s3ImageClient.getFileUrl(key); + } + + public String getTypeImageFromS3(String typeName) { + String key = makeTypeFileName(typeName); + return s3ImageClient.getFileUrl(key); + } + + public String getBiomeImageFromS3(String biomeId) { + String key = makeBiomeFileName(biomeId); + return s3ImageClient.getFileUrl(key); + } + + private String makeBiomeFileName(String biomeId) { + return BIOME_IMAGE_FOLDER + biomeId + PNG_EXTENSION; + } + + public String getTrainerImageFromS3(String trainerId) { + String key = makeTrainerFileName(trainerId); + return s3ImageClient.getFileUrl(key); + } + + private String makeTrainerFileName(String trainerId) { + return TRAINER_IMAGE_FOLDER + trainerId + PNG_EXTENSION; + } + + private String makeRandomFileName() { + return POKEMON_IMAGE_FOLDER + UUID.randomUUID(); + } + + private String makeTypeFileName(String typeName) { + return TYPE_IMAGE_FOLDER + typeName + SVG_EXTENSION; + } + + public String getPokerogueTypeImageFromS3(String typeName) { + String key = POKEROGUE_TYPE_IMAGE_FOLDER + typeName; + return s3ImageClient.getFileUrl(key); + } + + public String getPokemonImageFromS3(String pokemonId) { + String key = makePokemonFileName(pokemonId); + return s3ImageClient.getFileUrl(key); + } + + public String getPokemonBackImageFromS3(String pokemonId) { + String key = makePokemonBackFileName(pokemonId); + return s3ImageClient.getFileUrl(key); + } + + private String makePokemonFileName(String pokemonId) { + return POKEROGUE_POKEMON_IMAGE_FOLDER + pokemonId + PNG_EXTENSION; + } + + private String makePokemonBackFileName(String pokemonId) { + return POKEROGUE_POKEMON_BACK_IMAGE_FOLDER + pokemonId + PNG_EXTENSION; + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/controller/AbilityController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/controller/AbilityController.java new file mode 100644 index 00000000..3bccc02f --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/controller/AbilityController.java @@ -0,0 +1,37 @@ +package com.pokerogue.helper.ability.controller; + +import com.pokerogue.helper.ability.dto.AbilityDetailResponse; +import com.pokerogue.helper.ability.dto.AbilityResponse; +import com.pokerogue.helper.ability.service.AbilityService; +import com.pokerogue.helper.util.dto.ApiResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class AbilityController { + + private final AbilityService abilityService; + + @GetMapping("/api/v1/abilities2") + public ApiResponse> abilityList() { + return new ApiResponse<>("특성 리스트 불러오기에 성공했습니다.", abilityService.findAbilities()); + } + + @GetMapping("/api/v1/ability2/{id}") + public ApiResponse abilityDetails(@PathVariable("id") String id) { + log.info( + "---- URI : {}, Param : {}, ThreadName : {}", + "/api/v1/ability/{id}", + id, + Thread.currentThread().getName() + ); + + return new ApiResponse<>("특성 정보 불러오기에 성공했습니다.", abilityService.findAbilityDetails(id)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/data/Ability.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/data/Ability.java new file mode 100644 index 00000000..5c829c78 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/data/Ability.java @@ -0,0 +1,46 @@ +package com.pokerogue.helper.ability.data; + +import java.util.List; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@Document(collection = "ability") +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Ability { + + @Id + private String id; + + @Field("name") + private String name; + + @Field("koName") + private String koName; + + @Field("released") + private String released; + + @Field("description") + private String description; + + @Field("generation") + private int generation; + + @Field("pokemonIds") + private List pokemonIds; + + @Field("isBypassFaint") + private Boolean isBypassFaint; + + @Field("isIgnorable") + private Boolean isIgnorable; + + public boolean isPresent() { + return !id.equals("none"); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityDetailResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityDetailResponse.java new file mode 100644 index 00000000..7b2924a1 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityDetailResponse.java @@ -0,0 +1,15 @@ +package com.pokerogue.helper.ability.dto; + +import com.pokerogue.helper.ability.data.Ability; +import java.util.List; + +public record AbilityDetailResponse( + String koName, + String description, + List pokemons +) { + + public static AbilityDetailResponse of(Ability ability, List pokemons) { + return new AbilityDetailResponse(ability.getKoName(), ability.getDescription(), pokemons); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityPokemonResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityPokemonResponse.java new file mode 100644 index 00000000..798a7532 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityPokemonResponse.java @@ -0,0 +1,26 @@ +package com.pokerogue.helper.ability.dto; + +import com.pokerogue.helper.pokemon.data.Pokemon; +import java.util.List; + +public record AbilityPokemonResponse( + String id, + Long pokedexNumber, + String koName, + String image, + List pokemonTypeResponses +) { + public static AbilityPokemonResponse of( + Pokemon pokemon, + String image, + List pokemonTypeResponses + ) { + return new AbilityPokemonResponse( + pokemon.getId(), + (long) pokemon.getPokedexNumber(), + pokemon.getKoName(), + image, + pokemonTypeResponses + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityResponse.java new file mode 100644 index 00000000..a12c422a --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityResponse.java @@ -0,0 +1,10 @@ +package com.pokerogue.helper.ability.dto; + +import com.pokerogue.helper.ability.data.Ability; + +public record AbilityResponse(String id, String koName, String description) { + + public static AbilityResponse from(Ability ability) { + return new AbilityResponse(ability.getId(), ability.getKoName(), ability.getDescription()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityTypeResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityTypeResponse.java new file mode 100644 index 00000000..0a2220ec --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/dto/AbilityTypeResponse.java @@ -0,0 +1,10 @@ +package com.pokerogue.helper.ability.dto; + +import com.pokerogue.helper.type.data.Type; + +public record AbilityTypeResponse(String typeLogo, String typeName) { + + public static AbilityTypeResponse from(Type type) { + return new AbilityTypeResponse(type.getImage(), type.getKoName()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/repository/AbilityRepository.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/repository/AbilityRepository.java new file mode 100644 index 00000000..f6743141 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/repository/AbilityRepository.java @@ -0,0 +1,7 @@ +package com.pokerogue.helper.ability.repository; + +import com.pokerogue.helper.ability.data.Ability; +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface AbilityRepository extends MongoRepository { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/service/AbilityService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/service/AbilityService.java new file mode 100644 index 00000000..fc586e13 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/ability/service/AbilityService.java @@ -0,0 +1,65 @@ +package com.pokerogue.helper.ability.service; + +import com.pokerogue.external.s3.service.S3Service; +import com.pokerogue.helper.ability.data.Ability; +import com.pokerogue.helper.ability.dto.AbilityDetailResponse; +import com.pokerogue.helper.ability.dto.AbilityPokemonResponse; +import com.pokerogue.helper.ability.dto.AbilityResponse; +import com.pokerogue.helper.ability.dto.AbilityTypeResponse; +import com.pokerogue.helper.ability.repository.AbilityRepository; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class AbilityService { + + private final S3Service s3Service; + private final AbilityRepository abilityRepository; + private final PokemonRepository pokemonRepository; + + public List findAbilities() { + return abilityRepository.findAll().stream() + .filter(Ability::isPresent) + .map(AbilityResponse::from) + .toList(); + } + + public AbilityDetailResponse findAbilityDetails(String id) { + Ability ability = abilityRepository.findById(id) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.POKEMON_ABILITY_NOT_FOUND)); + List abilityPokemonIds = ability.getPokemonIds(); + List pokemons = pokemonRepository.findAllById(abilityPokemonIds); + validateExistAllPokemonId(abilityPokemonIds, pokemons); + List abilityPokemonResponses = pokemons.stream() + .map(pokemon -> AbilityPokemonResponse.of( + pokemon, + s3Service.getPokemonImageFromS3(pokemon.getImageId()), + getAbilityTypeResponses(pokemon.getTypes()) + )) + .toList(); + + return AbilityDetailResponse.of(ability, abilityPokemonResponses); + } + + private static void validateExistAllPokemonId( + List abilityPokemonIds, + List abilityPokemonResponses + ) { + if (abilityPokemonIds.size() != abilityPokemonResponses.size()) { + throw new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND); + } + } + + private List getAbilityTypeResponses(List types) { + return types.stream() + .map(AbilityTypeResponse::from) + .toList(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/controller/BattleController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/controller/BattleController.java new file mode 100644 index 00000000..09c9dcc1 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/controller/BattleController.java @@ -0,0 +1,36 @@ +package com.pokerogue.helper.battle.controller; + +import com.pokerogue.helper.battle.dto.BattleResultResponse; +import com.pokerogue.helper.battle.dto.WeatherResponse; +import com.pokerogue.helper.battle.service.BattleService; +import com.pokerogue.helper.battle.service.WeatherService; +import com.pokerogue.helper.util.dto.ApiResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class BattleController { + + private final WeatherService weatherService; + private final BattleService battleService; + + @GetMapping("/api/v1/weathers") + public ApiResponse> weatherList() { + return new ApiResponse<>("날씨 리스트 불러오기에 성공했습니다.", weatherService.findWeathers()); + } + + @GetMapping("/api/v1/battle") + public ApiResponse battleResult(@RequestParam("weather-id") String weatherId, + @RequestParam("my-pokemon-id") String myPokemonId, + @RequestParam("rival-pokemon-id") String rivalPokemonId, + @RequestParam("my-move-id") String myMoveId) { + return new ApiResponse<>("배틀 예측 결과 불러오기에 성공했습니다.", + battleService.calculateBattleResult(weatherId, myPokemonId, rivalPokemonId, myMoveId)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/data/Weather.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/data/Weather.java new file mode 100644 index 00000000..6c0f8a9e --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/data/Weather.java @@ -0,0 +1,43 @@ +package com.pokerogue.helper.battle.data; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import lombok.Getter; + +@Getter +public enum Weather { + + NONE("none", "없음", "없음", List.of("없음")), + SUNNY("sunny", "쾌청", "햇살이 강하다", List.of("불꽃 타입 기술의 위력이 1.5배가 된다", "물 타입 기술의 위력이 0.5배가 된다")), + RAIN("rain", "비", "비가 계속 내리고 있다", List.of("물 타입 기술의 위력이 1.5배가 된다", "불꽃 타입 기술의 위력이 0.5배가 된다")), + SANDSTORM("sandstorm", "모래바람", "모래바람이 세차게 분다", + List.of("바위 또는 땅 또는 강철 타입 포켓몬이 아니면 매 턴마다 체력의 1/16의 데미지를 받는다", "바위 타입 포켓몬의 특수방어가 1.5배가 된다")), + HAIL("hail", "싸라기눈", "싸라기눈이 계속 내리고 있다", List.of("얼음 타입 포켓몬이 아니면 매 턴마다 체력의 1/16의 데미지를 받는다")), + SNOW("snow", "눈", "눈이 계속 내리고 있다", List.of("얼음 타입 포켓몬의 방어가 1.5배 올라간다")), + FOG("fog", "안개", "발밑이 안개로 자욱하다", List.of("모든 기술의 명중률이 0.9배가 된다")), + HEAVY_RAIN("heavy_rain", "강한 비", "강한 비가 계속 내리고 있다", + List.of("불타입 기술은 모두 실패한다", "불꽃 타입 기술의 위력이 1.5배가 된다", "물 타입 기술의 위력이 1.5배가 된다")), + HARSH_SUN("harsh_sun", "강한 쾌청", "햇살이 아주 강하다", + List.of("물타입 기술은 모두 실패한다", "불꽃 타입 기술의 위력이 1.5배가 된다", "물 타입 기술의 위력이 0.5배가 된다")), + STRONG_WINDS("strong_winds", "난기류", "수수께끼의 난기류가 강렬하게 불고 있다", List.of("비행 타입의 약점을 없애준다")), + ; + + private final String id; + private final String name; + private final String description; + private final List effects; + + Weather(String id, String name, String description, List effects) { + this.id = id; + this.name = name; + this.description = description; + this.effects = effects; + } + + public static Optional findById(String id) { + return Arrays.stream(values()) + .filter(weather -> weather.id.equals(id)) + .findAny(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/BattleResultResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/BattleResultResponse.java new file mode 100644 index 00000000..25170eda --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/BattleResultResponse.java @@ -0,0 +1,33 @@ +package com.pokerogue.helper.battle.dto; + +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.data.MoveCategory; +import com.pokerogue.helper.type.data.Type; + +public record BattleResultResponse( + int power, + double multiplier, + double accuracy, + String moveName, + String moveDescription, + String moveType, + String moveCategory, + boolean isPreemptive +) { + + public static BattleResultResponse from(Move move, double multiplier, double accuracy, boolean isPreemptive) { + Type moveType = move.getType(); + MoveCategory moveCategory = move.getMoveCategory(); + + return new BattleResultResponse( + move.getPower(), + multiplier, + accuracy, + move.getName(), + move.getEffect(), + moveType.getKoName(), + moveCategory.getName(), + isPreemptive + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/WeatherResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/WeatherResponse.java new file mode 100644 index 00000000..5a178146 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/dto/WeatherResponse.java @@ -0,0 +1,16 @@ +package com.pokerogue.helper.battle.dto; + +import com.pokerogue.helper.battle.data.Weather; +import java.util.List; + +public record WeatherResponse( + String id, + String name, + String description, + List effects +) { + + public static WeatherResponse from(Weather weather) { + return new WeatherResponse(weather.getId(), weather.getName(), weather.getDescription(), weather.getEffects()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleCalculator.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleCalculator.java new file mode 100644 index 00000000..ad0761bf --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleCalculator.java @@ -0,0 +1,76 @@ +package com.pokerogue.helper.battle.service; + +import com.pokerogue.helper.battle.data.Weather; +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +@Component +@RequiredArgsConstructor +public class BattleCalculator { + + private static final double FOG_ACCURACY_EFFECT = 0.9; + private static final BattleMultiplier[] EMPTY_BATTLE_MULTIPLIER_ARRAY = new BattleMultiplier[0]; + + private final TypeMultiplierProvider typeMultiplierProvider; + private final WeatherMultiplierProvider weatherMultiplierProvider; + + public double calculateAccuracy(Move move, Weather weather) { + if (weather == Weather.FOG) { + return move.getAccuracy() * FOG_ACCURACY_EFFECT; + } + + return move.getAccuracy(); + } + + public double calculateTotalMultiplier( + Move move, + Weather weather, + Pokemon rivalPokemon, + Pokemon myPokemon) { + if (!move.isAttackMove()) { + return BattleMultiplier.DEFAULT_MULTIPLIER.getDoubleValue(); + } + + Type moveType = move.getType(); + List rivalPokemonTypes = rivalPokemon.getTypes(); + BattleMultiplier weatherMultiplier = getWeatherMultiplier(weather, moveType); + BattleMultiplier sameTypeBonusMultiplier = getSameTypeBonusMultiplier(moveType, myPokemon); + BattleMultiplier typeMatchingMultiplier = getTypeMatchingMultiplier(moveType, rivalPokemonTypes); + + BattleMultiplier totalMultiplier = BattleMultiplier.multiply( + weatherMultiplier, sameTypeBonusMultiplier, typeMatchingMultiplier); + if (weather == Weather.STRONG_WINDS) { + totalMultiplier = applyStrongWindMultiplier(totalMultiplier, moveType, rivalPokemonTypes); + } + + return totalMultiplier.getDoubleValue(); + } + + private BattleMultiplier getWeatherMultiplier(Weather weather, Type moveType) { + return weatherMultiplierProvider.getByAttackMoveType(weather, moveType); + } + + private BattleMultiplier getSameTypeBonusMultiplier(Type moveType, Pokemon myPokemon) { + return typeMultiplierProvider.getBySameTypeAttackBonus(moveType, myPokemon); + } + + private BattleMultiplier getTypeMatchingMultiplier(Type moveType, List rivalPokemonTypes) { + List typeMatchingMultipliers = typeMultiplierProvider.getAllByTypeMatchings(moveType, + rivalPokemonTypes); + return BattleMultiplier.multiply(typeMatchingMultipliers.toArray(EMPTY_BATTLE_MULTIPLIER_ARRAY)); + } + + private BattleMultiplier applyStrongWindMultiplier(BattleMultiplier totalMultiplier, Type moveType, + List rivalPokemonTypes) { + BattleMultiplier strongWindMultiplier = typeMultiplierProvider.getByStrongWind(moveType, rivalPokemonTypes); + return BattleMultiplier.multiply(totalMultiplier, strongWindMultiplier); + } + + public boolean decidePreemptiveAttack(Pokemon rivalPokemon, Pokemon myPokemon) { + return myPokemon.isFasterThan(rivalPokemon); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleMultiplier.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleMultiplier.java new file mode 100644 index 00000000..03606f76 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleMultiplier.java @@ -0,0 +1,70 @@ +package com.pokerogue.helper.battle.service; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import lombok.Getter; + +@Getter +public final class BattleMultiplier { + + public static final BattleMultiplier STRONG_MULTIPLIER = new BattleMultiplier(BigDecimal.valueOf(1.5)); + public static final BattleMultiplier WEAK_MULTIPLIER = new BattleMultiplier(BigDecimal.valueOf(0.5)); + public static final BattleMultiplier ZERO_MULTIPLIER = new BattleMultiplier(BigDecimal.valueOf(0)); + public static final BattleMultiplier DEFAULT_MULTIPLIER = new BattleMultiplier(BigDecimal.valueOf(1)); + private static final Map CACHE = new HashMap<>(); + + static { + CACHE.put(STRONG_MULTIPLIER.value, STRONG_MULTIPLIER); + CACHE.put(WEAK_MULTIPLIER.value, WEAK_MULTIPLIER); + CACHE.put(ZERO_MULTIPLIER.value, ZERO_MULTIPLIER); + CACHE.put(DEFAULT_MULTIPLIER.value, DEFAULT_MULTIPLIER); // Todo: 캐싱 추가 + } + + private final BigDecimal value; + + private BattleMultiplier(BigDecimal value) { + this.value = value; + } + + public static BattleMultiplier valueOf(BigDecimal value) { + return CACHE.getOrDefault(value, new BattleMultiplier(value)); + } + + public static BattleMultiplier multiply(BattleMultiplier... others) { + BigDecimal result = Arrays.stream(others) + .map(BattleMultiplier::getValue) + .reduce(DEFAULT_MULTIPLIER.value, (a, b) -> a.multiply(b)); + + return BattleMultiplier.valueOf(result); + } + + public BattleMultiplier multiply(BattleMultiplier other) { + BigDecimal result = this.value.multiply(other.value); + + return BattleMultiplier.valueOf(result); + } + + public double getDoubleValue() { + return this.value.doubleValue(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BattleMultiplier that = (BattleMultiplier) o; + + return this.value.compareTo(that.value) == 0; + } + + @Override + public int hashCode() { + return this.value.stripTrailingZeros().hashCode(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleService.java new file mode 100644 index 00000000..c307cf50 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/BattleService.java @@ -0,0 +1,42 @@ +package com.pokerogue.helper.battle.service; + +import com.pokerogue.helper.battle.data.Weather; +import com.pokerogue.helper.battle.dto.BattleResultResponse; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.repository.MoveRepository; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class BattleService { + + private final MoveRepository moveRepository; + private final PokemonRepository pokemonRepository; + private final BattleCalculator battleCalculator; + + public BattleResultResponse calculateBattleResult( + String weatherId, + String myPokemonId, + String rivalPokemonId, + String myMoveId) { + Weather weather = Weather.findById(weatherId) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.WEATHER_NOT_FOUND)); + Pokemon myPokemon = pokemonRepository.findById(myPokemonId) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND)); + Pokemon rivalPokemon = pokemonRepository.findById(rivalPokemonId) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND)); + Move move = moveRepository.findById(myMoveId) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_NOT_FOUND)); + + double finalAccuracy = battleCalculator.calculateAccuracy(move, weather); + double totalMultiplier = battleCalculator.calculateTotalMultiplier(move, weather, rivalPokemon, myPokemon); + boolean isPreemptive = battleCalculator.decidePreemptiveAttack(rivalPokemon, myPokemon); + + return BattleResultResponse.from(move, totalMultiplier, finalAccuracy, isPreemptive); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/TypeMultiplierProvider.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/TypeMultiplierProvider.java new file mode 100644 index 00000000..97b93674 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/TypeMultiplierProvider.java @@ -0,0 +1,58 @@ +package com.pokerogue.helper.battle.service; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.type.collection.TypeMatching; +import com.pokerogue.helper.type.data.Type; +import com.pokerogue.helper.type.repository.TypeMatchingRepository; +import java.math.BigDecimal; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +@Component +@RequiredArgsConstructor +public class TypeMultiplierProvider { + + private static final double STRONG_TYPE_MATCHING_RESULT = 2; + + private final TypeMatchingRepository typeMatchingRepository; + + public List getAllByTypeMatchings(Type fromType, List toTypes) { + return toTypes.stream() + .map(toType -> findTypeMatchingByFromAndTo(fromType, toType)) + .map(TypeMatching::getResult) + .map(BigDecimal::valueOf) + .map(BattleMultiplier::valueOf) + .toList(); + } + + public BattleMultiplier getBySameTypeAttackBonus(Type moveType, Pokemon rivalPokemon) { + if (rivalPokemon.hasSameType(moveType)) { + return BattleMultiplier.STRONG_MULTIPLIER; + } + + return BattleMultiplier.DEFAULT_MULTIPLIER; + } + + public BattleMultiplier getByStrongWind(Type moveType, List rivalPokemonTypes) { + if (isStrongWindConditionMet(moveType, rivalPokemonTypes)) { + return BattleMultiplier.WEAK_MULTIPLIER; + } + + return BattleMultiplier.DEFAULT_MULTIPLIER; + } + + private boolean isStrongWindConditionMet(Type moveType, List rivalPokemonTypes) { + TypeMatching typeMatching = findTypeMatchingByFromAndTo(moveType, Type.FLYING); + + return rivalPokemonTypes.contains(Type.FLYING) + && typeMatching.getResult() == STRONG_TYPE_MATCHING_RESULT; + } + + private TypeMatching findTypeMatchingByFromAndTo(Type from, Type to) { + return typeMatchingRepository.findByFromAndTo(from.getName(), to.getName()) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.TYPE_MATCHING_ERROR)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherMultiplierProvider.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherMultiplierProvider.java new file mode 100644 index 00000000..d8b59a81 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherMultiplierProvider.java @@ -0,0 +1,31 @@ +package com.pokerogue.helper.battle.service; + +import com.pokerogue.helper.battle.data.Weather; +import com.pokerogue.helper.type.data.Type; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.springframework.stereotype.Component; + +@Component +public class WeatherMultiplierProvider { + + private static final Map WEATHER_MULTIPLIERS = new HashMap<>(); + + static { + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.SUNNY, Type.FIRE), BattleMultiplier.STRONG_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.SUNNY, Type.WATER), BattleMultiplier.WEAK_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.HARSH_SUN, Type.FIRE), BattleMultiplier.STRONG_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.HARSH_SUN, Type.WATER), BattleMultiplier.ZERO_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.RAIN, Type.WATER), BattleMultiplier.STRONG_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.RAIN, Type.FIRE), BattleMultiplier.WEAK_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.HEAVY_RAIN, Type.WATER), BattleMultiplier.STRONG_MULTIPLIER); + WEATHER_MULTIPLIERS.put(Objects.hash(Weather.HEAVY_RAIN, Type.FIRE), BattleMultiplier.ZERO_MULTIPLIER); + } + + public BattleMultiplier getByAttackMoveType(Weather weather, Type attackMoveType) { + int hashCode = Objects.hash(weather, attackMoveType); + + return WEATHER_MULTIPLIERS.getOrDefault(hashCode, BattleMultiplier.DEFAULT_MULTIPLIER); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherService.java new file mode 100644 index 00000000..4bba1ec5 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/battle/service/WeatherService.java @@ -0,0 +1,17 @@ +package com.pokerogue.helper.battle.service; + +import com.pokerogue.helper.battle.data.Weather; +import com.pokerogue.helper.battle.dto.WeatherResponse; +import java.util.Arrays; +import java.util.List; +import org.springframework.stereotype.Service; + +@Service +public class WeatherService { + + public List findWeathers() { + return Arrays.stream(Weather.values()) + .map(WeatherResponse::from) + .toList(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/controller/BiomeController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/controller/BiomeController.java new file mode 100644 index 00000000..efa26241 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/controller/BiomeController.java @@ -0,0 +1,42 @@ +package com.pokerogue.helper.biome.controller; + +import com.pokerogue.helper.biome.dto.BiomeDetailResponse; +import com.pokerogue.helper.biome.dto.BiomeResponse; +import com.pokerogue.helper.biome.service.BiomeService; +import com.pokerogue.helper.global.constant.SortingCriteria; +import com.pokerogue.helper.util.dto.ApiResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class BiomeController { + + private final BiomeService biomeService; + + @GetMapping("/api/v1/biomes") + public ApiResponse> biomeList() { + return new ApiResponse<>("바이옴 리스트 불러오기에 성공했습니다.", biomeService.findBiomes()); + } + + @GetMapping("/api/v1/biome/{id}") + public ApiResponse biomeDetails(@PathVariable("id") String id, + @RequestParam(value = "boss", defaultValue = "desc") SortingCriteria bossPokemonOrder, + @RequestParam(value = "wild", defaultValue = "asc") SortingCriteria wildPokemonOrder) { + log.info( + "---- URI : {}, Param : {}, ThreadName : {}", + "/api/v1/biome/{id}", + id, + Thread.currentThread().getName() + ); + + return new ApiResponse<>("바이옴 정보 불러오기에 성공했습니다.", + biomeService.findBiome(id, bossPokemonOrder, wildPokemonOrder)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/SortingCriteriaRequestConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/SortingCriteriaRequestConverter.java new file mode 100644 index 00000000..cb71a60f --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/SortingCriteriaRequestConverter.java @@ -0,0 +1,12 @@ +package com.pokerogue.helper.biome.converter; + +import com.pokerogue.helper.global.constant.SortingCriteria; +import org.springframework.core.convert.converter.Converter; + +public class SortingCriteriaRequestConverter implements Converter { + + @Override + public SortingCriteria convert(String sortingCriteriaValue) { + return SortingCriteria.convertFrom(sortingCriteriaValue); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/TierConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/TierConverter.java new file mode 100644 index 00000000..b45f783e --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/converter/TierConverter.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.biome.converter; + +import com.pokerogue.helper.biome.data.Tier; +import org.springframework.core.convert.converter.Converter; +import org.springframework.data.convert.ReadingConverter; + +@ReadingConverter +public class TierConverter implements Converter { + + @Override + public Tier convert(String tierData) { + return Tier.convertFrom(tierData); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Biome.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Biome.java new file mode 100644 index 00000000..3ea0d6e5 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Biome.java @@ -0,0 +1,37 @@ +package com.pokerogue.helper.biome.data; + +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@Document(collection = "biome") +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Biome { + + @Id + private String id; + + @Field("name") + private String name; + + @Field("koName") + private String koName; + + @Field("types") + private List types; + + @Field("nextBiomes") + private List nextBiomes; + + @Field("nativePokemons") + private List nativePokemons; + + @Field("trainers") + private List trainers; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NativePokemon.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NativePokemon.java new file mode 100644 index 00000000..7ff6878d --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NativePokemon.java @@ -0,0 +1,32 @@ +package com.pokerogue.helper.biome.data; + +import java.util.List; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@AllArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class NativePokemon { + + @Field("tier") + private Tier tier; + + @Field("pokemonIds") + private List pokemonIds; + + public boolean isWild() { + return tier.isWild(); + } + + public boolean isBoss() { + return tier.isBoss(); + } + + public int getRarity() { + return this.tier.getRarity(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NextBiome.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NextBiome.java new file mode 100644 index 00000000..f4fc468c --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/NextBiome.java @@ -0,0 +1,17 @@ +package com.pokerogue.helper.biome.data; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class NextBiome { + + @Field("name") + private String name; + + @Field("percentage") + private int percentage; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Tier.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Tier.java new file mode 100644 index 00000000..7b8d198d --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Tier.java @@ -0,0 +1,48 @@ +package com.pokerogue.helper.biome.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import lombok.Getter; + +@Getter +public enum Tier { + + COMMON("보통", 1), + UNCOMMON("드묾", 2), + RARE("레어", 3), + SUPER_RARE("슈퍼 레어", 4), + ULTRA_RARE("울트라 레어", 5), + BOSS("보스", 6), + BOSS_RARE("레어 보스", 7), + BOSS_SUPER_RARE("슈퍼 레어 보스", 8), + BOSS_ULTRA_RARE("슈퍼 울트라 레어 보스", 9), + ; + + private final String name; + private final int rarity; + + Tier(String name, int rarity) { + this.name = name; + this.rarity = rarity; + } + + public boolean isWild() { + return !name.contains("보스"); + } + + public boolean isBoss() { + return name.contains("보스"); + } + + public static Tier convertFrom(String tierData) { + return getTierByName(tierData); + } + + private static Tier getTierByName(String name) { + return Arrays.stream(values()) + .filter(tier -> tier.name.equals(name)) + .findFirst() + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.TIER_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Trainer.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Trainer.java new file mode 100644 index 00000000..7bc42792 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/data/Trainer.java @@ -0,0 +1,25 @@ +package com.pokerogue.helper.biome.data; + +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Trainer { + + @Field("name") + private String name; + + @Field("koName") + private String koName; + + @Field("types") + private List types; + + @Field("pokemonIds") + private List pokemonIds; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeAllPokemonResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeAllPokemonResponse.java new file mode 100644 index 00000000..7de4a41f --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeAllPokemonResponse.java @@ -0,0 +1,11 @@ +package com.pokerogue.helper.biome.dto; + +import com.pokerogue.helper.biome.data.NativePokemon; +import java.util.List; + +public record BiomeAllPokemonResponse(String tier, List pokemons) { + + public static BiomeAllPokemonResponse of(NativePokemon nativePokemon, List pokemons) { + return new BiomeAllPokemonResponse(nativePokemon.getTier().getName(), pokemons); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeDetailResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeDetailResponse.java new file mode 100644 index 00000000..30045946 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeDetailResponse.java @@ -0,0 +1,33 @@ +package com.pokerogue.helper.biome.dto; + +import com.pokerogue.helper.biome.data.Biome; +import java.util.List; + +public record BiomeDetailResponse( + String id, + String name, + String image, + List wildPokemons, + List bossPokemons, + List trainerPokemons, + List nextBiomes +) { + public static BiomeDetailResponse of( + Biome biome, + String biomeImage, + List wildPokemons, + List bossPokemons, + List trainerPokemons, + List nextBiomes + ) { + return new BiomeDetailResponse( + biome.getId(), + biome.getKoName(), + biomeImage, + wildPokemons, + bossPokemons, + trainerPokemons, + nextBiomes + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomePokemonResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomePokemonResponse.java new file mode 100644 index 00000000..54f43cd6 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomePokemonResponse.java @@ -0,0 +1,11 @@ +package com.pokerogue.helper.biome.dto; + +import java.util.List; + +public record BiomePokemonResponse( + String id, + String name, + String image, + List pokemonTypeResponses +) { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeResponse.java new file mode 100644 index 00000000..2aca68c0 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeResponse.java @@ -0,0 +1,23 @@ +package com.pokerogue.helper.biome.dto; + +import com.pokerogue.helper.biome.data.Biome; +import java.util.List; + +public record BiomeResponse( + String id, + String name, + String image, + List pokemonTypeResponses, + List trainerTypeResponses +) { + + public static BiomeResponse of(Biome biome, String biomeImage, List pokemonTypeLogos, List trainerTypeLogos) { + return new BiomeResponse( + biome.getId(), + biome.getKoName(), + biomeImage, + pokemonTypeLogos, + trainerTypeLogos + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeTypeResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeTypeResponse.java new file mode 100644 index 00000000..c67dbb4c --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/BiomeTypeResponse.java @@ -0,0 +1,4 @@ +package com.pokerogue.helper.biome.dto; + +public record BiomeTypeResponse(String typeLogo, String typeName) { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/NextBiomeResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/NextBiomeResponse.java new file mode 100644 index 00000000..036af8ea --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/NextBiomeResponse.java @@ -0,0 +1,31 @@ +package com.pokerogue.helper.biome.dto; + +import com.pokerogue.helper.biome.data.Biome; +import java.util.List; + +public record NextBiomeResponse( + String id, + String name, + String image, + String percent, + List pokemonTypeResponses, + List trainerTypeResponses +) { + + public static NextBiomeResponse of( + Biome biome, + String biomeImage, + String percent, + List pokemonTypeResponses, + List trainerTypeResponses + ) { + return new NextBiomeResponse( + biome.getId(), + biome.getKoName(), + biomeImage, + percent, + pokemonTypeResponses, + trainerTypeResponses + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/TrainerPokemonResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/TrainerPokemonResponse.java new file mode 100644 index 00000000..fb78a78f --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/dto/TrainerPokemonResponse.java @@ -0,0 +1,25 @@ +package com.pokerogue.helper.biome.dto; + +import com.pokerogue.helper.biome.data.Trainer; +import java.util.List; + +public record TrainerPokemonResponse( + String trainerName, + String trainerImage, + List trainerTypeResponses, + List pokemons +) { + + public static TrainerPokemonResponse from( + Trainer trainer, + String trainerImage, + List trainerTypes, + List trainerPokemons) { + return new TrainerPokemonResponse( + trainer.getKoName(), + trainerImage, + trainerTypes, + trainerPokemons + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/repository/BiomeRepository.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/repository/BiomeRepository.java new file mode 100644 index 00000000..c06c6067 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/repository/BiomeRepository.java @@ -0,0 +1,7 @@ +package com.pokerogue.helper.biome.repository; + +import com.pokerogue.helper.biome.data.Biome; +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface BiomeRepository extends MongoRepository { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/BiomeService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/BiomeService.java new file mode 100644 index 00000000..e1c7d8c4 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/BiomeService.java @@ -0,0 +1,141 @@ +package com.pokerogue.helper.biome.service; + +import com.pokerogue.external.s3.service.S3Service; +import com.pokerogue.helper.biome.data.Biome; +import com.pokerogue.helper.biome.data.NativePokemon; +import com.pokerogue.helper.biome.data.Trainer; +import com.pokerogue.helper.biome.dto.BiomeAllPokemonResponse; +import com.pokerogue.helper.biome.dto.BiomeDetailResponse; +import com.pokerogue.helper.biome.dto.BiomePokemonResponse; +import com.pokerogue.helper.biome.dto.BiomeResponse; +import com.pokerogue.helper.biome.dto.BiomeTypeResponse; +import com.pokerogue.helper.biome.dto.NextBiomeResponse; +import com.pokerogue.helper.biome.dto.TrainerPokemonResponse; +import com.pokerogue.helper.biome.repository.BiomeRepository; +import com.pokerogue.helper.global.constant.SortingCriteria; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class BiomeService { + + private final S3Service s3Service; + private final BiomeRepository biomeRepository; + private final PokemonRepository pokemonRepository; + + public List findBiomes() { + return biomeRepository.findAll().stream() + .map(biome -> BiomeResponse.of( + biome, + s3Service.getBiomeImageFromS3(biome.getId()), + getTypesResponses(biome.getTypes()), + getTrainerTypesResponses(biome.getTrainers())) + ) + .toList(); + } + + public BiomeDetailResponse findBiome(String id, SortingCriteria bossPokemonOrder, SortingCriteria wildPokemonOrder) { + Biome biome = biomeRepository.findById(id) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.BIOME_NOT_FOUND)); + + return BiomeDetailResponse.of( + biome, + s3Service.getBiomeImageFromS3(biome.getId()), + getWildPokemons(biome.getNativePokemons(), wildPokemonOrder), + getBossPokemons(biome.getNativePokemons(), bossPokemonOrder), + getTrainerPokemons(biome), + getNextBiomes(biome) + ); + } + + private List getWildPokemons(List nativePokemons, SortingCriteria wildPokemonOrder) { + return nativePokemons.stream() + .filter(NativePokemon::isWild) + .sorted(NativePokemonComparator.of(wildPokemonOrder)) + .map(nativePokemon -> BiomeAllPokemonResponse.of( + nativePokemon, + getBiomePokemons(nativePokemon.getPokemonIds()))) + .toList(); + } + + private List getBossPokemons(List nativePokemons, SortingCriteria bossPokemonOrder) { + return nativePokemons.stream() + .filter(NativePokemon::isBoss) + .sorted(NativePokemonComparator.of(bossPokemonOrder)) + .map(nativePokemon -> BiomeAllPokemonResponse.of( + nativePokemon, + getBiomePokemons(nativePokemon.getPokemonIds()))) + .toList(); + } + + private List getTrainerPokemons(Biome biome) { + return biome.getTrainers().stream() + .map(trainer -> TrainerPokemonResponse.from( + trainer, + s3Service.getTrainerImageFromS3(trainer.getName()), + getTypesResponses(trainer.getTypes()), + getBiomePokemons(trainer.getPokemonIds())) + ) + .toList(); + } + + private List getNextBiomes(Biome biome) { + return biome.getNextBiomes().stream() + .map(nextBiomeInfo -> { + Biome nextBiome = biomeRepository.findById(nextBiomeInfo.getName()) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.BIOME_NOT_FOUND)); + + return NextBiomeResponse.of( + nextBiome, + s3Service.getBiomeImageFromS3(nextBiome.getId()), + String.valueOf(nextBiomeInfo.getPercentage()), + getTypesResponses(nextBiome.getTypes()), + getTrainerTypesResponses(nextBiome.getTrainers()) + ); + }) + .toList(); + } + + private List getBiomePokemons(List biomePokemons) { + List biomePokemonResponses = pokemonRepository.findAllById(biomePokemons).stream() + .map(pokemon -> new BiomePokemonResponse( + pokemon.getId(), + pokemon.getKoName(), + s3Service.getPokemonImageFromS3(pokemon.getImageId()), + getTypesResponses(pokemon.getTypes())) + ) + .distinct() + .toList(); + if (biomePokemons.size() == biomePokemonResponses.size()) { + return biomePokemonResponses; + } + + throw new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND); + } + + private List getTypesResponses(List types) { + return types.stream() + .map(type -> new BiomeTypeResponse( + type.getImage(), + type.getKoName()) + ) + .toList(); + } + + private List getTrainerTypesResponses(List trainers) { + return trainers.stream() + .map(Trainer::getTypes) + .flatMap(List::stream) + .map(type -> new BiomeTypeResponse( + type.getImage(), + type.getKoName()) + ) + .toList(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/NativePokemonComparator.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/NativePokemonComparator.java new file mode 100644 index 00000000..24179731 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/biome/service/NativePokemonComparator.java @@ -0,0 +1,37 @@ +package com.pokerogue.helper.biome.service; + +import static com.pokerogue.helper.global.constant.SortingCriteria.ASCENDING; +import static com.pokerogue.helper.global.constant.SortingCriteria.DESCENDING; + +import com.pokerogue.helper.biome.data.NativePokemon; +import com.pokerogue.helper.global.constant.SortingCriteria; +import java.util.Comparator; + +public class NativePokemonComparator implements Comparator { + + private static final NativePokemonComparator ASCENDING_COMPARATOR = new NativePokemonComparator(ASCENDING); + private static final NativePokemonComparator DESCENDING_COMPARATOR = new NativePokemonComparator(DESCENDING); + + private final SortingCriteria criteria; + + private NativePokemonComparator(SortingCriteria criteria) { + this.criteria = criteria; + } + + public static NativePokemonComparator of(SortingCriteria criteria) { + if (criteria.equals(ASCENDING)) { + return ASCENDING_COMPARATOR; + } + + return DESCENDING_COMPARATOR; + } + + @Override + public int compare(NativePokemon firstPokemon, NativePokemon secondPokemon) { + if (this.criteria.equals(ASCENDING)) { + return Integer.compare(firstPokemon.getRarity(), secondPokemon.getRarity()); + } + + return Integer.compare(secondPokemon.getRarity(), firstPokemon.getRarity()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/data/PokemonValidator.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/data/PokemonValidator.java new file mode 100644 index 00000000..1da817ee --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/data/PokemonValidator.java @@ -0,0 +1,275 @@ +package com.pokerogue.helper.data; + +import static java.lang.Character.isDigit; +import static java.lang.Character.isLowerCase; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.type.data.Type; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.function.IntPredicate; +import java.util.function.Predicate; +import java.util.stream.Stream; +import org.apache.logging.log4j.util.Strings; + +class PokemonValidator { + + private static final int POKEMON_SIZE = 1453; + private static final int MIN_GENERATION = 1; + private static final int MAX_GENERATION = 9; + private static final int MIN_TYPE_COUNT = 1; + private static final int MAX_TYPE_COUNT = 2; + private static final int MIN_ABILITY_COUNT = 2; + private static final int MAX_ABILITY_COUNT = 4; + private static final int MIN_NORMAL_ABILITY_COUNT = 1; + private static final int MAX_NORMAL_ABILITY_COUNT = 2; + private static final int MIN_STAT_VALUE = -1; + private static final int MAX_STAT_VALUE = 10000; + private static final String DELIMITER = "_"; + private static final String EMPTY_ABILITY = "none"; + private static final IntPredicate isExpectedIdLetter = character -> isLowerCase(character) + || isDigit(character) + || isDelimiter(character); + + private PokemonValidator() { + } + + static void validatePokemonSize(int pokemonCount) { + Predicate isTotalPokemonSizeMatch = count -> count == POKEMON_SIZE; + String message = String.format("포켓몬의 총 개수가 다릅니다. 예상값: %d, 현재값: %d", POKEMON_SIZE, pokemonCount); + + validate(isTotalPokemonSizeMatch, pokemonCount, ErrorMessage.POKEMON_SIZE_MISMATCH, message); + } + + static void validatePokemonIdFormat(List pokemonIds) { + Predicate isExpectedLetter = id -> id.codePoints().allMatch(isExpectedIdLetter); + Predicate isDelimiterSeparated = id -> id.contains(DELIMITER + DELIMITER); + Predicate isDelimiterInPlace = id -> id.startsWith(DELIMITER) || id.endsWith(DELIMITER); + + String message = "아이디: %s는 아이디 규칙에 맞지 않습니다."; + + for (String id : pokemonIds) { + validate(isExpectedLetter, id, ErrorMessage.POKEMON_ID_UNEXPECTED_LETTER, String.format(message, id)); + validate(isDelimiterSeparated, id, ErrorMessage.POKEMON_ID_DELIMITER_IS_SEQUENTIAL, + String.format(message, id)); + validate(isDelimiterInPlace, id, ErrorMessage.POKEMON_ID_DELIMITER_MISPLACED, String.format(message, id)); + } + } + + static void validatePokemonsBaseTotal(List pokemons) { + Predicate isBaseTotalCorrect = pokemon -> { + int hp = pokemon.getHp(); + int attack = pokemon.getAttack(); + int specialAttack = pokemon.getSpecialAttack(); + int defense = pokemon.getDefense(); + int specialDefense = pokemon.getSpecialDefense(); + int speed = pokemon.getSpeed(); + + int baseTotal = pokemon.getBaseTotal(); + int summation = hp + attack + specialAttack + defense + specialDefense + speed; + + return baseTotal == summation; + }; + + for (Pokemon pokemon : pokemons) { + validate(isBaseTotalCorrect, pokemon, ErrorMessage.POKEMON_SIZE_MISMATCH); + } + } + + static void validatePokemonsGeneration(List pokemons) { + Predicate isValidGeneration = gen -> isInRange(gen, MIN_GENERATION, MAX_GENERATION); + + for (Pokemon pokemon : pokemons) { + int generation = pokemon.getGeneration(); + validate(isValidGeneration, generation, ErrorMessage.POKEMON_GENERATION_MISMATCH); + } + } + + static void validatePokemonFormChanges(List pokemons) { + Predicate isFormChangeable = pokemon -> !pokemon.getFormChanges().isEmpty(); + List formChangeablePokemons = pokemons.stream() + .filter(Pokemon::isCanChangeForm) + .toList(); + + for (Pokemon fomrChangeablePokemon : formChangeablePokemons) { + validate(isFormChangeable, fomrChangeablePokemon, ErrorMessage.POKEMON_FORM_CHANGE_MISMATCH); + } + } + + static void validatePokemonRarity(List pokemons) { + Predicate isRarityCountLessOrEqualThanOne = pokemon -> { + boolean legendary = pokemon.isLegendary(); + boolean mythical = pokemon.isMythical(); + boolean subLegendary = pokemon.isSubLegendary(); + + long rarityCount = Stream.of(legendary, mythical, subLegendary) + .filter(Boolean::booleanValue) + .count(); + + return rarityCount <= 1; + }; + + for (Pokemon pokemon : pokemons) { + validate(isRarityCountLessOrEqualThanOne, pokemon, ErrorMessage.POKEMON_RARITY_COUNT_MISMATCH); + } + } + + static void validateNormalAbilityCount(List pokemons) { + Predicate isNormalAbilityCountInRange = normalAbilityCount -> + isInRange(normalAbilityCount, MIN_NORMAL_ABILITY_COUNT, MAX_NORMAL_ABILITY_COUNT); + + for (Pokemon pokemon : pokemons) { + int abilityCount = pokemon.getNormalAbilityIds().size(); + + validate(isNormalAbilityCountInRange, abilityCount, ErrorMessage.POKEMON_NORMAL_ABILITY_COUNT); + } + } + + static void validateTotalAbilityCount(List pokemons) { + Predicate isTotalAbilityCountInRange = pokemon -> { + List totalAbilityIds = pokemon.getNormalAbilityIds(); + totalAbilityIds.add(pokemon.getHiddenAbilityId()); + totalAbilityIds.add(pokemon.getPassiveAbilityId()); + + int totalAbilityCount = totalAbilityIds.stream() + .filter(id -> !id.equals(EMPTY_ABILITY)) + .mapToInt(id -> 1) + .sum(); + + return isInRange(totalAbilityCount, MIN_ABILITY_COUNT, MAX_ABILITY_COUNT); + }; + + for (Pokemon pokemon : pokemons) { + validate(isTotalAbilityCountInRange, pokemon, ErrorMessage.POKEMON_TOTAL_ABILITY_COUNT); + } + } + + static void validateTotalAbilityDuplication(List pokemons) { + Predicate isAbilityDisjoint = pokemon -> { + List totalAbilityIds = pokemon.getNormalAbilityIds(); + totalAbilityIds.add(pokemon.getHiddenAbilityId()); + totalAbilityIds.add(pokemon.getPassiveAbilityId()); + + Set uniqueIds = new HashSet<>(totalAbilityIds); + + return totalAbilityIds.size() == uniqueIds.size(); + }; + + for (Pokemon pokemon : pokemons) { + validate(isAbilityDisjoint, pokemon, ErrorMessage.POKEMON_ABILITY_DUPLICATION); + } + } + + static void validateStatValueRange(List pokemons) { + Predicate isStatsInRange = pokemon -> { + List stats = List.of( + pokemon.getDefense(), + pokemon.getAttack(), + pokemon.getSpecialAttack(), + pokemon.getSpecialDefense(), + pokemon.getWeight(), + pokemon.getHeight(), + pokemon.getFriendship(), + pokemon.getBaseExp(), + pokemon.getBaseTotal(), + pokemon.getHp(), + pokemon.getSpeed() + ); + + return stats.stream() + .map(Number::doubleValue) + .map(Double::intValue) + .allMatch(statValue -> isInRange(statValue, MIN_STAT_VALUE, MAX_STAT_VALUE)); + }; + + for (Pokemon pokemon : pokemons) { + validate(isStatsInRange, pokemon, ErrorMessage.POKEMON_STAT_OUT_OF_RANGE); + } + } + + static void validatePassiveAbilityExist(List pokemons) { + Predicate isPassiveExist = pokemon -> { + String passiveAbilityId = pokemon.getPassiveAbilityId(); + return Strings.isNotBlank(passiveAbilityId) && !EMPTY_ABILITY.equals(passiveAbilityId); + }; + + for (Pokemon pokemon : pokemons) { + validate(isPassiveExist, pokemon, ErrorMessage.POKEMON_PASSIVE_NOT_FOUND); + } + } + + static void validateEmptyHiddenAbilityExists(List pokemons) { + Predicate isEmptyHiddenExist = pokemon -> { + String hiddenAbilityId = pokemon.getPassiveAbilityId(); + return Strings.isNotBlank(hiddenAbilityId) || EMPTY_ABILITY.equals(hiddenAbilityId); + }; + + boolean isEmptyExist = pokemons.stream().anyMatch(isEmptyHiddenExist); + + validate(Predicate.isEqual(true), isEmptyExist, ErrorMessage.POKEMON_SIZE_MISMATCH); + } + + static void validateTypeCount(List pokemons) { + Predicate isTypeCountInRange = pokemon -> { + int typeCount = pokemon.getTypes().size(); + return isInRange(typeCount, MIN_TYPE_COUNT, MAX_TYPE_COUNT); + }; + + for (Pokemon pokemon : pokemons) { + validate(isTypeCountInRange, pokemon, ErrorMessage.POKEMON_TYPE_COUNT_OUT_OF_RANGE); + } + } + + static void validateTypeDuplication(List pokemons) { + Predicate isTypeDisjointed = pokemon -> { + List types = pokemon.getTypes(); + Set uniqueTypes = new HashSet<>(types); + return types.size() == uniqueTypes.size(); + }; + + for (Pokemon pokemon : pokemons) { + validate(isTypeDisjointed, pokemon, ErrorMessage.POKEMON_TYPE_DUPLICATION); + } + } + + static void validateEvolutionFromToIsPokemonId(List pokemons) { + List pokemonIds = pokemons.stream().map(Pokemon::getId).toList(); + List evolutionIds = pokemons.stream() + .flatMap(pokemon -> pokemon.getEvolutions().stream()) + .flatMap(evolution -> Stream.of(evolution.getFrom(), evolution.getTo())) + .distinct() + .toList(); + + boolean containsAll = new HashSet<>(pokemonIds).containsAll(evolutionIds); + + validate(Predicate.isEqual(true), containsAll, ErrorMessage.POKEMON_EVOLUTION_ID_MISMATCH); + } + + + private static void validate(Predicate predicate, T data, ErrorMessage errorMessage) { + if (predicate.test(data)) { + return; + } + throw new GlobalCustomException(errorMessage, data.toString()); + } + + private static void validate(Predicate predicate, T data, ErrorMessage errorMessage, + String detailedMessage) { + if (predicate.test(data)) { + return; + } + throw new GlobalCustomException(errorMessage, detailedMessage); + } + + private static boolean isInRange(int target, int min, int max) { + return target >= min && target <= max; + } + + private static boolean isDelimiter(int character) { + return DELIMITER.charAt(0) == character; + } + +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/DataMongoDbConfig.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/DataMongoDbConfig.java new file mode 100644 index 00000000..108f6b55 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/DataMongoDbConfig.java @@ -0,0 +1,56 @@ +package com.pokerogue.helper.global.config; + +import com.mongodb.ConnectionString; +import com.mongodb.MongoClientSettings; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; +import com.pokerogue.helper.biome.converter.TierConverter; +import com.pokerogue.helper.move.converter.FlagConverter; +import com.pokerogue.helper.move.converter.MoveCategoryConverter; +import com.pokerogue.helper.move.converter.MoveTargetConverter; +import com.pokerogue.helper.pokemon.converter.EvolutionItemConverter; +import com.pokerogue.helper.type.converter.TypeReadConverter; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.mongodb.core.convert.MongoCustomConversions; +import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; + +@Configuration +@EnableMongoRepositories(basePackages = {"com.pokerogue"}) +public class DataMongoDbConfig { + + @Value("${spring.data.mongodb.uri}") + private String uri; + + @Bean + public MongoCustomConversions customConversions() { + return new MongoCustomConversions(List.of( + new TypeReadConverter(), + new EvolutionItemConverter(), + new MoveCategoryConverter(), + new MoveTargetConverter(), + new FlagConverter(), + new TierConverter() + )); + } + + @Bean + public MongoClient mongoClient() { + ConnectionString connectionString = new ConnectionString(uri); + MongoClientSettings settings = MongoClientSettings.builder() + .applyConnectionString(connectionString) + .applyToConnectionPoolSettings(builder -> builder + .maxSize(10) + .minSize(10) + .maxWaitTime(2, TimeUnit.SECONDS) + ) + .build(); + + return MongoClients.create(settings); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/WebConfig.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/WebConfig.java new file mode 100644 index 00000000..19d78c99 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/config/WebConfig.java @@ -0,0 +1,15 @@ +package com.pokerogue.helper.global.config; + +import com.pokerogue.helper.biome.converter.SortingCriteriaRequestConverter; +import org.springframework.context.annotation.Configuration; +import org.springframework.format.FormatterRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Override + public void addFormatters(FormatterRegistry registry) { + registry.addConverter(new SortingCriteriaRequestConverter()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/constant/SortingCriteria.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/constant/SortingCriteria.java new file mode 100644 index 00000000..37a4693f --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/constant/SortingCriteria.java @@ -0,0 +1,27 @@ +package com.pokerogue.helper.global.constant; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import lombok.Getter; + +@Getter +public enum SortingCriteria { + + ASCENDING("asc"), + DESCENDING("desc"), + ; + + private final String value; + + SortingCriteria(String value) { + this.value = value; + } + + public static SortingCriteria convertFrom(String value) { + return Arrays.stream(values()) + .filter(criteria -> criteria.value.equals(value)) + .findAny() + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.INVALID_SORTING_CRITERIA)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersion.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersion.java new file mode 100644 index 00000000..7717f72b --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersion.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.global.databaseversion; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class DatabaseVersion { + + @Value("${database.version}") + private String version; + + private DatabaseVersion() { + } + + public int getVersion() { + return Integer.parseInt(version); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionController.java new file mode 100644 index 00000000..9ccb3ca8 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionController.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.global.databaseversion; + +import com.pokerogue.helper.util.dto.ApiResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +public class DatabaseVersionController { + + private final DatabaseVersion databaseVersion; + + @GetMapping("/api/v1/database/version") + public ApiResponse databaseVersion() { + return new ApiResponse<>("데이터베이스 버전 불러오기에 성공했습니다.", new DatabaseVersionResponse(databaseVersion)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionResponse.java new file mode 100644 index 00000000..4ddfb32a --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionResponse.java @@ -0,0 +1,16 @@ +package com.pokerogue.helper.global.databaseversion; + +import lombok.Getter; + +@Getter +public class DatabaseVersionResponse { + + private int currentVersion; + + private DatabaseVersionResponse() { + } + + public DatabaseVersionResponse(DatabaseVersion databaseVersion) { + this.currentVersion = databaseVersion.getVersion(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/ErrorMessage.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/ErrorMessage.java new file mode 100644 index 00000000..e0551dba --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/ErrorMessage.java @@ -0,0 +1,51 @@ +package com.pokerogue.helper.global.exception; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; + +@Getter +@RequiredArgsConstructor +public enum ErrorMessage { + + POKEMON_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 포켓몬을 찾지 못했습니다."), + POKEMON_ABILITY_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 특성을 찾지 못했습니다."), + TYPE_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 타입을 찾지 못했습니다."), + ARTICLE_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 꿀팁을 찾지 못했습니다."), + MOVE_TARGET_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "기술 타켓을 찾지 못했습니다."), + MOVE_FLAG_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "기술 플래그를 찾지 못했습니다."), + WEATHER_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "id에 해당하는 날씨를 찾지 못했습니다."), + EVOLUTION_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 진화 정보를 찾지 못했습니다."), + ITEM_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 아이템을 찾지 못했습니다."), + + TIER_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 티어를 찾지 못했습니다."), + BIOME_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "해당하는 바이옴을 찾지 못했습니다."), + MOVE_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "id에 해당하는 기술을 찾지 못했습니다."), + MOVE_CATEGORY_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "기술 카테고리를 찾지 못했습니다."), + PARSE_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "파싱에 실패했습니다."), + TYPE_MATCHING_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "타입 상성 찾기에 실패했습니다."), + POKEMON_SIZE_MISMATCH(HttpStatus.INTERNAL_SERVER_ERROR, "예상 포켓몬 수와 실제 데이터가 일치하지 않습니다."), + POKEMON_BASE_TOTAL_MISMATCH(HttpStatus.INTERNAL_SERVER_ERROR, "종족값이 기본 능력치의 합과 다릅니다."), + POKEMON_ID_UNEXPECTED_LETTER(HttpStatus.INTERNAL_SERVER_ERROR, "아이디에 허용되지 않은 문자가 포함되어 있습니다."), + POKEMON_ID_DELIMITER_MISPLACED(HttpStatus.INTERNAL_SERVER_ERROR, "아이디에 구분자가 처음이나 끝에 올 수 없습니다."), + POKEMON_ID_DELIMITER_IS_SEQUENTIAL(HttpStatus.INTERNAL_SERVER_ERROR, "아이디에 구분자가 연속으로 배치되어 있습니다."), + POKEMON_GENERATION_MISMATCH(HttpStatus.INTERNAL_SERVER_ERROR,"적절하지 않은 포켓몬 세대입니다."), + POKEMON_FORM_CHANGE_MISMATCH(HttpStatus.INTERNAL_SERVER_ERROR,"폼변환이 가능하지만 변환 가능한 포켓몬이 없습니다."), + POKEMON_RARITY_COUNT_MISMATCH(HttpStatus.INTERNAL_SERVER_ERROR,"전설, 준전설, 미신은 셋 중 하나 이하만 선택될 수 있습니다."), + POKEMON_NORMAL_ABILITY_COUNT(HttpStatus.INTERNAL_SERVER_ERROR,"포켓몬 기본 특성 개수가 유효범위 내에 있지 않습니다."), + POKEMON_TOTAL_ABILITY_COUNT(HttpStatus.INTERNAL_SERVER_ERROR,"포켓몬 특성의 총 개수가 유효범위 내에 있지 않습니다."), + POKEMON_ABILITY_DUPLICATION(HttpStatus.INTERNAL_SERVER_ERROR,"중복되는 특성이 존재합니다."), + POKEMON_STAT_OUT_OF_RANGE(HttpStatus.INTERNAL_SERVER_ERROR, "포켓몬 능력 수치가 예상 범위 내에 있지 않습니다."), + POKEMON_PASSIVE_NOT_FOUND(HttpStatus.INTERNAL_SERVER_ERROR, "패시브 특성은 반드시 존재해야합니다."), + POKEMON_TYPE_COUNT_OUT_OF_RANGE(HttpStatus.INTERNAL_SERVER_ERROR,"포켓몬의 특성의 개수가 유효범위 내에 있지 않습니다."), + POKEMON_TYPE_DUPLICATION(HttpStatus.INTERNAL_SERVER_ERROR,"포켓몬의 타입은 중복될 수 없습니다."), + POKEMON_EVOLUTION_ID_MISMATCH(HttpStatus.INTERNAL_SERVER_ERROR, "포켓몬과 진화 포켓몬 아이디가 서로 일치하지 않습니다"), + + INVALID_SORTING_CRITERIA(HttpStatus.BAD_REQUEST, "지원되지 않는 정렬 기준입니다."), + FILE_ACCESS_FAILED(HttpStatus.BAD_REQUEST, "파일 정보 접근에 실패했습니다."), + FILE_EXTENSION_NOT_APPLY(HttpStatus.BAD_REQUEST, "지원하지 않는 파일 형식입니다."), + ; + + private final HttpStatus httpStatus; + private final String message; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/GlobalCustomException.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/GlobalCustomException.java new file mode 100644 index 00000000..6eb9ee6a --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/GlobalCustomException.java @@ -0,0 +1,22 @@ +package com.pokerogue.helper.global.exception; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import org.springframework.http.HttpStatus; + +@Getter +@RequiredArgsConstructor +public class GlobalCustomException extends RuntimeException { + + private final HttpStatus httpStatus; + + public GlobalCustomException(ErrorMessage errorMessage) { + super(errorMessage.getMessage()); + this.httpStatus = errorMessage.getHttpStatus(); + } + + public GlobalCustomException(ErrorMessage errorMessage, String message) { + super(errorMessage.getMessage() + message); + this.httpStatus = errorMessage.getHttpStatus(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/PokemonExceptionHandler.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/PokemonExceptionHandler.java new file mode 100644 index 00000000..80038e48 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/global/exception/PokemonExceptionHandler.java @@ -0,0 +1,54 @@ +package com.pokerogue.helper.global.exception; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.dao.DataAccessException; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; + +@Slf4j +@ControllerAdvice +public class PokemonExceptionHandler extends ResponseEntityExceptionHandler { + + @ExceptionHandler(GlobalCustomException.class) + public ResponseEntity handleViolationException(GlobalCustomException e) { + log.error("error message : {}", e.getStackTrace()[0]); + + return ResponseEntity.status(e.getHttpStatus()) + .body(e.getMessage()); + } + + @ExceptionHandler(DataAccessException.class) + public ResponseEntity handleDataAccessException(DataAccessException e) { + log.error("error message : {}", e.getStackTrace()[0]); + + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body("데이터 접근 에러가 발생했습니다."); + } + + @ExceptionHandler(NullPointerException.class) + public ResponseEntity handleNullPointerException(NullPointerException e) { + log.error("error message : {}", e); + + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body("Null Pointer 에러가 발생했습니다."); + } + + @ExceptionHandler(Exception.class) + public ResponseEntity handleUnExpectedException(Exception e) { + log.error("error message : {}", e); + + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body("핸들링 하지 않은 에러가 발생했습니다."); + } + + @ExceptionHandler(OutOfMemoryError.class) + public ResponseEntity handleOutOfMemoryError(OutOfMemoryError e) { + log.error("error message : {}", e.getStackTrace()[0]); + + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body("Out Of Memory 에러가 발생했습니다."); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/controller/MoveController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/controller/MoveController.java new file mode 100644 index 00000000..b0b2f3c0 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/controller/MoveController.java @@ -0,0 +1,62 @@ +package com.pokerogue.helper.move.controller; + +import com.pokerogue.helper.move.dto.MoveDetailResponse; +import com.pokerogue.helper.move.dto.MoveResponse; +import com.pokerogue.helper.move.service.MoveService; +import com.pokerogue.helper.util.dto.ApiResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequiredArgsConstructor +public class MoveController { + + private final MoveService moveService; + + @GetMapping("/api/v1/move/dex") + public ApiResponse> moveList() { + return new ApiResponse<>("기술 리스트 불러오기에 성공했습니다.", moveService.findMoves()); + } + + @GetMapping("/api/v1/moves") + public ApiResponse> moveListByPokedexNumber(@RequestParam("pokedex-number") Integer pokedexNumber) { + log.info( + "---- URI : {}, Param : {}, ThreadName : {}", + "/api/v1/moves?pokedex-number=", + pokedexNumber, + Thread.currentThread().getName() + ); + + return new ApiResponse<>("포켓몬의 기술 리스트 불러오기에 성공했습니다.", moveService.findMovesByPokemon(pokedexNumber)); + } + + @GetMapping("/api/v1/move/{id}") + public ApiResponse moveDetailsInBattle(@PathVariable String id) { + log.info( + "---- URI : {}, Param : {}, ThreadName : {}", + "/api/v1/move/{id}", + id, + Thread.currentThread().getName() + ); + + return new ApiResponse<>("기술 정보 불러오기에 성공했습니다.", moveService.findMoveInBattle(id)); + } + + @GetMapping("/api/v1/move/dex/{id}") + public ApiResponse moveDetails(@PathVariable String id) { + log.info( + "---- URI : {}, Param : {}, ThreadName : {}", + "/api/v1/move/dex/{id}", + id, + Thread.currentThread().getName() + ); + + return new ApiResponse<>("기술 정보 불러오기에 성공했습니다.", moveService.findMove(id)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/FlagConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/FlagConverter.java new file mode 100644 index 00000000..f2c26bb4 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/FlagConverter.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.move.converter; + +import com.pokerogue.helper.move.data.MoveFlag; +import org.springframework.core.convert.converter.Converter; +import org.springframework.data.convert.ReadingConverter; + +@ReadingConverter +public class FlagConverter implements Converter { + + @Override + public MoveFlag convert(String flagData) { + return MoveFlag.convertFrom(flagData); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveCategoryConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveCategoryConverter.java new file mode 100644 index 00000000..24d831aa --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveCategoryConverter.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.move.converter; + +import com.pokerogue.helper.move.data.MoveCategory; +import org.springframework.core.convert.converter.Converter; +import org.springframework.data.convert.ReadingConverter; + +@ReadingConverter +public class MoveCategoryConverter implements Converter { + + @Override + public MoveCategory convert(String moveCategoryDate) { + return MoveCategory.convertFrom(moveCategoryDate); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveTargetConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveTargetConverter.java new file mode 100644 index 00000000..5bb510a9 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/converter/MoveTargetConverter.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.move.converter; + +import com.pokerogue.helper.move.data.MoveTarget; +import org.springframework.core.convert.converter.Converter; +import org.springframework.data.convert.ReadingConverter; + +@ReadingConverter +public class MoveTargetConverter implements Converter { + + @Override + public MoveTarget convert(String moveTargetData) { + return MoveTarget.convertFrom(moveTargetData); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/Move.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/Move.java new file mode 100644 index 00000000..a131583a --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/Move.java @@ -0,0 +1,68 @@ +package com.pokerogue.helper.move.data; + +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@Document(collection = "move") +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Move { + + @Id + private String id; + + @Field("name") + private String name; + + @Field("koName") + private String koName; + + @Field("type") + private Type type; + + @Field("moveCategory") + private MoveCategory moveCategory; + + @Field("moveTarget") + private MoveTarget moveTarget; + + @Field("power") + private int power; + + @Field("accuracy") + private int accuracy; + + @Field("powerPoint") + private int powerPoint; + + @Field("effect") + private String effect; + + @Field("effectChance") + private int effectChance; + + @Field("priority") + private int priority; + + @Field("generation") + private int generation; + + @Field("released") + private String released; + + @Field("flags") + private List flags; + + @Field("pokemonIds") + private List pokemonIds; + + public boolean isAttackMove() { + return this.moveCategory != MoveCategory.STATUS; + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveCategory.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveCategory.java new file mode 100644 index 00000000..d5a15022 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveCategory.java @@ -0,0 +1,47 @@ +package com.pokerogue.helper.move.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import java.util.Optional; +import lombok.Getter; + +@Getter +public enum MoveCategory { + + STATUS("변화", "status", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/status"), + SPECIAL("특수", "special", + "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/special"), + PHYSICAL("물리", "physical", + "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/physical"), + ; + + private final String name; + private final String engName; + private final String image; + + MoveCategory(String name, String engName, String image) { + this.name = name; + this.engName = engName; + this.image = image; + } + + public static Optional findByEngName(String name) { + return Arrays.stream(values()) + .filter(category -> category.hasSameEngName(name.toLowerCase())) + .findAny(); + } + + private boolean hasSameEngName(String name) { + return this.engName.equals(name); + } + + public String getImage() { + return image + ".png"; + } + + public static MoveCategory convertFrom(String moveCategoryData) { + return findByEngName(moveCategoryData) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_CATEGORY_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveFlag.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveFlag.java new file mode 100644 index 00000000..8ab99da7 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveFlag.java @@ -0,0 +1,46 @@ +package com.pokerogue.helper.move.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import lombok.Getter; + +@Getter +public enum MoveFlag { + + NONE("none"), + MAKES_CONTACT("makes_contact"), + IGNORE_PROTECT("ignore_protect"), + IGNORE_VIRTUAL("ignore_virtual"), + SOUND_BASED("sound_based"), + HIDE_USER("hide_user"), + HIDE_TARGET("hide_target"), + BITING_MOVE("biting_move"), + PULSE_MOVE("pulse_move"), + PUNCHING_MOVE("punching_move"), + SLICING_MOVE("slicing_move"), + RECKLESS_MOVE("reckless_move"), + BALLBOMB_MOVE("ballbomb_move"), + POWDER_MOVE("powder_move"), + DANCE_MOVE("dance_move"), + WIND_MOVE("wind_move"), + TRIAGE_MOVE("triage_move"), + IGNORE_ABILITIES("ignore_abilities"), + CHECK_ALL_HITS("check_all_hits"), + IGNORE_SUBSTITUTE("ignore_substitute"), + REDIRECT_COUNTER("redirect_counter"), + ; + + private final String id; + + MoveFlag(String id) { + this.id = id; + } + + public static MoveFlag convertFrom(String flagData) { + return Arrays.stream(MoveFlag.values()) + .filter(moveFlag -> moveFlag.id.equals(flagData)) + .findAny() + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_FLAG_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveTarget.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveTarget.java new file mode 100644 index 00000000..7c0d8801 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/data/MoveTarget.java @@ -0,0 +1,45 @@ +package com.pokerogue.helper.move.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import lombok.Getter; + +@Getter +public enum MoveTarget { + + USER("user"), + OTHER("other"), + ALL_OTHERS("all_others"), + NEAR_OTHER("near_other"), + ALL_NEAR_OTHERS("all_near_others"), + NEAR_ENEMY("near_enemy"), + ALL_NEAR_ENEMIES("all_near_enemies"), + RANDOM_NEAR_ENEMY("random_near_enemy"), + ALL_ENEMIES("all_enemies"), + ATTACKER("attacker"), + NEAR_ALLY("near_ally"), + ALLY("ally"), + USER_OR_NEAR_ALLY("user_or_near_ally"), + USER_AND_ALLIES("user_and_allies"), + ALL("all"), + USER_SIDE("user_side"), + ENEMY_SIDE("enemy_side"), + BOTH_SIDES("both_sides"), + PARTY("party"), + CURSE("curse"), + ; + + private final String id; + + MoveTarget(String id) { + this.id = id; + } + + public static MoveTarget convertFrom(String moveTargetData) { + return Arrays.stream(MoveTarget.values()) + .filter(moveTarget -> moveTarget.id.equals(moveTargetData)) + .findAny() + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_TARGET_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveDetailResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveDetailResponse.java new file mode 100644 index 00000000..08e14792 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveDetailResponse.java @@ -0,0 +1,58 @@ +package com.pokerogue.helper.move.dto; + +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.data.MoveCategory; +import com.pokerogue.helper.move.data.MoveFlag; +import com.pokerogue.helper.type.data.Type; +import java.util.List; + +public record MoveDetailResponse( + String id, + String name, + String typeEngName, + String typeLogo, + String categoryEngName, + String categoryLogo, + String moveTarget, + Integer power, + Integer accuracy, + Integer powerPoint, + String effect, + Integer effectChance, + Integer priority, + Integer generation, + String released, + List flags, + List pokemonIdsWithLevelMove, + List pokemonIdsWithEggMove +) { + + public static MoveDetailResponse from(Move move, List levelMoveIdsContains, List eggMoveIdsContains) { + Type type = move.getType(); + MoveCategory moveCategory = move.getMoveCategory(); + List moveFlags = move.getFlags().stream() + .map(MoveFlag::getId) + .toList(); + + return new MoveDetailResponse( + move.getId(), + move.getKoName(), + type.getName(), + type.getImage(), + moveCategory.getEngName(), + moveCategory.getImage(), + move.getMoveTarget().getId(), + move.getPower(), + move.getAccuracy(), + move.getPowerPoint(), + move.getEffect(), + move.getEffectChance(), + move.getPriority(), + move.getGeneration(), + move.getReleased(), + moveFlags, + levelMoveIdsContains, + eggMoveIdsContains + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveResponse.java new file mode 100644 index 00000000..fff97254 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/dto/MoveResponse.java @@ -0,0 +1,35 @@ +package com.pokerogue.helper.move.dto; + +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.data.MoveCategory; +import com.pokerogue.helper.type.data.Type; + +public record MoveResponse( + String id, + String name, + String typeEngName, + String typeLogo, + String categoryEngName, + String categoryLogo, + Integer power, + Integer accuracy, + String effect +) { + + public static MoveResponse from(Move move) { + Type type = move.getType(); + MoveCategory moveCategory = move.getMoveCategory(); + + return new MoveResponse( + move.getId(), + move.getKoName(), + type.getName(), + type.getImage(), + moveCategory.getEngName(), + moveCategory.getImage(), + move.getPower(), + move.getAccuracy(), + move.getEffect() + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/repository/MoveRepository.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/repository/MoveRepository.java new file mode 100644 index 00000000..53564ad9 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/repository/MoveRepository.java @@ -0,0 +1,7 @@ +package com.pokerogue.helper.move.repository; + +import com.pokerogue.helper.move.data.Move; +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface MoveRepository extends MongoRepository { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/move/service/MoveService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/service/MoveService.java new file mode 100644 index 00000000..41e48abb --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/move/service/MoveService.java @@ -0,0 +1,82 @@ +package com.pokerogue.helper.move.service; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.dto.MoveDetailResponse; +import com.pokerogue.helper.move.dto.MoveResponse; +import com.pokerogue.helper.move.repository.MoveRepository; +import com.pokerogue.helper.pokemon.data.LevelMove; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import java.util.ArrayList; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class MoveService { + + private final PokemonRepository pokemonRepository; + private final MoveRepository moveRepository; + + public List findMoves() { + return moveRepository.findAll().stream() + .map(MoveResponse::from) + .toList(); + } + + public List findMovesByPokemon(Integer pokedexNumber) { + List pokemons = pokemonRepository.findByPokedexNumber(pokedexNumber); + if (pokemons.isEmpty()) { + throw new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND); + } + return makeMoveResponse(pokemons.get(0)); + } + + private List makeMoveResponse(Pokemon pokemon) { + List allMoveIds = getAllMoveIds(pokemon); + List moves = allMoveIds.stream() + .distinct() + .map(this::findMoveById) + .toList(); + + return moves.stream() + .map(MoveResponse::from) + .toList(); + } + + private static List getAllMoveIds(Pokemon pokemon) { + List allMoveIds = new ArrayList<>(); + List levelMoves = pokemon.getLevelMoves().stream() + .map(LevelMove::getMoveId) + .toList(); + allMoveIds.addAll(levelMoves); + allMoveIds.addAll(pokemon.getTechnicalMachineMoveIds()); + allMoveIds.addAll(pokemon.getEggMoveIds()); + return allMoveIds; + } + + public MoveResponse findMoveInBattle(String id) { + Move move = findMoveById(id); + return MoveResponse.from(move); + } + + public MoveDetailResponse findMove(String id) { + Move move = findMoveById(id); + List eggMovePokemonIds = pokemonRepository.findByEggMoveIdsContains(move.getId()).stream() + .map(Pokemon::getId) + .toList(); + List levelMovePokemonIds = pokemonRepository.findByLevelMovesMoveId(move.getId()).stream() + .map(Pokemon::getId) + .toList(); + + return MoveDetailResponse.from(move, levelMovePokemonIds, eggMovePokemonIds); + } + + private Move findMoveById(String id) { + return moveRepository.findById(id) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/config/ImageUrl.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/config/ImageUrl.java new file mode 100644 index 00000000..17aac1a3 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/config/ImageUrl.java @@ -0,0 +1,32 @@ +package com.pokerogue.helper.pokemon.config; + +public enum ImageUrl { + + BASE_URL("https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue"), + POKEMON_FRONT("/pokemon/front/"), + POKEMON_BACK("/pokemon/back/"), + TYPE("/type/"), + MOVE_CATEGORY("/move-category/"), + BIOME("/biome/"), + ; + + public static final String PNG = ".png"; + private final String url; + + ImageUrl(String url) { + this.url = url; + } + + public static String getPokemonImage(String id) { + return BASE_URL.url + POKEMON_FRONT.url + id + PNG; + } + + public static String getPokemonBackImage(String id) { + return BASE_URL.url + POKEMON_BACK.url + id + PNG; + } + + public static String getBiomeImage(String id) { + return BASE_URL.url + BIOME.url + id + PNG; + } + +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/controller/PokemonController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/controller/PokemonController.java new file mode 100644 index 00000000..fd03b55b --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/controller/PokemonController.java @@ -0,0 +1,29 @@ +package com.pokerogue.helper.pokemon.controller; + + +import com.pokerogue.helper.pokemon.dto.PokemonDetailResponse; +import com.pokerogue.helper.pokemon.dto.PokemonResponse; +import com.pokerogue.helper.pokemon.service.PokemonService; +import com.pokerogue.helper.util.dto.ApiResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +public class PokemonController { + + private final PokemonService pokemonService; + + @GetMapping("/api/v1/pokemons2") + public ApiResponse> pokemonList() { + return new ApiResponse<>("포켓몬 리스트 불러오기에 성공했습니다.", pokemonService.findAll()); + } + + @GetMapping("/api/v1/pokemon2/{id}") + public ApiResponse pokemonDetails(@PathVariable("id") String id) { + return new ApiResponse<>("포켓몬 정보 불러오기에 성공했습니다.", pokemonService.findById(id)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverter.java new file mode 100644 index 00000000..8e844bcb --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverter.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.pokemon.converter; + +import com.pokerogue.helper.pokemon.data.EvolutionItem; +import org.springframework.core.convert.converter.Converter; +import org.springframework.data.convert.ReadingConverter; + +@ReadingConverter +public class EvolutionItemConverter implements Converter { + + @Override + public EvolutionItem convert(String evolutionItemData) { + return EvolutionItem.convertFrom(evolutionItemData); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Evolution.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Evolution.java new file mode 100644 index 00000000..3f727dfa --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Evolution.java @@ -0,0 +1,28 @@ +package com.pokerogue.helper.pokemon.data; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@AllArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Evolution { + + @Field("from") + private String from; + + @Field("level") + private Integer level; + + @Field("to") + private String to; + + @Field("item") + private String item; + + @Field("condition") + private String condition; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/EvolutionItem.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/EvolutionItem.java new file mode 100644 index 00000000..a6cb1bfa --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/EvolutionItem.java @@ -0,0 +1,172 @@ +package com.pokerogue.helper.pokemon.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import java.util.Optional; +import lombok.Getter; + +@Getter +public enum EvolutionItem { + + LINKING_CORD("연결의끈"), + SUN_STONE("태양의돌"), + MOON_STONE("달의돌"), + LEAF_STONE("리프의돌"), + FIRE_STONE("불꽃의돌"), + WATER_STONE("물의돌"), + THUNDER_STONE("천둥의돌"), + ICE_STONE("얼음의돌"), + DUSK_STONE("어둠의돌"), + DAWN_STONE("각성의돌"), + SHINY_STONE("빛의돌"), + CRACKED_POT("깨진포트"), + SWEET_APPLE("달콤한사과"), + TART_APPLE("새콤한사과"), + STRAWBERRY_SWEET("딸기사탕공예"), + UNREMARKABLE_TEACUP("범작찻잔"), + CHIPPED_POT("이빠진포트"), + BLACK_AUGURITE("검은휘석"), + GALARICA_CUFF("가라두구팔찌"), + GALARICA_WREATH("가라두구머리장식"), + PEAT_BLOCK("피트블록"), + AUSPICIOUS_ARMOR("축복받은갑옷"), + MALICIOUS_ARMOR("저주받은갑옷"), + MASTERPIECE_TEACUP("걸작찻잔"), + METAL_ALLOY("복합금속"), + SCROLL_OF_DARKNESS("악의 족자"), + SCROLL_OF_WATERS("물의 족자"), + SYRUPY_APPLE("꿀맛사과"), + ABOMASITE("눈설왕나이트"), + ABSOLITE("앱솔나이트"), + AERODACTYLITE("프테라나이트"), + AGGRONITE("보스로라나이트"), + ALAKAZITE("후딘나이트"), + ALTARIANITE("파비코리나이트"), + AMPHAROSITE("전룡나이트"), + AUDINITE("다부니나이트"), + BANETTITE("다크펫나이트"), + BEEDRILLITE("독침붕나이트"), + BLASTOISINITE("거북왕나이트"), + BLAZIKENITE("번치코나이트"), + CAMERUPTITE("폭타나이트"), + CHARIZARDITE_X("리자몽나이트 X"), + CHARIZARDITE_Y("리자몽나이트 Y"), + DIANCITE("디안시나이트"), + GALLADITE("엘레이드나이트"), + GARCHOMPITE("한카리아스나이트"), + GARDEVOIRITE("가디안나이트"), + GENGARITE("팬텀나이트"), + GLALITITE("얼음귀신나이트"), + GYARADOSITE("갸라도스나이트"), + HERACRONITE("헤라크로스나이트"), + HOUNDOOMINITE("헬가나이트"), + KANGASKHANITE("캥카나이트"), + LATIASITE("라티아스나이트"), + LATIOSITE("라티오스나이트"), + LOPUNNITE("이어롭나이트"), + LUCARIONITE("루카리오나이트"), + MANECTITE("썬더볼트나이트"), + MAWILITE("입치트나이트"), + MEDICHAMITE("요가램나이트"), + METAGROSSITE("메타그로스나이트"), + MEWTWONITE_X("뮤츠나이트 X"), + MEWTWONITE_Y("뮤츠나이트 Y"), + PIDGEOTITE("피죤투나이트"), + PINSIRITE("쁘사이저나이트"), + RAYQUAZITE("레쿠쟈나이트"), + SABLENITE("깜까미나이트"), + SALAMENCITE("보만다나이트"), + SCEPTILITE("나무킹나이트"), + SCIZORITE("핫삼나이트"), + SHARPEDONITE("샤크니아나이트"), + SLOWBRONITE("야도란나이트"), + STEELIXITE("강철톤나이트"), + SWAMPERTITE("대짱이나이트"), + TYRANITARITE("마기라스나이트"), + VENUSAURITE("이상해꽃나이트"), + BLUE_ORB("쪽빛구슬"), + RED_ORB("주홍구슬"), + SHARP_METEORITE("뾰족한운석"), + HARD_METEORITE("단단한운석"), + SMOOTH_METEORITE("부드러운운석"), + ADAMANT_CRYSTAL("큰금강옥"), + LUSTROUS_GLOBE("큰백옥"), + GRISEOUS_CORE("큰백금옥"), + REVEAL_GLASS("비추는거울"), + GRACIDEA("그라시데아꽃"), + MAX_MUSHROOMS("다이버섯"), + DARK_STONE("다크스톤"), + LIGHT_STONE("라이트스톤"), + PRISON_BOTTLE("굴레의항아리"), + N_LUNARIZER("네크로플러스루나"), + N_SOLARIZER("네크로플러스솔"), + RUSTED_SWORD("녹슨검"), + RUSTED_SHIELD("녹슨방패"), + ICY_REINS_OF_UNITY("차가운유대의고삐"), + SHADOW_REINS_OF_UNITY("검은유대의고삐"), + WELLSPRING_MASK("우물의가면"), + HEARTHFLAME_MASK("화덕의가면"), + CORNERSTONE_MASK("주춧돌의가면"), + SHOCK_DRIVE("번개카세트"), + BURN_DRIVE("블레이즈카세트"), + CHILL_DRIVE("프리즈카세트"), + DOUSE_DRIVE("아쿠아카세트"), + FIST_PLATE("주먹플레이트"), + SKY_PLATE("푸른하늘플레이트"), + TOXIC_PLATE("맹독플레이트"), + EARTH_PLATE("대지플레이트"), + STONE_PLATE("암석플레이트"), + INSECT_PLATE("비단벌레플레이트"), + SPOOKY_PLATE("원령플레이트"), + IRON_PLATE("강철플레이트"), + FLAME_PLATE("불구슬플레이트"), + SPLASH_PLATE("물방울플레이트"), + MEADOW_PLATE("초록플레이트"), + ZAP_PLATE("우뢰플레이트"), + MIND_PLATE("이상한플레이트"), + ICICLE_PLATE("고드름플레이트"), + DRACO_PLATE("용의플레이트"), + DREAD_PLATE("공포플레이트"), + PIXIE_PLATE("정령플레이트"), + BLANK_PLATE("순백플레이트"), + LEGEND_PLATE("레전드플레이트"), + FIGHTING_MEMORY("파이팅메모리"), + FLYING_MEMORY("플라잉메모리"), + POISON_MEMORY("포이즌메모리"), + GROUND_MEMORY("그라운드메모리"), + ROCK_MEMORY("록메모리"), + BUG_MEMORY("버그메모리"), + GHOST_MEMORY("고스트메모리"), + STEEL_MEMORY("스틸메모리"), + FIRE_MEMORY("파이어메모리"), + WATER_MEMORY("워터메모리"), + GRASS_MEMORY("그래스메모리"), + ELECTRIC_MEMORY("일렉트릭메모리"), + PSYCHIC_MEMORY("사이킥메모리"), + ICE_MEMORY("아이스메모리"), + DRAGON_MEMORY("드래곤메모리"), + DARK_MEMORY("다크메모리"), + FAIRY_MEMORY("페어리메모리"), + BLANK_MEMORY("빈메모리"), + ULTRANECROZIUM_Z("울트라네크로"), + ; + + private final String koName; + + EvolutionItem(String koName) { + this.koName = koName; + } + + public static Optional findById(String id) { + return Arrays.stream(values()) + .filter(value -> value.name() + .toLowerCase() + .equals(id)) + .findAny(); + } + + public static EvolutionItem convertFrom(String evolutionItemData) { + return findById(evolutionItemData).orElseThrow(()->new GlobalCustomException(ErrorMessage.ITEM_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/FormChange.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/FormChange.java new file mode 100644 index 00000000..d47f90c5 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/FormChange.java @@ -0,0 +1,23 @@ +package com.pokerogue.helper.pokemon.data; + +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class FormChange { + + @Field("from") + private String from; + + @Field("previousForm") + private String previousForm; + + @Field("currentForm") + private String currentForm; + + @Field("item") + private EvolutionItem item; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/LevelMove.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/LevelMove.java new file mode 100644 index 00000000..36252e88 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/LevelMove.java @@ -0,0 +1,19 @@ +package com.pokerogue.helper.pokemon.data; + +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@AllArgsConstructor +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class LevelMove { + + @Field("level") + private int level; + + @Field("moveId") + private String moveId; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Pokemon.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Pokemon.java new file mode 100644 index 00000000..271850a3 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/data/Pokemon.java @@ -0,0 +1,129 @@ +package com.pokerogue.helper.pokemon.data; + +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@AllArgsConstructor +@Setter +@ToString +@NoArgsConstructor +@Document(collection = "pokemon") +public class Pokemon { + + @Id + private String id; + + @Field("imageId") + private String imageId; + + @Field("pokedexNumber") + private int pokedexNumber; + + @Field("name") + private String name; + + @Field("koName") + private String koName; + + @Field("speciesName") + private String speciesName; + + @Field("canChangeForm") + private boolean canChangeForm; + + @Field("formName") + private String formName; + + @Field("baseExp") + private int baseExp; + + @Field("friendship") + private int friendship; + + @Field("types") + private List types; + + @Field("normalAbilityIds") + private List normalAbilityIds; + + @Field("hiddenAbilityId") + private String hiddenAbilityId; + + @Field("passiveAbilityId") + private String passiveAbilityId; + + @Field("generation") + private int generation; + + @Field("legendary") + private boolean legendary; + + @Field("subLegendary") + private boolean subLegendary; + + @Field("mythical") + private boolean mythical; + + @Field("evolutions") + private List evolutions; + + @Field("formChanges") + private List formChanges; + + @Field("baseTotal") + private int baseTotal; + + @Field("hp") + private int hp; + + @Field("attack") + private int attack; + + @Field("defense") + private int defense; + + @Field("specialAttack") + private int specialAttack; + + @Field("specialDefense") + private int specialDefense; + + @Field("speed") + private int speed; + + @Field("height") + private double height; + + @Field("weight") + private double weight; + + @Field("eggMoveIds") + private List eggMoveIds; + + @Field("levelMoves") + private List levelMoves; + + @Field("technicalMachineMoveIds") + private List technicalMachineMoveIds; + + @Field("biomeIds") + private List biomeIds; + + public boolean hasSameType(Type type) { + return this.types.stream() + .anyMatch(myType -> myType == type); + } + + public boolean isFasterThan(Pokemon other) { + return this.speed > other.speed; + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EggMoveResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EggMoveResponse.java new file mode 100644 index 00000000..bcef2571 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EggMoveResponse.java @@ -0,0 +1,36 @@ +package com.pokerogue.helper.pokemon.dto; + +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.data.MoveCategory; +import com.pokerogue.helper.type.data.Type; + +public record EggMoveResponse( + String id, + String name, + Integer level, + Integer power, + Integer accuracy, + String type, + String typeLogo, + String category, + String categoryLogo +) { + + public static EggMoveResponse from(Move move) { + MoveCategory moveCategory = move.getMoveCategory(); + Type type = move.getType(); + + return new EggMoveResponse( + move.getId(), + move.getKoName(), + 1, + move.getPower(), + move.getAccuracy(), + type.getName(), + type.getImage(), + moveCategory.getName(), + moveCategory.getImage() + ); + } + +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponse.java new file mode 100644 index 00000000..565a51fb --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponse.java @@ -0,0 +1,29 @@ +package com.pokerogue.helper.pokemon.dto; + + +import com.pokerogue.helper.pokemon.config.ImageUrl; +import com.pokerogue.helper.pokemon.data.Evolution; +import com.pokerogue.helper.pokemon.data.Pokemon; + +public record EvolutionResponse( + String id, + String name, + Integer level, + Integer depth, + String item, + String condition, + String image +) { + + public static EvolutionResponse from(Pokemon pokemon, Evolution evolution, Integer depth) { + return new EvolutionResponse( + pokemon.getId(), + pokemon.getKoName(), + evolution.getLevel(), + depth, + evolution.getItem(), + "", + ImageUrl.getPokemonImage(pokemon.getImageId()) + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponses.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponses.java new file mode 100644 index 00000000..65afb5d9 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/EvolutionResponses.java @@ -0,0 +1,6 @@ +package com.pokerogue.helper.pokemon.dto; + +import java.util.List; + +public record EvolutionResponses(int currentDepth, List stages) { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonAbilityResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonAbilityResponse.java new file mode 100644 index 00000000..c20af839 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonAbilityResponse.java @@ -0,0 +1,44 @@ +package com.pokerogue.helper.pokemon.dto; + +import com.pokerogue.helper.ability.data.Ability; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +public record PokemonAbilityResponse(String id, String name, String description, Boolean passive, Boolean hidden) { + + public static PokemonAbilityResponse from(Ability ability, boolean isPassive, boolean isHidden) { + return new PokemonAbilityResponse( + ability.getId(), + ability.getKoName(), + ability.getDescription(), + isPassive, + isHidden + ); + } + + + public static List createListFrom(List> abilities) { + final int HIDDEN_INDEX = abilities.size() - 1; + final int PASSIVE_INDEX = abilities.size() - 2; + + List> normals = abilities.subList(0, HIDDEN_INDEX); + Optional hidden = abilities.get(HIDDEN_INDEX); + Optional passive = abilities.get(PASSIVE_INDEX); + + List normalResponse = normals.stream() + .filter(Optional::isPresent) + .map(Optional::get) + .map(normal -> from(normal, false, false)) + .toList(); + + Optional passiveResponse = passive.map(ability -> from(ability, true, false)); + Optional hiddenResponse = hidden.map(ability -> from(ability, false, true)); + + List totalResponse = new ArrayList<>(normalResponse); + passiveResponse.ifPresent(totalResponse::add); + hiddenResponse.ifPresent(totalResponse::add); + + return totalResponse; + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonBiomeResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonBiomeResponse.java new file mode 100644 index 00000000..edded3bd --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonBiomeResponse.java @@ -0,0 +1,10 @@ +package com.pokerogue.helper.pokemon.dto; + +import com.pokerogue.helper.biome.data.Biome; +import com.pokerogue.helper.pokemon.config.ImageUrl; + +public record PokemonBiomeResponse(String id, String name, String image) { + public static PokemonBiomeResponse from(Biome biome) { + return new PokemonBiomeResponse(biome.getId(), biome.getKoName(), ImageUrl.getBiomeImage(biome.getId())); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonDetailResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonDetailResponse.java new file mode 100644 index 00000000..d890d144 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonDetailResponse.java @@ -0,0 +1,68 @@ +package com.pokerogue.helper.pokemon.dto; + +import com.pokerogue.helper.pokemon.config.ImageUrl; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.type.dto.PokemonTypeResponse; +import java.util.List; + +public record PokemonDetailResponse( + String id, + Long pokedexNumber, + String name, + String pokemonImage, + List pokemonTypeResponses, + List pokemonAbilityResponses, + int totalStats, + int hp, + int attack, + int defense, + int specialAttack, + int specialDefense, + int speed, + Boolean legendary, + Boolean subLegendary, + Boolean mythical, + Boolean canChangeForm, + Double weight, + Double height, + EvolutionResponses evolutions, + List moves, + List eggMoveResponses, + List biomes +) { + public static PokemonDetailResponse from( + Pokemon pokemon, + List pokemonTypeResponses, + List pokemonAbilityResponses, + List moveResponse, + List eggMoveResponse, + List biomeResponse, + EvolutionResponses evolutionResponses + ) { + return new PokemonDetailResponse( + pokemon.getId(), + (long) pokemon.getPokedexNumber(), + pokemon.getKoName(), + ImageUrl.getPokemonImage(pokemon.getImageId()), + pokemonTypeResponses, + pokemonAbilityResponses, + pokemon.getBaseTotal(), + pokemon.getHp(), + pokemon.getAttack(), + pokemon.getDefense(), + pokemon.getSpecialAttack(), + pokemon.getSpecialDefense(), + pokemon.getSpeed(), + pokemon.isLegendary(), + pokemon.isSubLegendary(), + pokemon.isMythical(), + pokemon.isCanChangeForm(), + pokemon.getWeight(), + pokemon.getHeight(), + evolutionResponses, + moveResponse, + eggMoveResponse, + biomeResponse + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonMoveResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonMoveResponse.java new file mode 100644 index 00000000..d92af6b6 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonMoveResponse.java @@ -0,0 +1,36 @@ +package com.pokerogue.helper.pokemon.dto; + +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.data.MoveCategory; +import com.pokerogue.helper.type.data.Type; + +public record PokemonMoveResponse( + String id, + String name, + Integer level, + Integer power, + Integer accuracy, + String type, + String typeLogo, + String category, + String categoryLogo +) { + + public static PokemonMoveResponse from(Move move, Integer level) { + MoveCategory moveCategory = move.getMoveCategory(); + Type moveType = move.getType(); + + return new PokemonMoveResponse( + move.getId(), + move.getKoName(), + level, + move.getPower(), + move.getAccuracy(), + moveType.getName(), + moveType.getImage(), + moveCategory.getName(), + moveCategory.getImage() + ); + } + +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonResponse.java new file mode 100644 index 00000000..5a37fb43 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/dto/PokemonResponse.java @@ -0,0 +1,44 @@ +package com.pokerogue.helper.pokemon.dto; + +import com.pokerogue.helper.pokemon.config.ImageUrl; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.type.dto.PokemonTypeResponse; +import java.util.List; + +public record PokemonResponse( + String id, + Long pokedexNumber, + String name, + String formName, + String image, + String backImage, + List pokemonTypeResponse, + Integer generation, + Integer totalStats, + Integer hp, + Integer speed, + Integer attack, + Integer defense, + Integer specialAttack, + Integer specialDefense +) { + public static PokemonResponse from(Pokemon pokemon, List pokemonTypeResponses) { + return new PokemonResponse( + pokemon.getId(), + (long) pokemon.getPokedexNumber(), + pokemon.getKoName(), + pokemon.getFormName(), + ImageUrl.getPokemonImage(pokemon.getImageId()), //image front + ImageUrl.getPokemonBackImage(pokemon.getImageId()), //back + pokemonTypeResponses, + pokemon.getGeneration(), + pokemon.getBaseTotal(), + pokemon.getHp(), + pokemon.getAttack(), + pokemon.getDefense(), + pokemon.getSpecialAttack(), + pokemon.getSpecialDefense(), + pokemon.getSpeed() + ); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonInMemoryRepository.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonInMemoryRepository.java new file mode 100644 index 00000000..8058195c --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonInMemoryRepository.java @@ -0,0 +1,48 @@ +package com.pokerogue.helper.pokemon.repository; + +import static java.util.function.Function.identity; +import static java.util.stream.Collectors.toMap; + +import com.pokerogue.helper.pokemon.data.Pokemon; +import jakarta.annotation.PostConstruct; + +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Repository; + +@Repository +public class PokemonInMemoryRepository { + + private final PokemonRepository pokemonRepository; + private Map pokemons; + + public PokemonInMemoryRepository(PokemonRepository pokemonRepository) { + this.pokemonRepository = pokemonRepository; + } + + @PostConstruct + public void init() { + refreshCache(); + } + + @Scheduled(cron = "0 0 5 * * *") + public void refreshCache() { + List allPokemons = pokemonRepository.findAll(); + this.pokemons = allPokemons.stream() + .collect(toMap(Pokemon::getId, identity())); + } + + public List findAll() { + return pokemons.values() + .stream() + .sorted(Comparator.comparingInt(Pokemon::getPokedexNumber)) + .toList(); + } + + public Optional findById(String id) { + return Optional.ofNullable(pokemons.get(id)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonRepository.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonRepository.java new file mode 100644 index 00000000..3bddbbc3 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/repository/PokemonRepository.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.pokemon.repository; + +import com.pokerogue.helper.pokemon.data.Pokemon; +import java.util.List; +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface PokemonRepository extends MongoRepository { + + List findByPokedexNumber(int pokedexNumber); + + List findByEggMoveIdsContains(String eggMoveIds); + + List findByLevelMovesMoveId(String moveId); +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/BufferedQueue.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/BufferedQueue.java new file mode 100644 index 00000000..894c32aa --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/BufferedQueue.java @@ -0,0 +1,45 @@ +package com.pokerogue.helper.pokemon.service; + +import java.util.Queue; + +public class BufferedQueue { + + private final Queue value; + private int bufferCapacity; + private int bufferCount; + + public BufferedQueue(Queue queue) { + this.value = queue; + } + + public boolean hasNext() { + return !value.isEmpty(); + } + + public T poll() { + T removedValue = value.remove(); + bufferCapacity = Math.max(bufferCapacity - 1, 0); + return removedValue; + } + + public void add(T s) { + value.add(s); + } + + public boolean hasBufferedNext() { + return bufferCapacity > 0; + } + + public void buffer() { + bufferCapacity = value.size(); + bufferCount++; + } + + public int getBufferCount() { + return bufferCount; + } + + public int getSize() { + return value.size(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionContext.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionContext.java new file mode 100644 index 00000000..aabd11cd --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionContext.java @@ -0,0 +1,45 @@ +package com.pokerogue.helper.pokemon.service; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.data.Evolution; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + + +public class EvolutionContext { + + private final List evolutions; + private final Map> edges; + private final Map depth; + + public EvolutionContext(List evolutions) { + this.evolutions = evolutions; + this.edges = createEdges(evolutions); + this.depth = new TreeDepthCalculator(edges).calculateDepths(); + } + + private Map> createEdges(List evolutions) { + return evolutions.stream() + .collect(Collectors.groupingBy( + Evolution::getFrom, + Collectors.mapping(Evolution::getTo, Collectors.toList())) + ); + } + + public Evolution getEvolutionOf(String pokemonId) { + return Stream.of( + evolutions.stream().filter(evolution -> evolution.getTo().equals(pokemonId)), + evolutions.stream().filter(evolution -> evolution.getFrom().equals(pokemonId)) + ) + .flatMap(stream -> stream) + .findFirst() + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND)); + } + + public Integer getDepthOf(String pokemonId) { + return depth.getOrDefault(pokemonId, -1); // TODO: 진화체인 없으면 depth -1을 반환..? 얘기 해보기 + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionService.java new file mode 100644 index 00000000..07ed7daa --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/EvolutionService.java @@ -0,0 +1,47 @@ +package com.pokerogue.helper.pokemon.service; + +import com.pokerogue.helper.pokemon.data.Evolution; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.dto.EvolutionResponse; +import com.pokerogue.helper.pokemon.dto.EvolutionResponses; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import java.util.List; +import java.util.Optional; +import java.util.stream.Stream; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + + +@Service +@RequiredArgsConstructor +public class EvolutionService { + + private final PokemonRepository pokemonRepository; + + public EvolutionResponses getEvolutionResponses(Pokemon pokemon) { + List evolutions = pokemon.getEvolutions(); + List connectedPokemons = createConnectedPokemons(evolutions); + EvolutionContext evolutionContext = new EvolutionContext(evolutions); + + List responses = connectedPokemons.stream() + .map(connectedPokemon -> createEvolutionResponse(connectedPokemon, evolutionContext)) + .toList(); + + return new EvolutionResponses(evolutionContext.getDepthOf(pokemon.getId()), responses); + } + + private EvolutionResponse createEvolutionResponse(Pokemon pokemon, EvolutionContext evolutionContext) { + return EvolutionResponse.from(pokemon, evolutionContext.getEvolutionOf(pokemon.getId()), + evolutionContext.getDepthOf(pokemon.getId())); + } + + private List createConnectedPokemons(List evolutions) { + return evolutions.stream() + .flatMap(evolution -> Stream.of(evolution.getFrom(), evolution.getTo())) + .distinct() + .map(pokemonRepository::findById) + .filter(Optional::isPresent) // TODO: data is inconsistent, isPresent is change to throw + .map(Optional::get) + .toList(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/PokemonService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/PokemonService.java new file mode 100644 index 00000000..eb635400 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/PokemonService.java @@ -0,0 +1,128 @@ +package com.pokerogue.helper.pokemon.service; + + +import com.pokerogue.helper.ability.data.Ability; +import com.pokerogue.helper.ability.repository.AbilityRepository; +import com.pokerogue.helper.biome.repository.BiomeRepository; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.repository.MoveRepository; +import com.pokerogue.helper.pokemon.data.LevelMove; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.dto.EggMoveResponse; +import com.pokerogue.helper.pokemon.dto.EvolutionResponses; +import com.pokerogue.helper.pokemon.dto.PokemonAbilityResponse; +import com.pokerogue.helper.pokemon.dto.PokemonBiomeResponse; +import com.pokerogue.helper.pokemon.dto.PokemonDetailResponse; +import com.pokerogue.helper.pokemon.dto.PokemonMoveResponse; +import com.pokerogue.helper.pokemon.dto.PokemonResponse; +import com.pokerogue.helper.pokemon.repository.PokemonInMemoryRepository; +import com.pokerogue.helper.type.data.Type; +import com.pokerogue.helper.type.dto.PokemonTypeResponse; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class PokemonService { + + private final MoveRepository moveRepository; + private final BiomeRepository biomeRepository; + private final AbilityRepository abilityRepository; + private final EvolutionService evolutionService; + private final PokemonInMemoryRepository pokemonInMemoryRepository; + + public PokemonDetailResponse findById(String id) { + Pokemon pokemon = pokemonInMemoryRepository.findById(id) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.POKEMON_NOT_FOUND)); + + return createPokemonDetailResponse(pokemon); + } + + public List findAll() { + List pokemons = pokemonInMemoryRepository.findAll(); + + return pokemons.stream() + .map(pokemon -> PokemonResponse.from(pokemon, createTypeResponse(pokemon))) + .toList(); + } + + private PokemonDetailResponse createPokemonDetailResponse(Pokemon pokemon) { + List pokemonTypeResponses = createTypeResponse(pokemon); + List pokemonAbilityResponses = createAbilityResponse(pokemon); + List moveResponse = createMoveResponse(pokemon); + List eggMoveResponses = createEggMoveResponse(pokemon); + List biomeResponses = createBiomeResponse(pokemon); + EvolutionResponses evolutionResponses = evolutionService.getEvolutionResponses(pokemon); + + return PokemonDetailResponse.from( + pokemon, + pokemonTypeResponses, + pokemonAbilityResponses, + moveResponse, + eggMoveResponses, + biomeResponses, + evolutionResponses + ); + } + + private List createTypeResponse(Pokemon pokemon) { + List types = pokemon.getTypes(); + + return types.stream() + .map(PokemonTypeResponse::from) + .toList(); + } + + private List createAbilityResponse(Pokemon pokemon) { + List abilityIds = new ArrayList<>(pokemon.getNormalAbilityIds()); + abilityIds.add(pokemon.getPassiveAbilityId()); + abilityIds.add(pokemon.getHiddenAbilityId()); + + List> abilities = abilityIds.stream() + .map(abilityRepository::findById) + .toList(); + + return PokemonAbilityResponse.createListFrom(abilities); + } + + private List createBiomeResponse(Pokemon pokemon) { + List biomes = pokemon.getBiomeIds(); + + return biomes.stream() + .map(biomeRepository::findById) + .filter(Optional::isPresent) + .map(Optional::get) + .map(PokemonBiomeResponse::from) + .toList(); + } + + private List createEggMoveResponse(Pokemon pokemon) { + List moves = pokemon.getEggMoveIds(); + + return moves.stream() + .map(moveRepository::findById) + .filter(Optional::isPresent) + .map(Optional::get) + .map(EggMoveResponse::from) + .toList(); + } + + private List createMoveResponse(Pokemon pokemon) { + List levelMoves = pokemon.getLevelMoves(); + + return levelMoves.stream() + .map(levelMove -> PokemonMoveResponse.from(getMoveById(levelMove), levelMove.getLevel())) + .toList(); + } + + private Move getMoveById(LevelMove levelMove) { + return moveRepository.findById(levelMove.getMoveId()) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculator.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculator.java new file mode 100644 index 00000000..214a29b9 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculator.java @@ -0,0 +1,98 @@ +package com.pokerogue.helper.pokemon.service; + +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class TreeDepthCalculator { + private final Map> adjacentNodes; + private final Map indegree; + + public TreeDepthCalculator(Map> adjacentNodes) { + this.adjacentNodes = adjacentNodes; + this.indegree = createIndegree(); + } + + private Map createIndegree() { + return adjacentNodes.values().stream() + .flatMap(List::stream) + .collect(Collectors.groupingBy(Function.identity(), Collectors.summingInt(cnt -> 1))); + } + + public Map calculateDepths() { + Map depths = new HashMap<>(); + loadDefaults(depths); + BufferedQueue bufferedQueue = createBufferedQueue(); + + calculateDepthByTopologicalSort(bufferedQueue, depths); + + return depths; + } + + private void loadDefaults(Map depths) { + List allNodes = getAllNodes(); + allNodes.stream() + .peek(node -> indegree.putIfAbsent(node, 0)) + .peek(node -> depths.putIfAbsent(node, 0)) + .forEach(node -> adjacentNodes.putIfAbsent(node, new ArrayList<>())); + } + + private BufferedQueue createBufferedQueue() { + List allNodes = getAllNodes(); + + return new BufferedQueue<>(allNodes.stream() + .filter(this::isIndegreeZero) + .collect(Collectors.toCollection(ArrayDeque::new))); + } + + private List getAllNodes() { + return Stream.concat( + adjacentNodes.keySet().stream(), + adjacentNodes.values().stream().flatMap(List::stream)) + .distinct() + .toList(); + } + + private void calculateDepthByTopologicalSort(BufferedQueue bufferedQueue, Map depths) { + while (bufferedQueue.hasNext()) { + bufferedQueue.buffer(); + flushNodes(bufferedQueue, depths); + } + } + + private void flushNodes(BufferedQueue bufferedQueue, Map depths) { + while (bufferedQueue.hasBufferedNext()) { + String currentNode = bufferedQueue.poll(); + List nextNodes = adjacentNodes.get(currentNode); + + nextNodes.stream() + .peek(nextNode -> updateDepthCount(nextNode, depths, bufferedQueue)) + .peek(this::decreaseIndegreeCount) + .filter(this::isIndegreeZero) + .filter(this::isAdjacentNodeExist) + .forEach(bufferedQueue::add); + } + } + + private void updateDepthCount(String nextNode, Map depths, BufferedQueue bufferedQueue) { + depths.put(nextNode, bufferedQueue.getBufferCount()); + } + + private void decreaseIndegreeCount(String nextNode) { + indegree.merge(nextNode, -1, Integer::sum); + } + + + private boolean isIndegreeZero(String node) { + return indegree.get(node) == 0; + } + + private boolean isAdjacentNodeExist(String node) { + return !adjacentNodes.get(node).isEmpty(); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/collection/TypeMatching.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/collection/TypeMatching.java new file mode 100644 index 00000000..7f9b8876 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/collection/TypeMatching.java @@ -0,0 +1,27 @@ +package com.pokerogue.helper.type.collection; + +import com.pokerogue.helper.type.data.Type; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +@Getter +@Document(collection = "typeMatching") +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class TypeMatching { + + @Id + private String id; + + @Field("from") + private Type from; + + @Field("to") + private Type to; + + @Field("result") + private int result; +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/controller/PokemonTypeController.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/controller/PokemonTypeController.java new file mode 100644 index 00000000..036c72b3 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/controller/PokemonTypeController.java @@ -0,0 +1,27 @@ +package com.pokerogue.helper.type.controller; + +import com.pokerogue.helper.type.dto.PokemonTypeMatchingResponse; +import com.pokerogue.helper.type.dto.PokemonTypeResponse; +import com.pokerogue.helper.type.service.PokemonTypeService; +import com.pokerogue.helper.util.dto.ApiResponse; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +public class PokemonTypeController { + + private final PokemonTypeService pokemonTypeService; + + @GetMapping("/api/v1/types") + public ApiResponse> typeList() { + return new ApiResponse<>("타입 리스트 불러오기에 성공했습니다.", pokemonTypeService.findTypes()); + } + + @GetMapping("/api/v1/types/matching") + public ApiResponse matchingAndTypeList() { + return new ApiResponse<>("타입 상성 리스트 불러오기에 성공했습니다.", pokemonTypeService.findMatchingAndTypes()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/converter/TypeReadConverter.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/converter/TypeReadConverter.java new file mode 100644 index 00000000..b250a60c --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/converter/TypeReadConverter.java @@ -0,0 +1,14 @@ +package com.pokerogue.helper.type.converter; + +import com.pokerogue.helper.type.data.Type; +import org.springframework.core.convert.converter.Converter; +import org.springframework.data.convert.ReadingConverter; + +@ReadingConverter +public class TypeReadConverter implements Converter { + + @Override + public Type convert(String typeData) { + return Type.convertFrom(typeData); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/data/Type.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/data/Type.java new file mode 100644 index 00000000..8a887c73 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/data/Type.java @@ -0,0 +1,60 @@ +package com.pokerogue.helper.type.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.Arrays; +import java.util.Optional; +import lombok.Getter; + +@Getter +public enum Type { + + GRASS("grass", "풀", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/grass"), + POISON("poison", "독", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/poison"), + FIRE("fire", "불꽃", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fire"), + WATER("water", "물", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/water"), + ELECTRIC("electric", "전기", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/electric"), + NORMAL("normal", "노말", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/normal"), + FAIRY("fairy", "페어리", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fairy"), + BUG("bug", "벌레", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/bug"), + DARK("dark", "악", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/dark"), + DRAGON("dragon", "드래곤", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/dragon"), + FIGHTING("fighting", "격투", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fighting"), + FLYING("flying", "비행", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/flying"), + GHOST("ghost", "고스트", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ghost"), + GROUND("ground", "땅", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ground"), + ICE("ice", "얼음", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ice"), + ROCK("rock", "바위", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/rock"), + PSYCHIC("psychic", "에스퍼", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/psychic"), + STEEL("steel", "강철", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/steel"), + STELLAR("stellar", "스텔라", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/stellar"), + UNKNOWN("unknown", "언노운", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/unknown"), + ; + + private final String name; + private final String koName; + private final String image; + + Type(String name, String koName, String image) { + this.name = name; + this.koName = koName; + this.image = image; + } + + public static Optional findByName(String name) { + return Arrays.stream(values()) + .filter(type -> type.koName.equals(name)) + .findAny(); + } + + public static Optional findByEngName(String engName) { + return Arrays.stream(values()) + .filter(type -> type.name.equals(engName)) + .findAny(); + } + + public static Type convertFrom(String typeData) { + return findByEngName(typeData) + .orElseThrow(() -> new GlobalCustomException(ErrorMessage.TYPE_NOT_FOUND)); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeMatchingResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeMatchingResponse.java new file mode 100644 index 00000000..7a99f75b --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeMatchingResponse.java @@ -0,0 +1,6 @@ +package com.pokerogue.helper.type.dto; + +import java.util.List; + +public record PokemonTypeMatchingResponse(List matching, List images) { +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeResponse.java new file mode 100644 index 00000000..0693a005 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/PokemonTypeResponse.java @@ -0,0 +1,10 @@ +package com.pokerogue.helper.type.dto; + +import com.pokerogue.helper.type.data.Type; + +public record PokemonTypeResponse(String typeName, String typeLogo) { + + public static PokemonTypeResponse from(Type type) { + return new PokemonTypeResponse(type.getKoName(), type.getImage()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/TypeMatchingResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/TypeMatchingResponse.java new file mode 100644 index 00000000..89d56396 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/dto/TypeMatchingResponse.java @@ -0,0 +1,11 @@ +package com.pokerogue.helper.type.dto; + +import com.pokerogue.helper.type.collection.TypeMatching; + +public record TypeMatchingResponse(String from, String to, int result) { + + public static TypeMatchingResponse from(TypeMatching typeMatching) { + return new TypeMatchingResponse(typeMatching.getFrom().getName(), typeMatching.getTo().getName(), + typeMatching.getResult()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/repository/TypeMatchingRepository.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/repository/TypeMatchingRepository.java new file mode 100644 index 00000000..ffc86d50 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/repository/TypeMatchingRepository.java @@ -0,0 +1,10 @@ +package com.pokerogue.helper.type.repository; + +import com.pokerogue.helper.type.collection.TypeMatching; +import java.util.Optional; +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface TypeMatchingRepository extends MongoRepository { + + Optional findByFromAndTo(String from, String to); +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/type/service/PokemonTypeService.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/service/PokemonTypeService.java new file mode 100644 index 00000000..a7e3d1e6 --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/type/service/PokemonTypeService.java @@ -0,0 +1,36 @@ +package com.pokerogue.helper.type.service; + + +import com.pokerogue.helper.type.collection.TypeMatching; +import com.pokerogue.helper.type.data.Type; +import com.pokerogue.helper.type.dto.PokemonTypeMatchingResponse; +import com.pokerogue.helper.type.dto.PokemonTypeResponse; +import com.pokerogue.helper.type.dto.TypeMatchingResponse; +import com.pokerogue.helper.type.repository.TypeMatchingRepository; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@RequiredArgsConstructor +public class PokemonTypeService { + + private final TypeMatchingRepository typeMatchingRepository; + + public List findTypes() { + List types = List.of(Type.values()); + + return types.stream() + .map(PokemonTypeResponse::from) + .toList(); + } + + public PokemonTypeMatchingResponse findMatchingAndTypes() { + List typeMatchings = typeMatchingRepository.findAll(); + List typeMatchingResponses = typeMatchings.stream() + .map(TypeMatchingResponse::from) + .toList(); + + return new PokemonTypeMatchingResponse(typeMatchingResponses, findTypes()); + } +} diff --git a/backend/pokerogue/src/main/java/com/pokerogue/helper/util/dto/ApiResponse.java b/backend/pokerogue/src/main/java/com/pokerogue/helper/util/dto/ApiResponse.java new file mode 100644 index 00000000..c5b4766d --- /dev/null +++ b/backend/pokerogue/src/main/java/com/pokerogue/helper/util/dto/ApiResponse.java @@ -0,0 +1,4 @@ +package com.pokerogue.helper.util.dto; + +public record ApiResponse(String message, T data) { +} diff --git a/backend/pokerogue/src/main/resources b/backend/pokerogue/src/main/resources new file mode 160000 index 00000000..84d406f5 --- /dev/null +++ b/backend/pokerogue/src/main/resources @@ -0,0 +1 @@ +Subproject commit 84d406f5f4d2cdb524a5bc60caf1530066a022f4 diff --git a/backend/pokerogue/src/test/java/com/pokerogue/environment/client/FakeS3ImageClient.java b/backend/pokerogue/src/test/java/com/pokerogue/environment/client/FakeS3ImageClient.java new file mode 100644 index 00000000..3650ce17 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/environment/client/FakeS3ImageClient.java @@ -0,0 +1,19 @@ +package com.pokerogue.environment.client; + +import com.pokerogue.external.s3.client.S3ImageClient; + +public class FakeS3ImageClient extends S3ImageClient { + + public FakeS3ImageClient() { + super("fake", "https://fake", "https://fake"); + } + + @Override + public void putObject(byte[] imageBytes, String contentType, String fileName) { + } + + @Override + public String getFileUrl(String fileName) { + return "dummy"; + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/environment/client/TestClientConfig.java b/backend/pokerogue/src/test/java/com/pokerogue/environment/client/TestClientConfig.java new file mode 100644 index 00000000..b01dd408 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/environment/client/TestClientConfig.java @@ -0,0 +1,14 @@ +package com.pokerogue.environment.client; + +import com.pokerogue.external.s3.client.S3ImageClient; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.Bean; + +@TestConfiguration +public class TestClientConfig { + + @Bean + public S3ImageClient s3ImageClient() { + return new FakeS3ImageClient(); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/environment/controller/ControllerTest.java b/backend/pokerogue/src/test/java/com/pokerogue/environment/controller/ControllerTest.java new file mode 100644 index 00000000..2b7674b7 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/environment/controller/ControllerTest.java @@ -0,0 +1,21 @@ +package com.pokerogue.environment.controller; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.web.servlet.MockMvc; + +@ActiveProfiles("local") +public abstract class ControllerTest { + + @Autowired + protected MockMvc mockMvc; + + @Autowired + protected ObjectMapper objectMapper; + + @MockBean + protected MongoTemplate mongoTemplate; +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/environment/repository/MongoRepositoryTest.java b/backend/pokerogue/src/test/java/com/pokerogue/environment/repository/MongoRepositoryTest.java new file mode 100644 index 00000000..0b3ce3ee --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/environment/repository/MongoRepositoryTest.java @@ -0,0 +1,12 @@ +package com.pokerogue.environment.repository; + +import com.pokerogue.helper.global.config.DataMongoDbConfig; +import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.ActiveProfiles; + +@DataMongoTest +@ActiveProfiles("local") +@Import(DataMongoDbConfig.class) +public abstract class MongoRepositoryTest { +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/environment/service/ServiceTest.java b/backend/pokerogue/src/test/java/com/pokerogue/environment/service/ServiceTest.java new file mode 100644 index 00000000..5307b5f1 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/environment/service/ServiceTest.java @@ -0,0 +1,12 @@ +package com.pokerogue.environment.service; + +import com.pokerogue.environment.client.TestClientConfig; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.ActiveProfiles; + +@ActiveProfiles(value = "local") +@Import(TestClientConfig.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) +public abstract class ServiceTest { +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/PokerogueApplicationTests.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/PokerogueApplicationTests.java index b0e3d35f..cb95a2a2 100644 --- a/backend/pokerogue/src/test/java/com/pokerogue/helper/PokerogueApplicationTests.java +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/PokerogueApplicationTests.java @@ -2,8 +2,10 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; @SpringBootTest +@ActiveProfiles(value = "local") class PokerogueApplicationTests { @Test diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/ability/service/AbilityServiceTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/ability/service/AbilityServiceTest.java new file mode 100644 index 00000000..6cc13cf8 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/ability/service/AbilityServiceTest.java @@ -0,0 +1,35 @@ +package com.pokerogue.helper.ability.service; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.environment.service.ServiceTest; +import com.pokerogue.helper.ability.dto.AbilityDetailResponse; +import com.pokerogue.helper.ability.dto.AbilityResponse; +import java.util.List; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +class AbilityServiceTest extends ServiceTest { + + @Autowired + private AbilityService abilityService; + + @Test + void findAbilities() { + List abilityResponses = abilityService.findAbilities(); + + assertThat(abilityResponses).hasSize(310); + } + + @Test + void findAbilityDetails() { + AbilityDetailResponse abilityDetails = abilityService.findAbilityDetails("stench"); + + assertAll( + () -> assertThat(abilityDetails.koName()).isEqualTo("악취"), + () -> assertThat(abilityDetails.description()).isEqualTo("악취를 풍겨서 공격했을 때 상대가 풀죽을 때가 있다."), + () -> assertThat(abilityDetails.pokemons()).hasSize(9) + ); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/MoveCategoryTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/MoveCategoryTest.java new file mode 100644 index 00000000..eaa0807d --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/MoveCategoryTest.java @@ -0,0 +1,30 @@ +package com.pokerogue.helper.battle; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.move.data.MoveCategory; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class MoveCategoryTest { + + @ParameterizedTest + @ValueSource(strings = {"aaa", "polla", "po"}) + @DisplayName("존재하지 않는 MoveCategory인 경우 에러를 발생한다.") + void convertFrom_WhenNotExist(String inputCategory) { + assertThatThrownBy(() -> MoveCategory.convertFrom(inputCategory)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.MOVE_CATEGORY_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("일치하는 MoveCategory를 찾는다.") + void convertFrom() { + assertThat(MoveCategory.convertFrom("special")).isEqualTo(MoveCategory.SPECIAL); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleCalculatorTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleCalculatorTest.java new file mode 100644 index 00000000..55c9fcc5 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleCalculatorTest.java @@ -0,0 +1,49 @@ +package com.pokerogue.helper.battle.service; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.environment.service.ServiceTest; +import com.pokerogue.helper.battle.data.Weather; +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.repository.MoveRepository; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +class BattleCalculatorTest extends ServiceTest { + + @Autowired + private BattleCalculator battleCalculator; + + @Autowired + private MoveRepository moveRepository; + + @Autowired + private PokemonRepository pokemonRepository; + + @Test + @DisplayName("배틀에서 공격 기술의 정확도를 계산한다.") + void calculateAccuracy() { + Move move = moveRepository.findById("ember").get(); + Weather weather = Weather.FOG; + + double accuracy = battleCalculator.calculateAccuracy(move, weather); + + assertThat(accuracy).isEqualTo(90); + } + + @Test + @DisplayName("배틀에서 공격 기술의 배수를 계산한다.") + void calculateBattleResult() { + Move move = moveRepository.findById("ember").get(); + Weather weather = Weather.SUNNY; + Pokemon rivalPokemon = pokemonRepository.findById("bulbasaur").get(); + Pokemon myPokemon = pokemonRepository.findById("charmander").get(); + + double multiplier = battleCalculator.calculateTotalMultiplier(move, weather, rivalPokemon, myPokemon); + + assertThat(multiplier).isEqualTo(4.5); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleMultiplierTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleMultiplierTest.java new file mode 100644 index 00000000..65dab6fa --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleMultiplierTest.java @@ -0,0 +1,70 @@ +package com.pokerogue.helper.battle.service; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.math.BigDecimal; +import java.util.stream.Stream; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +class BattleMultiplierTest { + + @Test + @DisplayName("배틀배수끼리 동등하다.") + void hasSemanticEquality() { + BigDecimal multiplierValue = BigDecimal.valueOf(0.3).add(BigDecimal.valueOf(0.3).add(BigDecimal.valueOf(0.3))); + BigDecimal otherMultiplierValue = BigDecimal.valueOf(0.9); + + BattleMultiplier multiplier = BattleMultiplier.valueOf(multiplierValue); + BattleMultiplier otherMultiplier = BattleMultiplier.valueOf(otherMultiplierValue); + + assertThat(multiplier).isEqualTo(otherMultiplier); + } + + @ParameterizedTest + @MethodSource(value = "constantBattleMultipliers") + @DisplayName("배틀 배수 상수는 캐싱한다.") + void cacheConstants(BattleMultiplier constantBattleMultiplier) { + BigDecimal constantValue = constantBattleMultiplier.getValue(); + + BattleMultiplier sameValueMultiplier = BattleMultiplier.valueOf(constantValue); + + assertThat(sameValueMultiplier).isSameAs(constantBattleMultiplier); + } + + private static Stream constantBattleMultipliers() { + return Stream.of( + BattleMultiplier.ZERO_MULTIPLIER, + BattleMultiplier.WEAK_MULTIPLIER, + BattleMultiplier.STRONG_MULTIPLIER, + BattleMultiplier.DEFAULT_MULTIPLIER + ); + } + + @Test + @DisplayName("배틀 배수 두 개를 곱한다.") + void multiply() { + BattleMultiplier multiplier = BattleMultiplier.valueOf(BigDecimal.valueOf(2)); + BattleMultiplier otherMultiplier = BattleMultiplier.valueOf(BigDecimal.valueOf(1.5)); + + BattleMultiplier multipliedResult = multiplier.multiply(otherMultiplier); + + BigDecimal expectedResultValue = BigDecimal.valueOf(3); + assertThat(multipliedResult).isEqualTo(BattleMultiplier.valueOf(expectedResultValue)); + } + + @Test + @DisplayName("배틀 배수 여러개를 곱한다.") + void multiplyMultiple() { + BattleMultiplier alpha = BattleMultiplier.valueOf(BigDecimal.valueOf(2)); + BattleMultiplier beta = BattleMultiplier.valueOf(BigDecimal.valueOf(1.5)); + BattleMultiplier gamma = BattleMultiplier.valueOf(BigDecimal.valueOf(0.5)); + + BattleMultiplier multipliedResult = BattleMultiplier.multiply(alpha, beta, gamma); + + BigDecimal expectedResultValue = BigDecimal.valueOf(1.5); + assertThat(multipliedResult).isEqualTo(BattleMultiplier.valueOf(expectedResultValue)); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleServiceTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleServiceTest.java new file mode 100644 index 00000000..9db55acc --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/BattleServiceTest.java @@ -0,0 +1,58 @@ +package com.pokerogue.helper.battle.service; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.environment.service.ServiceTest; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +class BattleServiceTest extends ServiceTest { + + @Autowired + private BattleService battleService; + + @Test + @DisplayName("배틀 결과 계산에서 id로 날씨를 찾지 못하면 예외가 발생한다.") + void findWeatherByIdWhenCalculateBattleResult() { + String wrongWeatherId = "cloud"; + String myPokemonId = "charmander"; + String rivalPokemonId = "bulbasaur"; + String myMoveId = "ember"; + + assertThatThrownBy( + () -> battleService.calculateBattleResult(wrongWeatherId, myPokemonId, rivalPokemonId, myMoveId)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.WEATHER_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("배틀 결과 계산에서 id로 포켓몬을 찾지 못하면 예외가 발생한다.") + void findPokemonByIdWhenCalculateBattleResult() { + String weatherId = "sunny"; + String wrongMyPokemonId = "mia"; + String rivalPokemonId = "bulbasaur"; + String myMoveId = "ember"; + + assertThatThrownBy( + () -> battleService.calculateBattleResult(weatherId, wrongMyPokemonId, rivalPokemonId, myMoveId)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.POKEMON_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("배틀 결과 계산에서 id로 기술을 찾지 못하면 예외가 발생한다.") + void findMoveByIdWhenCalculateBattleResult() { + String weatherId = "sunny"; + String myPokemonId = "charmander"; + String rivalPokemonId = "bulbasaur"; + String wrongMyMoveId = "punch"; + + assertThatThrownBy( + () -> battleService.calculateBattleResult(weatherId, myPokemonId, rivalPokemonId, wrongMyMoveId)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.MOVE_NOT_FOUND.getMessage()); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/TypeMultiplierProviderTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/TypeMultiplierProviderTest.java new file mode 100644 index 00000000..ba2ffe03 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/TypeMultiplierProviderTest.java @@ -0,0 +1,60 @@ +package com.pokerogue.helper.battle.service; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.environment.service.ServiceTest; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import com.pokerogue.helper.type.data.Type; +import java.math.BigDecimal; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +class TypeMultiplierProviderTest extends ServiceTest { + + @Autowired + private TypeMultiplierProvider typeMultiplierProvider; + + @Autowired + private PokemonRepository pokemonRepository; + + @Test + @DisplayName("타입 상성에 따른 배틀 결과 배수를 구한다.") + void getByTypeMatching() { + Pokemon rivalPokemon = pokemonRepository.findById("squirtle").get(); + List rivalPokemonTypes = rivalPokemon.getTypes(); + Type attackMoveType = Type.FIRE; + + List multipliers = typeMultiplierProvider.getAllByTypeMatchings(attackMoveType, + rivalPokemonTypes); + + assertThat(multipliers).contains(BattleMultiplier.valueOf(BigDecimal.valueOf(2))); + } + + @Test + @DisplayName("같은 타입 공격 보너스 배수를 구한다.") + void getBySameTypeAttackBonus() { + Pokemon rivalPokemon = pokemonRepository.findById("squirtle").get(); + Type attackMoveType = Type.WATER; + + BattleMultiplier multiplier = typeMultiplierProvider.getBySameTypeAttackBonus(attackMoveType, rivalPokemon); + + System.out.println("actual: " + multiplier.getDoubleValue()); + System.out.println("expected: " + BattleMultiplier.STRONG_MULTIPLIER.getDoubleValue()); + assertThat(multiplier).isEqualTo(BattleMultiplier.STRONG_MULTIPLIER); + } + + @Test + @DisplayName("강한 바람이 불 때 비행타입 라이벌 포켓몬의 약점을 가려주는 배수를 구한다.") + void getByStrongWind() { + Pokemon rivalPokemon = pokemonRepository.findById("pidgey").get(); + List rivalPokemonTypes = rivalPokemon.getTypes(); + Type attackMoveType = Type.ELECTRIC; + + BattleMultiplier multiplier = typeMultiplierProvider.getByStrongWind(attackMoveType, rivalPokemonTypes); + + assertThat(multiplier).isEqualTo(BattleMultiplier.WEAK_MULTIPLIER); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/WeatherMultiplierProviderTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/WeatherMultiplierProviderTest.java new file mode 100644 index 00000000..973e8b34 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/battle/service/WeatherMultiplierProviderTest.java @@ -0,0 +1,41 @@ +package com.pokerogue.helper.battle.service; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.battle.data.Weather; +import com.pokerogue.helper.type.data.Type; +import java.util.stream.Stream; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +class WeatherMultiplierProviderTest { + + private final WeatherMultiplierProvider weatherMultiplierProvider = new WeatherMultiplierProvider(); + + @ParameterizedTest + @MethodSource(value = "multiplierConditions") + @DisplayName("공격 기술 타입에 따른 배틀 날씨 배수를 구한다.") + void getAttackTypeMultiplier(Weather weather, Type attackMoveType, BattleMultiplier expectedMultiplier) { + + BattleMultiplier multiplier = weatherMultiplierProvider.getByAttackMoveType(weather, attackMoveType); + + assertThat(multiplier).isEqualTo(expectedMultiplier); + } + + private static Stream multiplierConditions() { + return Stream.of( + Arguments.of(Weather.SUNNY, Type.FIRE, BattleMultiplier.STRONG_MULTIPLIER), + Arguments.of(Weather.HARSH_SUN, Type.FIRE, BattleMultiplier.STRONG_MULTIPLIER), + Arguments.of(Weather.RAIN, Type.FIRE, BattleMultiplier.WEAK_MULTIPLIER), + Arguments.of(Weather.HEAVY_RAIN, Type.FIRE, BattleMultiplier.ZERO_MULTIPLIER), + Arguments.of(Weather.SUNNY, Type.WATER, BattleMultiplier.WEAK_MULTIPLIER), + Arguments.of(Weather.HARSH_SUN, Type.WATER, BattleMultiplier.ZERO_MULTIPLIER), + Arguments.of(Weather.RAIN, Type.WATER, BattleMultiplier.STRONG_MULTIPLIER), + Arguments.of(Weather.HEAVY_RAIN, Type.WATER, BattleMultiplier.STRONG_MULTIPLIER), + Arguments.of(Weather.SUNNY, Type.BUG, BattleMultiplier.DEFAULT_MULTIPLIER), + Arguments.of(Weather.FOG, Type.FIRE, BattleMultiplier.DEFAULT_MULTIPLIER) + ); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/controller/BiomeControllerTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/controller/BiomeControllerTest.java new file mode 100644 index 00000000..6c17faa2 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/controller/BiomeControllerTest.java @@ -0,0 +1,58 @@ +package com.pokerogue.helper.biome.controller; + +import static org.mockito.Mockito.verify; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import com.pokerogue.environment.controller.ControllerTest; +import com.pokerogue.helper.biome.service.BiomeService; +import com.pokerogue.helper.global.constant.SortingCriteria; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; + +@WebMvcTest(value = BiomeController.class) +class BiomeControllerTest extends ControllerTest { + + @MockBean + private BiomeService biomeService; + + @Test + @DisplayName("바이옴 포켓몬 정렬 기준 쿼리 스트링을 바인딩한다.") + void bindBiomePokemonSortingCriteriaRequestParameter() throws Exception { + mockMvc.perform(get("/api/v1/biome/test_id") + .content(MediaType.APPLICATION_JSON_VALUE) + .param("boss", "asc").param("wild", "desc")) + .andDo(print()) + .andExpect(status().isOk()); + + verify(biomeService).findBiome("test_id", SortingCriteria.ASCENDING, SortingCriteria.DESCENDING); + } + + @Test + @DisplayName("바이옴 포켓몬 정렬 기준 쿼리 스트링을 설정하지 않았다면 기본값으로 바인딩한다.") + void bindDefaultBiomePokemonSortingCriteriaRequestParameter() throws Exception { + mockMvc.perform(get("/api/v1/biome/test_id") + .content(MediaType.APPLICATION_JSON_VALUE)) + .andDo(print()) + .andExpect(status().isOk()); + + verify(biomeService).findBiome("test_id", SortingCriteria.DESCENDING, SortingCriteria.ASCENDING); + } + + + @Test + @DisplayName("잘못된 값의 바이옴 포켓몬 정렬 기준 쿼리 스트링으로 요청하면 예외 응답을 반환한다.") + void handlesInvalidSortingCriteriaRequestParameter() throws Exception { + mockMvc.perform(get("/api/v1/biome/test_id") + .content(MediaType.APPLICATION_JSON_VALUE) + .param("boss", "ascc").param("wild", "desc")) + .andDo(print()) + .andExpect(status().isBadRequest()) + .andExpect(jsonPath("$.detail").value("Failed to convert 'boss' with value: 'ascc'")); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/converter/TierConverterTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/converter/TierConverterTest.java new file mode 100644 index 00000000..8563c23d --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/converter/TierConverterTest.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.biome.converter; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.biome.data.Tier; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class TierConverterTest { + + @Test + @DisplayName("들어온 값을 Tier Enum으로 변화한다.") + void convert() { + TierConverter tierConverter = new TierConverter(); + + assertThat(tierConverter.convert("보스")).isEqualTo(Tier.BOSS); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/data/TierTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/data/TierTest.java new file mode 100644 index 00000000..402624c5 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/data/TierTest.java @@ -0,0 +1,29 @@ +package com.pokerogue.helper.biome.data; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class TierTest { + + @ParameterizedTest + @ValueSource(strings = {"aaa", "polla", "polaaaa"}) + @DisplayName("존재하지 않는 티어인 경우 에러를 발생한다.") + void convertFrom_WhenNotExist(String inputTier) { + assertThatThrownBy(() -> Tier.convertFrom(inputTier)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.TIER_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("일치하는 티어를 찾는다.") + void convertFrom() { + assertThat(Tier.convertFrom("보스")).isEqualTo(Tier.BOSS); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/repository/BiomeRepositoryTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/repository/BiomeRepositoryTest.java new file mode 100644 index 00000000..04cc3ef4 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/repository/BiomeRepositoryTest.java @@ -0,0 +1,49 @@ +package com.pokerogue.helper.biome.repository; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.environment.repository.MongoRepositoryTest; +import com.pokerogue.helper.biome.data.Biome; +import com.pokerogue.helper.biome.data.NativePokemon; +import com.pokerogue.helper.biome.data.Tier; +import com.pokerogue.helper.biome.data.Trainer; +import com.pokerogue.helper.type.data.Type; +import java.util.Collection; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +public class BiomeRepositoryTest extends MongoRepositoryTest { + + @Autowired + private BiomeRepository biomeRepository; + + @Test + @DisplayName("모든 바이옴 정보가 정상적으로 매핑되는지 확인한다.") + void findAll_AndConvertToBiome() { + List biomes = biomeRepository.findAll(); + + assertAll( + () -> assertThat(biomes).hasSize(35), + () -> assertThat(biomes.stream() + .flatMap(biome -> biome.getTypes().stream())) + .allMatch(type -> type.getDeclaringClass() + .equals(Type.class)), + () -> assertThat(biomes.stream() + .flatMap(biome -> biome.getNativePokemons().stream() + .map(NativePokemon::getTier)) + .allMatch(tier -> tier.getDeclaringClass() + .equals(Tier.class))) + .isTrue(), + () -> assertThat(biomes.stream() + .flatMap(biome -> biome.getTrainers().stream() + .map(Trainer::getTypes)) + .flatMap(Collection::stream) + .allMatch(type -> type.getDeclaringClass() + .equals(Type.class))) + .isTrue() + ); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/BiomeServiceTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/BiomeServiceTest.java new file mode 100644 index 00000000..715bc735 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/BiomeServiceTest.java @@ -0,0 +1,73 @@ +package com.pokerogue.helper.biome.service; + +import static com.pokerogue.helper.global.constant.SortingCriteria.ASCENDING; +import static com.pokerogue.helper.global.constant.SortingCriteria.DESCENDING; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.environment.service.ServiceTest; +import com.pokerogue.helper.biome.dto.BiomeAllPokemonResponse; +import com.pokerogue.helper.biome.dto.BiomeDetailResponse; +import com.pokerogue.helper.biome.dto.BiomeResponse; +import com.pokerogue.helper.global.constant.SortingCriteria; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +class BiomeServiceTest extends ServiceTest { + + @Autowired + private BiomeService biomeService; + + @Test + @DisplayName("전체 바이옴 리스트를 불러온다") + void findBoimes() { + List biomes = biomeService.findBiomes(); + + assertThat(biomes.size()).isEqualTo(35); + } + + @Test + @DisplayName("단일 바이옴 정보를 불러온다") + void findBiome() { + BiomeDetailResponse biomeDetailResponse = biomeService.findBiome("fairy_cave", ASCENDING, DESCENDING); + + assertAll( + () -> assertThat(biomeDetailResponse.id()).isEqualTo("fairy_cave"), + () -> assertThat(biomeDetailResponse.name()).isEqualTo("페어리 동굴"), + () -> assertThat(biomeDetailResponse.wildPokemons()).hasSize(5), + () -> assertThat(biomeDetailResponse.bossPokemons()).hasSize(4), + () -> assertThat(biomeDetailResponse.trainerPokemons()).hasSize(3), + () -> assertThat(biomeDetailResponse.nextBiomes()).hasSize(2) + ); + } + + @Test + @DisplayName("해당 id의 바이옴이 없는 경우 예외를 발생시킨다") + void notExistBiome() { + assertThatThrownBy(() -> biomeService.findBiome("test", ASCENDING, DESCENDING)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.BIOME_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("바이옴 포켓몬의 티어를 희귀도 순으로 정렬한다.") + void sortBiomeNativePokemons() { + SortingCriteria bossPokemonOrder = DESCENDING; + SortingCriteria wildPokemonOrder = ASCENDING; + + BiomeDetailResponse biomeDetailResponse = biomeService.findBiome("fairy_cave", bossPokemonOrder, + wildPokemonOrder); + + assertAll(() -> { + assertThat(biomeDetailResponse.wildPokemons()).extracting(BiomeAllPokemonResponse::tier) + .containsExactly("보통", "드묾", "레어", "슈퍼 레어", "울트라 레어"); + assertThat(biomeDetailResponse.bossPokemons()).extracting(BiomeAllPokemonResponse::tier) + .containsExactly("슈퍼 울트라 레어 보스", "슈퍼 레어 보스", "레어 보스", "보스"); + }); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/NativePokemonComparatorTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/NativePokemonComparatorTest.java new file mode 100644 index 00000000..5ad7d7ae --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/biome/service/NativePokemonComparatorTest.java @@ -0,0 +1,41 @@ +package com.pokerogue.helper.biome.service; + +import static com.pokerogue.helper.global.constant.SortingCriteria.ASCENDING; +import static com.pokerogue.helper.global.constant.SortingCriteria.DESCENDING; +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.biome.data.NativePokemon; +import com.pokerogue.helper.biome.data.Tier; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class NativePokemonComparatorTest { + + private final List nativePokemons = new ArrayList<>(List.of( + new NativePokemon(Tier.RARE, List.of("bulbasaur", "venusaur")), + new NativePokemon(Tier.COMMON, List.of("pikachu", "raichu")), + new NativePokemon(Tier.BOSS_RARE, List.of("charmander")), + new NativePokemon(Tier.BOSS_SUPER_RARE, List.of("roserade")) + )); + + @Test + @DisplayName("바이옴 포켓몬을 티어의 희귀도가 낮은 순으로 정렬한다.") + void sortNativePokemonsAscending() { + Collections.sort(nativePokemons, NativePokemonComparator.of(ASCENDING)); + + assertThat(nativePokemons).extracting(NativePokemon::getTier) + .containsExactly(Tier.COMMON, Tier.RARE, Tier.BOSS_RARE, Tier.BOSS_SUPER_RARE); + } + + @Test + @DisplayName("바이옴 포켓몬을 티어의 희귀도가 높은 순으로 정렬한다.") + void sortNativePokemonsDescending() { + Collections.sort(nativePokemons, NativePokemonComparator.of(DESCENDING)); + + assertThat(nativePokemons).extracting(NativePokemon::getTier) + .containsExactly(Tier.BOSS_SUPER_RARE, Tier.BOSS_RARE, Tier.RARE, Tier.COMMON); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonDataTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonDataTest.java new file mode 100644 index 00000000..e8a79bb8 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonDataTest.java @@ -0,0 +1,189 @@ +package com.pokerogue.helper.data; + +import static com.pokerogue.helper.data.PokemonValidator.validatePokemonIdFormat; +import static com.pokerogue.helper.data.PokemonValidator.validatePokemonSize; + +import com.pokerogue.environment.repository.MongoRepositoryTest; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import java.util.List; +import org.assertj.core.api.Assertions; +import org.assertj.core.api.ThrowableAssert.ThrowingCallable; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +public class PokemonDataTest extends MongoRepositoryTest { + + @Autowired + private PokemonRepository pokemonRepository; + + @DisplayName("포켓몬 데이터의 개수를 확인한다.") + @Test + void pokemonCount() { + int actual = pokemonRepository.findAll().size(); + + ThrowingCallable validator = () -> validatePokemonSize(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @Disabled("파싱코드의 replace를 한 문자가 아닌 스트링의 전체를 replace하도록 바꿔야 함. 잘못된 id가 있어 disalbed") + @DisplayName("포켓몬 데이터의 아이디 형식을 확인한다.") + @Test + void pokemonIdFormat() { + List actual = pokemonRepository.findAll().stream().map(Pokemon::getId).toList(); + + ThrowingCallable validator = () -> validatePokemonIdFormat(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @Disabled(""" + 디버깅 결과 + ID / actualTotal / expectedTotal + charizard_gigantamax / 634 / 644, + kingler_gigantamax / 575 / 585 + + 두 건의 데이터에 대해 종족값이 일치하지 않는다. + 추가적인 논의가 필요하여 disalbed""") + @DisplayName("포켓몬 데이터의 종족값은 기본 능력치의 합이다.") + @Test + void pokemonTotalStats() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable callable = () -> PokemonValidator.validatePokemonsBaseTotal(actual); + + Assertions.assertThatCode(callable).doesNotThrowAnyException(); + } + + @DisplayName("포켓몬 데이터의 세대가 유효한지 확인한다.") + @Test + void pokemonGeneration() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validatePokemonsGeneration(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @Disabled("폼변환이 가능하지만 정보가 주어지지 않는 데이터가 존재하여 disalbed.") + @DisplayName("포켓몬 폼변환이 가능하면 폼변환 정보가 주어진다.") + @Test + void pokemonGeneration2() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validatePokemonFormChanges(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + + @DisplayName("legendary, subLegendary, mythical 셋 중 하나만 true거나 모두 false여야한다.") + @Test + void pokemonGeneration3() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validatePokemonRarity(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @DisplayName("normal ability id는 항상 1개 또는 2개이다.") + @Test + void pokemonGeneration4() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateNormalAbilityCount(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @Disabled(""" + 기본 특성이 히든 특성과 같은 데이터가 있어서 disable + +) 이상해꽃 기간타맥스가 되면 기본 특성이 달라진다 + +) pokerouge dex와 데이터가 다른걸 보니 추가 확인이 필요""") + @DisplayName("abilitiy id는 서로 중복될 수 없다.") + @Test + void pokemonGeneration5() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateTotalAbilityDuplication(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @DisplayName("능력치가 정해진 범위의 수인지 확인한다.") + @Test + void pokemonGeneration6() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateStatValueRange(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @DisplayName("패시브 특성은 항상 존재한다.") + @Test + void pokemonGeneration7() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validatePassiveAbilityExist(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @DisplayName("히든 특성은 존재할 수도 안할 수도 있다.") + @Test + void pokemonGeneration8() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateEmptyHiddenAbilityExists(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @DisplayName("특성의 총 개수는 2개에서 4개 사이다.") + @Test + void pokemonGeneration9() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateTotalAbilityCount(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + + @DisplayName("타입의 개수는 1개 혹은 2개다.") + @Test + void pokemonGeneration10() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateTypeCount(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + @DisplayName("중복된 타입은 존재하지 않는다.") + @Test + void pokemonGeneration11() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateTypeDuplication(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } + + + @Disabled("데이터상 진화아이디와 포켓몬아이디가 불일치하여 disabled") + @DisplayName("진화 아이디는 모두 포켓몬 아이디에 포함된다.") + @Test + void pokemonGeneration12() { + List actual = pokemonRepository.findAll(); + + ThrowingCallable validator = () -> PokemonValidator.validateEvolutionFromToIsPokemonId(actual); + + Assertions.assertThatCode(validator).doesNotThrowAnyException(); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonValidatorTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonValidatorTest.java new file mode 100644 index 00000000..a529feca --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokemonValidatorTest.java @@ -0,0 +1,41 @@ +package com.pokerogue.helper.data; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +public class PokemonValidatorTest { + + @DisplayName("예상하는 포켓몬 개수와 일치하지 않으면 예외가 발생한다") + @ParameterizedTest + @ValueSource(ints = {-1, 0, 1, 1445, 1447, 20241006}) + void pokemonSize(int pokemonSize) { + Assertions.assertThatThrownBy(() -> PokemonValidator.validatePokemonSize(pokemonSize)) + .isInstanceOf(GlobalCustomException.class) + .hasMessageContaining(ErrorMessage.POKEMON_SIZE_MISMATCH.getMessage()); + } + + @DisplayName("포켓몬 타입의 개수가 1개 혹은 2개가 아니라면 예외가 발생한다") + @Test + void pokemonTypeSize() { + Pokemon pokemon = new Pokemon(); + Pokemon pokemon2 = new Pokemon(); + + pokemon.setTypes(List.of()); + pokemon2.setTypes(List.of(Type.FIRE, Type.ICE, Type.BUG)); + + List pokemons = List.of(pokemon, pokemon2); + + Assertions.assertThatThrownBy(() -> PokemonValidator.validateTypeCount(pokemons)) + .isInstanceOf(GlobalCustomException.class) + .hasMessageContaining(ErrorMessage.POKEMON_TYPE_COUNT_OUT_OF_RANGE.getMessage()); + } + +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokeomonControllerTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokeomonControllerTest.java new file mode 100644 index 00000000..b74c03be --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/data/PokeomonControllerTest.java @@ -0,0 +1,54 @@ +package com.pokerogue.helper.data; + +import static io.restassured.RestAssured.given; + +import com.pokerogue.environment.repository.MongoRepositoryTest; +import com.pokerogue.helper.pokemon.data.Pokemon; +import com.pokerogue.helper.pokemon.repository.PokemonRepository; +import io.restassured.RestAssured; +import io.restassured.http.ContentType; +import java.util.List; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + + +@Disabled("디버깅용 API 테스트") +public class PokeomonControllerTest extends MongoRepositoryTest { + + @Autowired + PokemonRepository pokemonRepository; + + @BeforeAll + public static void setup() { + RestAssured.baseURI = "http://localhost:8080/api/v1"; + } + + @Test + public void testApiError() { + given() + .contentType(ContentType.JSON) + .when() + .get("/pokemons2") + .then() + .statusCode(200); + } + + @Test + public void testApiError2() { + + List all = pokemonRepository.findAll(); + + for (Pokemon pokemon : all) { + System.out.println(pokemon); + given() + .contentType(ContentType.JSON) + .when() + .get("/pokemon2/" + pokemon.getId()) + .then() + .statusCode(200); + } + + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/global/constant/SortingCriteriaTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/global/constant/SortingCriteriaTest.java new file mode 100644 index 00000000..f33dc3b7 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/global/constant/SortingCriteriaTest.java @@ -0,0 +1,28 @@ +package com.pokerogue.helper.global.constant; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.stream.Stream; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +class SortingCriteriaTest { + + @ParameterizedTest + @MethodSource("sortingCriteriaValues") + @DisplayName("문자열 값으로 SortingCriteria를 생성한다.") + void convertFrom(String value, SortingCriteria expected) { + SortingCriteria actual = SortingCriteria.convertFrom(value); + + assertThat(actual).isEqualTo(expected); + } + + private static Stream sortingCriteriaValues() { + return Stream.of( + Arguments.of("desc", SortingCriteria.DESCENDING), + Arguments.of("asc", SortingCriteria.ASCENDING) + ); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionTest.java new file mode 100644 index 00000000..13700f76 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/global/databaseversion/DatabaseVersionTest.java @@ -0,0 +1,24 @@ +package com.pokerogue.helper.global.databaseversion; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.TestPropertySource; + +@SpringBootTest +@ActiveProfiles("local") +@TestPropertySource(properties = "database.version=1") +class DatabaseVersionTest { + + @Autowired + private DatabaseVersion databaseVersion; + + @Test + void getVersion() { + int version = databaseVersion.getVersion(); + assertThat(version).isEqualTo(1); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/FlagConverterTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/FlagConverterTest.java new file mode 100644 index 00000000..dc5188d3 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/FlagConverterTest.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.move.converter; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.move.data.MoveFlag; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class FlagConverterTest { + + @Test + @DisplayName("들어온 값을 Flag Enum으로 변화한다.") + void convert() { + FlagConverter flagConverter = new FlagConverter(); + + assertThat(flagConverter.convert("dance_move")).isEqualTo(MoveFlag.DANCE_MOVE); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveCategoryConverterTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveCategoryConverterTest.java new file mode 100644 index 00000000..36ae52c5 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveCategoryConverterTest.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.move.converter; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.move.data.MoveCategory; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class MoveCategoryConverterTest { + + @Test + @DisplayName("들어온 값을 MoveCategory Enum으로 변화한다.") + void convert() { + MoveCategoryConverter moveCategoryConverter = new MoveCategoryConverter(); + + assertThat(moveCategoryConverter.convert("special")).isEqualTo(MoveCategory.SPECIAL); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveTargetConverterTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveTargetConverterTest.java new file mode 100644 index 00000000..3398f099 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/converter/MoveTargetConverterTest.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.move.converter; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.move.data.MoveTarget; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class MoveTargetConverterTest { + + @Test + @DisplayName("들어온 값을 Move Target Enum 으로 변화한다.") + void convert() { + MoveTargetConverter moveTargetConverter = new MoveTargetConverter(); + + assertThat(moveTargetConverter.convert("user")).isEqualTo(MoveTarget.USER); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveFlagTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveFlagTest.java new file mode 100644 index 00000000..302f435f --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveFlagTest.java @@ -0,0 +1,28 @@ +package com.pokerogue.helper.move.data; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class MoveFlagTest { + + @ParameterizedTest + @ValueSource(strings = {"aaa", "polla", "pp"}) + void convertFrom_WhenNotExist(String inputMoveFlag) { + assertThatThrownBy(() -> MoveFlag.convertFrom(inputMoveFlag)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.MOVE_FLAG_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("일치하는 Move Flag를 찾아온다.") + void convertFrom() { + assertThat(MoveFlag.convertFrom("dance_move")).isEqualTo(MoveFlag.DANCE_MOVE); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveTargetTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveTargetTest.java new file mode 100644 index 00000000..d49f9414 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/data/MoveTargetTest.java @@ -0,0 +1,28 @@ +package com.pokerogue.helper.move.data; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class MoveTargetTest { + + @ParameterizedTest + @ValueSource(strings = {"aaa", "polla", "ald"}) + void convertFrom_WhenNotExist(String inputMoveTarget) { + assertThatThrownBy(() -> MoveTarget.convertFrom(inputMoveTarget)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.MOVE_TARGET_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("일치하는 MoveTarget을 찾아온다.") + void convertFrom() { + assertThat(MoveTarget.convertFrom("all")).isEqualTo(MoveTarget.ALL); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/repository/MoveRepositoryTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/repository/MoveRepositoryTest.java new file mode 100644 index 00000000..16866bb5 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/repository/MoveRepositoryTest.java @@ -0,0 +1,51 @@ +package com.pokerogue.helper.move.repository; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.environment.repository.MongoRepositoryTest; +import com.pokerogue.helper.move.data.Move; +import com.pokerogue.helper.move.data.MoveCategory; +import com.pokerogue.helper.move.data.MoveFlag; +import com.pokerogue.helper.move.data.MoveTarget; +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +public class MoveRepositoryTest extends MongoRepositoryTest { + + @Autowired + private MoveRepository moveRepository; + + @Test + @DisplayName("모든 기술 정보가 정상적으로 매핑되는지 확인한다.") + void findAll_AndConvertToMove() { + List moves = moveRepository.findAll(); + + assertAll( + () -> assertThat(moves).hasSize(919), + () -> assertThat(moves.stream() + .allMatch(move -> move.getType() + .getDeclaringClass() + .equals(Type.class))) + .isTrue(), + () -> assertThat(moves.stream() + .allMatch(move -> move.getMoveTarget() + .getDeclaringClass() + .equals(MoveTarget.class))) + .isTrue(), + () -> assertThat(moves.stream() + .allMatch(move -> move.getMoveCategory() + .getDeclaringClass() + .equals(MoveCategory.class))) + .isTrue(), + () -> assertThat(moves.stream() + .flatMap(move -> move.getFlags().stream()) + .allMatch(flag -> flag.getDeclaringClass() + .equals(MoveFlag.class))) + .isTrue() + ); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/move/service/MoveServiceTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/service/MoveServiceTest.java new file mode 100644 index 00000000..5c870b58 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/move/service/MoveServiceTest.java @@ -0,0 +1,92 @@ +package com.pokerogue.helper.move.service; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.environment.service.ServiceTest; +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.move.dto.MoveDetailResponse; +import com.pokerogue.helper.move.dto.MoveResponse; +import java.util.List; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +class MoveServiceTest extends ServiceTest { + + @Autowired + private MoveService moveService; + + @Test + @DisplayName("해당 포켓몬의 전체 기술 목록을 반환한다") + void findMovesByPokemon() { + List movesByPokemon = moveService.findMovesByPokemon(1); + + assertThat(movesByPokemon.size()).isEqualTo(72); + } + + @Test + @DisplayName("배틀 서비스에서 사용할 단일 기술 정보를 불러온다") + void findMoveByBattle() { + MoveResponse moveResponse = moveService.findMoveInBattle("earth_power"); + + assertAll( + () -> assertThat(moveResponse.id()).isEqualTo("earth_power"), + () -> assertThat(moveResponse.name()).isEqualTo("대지의힘"), + () -> assertThat(moveResponse.typeEngName()).isEqualTo("ground"), + () -> assertThat(moveResponse.typeLogo()).contains("type/ground"), + () -> assertThat(moveResponse.categoryEngName()).isEqualTo("special"), + () -> assertThat(moveResponse.categoryLogo()).contains("move-category/special.png"), + () -> assertThat(moveResponse.power()).isEqualTo(90), + () -> assertThat(moveResponse.accuracy()).isEqualTo(100), + () -> assertThat(moveResponse.effect()).isEqualTo("상대의 발밑에 대지의 힘을 방출한다. 상대의 특수방어를 떨어뜨릴 때가 있다.") + ); + } + + @Test + @DisplayName("id에 해당하는 기술이 없는 경우 예외를 발생시킨다") + void notExistMove() { + assertThatThrownBy(() -> moveService.findMoveInBattle("test")) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.MOVE_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("전체 기술 목록을 반환한다") + void findMoves() { + List movesByPokemon = moveService.findMoves(); + + assertThat(movesByPokemon.size()).isEqualTo(919); + } + + @Disabled + @Test + @DisplayName("단일 기술 정보를 불러온다") + void findMove() { + MoveDetailResponse moveDetailResponse = moveService.findMove("earth_power"); + + assertAll( + () -> assertThat(moveDetailResponse.id()).isEqualTo("earth_power"), + () -> assertThat(moveDetailResponse.name()).isEqualTo("대지의힘"), + () -> assertThat(moveDetailResponse.typeEngName()).isEqualTo("ground"), + () -> assertThat(moveDetailResponse.typeLogo()).contains("type/ground"), + () -> assertThat(moveDetailResponse.categoryEngName()).isEqualTo("special"), + () -> assertThat(moveDetailResponse.categoryLogo()).contains("move-category/special.png"), + () -> assertThat(moveDetailResponse.moveTarget()).isEqualTo("near_other"), + () -> assertThat(moveDetailResponse.power()).isEqualTo(90), + () -> assertThat(moveDetailResponse.accuracy()).isEqualTo(100), + () -> assertThat(moveDetailResponse.powerPoint()).isEqualTo(10), + () -> assertThat(moveDetailResponse.effect()).isEqualTo("상대의 발밑에 대지의 힘을 방출한다. 상대의 특수방어를 떨어뜨릴 때가 있다."), + () -> assertThat(moveDetailResponse.effectChance()).isEqualTo(10), + () -> assertThat(moveDetailResponse.priority()).isEqualTo(0), + () -> assertThat(moveDetailResponse.generation()).isEqualTo(4), + () -> assertThat(moveDetailResponse.released()).isNull(), + () -> assertThat(moveDetailResponse.flags()).isEmpty(), + () -> assertThat(moveDetailResponse.pokemonIdsWithLevelMove()).hasSize(71), + () -> assertThat(moveDetailResponse.pokemonIdsWithEggMove()).hasSize(117) + ); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverterTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverterTest.java new file mode 100644 index 00000000..ff5ba2b5 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/converter/EvolutionItemConverterTest.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.pokemon.converter; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.pokemon.data.EvolutionItem; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class EvolutionItemConverterTest { + + @Test + @DisplayName("들어온 겂을 EvolutionItem Enum으로 변화한다.") + void convert() { + EvolutionItemConverter evolutionItemConverter = new EvolutionItemConverter(); + + assertThat(evolutionItemConverter.convert("dusk_stone")).isEqualTo(EvolutionItem.DUSK_STONE); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/EvolutionItemTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/EvolutionItemTest.java new file mode 100644 index 00000000..8347b782 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/EvolutionItemTest.java @@ -0,0 +1,30 @@ +package com.pokerogue.helper.pokemon.data; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class EvolutionItemTest { + + @ParameterizedTest + @ValueSource(strings = {"aaa", "poa", "polla"}) + @DisplayName("존재하지 않는 아이템인 경우 빈 것을 의미하는 값을 반환한다.") + void convertFrom_WhenNotExit(String inputEvolutionItem) { + assertThatThrownBy(()->EvolutionItem.convertFrom(inputEvolutionItem)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.ITEM_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("일치하는 아이템을 찾아온다.") + void convertFrom() { + assertThat(EvolutionItem.convertFrom("dawn_stone")) + .isEqualTo(EvolutionItem.DAWN_STONE); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTest.java new file mode 100644 index 00000000..bf862cfb --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTest.java @@ -0,0 +1,38 @@ +package com.pokerogue.helper.pokemon.data; + +import static com.pokerogue.helper.pokemon.data.PokemonTestFixture.BULBASAUR; +import static com.pokerogue.helper.pokemon.data.PokemonTestFixture.CHARMANDER; +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import java.util.stream.Stream; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +class PokemonTest { + + @ParameterizedTest + @MethodSource(value = "typeAndExpectedResult") + @DisplayName("포켓몬이 가진 타입 일치를 확인한다.") + void hasSameType(Type type, boolean expectedResult) { + boolean result = BULBASAUR.hasSameType(type); + + assertThat(result).isEqualTo(expectedResult); + } + + private static Stream typeAndExpectedResult() { + return Stream.of(Arguments.of(Type.GRASS, true), Arguments.of(Type.FIRE, false)); + } + + @Test + @DisplayName("포켓몬의 스피드를 비교한다.") + void isFasterThan() { + boolean result = BULBASAUR.isFasterThan(CHARMANDER); + + assertThat(result).isFalse(); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTestFixture.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTestFixture.java new file mode 100644 index 00000000..32ff0ec7 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/data/PokemonTestFixture.java @@ -0,0 +1,141 @@ +package com.pokerogue.helper.pokemon.data; + +import com.pokerogue.helper.type.data.Type; +import java.util.Arrays; +import java.util.List; + +public class PokemonTestFixture { + public static List BULBASAUR_EVOLUTIONS = Arrays.asList( + new Evolution("bulbasaur", 16, "ivysaur", null, null), + new Evolution("ivysaur", 32, "venusaur", null, null) + ); + + public static List BULBASAUR_LEVEL_MOVES = Arrays.asList( + new LevelMove(1, "tackle"), + new LevelMove(1, "growl"), + new LevelMove(3, "vine_whip"), + new LevelMove(6, "growth"), + new LevelMove(9, "leech_seed"), + new LevelMove(12, "razor_leaf"), + new LevelMove(15, "poison_powder"), + new LevelMove(15, "sleep_powder"), + new LevelMove(18, "seed_bomb"), + new LevelMove(21, "take_down"), + new LevelMove(24, "sweet_scent"), + new LevelMove(27, "synthesis"), + new LevelMove(30, "worry_seed"), + new LevelMove(33, "power_whip"), + new LevelMove(36, "solar_beam") + ); + + public static Pokemon BULBASAUR = new Pokemon( + "bulbasaur", // id + "bulbasaur", // imageId + 1, // pokedexNumber + "bulbasaur", // name + "이상해씨", // koName + "bulbasaur", // speciesName + false, // canChangeForm + "", // formName + 64, // baseExp + 50, // friendship + Arrays.asList(Type.GRASS, Type.POISON), // types + Arrays.asList("overgrow"), // normalAbilityIds + "chlorophyll", // hiddenAbilityId + "grassy_surge", // passiveAbilityId + 1, // generation + false, // legendary + false, // subLegendary + false, // mythical + BULBASAUR_EVOLUTIONS, // evolutions + Arrays.asList(), // formChanges + 318, // baseTotal + 45, // hp + 49, // attack + 49, // defense + 65, // specialAttack + 65, // specialDefense + 45, // speed + 0.7, // height + 6.9, // weight + Arrays.asList("sappy_seed", "sludge_wave", "earth_power", "matcha_gotcha"), // eggMoveIds + BULBASAUR_LEVEL_MOVES, // levelMoves + Arrays.asList( + "swords_dance", "cut", "body_slam", "take_down", "double_edge", "strength", "solar_beam", + "toxic", "double_team", "light_screen", "reflect", "amnesia", "flash", "rest", "substitute", + "snore", "curse", "protect", "sludge_bomb", "mud_slap", "outrage", "giga_drain", "endure", + "charm", "false_swipe", "swagger", "attract", "sleep_talk", "return", "frustration", "safeguard", + "synthesis", "hidden_power", "sunny_day", "rock_smash", "facade", "nature_power", "helping_hand", + "knock_off", "weather_ball", "bullet_seed", "magical_leaf", "worry_seed", "seed_bomb", "energy_ball", + "leaf_storm", "power_whip", "grass_knot", "venoshock", "acid_spray", "round", "echoed_voice", + "grass_pledge", "work_up", "grassy_terrain", "confide", "grassy_glide", "tera_blast", "trailblaze" + ), // technicalMachineMoveIds + Arrays.asList("grass") // biomeIds + ); + + public static List CHARMANDER_EVOLUTIONS = List.of( + new Evolution("charmander", 16, "charmeleon", null, null), + new Evolution("charmeleon", 36, "charizard", null, null) + ); + + public static List CHARMANDER_LEVEL_MOVES = List.of( + new LevelMove(1, "scratch"), + new LevelMove(1, "growl"), + new LevelMove(4, "ember"), + new LevelMove(8, "smokescreen"), + new LevelMove(12, "dragon_breath"), + new LevelMove(17, "fire_fang"), + new LevelMove(20, "slash"), + new LevelMove(24, "flamethrower"), + new LevelMove(28, "scary_face"), + new LevelMove(32, "fire_spin"), + new LevelMove(36, "inferno"), + new LevelMove(40, "flare_blitz") + ); + + public static Pokemon CHARMANDER = new Pokemon( + "charmander", // id + "charmander", // imageId + 4, // pokedexNumber + "charmander", // name + "파이리", // koName + "charmander", // speciesName + false, // canChangeForm + "", // formName + 62, // baseExp + 50, // friendship + List.of(Type.FIRE), // types + List.of("blaze"), // normalAbilityIds + "solar_power", // hiddenAbilityId + "beast_boost", // passiveAbilityId + 1, // generation + false, // legendary + false, // subLegendary + false, // mythical + CHARMANDER_EVOLUTIONS, // evolutions + List.of(), // formChanges + 309, // baseTotal + 39, // hp + 52, // attack + 43, // defense + 60, // specialAttack + 50, // specialDefense + 65, // speed + 0.6, // height + 8.5, // weight + List.of("dragon_dance", "bitter_blade", "earth_power", "oblivion_wing"), // eggMoveIds + CHARMANDER_LEVEL_MOVES, // levelMoves + List.of( + "mega_punch", "fire_punch", "thunder_punch", "swords_dance", "cut", "mega_kick", "body_slam", "take_down", "double_edge", + "roar", "flamethrower", "counter", "strength", "fire_spin", "dig", "toxic", "double_team", "reflect", "fire_blast", + "swift", "rest", "rock_slide", "substitute", "snore", "curse", "protect", "scary_face", "mud_slap", "outrage", + "endure", "false_swipe", "swagger", "attract", "sleep_talk", "return", "frustration", "iron_tail", "metal_claw", + "hidden_power", "sunny_day", "crunch", "rock_smash", "beat_up", "heat_wave", "will_o_wisp", "facade", "focus_punch", + "helping_hand", "brick_break", "weather_ball", "air_cutter", "overheat", "rock_tomb", "aerial_ace", "dragon_claw", + "dragon_dance", "fling", "flare_blitz", "dragon_pulse", "focus_blast", "shadow_claw", "fire_fang", "hone_claws", + "flame_charge", "round", "echoed_voice", "incinerate", "acrobatics", "fire_pledge", "dragon_tail", "work_up", + "confide", "power_up_punch", "breaking_swipe", "tera_blast", "temper_flare" + ), // technicalMachineMoveIds + List.of("volcano") // biomeIds + ); +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/BufferedQueueTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/BufferedQueueTest.java new file mode 100644 index 00000000..98a9dfc0 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/BufferedQueueTest.java @@ -0,0 +1,58 @@ +package com.pokerogue.helper.pokemon.service; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class BufferedQueueTest { + + @DisplayName("버퍼에 삽입 전에는 버퍼 카운팅이 작동하지 않는다.") + @Test + void bufferCounting() { + BufferedQueue bufferedQueue = new BufferedQueue<>(new LinkedList<>()); + bufferedQueue.add(1); + bufferedQueue.add(2); + bufferedQueue.add(3); + + Assertions.assertThat(bufferedQueue.hasBufferedNext()).isFalse(); + Assertions.assertThat(bufferedQueue.getBufferCount()).isZero(); + } + + @DisplayName("버퍼에 삽입 후 버퍼 카운팅이 증가한다.") + @Test + void bufferCounting2() { + BufferedQueue bufferedQueue = new BufferedQueue<>(new LinkedList<>()); + bufferedQueue.add(1); + bufferedQueue.add(2); + bufferedQueue.add(3); + + bufferedQueue.buffer(); + + Assertions.assertThat(bufferedQueue.hasBufferedNext()).isTrue(); + Assertions.assertThat(bufferedQueue.getBufferCount()).isOne(); + } + + @DisplayName("버퍼 호출시 그 전에 저장된 값만 꺼낼 수 있다.") + @Test + void beforeBufferValues() { + BufferedQueue bufferedQueue = new BufferedQueue<>(new LinkedList<>()); + List bufferedValues = new ArrayList<>(); + bufferedQueue.add(1); + bufferedQueue.add(10000); + bufferedQueue.buffer(); + bufferedQueue.add(3); + bufferedQueue.add(4); + bufferedQueue.add(5); + + while (bufferedQueue.hasBufferedNext()) { + Integer poll = bufferedQueue.poll(); + bufferedValues.add(poll); + } + + Assertions.assertThat(bufferedValues).hasSameElementsAs(List.of(1, 10000)); + Assertions.assertThat(bufferedQueue.getSize()).isEqualTo(3); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/EvolutionContextTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/EvolutionContextTest.java new file mode 100644 index 00000000..d856a5ec --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/EvolutionContextTest.java @@ -0,0 +1,59 @@ +package com.pokerogue.helper.pokemon.service; + +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import com.pokerogue.helper.pokemon.data.Evolution; +import java.util.List; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class EvolutionContextTest { + + @DisplayName("각 포켓몬 진화 깊이 정보를 가져올 수 있다.") + @Test + void getDepthOf() { + Evolution evolution = createEvolution("A", "B"); + Evolution evolution2 = createEvolution("B", "C"); + Evolution evolution3 = createEvolution("C", "D"); + Evolution evolution4 = createEvolution("D", "E"); + + EvolutionContext context = new EvolutionContext(List.of(evolution, evolution2, evolution3, evolution4)); + + assertAll(() -> { + Assertions.assertThat(context.getDepthOf("A")).isEqualTo(0); + Assertions.assertThat(context.getDepthOf("B")).isEqualTo(1); + Assertions.assertThat(context.getDepthOf("C")).isEqualTo(2); + Assertions.assertThat(context.getDepthOf("D")).isEqualTo(3); + Assertions.assertThat(context.getDepthOf("E")).isEqualTo(4); + }); + } + + @DisplayName("포켓몬의 진화 정보를 가져올 수 있다.") + @Test + void getEvolutionOf() { + Evolution actual = createEvolution("A", "B"); + + EvolutionContext context = new EvolutionContext(List.of(actual)); + Evolution expected = context.getEvolutionOf("A"); + + Assertions.assertThat(expected).isEqualTo(actual); + } + + @DisplayName("잘못된 포켓몬 아이디라면 예외가 발생한다.") + @Test + void getEvolutionOfException() { + Evolution actual = createEvolution("A", "B"); + EvolutionContext context = new EvolutionContext(List.of(actual)); + + Assertions.assertThatThrownBy(() -> context.getEvolutionOf("C")) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.POKEMON_NOT_FOUND.getMessage()); + } + + private static Evolution createEvolution(String from, String to) { + return new Evolution(from, 1, to, "", ""); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculatorTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculatorTest.java new file mode 100644 index 00000000..4a8f9acc --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/pokemon/service/TreeDepthCalculatorTest.java @@ -0,0 +1,33 @@ +package com.pokerogue.helper.pokemon.service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class TreeDepthCalculatorTest { + + @DisplayName("인접한 간선의 정보가 주어지면 각 노드의 깊이를 구할 수 있다") + @Test + void calculateDepths() { + Map> adjacentNodes = new HashMap<>(Map.of( + "A", List.of("B", "C", "D", "E"), + "B", List.of("C", "D", "E"), + "C", List.of("D", "E"), + "D", List.of("E") + )); + Map expected = new HashMap<>(Map.of( + "A", 0, + "B", 1, + "C", 2, + "D", 3, + "E", 4 + )); + + Map actual = new TreeDepthCalculator(adjacentNodes).calculateDepths(); + + Assertions.assertThat(actual).isEqualTo(expected); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/type/converter/TypeReadConverterTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/type/converter/TypeReadConverterTest.java new file mode 100644 index 00000000..721a1db7 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/type/converter/TypeReadConverterTest.java @@ -0,0 +1,18 @@ +package com.pokerogue.helper.type.converter; + +import static org.assertj.core.api.Assertions.assertThat; + +import com.pokerogue.helper.type.data.Type; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class TypeReadConverterTest { + + @Test + @DisplayName("들어온 값을 Type enum으로 변화한다.") + void convert() { + TypeReadConverter typeReadConverter = new TypeReadConverter(); + + assertThat(typeReadConverter.convert("fire")).isEqualTo(Type.FIRE); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/type/data/TypeTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/type/data/TypeTest.java new file mode 100644 index 00000000..6e69ed49 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/type/data/TypeTest.java @@ -0,0 +1,29 @@ +package com.pokerogue.helper.type.data; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; + +import com.pokerogue.helper.global.exception.ErrorMessage; +import com.pokerogue.helper.global.exception.GlobalCustomException; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; + +class TypeTest { + + @ParameterizedTest + @ValueSource(strings = {"aaa", "polla", "jdj"}) + @DisplayName("존재하지 않는 타입인 경우 에러를 발생한다.") + void convertFrom_WhenNotExist(String inputType) { + assertThatThrownBy(() -> Type.convertFrom(inputType)) + .isInstanceOf(GlobalCustomException.class) + .hasMessage(ErrorMessage.TYPE_NOT_FOUND.getMessage()); + } + + @Test + @DisplayName("일치하는 타입을 찾아온다.") + void convertFrom() { + assertThat(Type.convertFrom("dragon")).isEqualTo(Type.DRAGON); + } +} diff --git a/backend/pokerogue/src/test/java/com/pokerogue/helper/type/repository/TypeMatchingRepositoryTest.java b/backend/pokerogue/src/test/java/com/pokerogue/helper/type/repository/TypeMatchingRepositoryTest.java new file mode 100644 index 00000000..6a4967a2 --- /dev/null +++ b/backend/pokerogue/src/test/java/com/pokerogue/helper/type/repository/TypeMatchingRepositoryTest.java @@ -0,0 +1,38 @@ +package com.pokerogue.helper.type.repository; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertAll; + +import com.pokerogue.environment.repository.MongoRepositoryTest; +import com.pokerogue.helper.type.collection.TypeMatching; +import com.pokerogue.helper.type.data.Type; +import java.util.List; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; + +public class TypeMatchingRepositoryTest extends MongoRepositoryTest { + + @Autowired + private TypeMatchingRepository typeMatchingRepository; + + @Test + @DisplayName("모든 상성 정보가 정상적으로 Entity와 매핑되는지 확인한다.") + void findAll_AndConvertToTypeMatching() { + List typeMatchings = typeMatchingRepository.findAll(); + + assertAll( + () -> assertThat(typeMatchings).hasSize(361), + () -> assertThat(typeMatchings.stream() + .allMatch(typeMatching -> typeMatching.getTo() + .getDeclaringClass() + .equals(Type.class))) + .isTrue(), + () -> assertThat(typeMatchings.stream() + .allMatch(typeMatching -> typeMatching.getFrom() + .getDeclaringClass() + .equals(Type.class))) + .isTrue() + ); + } +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-1.json b/backend/pokerogue/src/test/resources/json/ability/ability-1.json new file mode 100644 index 00000000..4dadf1ac --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-1.json @@ -0,0 +1,933 @@ +{ + "effect_changes": [ + { + "effect_entries": [ + { + "effect": "Hat im Kampf keinen Effekt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "effect": "Has no effect in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + } + ], + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + } + ], + "effect_entries": [ + { + "effect": "Attacken die Schaden verursachen haben mit jedem Treffer eine 10% Chance das Ziel zurückschrecken zu lassen, wenn die Attacke dies nicht bereits als Nebeneffekt hat.\n\nDer Effekt stapelt nicht mit dem von getragenen Items.\n\nAußerhalb vom Kampf: Wenn ein Pokémon mit dieser Fähigkeit an erster Stelle im Team steht, tauchen wilde Pokémon nur halb so oft auf.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Mit jedem Treffer besteht eine 10% Chance das Ziel zurückschrecken zu lassen." + }, + { + "effect": "This Pokémon's damaging moves have a 10% chance to make the target flinch with each hit if they do not already cause flinching as a secondary effect.\n\nThis ability does not stack with a held item.\n\nOverworld: The wild encounter rate is halved while this Pokémon is first in the party.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Has a 10% chance of making target Pokémon flinch with each hit." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Helps repel wild POKéMON.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Helps repel wild POKéMON.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Helps repel wild POKéMON.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "The stench helps keep\nwild Pokémon away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "The stench helps keep\nwild Pokémon away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "The stench helps keep\nwild Pokémon away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "La puanteur peut\neffrayer l’adversaire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The stench may cause\nthe target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The stench may cause\nthe target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "くさくて あいてが\nひるむ ことがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "악취 때문에 상대가\n풀죽을 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "La puanteur peut effrayer\nl’adversaire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Lässt den Gegner durch Gestank\nzurückschrecken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Es posible que el rival retroceda\npor el mal olor.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "A volte il cattivo odore\nfa tentennare i nemici.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "The stench may cause\nthe target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "臭くて 相手が\nひるむ ことがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "くさくて あいてが\nひるむ ことがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "악취 때문에 상대가\n풀죽을 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "La puanteur peut effrayer\nl’adversaire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Lässt den Gegner durch Gestank\nzurückschrecken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Es posible que el rival retroceda\npor el mal olor.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "A volte il cattivo odore\nfa tentennare i nemici.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "The stench may cause\nthe target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "臭くて 相手が\nひるむ ことがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "くさい においを はなつことによって\nこうげきした ときに あいてを\nひるませることが ある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "악취를 풍겨서\n공격했을 때 상대가\n풀죽을 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "發出臭氣,\n在攻擊的時候,\n有時會使對手畏縮。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Le Pokémon émet une odeur si nauséabonde\nqu’il peut effrayer sa cible.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Lässt das Ziel beim Angriff eventuell durch Gestank\nzurückschrecken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Debido al mal olor que emana, al atacar al rival puede\nhacerlo retroceder.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "A volte il cattivo odore emesso dal Pokémon\nfa tentennare i nemici quando attacca.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "By releasing stench when attacking, this Pokémon\nmay cause the target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "臭い においを 放つことによって\n攻撃した ときに 相手を\nひるませることが ある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "通过释放臭臭的气味,\n在攻击的时候,\n有时会使对手畏缩。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "くさい においを はなつことによって\nこうげきした ときに あいてを\nひるませることが ある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "악취를 풍겨서\n공격했을 때 상대가\n풀죽을 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "發出臭氣,\n在攻擊的時候,\n有時會使對手畏縮。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Le Pokémon émet une odeur si nauséabonde\nqu’il peut effrayer sa cible.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Lässt das Ziel beim Angriff eventuell durch Gestank\nzurückschrecken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Debido al mal olor que emana, al atacar al rival puede\nhacerlo retroceder.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "A volte il cattivo odore emesso dal Pokémon\nfa tentennare i nemici quando attacca.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "By releasing stench when attacking, this Pokémon\nmay cause the target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "臭い においを 放つことによって\n攻撃した ときに 相手を\nひるませることが ある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "通过释放臭臭的气味,\n在攻击的时候,\n有时会使对手畏缩。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "くさい においを はなつことによって\nこうげきした ときに あいてを\nひるませることが ある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "악취를 풍겨서\n공격했을 때 상대가\n풀죽을 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "發出臭氣,\n在攻擊的時候,\n有時會使對手畏縮。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Le Pokémon émet une odeur si nauséabonde\nqu’il peut effrayer sa cible.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Lässt das Ziel beim Angriff eventuell durch Gestank\nzurückschrecken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Debido al mal olor que emana, al atacar al rival puede\nhacerlo retroceder.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "A volte il cattivo odore emesso dal Pokémon\nfa tentennare i nemici quando attacca.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "By releasing stench when attacking, this Pokémon\nmay cause the target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "臭い においを 放つことによって\n攻撃した ときに 相手を\nひるませることが ある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "通过释放臭臭的气味,\n在攻击的时候,\n有时会使对手畏缩。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "くさい においを はなつことによって\nこうげきした ときに あいてを\nひるませることが ある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "악취를 풍겨서\n공격했을 때 상대가\n풀죽을 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "發出臭氣,\n在攻擊的時候,\n有時會使對手畏縮。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Le Pokémon émet une odeur si nauséabonde\nqu’il peut effrayer sa cible.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Lässt das Ziel beim Angriff eventuell durch Gestank\nzurückschrecken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Puede amedrentar al rival al atacarlo debido al mal olor\nque emana.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "A volte il cattivo odore emesso dal Pokémon\nfa tentennare i nemici quando attacca.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "By releasing stench when attacking, this Pokémon\nmay cause the target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "臭い においを 放つことによって\n攻撃した ときに 相手を\nひるませることが ある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "通过释放臭臭的气味,\n在攻击的时候,\n有时会使对手畏缩。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "By releasing a stench when attacking, the Pokémon may cause the target to flinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 1, + "is_main_series": true, + "name": "stench", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "あくしゅう" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "악취" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "惡臭" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Puanteur" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Duftnote" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Hedor" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Tanfo" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Stench" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "あくしゅう" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "恶臭" + } + ], + "pokemon": [ + { + "is_hidden": true, + "pokemon": { + "name": "gloom", + "url": "https://pokeapi.co/api/v2/pokemon/44/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "grimer", + "url": "https://pokeapi.co/api/v2/pokemon/88/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "muk", + "url": "https://pokeapi.co/api/v2/pokemon/89/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "koffing", + "url": "https://pokeapi.co/api/v2/pokemon/109/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "weezing", + "url": "https://pokeapi.co/api/v2/pokemon/110/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "stunky", + "url": "https://pokeapi.co/api/v2/pokemon/434/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "skuntank", + "url": "https://pokeapi.co/api/v2/pokemon/435/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "trubbish", + "url": "https://pokeapi.co/api/v2/pokemon/568/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "garbodor", + "url": "https://pokeapi.co/api/v2/pokemon/569/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "garbodor-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10207/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-11.json b/backend/pokerogue/src/test/resources/json/ability/ability-11.json new file mode 100644 index 00000000..aae8e211 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-11.json @@ -0,0 +1,1070 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Wenn ein Pokémon mit dieser Fähigkeit von einer water Attacke getroffen wird, wird es um 1/4 seiner maximalen hp geheilt. Jeder andere Effekt der Attacke wird ignoriert.\n\nwater Attacken ignorieren den substitute dieses Pokémons.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Absorbiert water Attacken und heilt 1/4 der maximalen hp." + }, + { + "effect": "Whenever a water-type move hits this Pokémon, it heals for 1/4 of its maximum HP, negating any other effect on it.\n\nWater moves will ignore this Pokémon's substitute.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Absorbs water moves, healing for 1/4 max HP." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Changes water into HP.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Changes water into HP.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Changes water into HP.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Récupère des PV si touché\npar une capacité Eau.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "みずを うけると\nかいふくする。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "물을 받으면\n회복한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Récupère des PV si touché par\nune capacité Eau.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Treffer durch Wasser-Attacken\nregenerieren KP.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Recupera PS al recibir ataques de\ntipo Agua.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Ridà PS se il Pokémon subisce\nuna mossa di tipo Acqua.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "みずを 受けると\n回復する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": " ずを うけると\nかいふくする。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "물을 받으면\n회복한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Récupère des PV si touché par\nune capacité Eau.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Treffer durch Wasser-Attacken\nregenerieren KP.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Recupera PS al recibir ataques de\ntipo Agua.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Ridà PS se il Pokémon subisce\nuna mossa di tipo Acqua.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Restores HP if hit by a\nWater-type move.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": " ずを 受けると\n回復する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "みずタイプの わざを うけると\nダメージを うけずに かいふくする。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "물타입의 기술을 받으면\n데미지를 받지 않고 회복한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "受到水屬性的招式攻擊時,\n不會受到傷害,而是會回復。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Si le Pokémon est touché par une capacité Eau,\nil ne subit aucun dégât et regagne des PV à la place.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Treffer durch Wasser-Attacken verursachen keinen\nSchaden, sondern regenerieren stattdessen KP.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Si le alcanza un movimiento de tipo Agua,\nrecupera PS en vez de sufrir daño.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Se il Pokémon subisce una mossa di tipo Acqua,\nrecupera PS anziché subire danni.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Restores HP if hit by a Water-type move, instead of\ntaking damage.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "みずタイプの 技を 受けると\nダメージを 受けずに 回復する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "受到水属性的招式攻击时,\n不会受到伤害,而是会回复。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "みずタイプの わざを うけると\nダメージを うけずに かいふくする。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "물타입의 기술을 받으면\n데미지를 받지 않고 회복한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "受到水屬性的招式攻擊時,\n不會受到傷害,而是會回復。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Si le Pokémon est touché par une capacité Eau,\nil ne subit aucun dégât et regagne des PV à la place.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Treffer durch Wasser-Attacken verursachen keinen\nSchaden, sondern regenerieren stattdessen KP.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Si le alcanza un movimiento de tipo Agua,\nrecupera PS en vez de sufrir daño.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Se il Pokémon subisce una mossa di tipo Acqua,\nrecupera PS anziché subire danni.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Restores HP if hit by a Water-type move, instead of\ntaking damage.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "みずタイプの 技を 受けると\nダメージを 受けずに 回復する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "受到水属性的招式攻击时,\n不会受到伤害,而是会回复。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "みずタイプの わざを うけると\nダメージを うけずに かいふくする。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "물타입의 기술을 받으면\n데미지를 받지 않고 회복한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "受到水屬性的招式攻擊時,\n不會受到傷害,而是會回復。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Si le Pokémon est touché par une capacité Eau,\nil ne subit aucun dégât et regagne des PV à la place.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Treffer durch Wasser-Attacken verursachen keinen\nSchaden, sondern regenerieren stattdessen KP.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Si le alcanza un movimiento de tipo Agua,\nrecupera PS en vez de sufrir daño.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Se il Pokémon subisce una mossa di tipo Acqua,\nrecupera PS anziché subire danni.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Restores HP if hit by a Water-type move instead of\ntaking damage.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "みずタイプの 技を 受けると\nダメージを 受けずに 回復する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "受到水属性的招式攻击时,\n不会受到伤害,而是会回复。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "みずタイプの わざを うけると\nダメージを うけずに かいふくする。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "물타입의 기술을 받으면\n데미지를 받지 않고 회복한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "受到水屬性的招式攻擊時,\n不會受到傷害,而是會回復。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Si le Pokémon est touché par une capacité Eau,\nil ne subit aucun dégât et regagne des PV à la place.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Treffer durch Wasser-Attacken verursachen keinen\nSchaden, sondern regenerieren stattdessen KP.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Si le alcanza un movimiento de tipo Agua, recupera PS\nen vez de sufrir daño.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Se il Pokémon viene colpito da una mossa di tipo\nAcqua, recupera PS anziché subire danni.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Restores HP if hit by a Water-type move instead of\ntaking damage.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "みずタイプの 技を 受けると\nダメージを 受けずに 回復する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "受到水属性的招式攻击时,\n不会受到伤害,而是会回复。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "If hit by a Water-type move, the Pokémon has its HP restored instead of taking damage.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 11, + "is_main_series": true, + "name": "water-absorb", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ちょすい" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "저수" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "儲水" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Absorbe-Eau" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "H2O-Absorber" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Absorbe Agua" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Assorbacqua" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Water Absorb" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ちょすい" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "储水" + } + ], + "pokemon": [ + { + "is_hidden": false, + "pokemon": { + "name": "poliwag", + "url": "https://pokeapi.co/api/v2/pokemon/60/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "poliwhirl", + "url": "https://pokeapi.co/api/v2/pokemon/61/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "poliwrath", + "url": "https://pokeapi.co/api/v2/pokemon/62/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "lapras", + "url": "https://pokeapi.co/api/v2/pokemon/131/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "vaporeon", + "url": "https://pokeapi.co/api/v2/pokemon/134/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "chinchou", + "url": "https://pokeapi.co/api/v2/pokemon/170/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "lanturn", + "url": "https://pokeapi.co/api/v2/pokemon/171/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "politoed", + "url": "https://pokeapi.co/api/v2/pokemon/186/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "wooper", + "url": "https://pokeapi.co/api/v2/pokemon/194/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "quagsire", + "url": "https://pokeapi.co/api/v2/pokemon/195/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "mantine", + "url": "https://pokeapi.co/api/v2/pokemon/226/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "cacnea", + "url": "https://pokeapi.co/api/v2/pokemon/331/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "cacturne", + "url": "https://pokeapi.co/api/v2/pokemon/332/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "mantyke", + "url": "https://pokeapi.co/api/v2/pokemon/458/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "tympole", + "url": "https://pokeapi.co/api/v2/pokemon/535/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "palpitoad", + "url": "https://pokeapi.co/api/v2/pokemon/536/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "seismitoad", + "url": "https://pokeapi.co/api/v2/pokemon/537/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "maractus", + "url": "https://pokeapi.co/api/v2/pokemon/556/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "frillish", + "url": "https://pokeapi.co/api/v2/pokemon/592/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "jellicent", + "url": "https://pokeapi.co/api/v2/pokemon/593/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "volcanion", + "url": "https://pokeapi.co/api/v2/pokemon/721/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "dewpider", + "url": "https://pokeapi.co/api/v2/pokemon/751/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "araquanid", + "url": "https://pokeapi.co/api/v2/pokemon/752/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "dracovish", + "url": "https://pokeapi.co/api/v2/pokemon/882/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "arctovish", + "url": "https://pokeapi.co/api/v2/pokemon/883/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "clodsire", + "url": "https://pokeapi.co/api/v2/pokemon/980/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "araquanid-totem", + "url": "https://pokeapi.co/api/v2/pokemon/10153/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "lapras-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10204/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "wooper-paldea", + "url": "https://pokeapi.co/api/v2/pokemon/10253/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "ogerpon-wellspring-mask", + "url": "https://pokeapi.co/api/v2/pokemon/10273/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-119.json b/backend/pokerogue/src/test/resources/json/ability/ability-119.json new file mode 100644 index 00000000..976c0a79 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-119.json @@ -0,0 +1,1101 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "When this Pokémon enters battle, it reveals an opposing Pokémon's held item to all participating trainers.\n\nIn a double battle, if one opponent has an item, this Pokémon will Frisk that Pokémon; if both have an item, it will Frisk one at random.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Reveals an opponent's held item upon entering battle." + }, + { + "effect": "Wenn ein Pokémon mit dieser Fähigkeit den Kampf betritt, wird allen Trainern mitgeteilt, welches Item der Gegner hält.\n\nWenn bei Mehrfachkämpfen ein Gegner ein Item hält, wird dieses angezeigt, wenn mehr ein Item halten wird ein zufälliges angekündigt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Enthüllt bei Kampfantritt das getragene Item des Gegners." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "The Pokémon can check\nthe foe’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "The Pokémon can check\nthe foe’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "The Pokémon can check\nthe foe’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Permet de connaître\nl’objet tenu par l’ennemi.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The Pokémon can check\na foe’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The Pokémon can check\na foe’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "あいての もちものを\nしることが できる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "상대가 지닌 물건을\n알 수 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Permet de connaître l’objet tenu\npar l’ennemi.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Gibt Auskunft über gegnerische\nItems.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "El Pokémon puede ver el objeto\nque lleva el rival.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Il Pokémon scopre che\nstrumento ha il nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "The Pokémon can check an\nopposing Pokémon’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "相手の 持ち物を\n知ることが できる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "あいての もちものを\nしることが できる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "상대가 지닌 물건을\n알 수 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Permet de connaître l’objet tenu\npar l’ennemi.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Gibt Auskunft über gegnerische\nItems.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "El Pokémon puede ver el objeto\nque lleva el rival.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Il Pokémon scopre che\nstrumento ha il nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "The Pokémon can check an\nopposing Pokémon’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "相手の 持ち物を\n知ることが できる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "とうじょう したとき\nあいての もちものを\nみとおすことが できる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "등장했을 때\n상대의 지닌 물건을\n통찰할 수 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "出場時,\n可以察覺對手的持有物。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Permet de connaître l’objet tenu par l’ennemi\nquand le combat commence.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Kann bei Kampfantritt Auskunft über das vom\nGegner getragene Item geben.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "El Pokémon puede ver el objeto que lleva el rival al\nentrar en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, rivela\nlo strumento del nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "When it enters a battle, the Pokémon can check an\nopposing Pokémon’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "登場 したとき\n相手の 持ち物を\n見通すことが できる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "出场时,\n可以察觉对手的持有物。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "とうじょう したとき\nあいての もちものを\nみとおすことが できる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "등장했을 때\n상대의 지닌 물건을\n통찰할 수 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "出場時,\n可以察覺對手的持有物。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Permet de connaître l’objet tenu par l’ennemi\nquand le combat commence.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Kann bei Kampfantritt Auskunft über das vom\nGegner getragene Item geben.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "El Pokémon puede ver el objeto que lleva el rival al\nentrar en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, rivela\nlo strumento del nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "When it enters a battle, the Pokémon can check an\nopposing Pokémon’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "登場 したとき\n相手の 持ち物を\n見通すことが できる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "出场时,\n可以察觉对手的持有物。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "とうじょう したとき\nあいての もちものを\nみとおすことが できる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "등장했을 때\n상대의 지닌 물건을\n통찰할 수 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "出場時,\n可以察覺對手的持有物。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Permet de connaître l’objet tenu par l’ennemi\nquand le combat commence.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Kann bei Kampfantritt Auskunft über das vom\nGegner getragene Item geben.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "El Pokémon puede ver el objeto que lleva el rival al\nentrar en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, rivela\nlo strumento del nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "When it enters a battle, the Pokémon can check an\nopposing Pokémon’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "登場 したとき\n相手の 持ち物を\n見通すことが できる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "出场时,\n可以察觉对手的持有物。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "とうじょう したとき\nあいての もちものを\nみとおすことが できる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "등장했을 때\n상대의 지닌 물건을\n통찰할 수 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "出場時,\n可以察覺對手的持有物。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Permet de connaître l’objet tenu par l’ennemi\nquand le combat commence.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Kann bei Kampfantritt Auskunft über das vom Gegner\ngetragene Item geben.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Puede ver el objeto que lleva el rival al entrar en\ncombate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, rivela\nlo strumento del nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "When it enters a battle, the Pokémon can check an\nopposing Pokémon’s held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "登場 したとき\n相手の 持ち物を\n見通すことが できる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "出场时,\n可以察觉对手的持有物。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "When it enters a battle, the Pokémon can check an opposing Pokémon's held item.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + }, + "id": 119, + "is_main_series": true, + "name": "frisk", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "おみとおし" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "통찰" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "察覺" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Fouille" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Schnüffler" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Cacheo" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Indagine" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Frisk" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "おみとおし" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "察觉" + } + ], + "pokemon": [ + { + "is_hidden": true, + "pokemon": { + "name": "wigglytuff", + "url": "https://pokeapi.co/api/v2/pokemon/40/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "sentret", + "url": "https://pokeapi.co/api/v2/pokemon/161/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "furret", + "url": "https://pokeapi.co/api/v2/pokemon/162/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "yanma", + "url": "https://pokeapi.co/api/v2/pokemon/193/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "stantler", + "url": "https://pokeapi.co/api/v2/pokemon/234/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "shuppet", + "url": "https://pokeapi.co/api/v2/pokemon/353/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "banette", + "url": "https://pokeapi.co/api/v2/pokemon/354/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "duskull", + "url": "https://pokeapi.co/api/v2/pokemon/355/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "dusclops", + "url": "https://pokeapi.co/api/v2/pokemon/356/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "yanmega", + "url": "https://pokeapi.co/api/v2/pokemon/469/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "dusknoir", + "url": "https://pokeapi.co/api/v2/pokemon/477/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gothita", + "url": "https://pokeapi.co/api/v2/pokemon/574/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gothorita", + "url": "https://pokeapi.co/api/v2/pokemon/575/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gothitelle", + "url": "https://pokeapi.co/api/v2/pokemon/576/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "phantump", + "url": "https://pokeapi.co/api/v2/pokemon/708/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "trevenant", + "url": "https://pokeapi.co/api/v2/pokemon/709/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "pumpkaboo-average", + "url": "https://pokeapi.co/api/v2/pokemon/710/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gourgeist-average", + "url": "https://pokeapi.co/api/v2/pokemon/711/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "noibat", + "url": "https://pokeapi.co/api/v2/pokemon/714/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "noivern", + "url": "https://pokeapi.co/api/v2/pokemon/715/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "orbeetle", + "url": "https://pokeapi.co/api/v2/pokemon/826/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "impidimp", + "url": "https://pokeapi.co/api/v2/pokemon/859/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "morgrem", + "url": "https://pokeapi.co/api/v2/pokemon/860/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "grimmsnarl", + "url": "https://pokeapi.co/api/v2/pokemon/861/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "wyrdeer", + "url": "https://pokeapi.co/api/v2/pokemon/899/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "flittle", + "url": "https://pokeapi.co/api/v2/pokemon/955/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "espathra", + "url": "https://pokeapi.co/api/v2/pokemon/956/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "munkidori", + "url": "https://pokeapi.co/api/v2/pokemon/1015/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "pumpkaboo-small", + "url": "https://pokeapi.co/api/v2/pokemon/10027/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "pumpkaboo-large", + "url": "https://pokeapi.co/api/v2/pokemon/10028/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "pumpkaboo-super", + "url": "https://pokeapi.co/api/v2/pokemon/10029/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gourgeist-small", + "url": "https://pokeapi.co/api/v2/pokemon/10030/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gourgeist-large", + "url": "https://pokeapi.co/api/v2/pokemon/10031/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gourgeist-super", + "url": "https://pokeapi.co/api/v2/pokemon/10032/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "exeggutor-alola", + "url": "https://pokeapi.co/api/v2/pokemon/10114/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "orbeetle-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10213/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "grimmsnarl-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10222/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "typhlosion-hisui", + "url": "https://pokeapi.co/api/v2/pokemon/10233/" + }, + "slot": 3 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-14.json b/backend/pokerogue/src/test/resources/json/ability/ability-14.json new file mode 100644 index 00000000..769b610a --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-14.json @@ -0,0 +1,957 @@ +{ + "effect_changes": [ + { + "effect_entries": [ + { + "effect": "Hat außerhalb vom Kampf keinen Effekt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "effect": "Has no overworld effect.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + } + ], + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + } + ], + "effect_entries": [ + { + "effect": "Die Attacken eines Pokémon mit dieser Fähigkeit haben eine um 30% erhöhte accuracy.\n\nDiese Fähigkeit hat keinen Einfluss auf K.O.-Attacken (fissure, guillotine, horn drill und sheer cold).\n\nAußerhalb vom Kampf: Wenn ein Pokémon mit dieser Fähigkeit an erster Stelle im Team steht, erhöht sich die Chance, dass ein wildes Pokémon ein Item trägt von 50%, 5% oder 1% auf 60%, 20% oder 5%, respektive.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Erhöht die accuracy von Attacken um 30%." + }, + { + "effect": "This Pokémon's moves have 1.3× their accuracy.\n\nThis ability has no effect on the one-hit KO moves (fissure, guillotine, horn drill, and sheer cold).\n\nOverworld: If the first Pokémon in the party has this ability, the chance of a wild Pokémon holding a particular item is raised from 50%, 5%, or 1% to 60%, 20%, or 5%, respectively.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Increases moves' accuracy to 1.3×." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Raises accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Raises accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Raises accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "The Pokémon’s accuracy is\nboosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "The Pokémon’s accuracy is\nboosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "The Pokémon’s accuracy\nis boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Augmente la Précision du\nPokémon.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The Pokémon’s accuracy\nis boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The Pokémon’s accuracy\nis boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "わざの めいちゅうりつが\nあがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "기술의 명중률이\n올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Augmente la Précision du\nPokémon.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Steigert die Genauigkeit\nvon Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Aumenta la Precisión del\nPokémon.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Aumenta la precisione\ndel Pokémon.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "技の 命中率が\nあがる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "わざの めいちゅうりつが\nあがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "기술의 명중률이\n올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Augmente la Précision du\nPokémon.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Steigert die Genauigkeit\nvon Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Aumenta la Precisión del\nPokémon.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Aumenta la precisione\ndel Pokémon.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "技の 命中率が\nあがる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "ふくがんを もっているため\nわざの めいちゅうりつが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "복안을 가지고 있어\n기술의 명중률이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "因為擁有複眼,\n會提高招式的命中率。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Les yeux à facettes du Pokémon augmentent\nsa Précision.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Erhöht die Genauigkeit von Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Aumenta la precisión de sus movimientos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "La precisione del Pokémon aumenta grazie ai suoi\nocchi composti.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "The Pokémon’s compound eyes boost its accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "複眼を 持っているため\n技の 命中率が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "因为拥有复眼,\n招式的命中率会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "ふくがんを もっているため\nわざの めいちゅうりつが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "복안을 가지고 있어\n기술의 명중률이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "因為擁有複眼,\n會提高招式的命中率。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Les yeux à facettes du Pokémon augmentent\nsa Précision.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Erhöht die Genauigkeit von Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Aumenta la precisión de sus movimientos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "La precisione del Pokémon aumenta grazie ai suoi\nocchi composti.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "The Pokémon’s compound eyes boost its accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "複眼を 持っているため\n技の 命中率が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "因为拥有复眼,\n招式的命中率会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "ふくがんを もっているため\nわざの めいちゅうりつが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "복안을 가지고 있어\n기술의 명중률이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "因為擁有複眼,\n會提高招式的命中率。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Les yeux à facettes du Pokémon augmentent\nsa Précision.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Erhöht die Genauigkeit von Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Aumenta la precisión de sus movimientos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "La precisione del Pokémon aumenta grazie ai suoi\nocchi composti.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "The Pokémon’s compound eyes boost its accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "複眼を 持っているため\n技の 命中率が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "因为拥有复眼,\n招式的命中率会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "ふくがんを もっているため\nわざの めいちゅうりつが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "복안을 가지고 있어\n기술의 명중률이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "因為擁有複眼,\n會提高招式的命中率。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Les yeux à facettes du Pokémon augmentent\nsa Précision.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Erhöht die Genauigkeit von Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Aumenta la precisión de sus movimientos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "La precisione del Pokémon aumenta grazie ai suoi\nocchi composti.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon’s compound eyes boost its accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "複眼を 持っているため\n技の 命中率が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "因为拥有复眼,\n招式的命中率会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon's compound eyes boost its accuracy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 14, + "is_main_series": true, + "name": "compound-eyes", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ふくがん" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "복안" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "複眼" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Œil Composé" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Facettenauge" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Ojo Compuesto" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Insettocchi" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Compound Eyes" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ふくがん" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "复眼" + } + ], + "pokemon": [ + { + "is_hidden": false, + "pokemon": { + "name": "butterfree", + "url": "https://pokeapi.co/api/v2/pokemon/12/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "venonat", + "url": "https://pokeapi.co/api/v2/pokemon/48/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "yanma", + "url": "https://pokeapi.co/api/v2/pokemon/193/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "dustox", + "url": "https://pokeapi.co/api/v2/pokemon/269/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "nincada", + "url": "https://pokeapi.co/api/v2/pokemon/290/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "joltik", + "url": "https://pokeapi.co/api/v2/pokemon/595/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "galvantula", + "url": "https://pokeapi.co/api/v2/pokemon/596/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "scatterbug", + "url": "https://pokeapi.co/api/v2/pokemon/664/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "vivillon", + "url": "https://pokeapi.co/api/v2/pokemon/666/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "blipbug", + "url": "https://pokeapi.co/api/v2/pokemon/824/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "dottler", + "url": "https://pokeapi.co/api/v2/pokemon/825/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "rellor", + "url": "https://pokeapi.co/api/v2/pokemon/953/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "butterfree-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10198/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-143.json b/backend/pokerogue/src/test/resources/json/ability/ability-143.json new file mode 100644 index 00000000..1184394f --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-143.json @@ -0,0 +1,852 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Die Attacken mit Kontakt von Pokémon mit dieser Fähigkeit haben mit jedem Schlag eine 30% Chance das Ziel zu vergiften.\n\nDas zählt als Zusatzeffekt im Sinne von shield dust. Diese Fähigkeit löst vor mummy aus.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "30% Chance, den Gegner bei Kontakt zu vergiften." + }, + { + "effect": "This Pokémon's contact moves have a 30% chance of poisoning the target with each hit.\n\nThis counts as an extra effect for the purposes of shield dust. This ability takes effect before mummy.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Has a 30% chance of poisoning target Pokémon upon contact." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Peut empoisonner l’ennemi\npar simple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "May poison targets when a\nPokémon makes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "May poison targets when a\nPokémon makes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "さわるだけで あいてを\nどくにすることがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "접촉하기만 해도 상대를\n독 상태로 만들 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Peut empoisonner l’ennemi par\nsimple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Kann das Ziel durch\nbloßes Berühren vergiften.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Puede envenenar al objetivo con\nsolo tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Può avvelenare il nemico al solo\ncontatto fisico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "May poison a target when the\nPokémon makes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "触るだけで 相手を\nどくにすることがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "さわるだけで あいてを\nどくにすることがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "접촉하기만 해도 상대를\n독 상태로 만들 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Peut empoisonner l’ennemi par\nsimple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Kann das Ziel durch\nbloßes Berühren vergiften.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Puede envenenar al objetivo con\nsolo tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Può avvelenare il nemico al solo\ncontatto fisico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "May poison a target when the\nPokémon makes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "触るだけで 相手を\nどくにすることがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "さわる だけで あいてを\nどく じょうたいに することがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "접촉하기만 해도 상대를\n독 상태로 만들 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "有時僅是接觸\n就能讓對手中毒。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Peut empoisonner l’ennemi par simple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Kann das Ziel durch bloßes Berühren vergiften.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Puede envenenar al objetivo con solo tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Può avvelenare il nemico al solo contatto.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "May poison a target when the Pokémon\nmakes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "触る だけで 相手を\nどく 状態に することがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "只通过接触就有可能\n让对手变为中毒状态。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "さわる だけで あいてを\nどく じょうたいに することがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "접촉하기만 해도 상대를\n독 상태로 만들 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "有時僅是接觸\n就能讓對手中毒。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Peut empoisonner l’ennemi par simple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Kann das Ziel durch bloßes Berühren vergiften.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Puede envenenar al objetivo con solo tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Può avvelenare il nemico al solo contatto.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "May poison a target when the Pokémon\nmakes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "触る だけで 相手を\nどく 状態に することがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "只通过接触就有可能\n让对手变为中毒状态。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "さわる だけで あいてを\nどく じょうたいに することがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "접촉하기만 해도 상대를\n독 상태로 만들 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "有時僅是接觸\n就能讓對手中毒。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Peut empoisonner l’ennemi par simple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Kann das Ziel durch bloßes Berühren vergiften.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Puede envenenar al objetivo con solo tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Può avvelenare il nemico al solo contatto.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "May poison a target when the Pokémon\nmakes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "触る だけで 相手を\nどく 状態に することがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "只通过接触就有可能\n让对手变为中毒状态。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "さわる だけで あいてを\nどく じょうたいに することがある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "접촉하기만 해도 상대를\n독 상태로 만들 때가 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "有時僅是接觸\n就能讓對手中毒。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Peut empoisonner l’ennemi par simple contact.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Kann das Ziel durch bloßes Berühren vergiften.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Puede envenenar al objetivo con solo tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Il Pokémon può avvelenare il nemico al solo contatto.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "May poison a target when the Pokémon\nmakes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "触る だけで 相手を\nどく 状態に することがある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "只通过接触就有可能\n让对手变为中毒状态。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "May poison a target when the Pokémon makes contact.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + }, + "id": 143, + "is_main_series": true, + "name": "poison-touch", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "どくしゅ" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "독수" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "毒手" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Toxitouche" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Giftgriff" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Toque Tóxico" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Velentocco" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Poison Touch" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "どくしゅ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "毒手" + } + ], + "pokemon": [ + { + "is_hidden": true, + "pokemon": { + "name": "grimer", + "url": "https://pokeapi.co/api/v2/pokemon/88/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "muk", + "url": "https://pokeapi.co/api/v2/pokemon/89/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "croagunk", + "url": "https://pokeapi.co/api/v2/pokemon/453/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "toxicroak", + "url": "https://pokeapi.co/api/v2/pokemon/454/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "seismitoad", + "url": "https://pokeapi.co/api/v2/pokemon/537/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "skrelp", + "url": "https://pokeapi.co/api/v2/pokemon/690/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "dragalge", + "url": "https://pokeapi.co/api/v2/pokemon/691/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "sneasler", + "url": "https://pokeapi.co/api/v2/pokemon/903/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "grafaiai", + "url": "https://pokeapi.co/api/v2/pokemon/945/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "grimer-alola", + "url": "https://pokeapi.co/api/v2/pokemon/10112/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "muk-alola", + "url": "https://pokeapi.co/api/v2/pokemon/10113/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-2.json b/backend/pokerogue/src/test/resources/json/ability/ability-2.json new file mode 100644 index 00000000..65cc58e6 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-2.json @@ -0,0 +1,854 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Das weather ändert sich zu rain wenn ein Pokémon mit dieser Fähigkeit den Kampf betritt. Dieser Effekt ist dauerhaft bis das weather geändert wird.\n\nWenn mehrere Pokémon mit dieser Fähigkeit, drought, sand stream oder snow warning zur selben Zeit den Kampf betreten, werden die Fähigkeiten nach Reihenfolge der speed der Pokémon ausgelöst, unter Berücksichtigung von trick room.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Ändert beim Betreten des Kampfes das weather in rain." + }, + { + "effect": "The weather changes to rain when this Pokémon enters battle and does not end unless replaced by another weather condition.\n\nIf multiple Pokémon with this ability, drought, sand stream, or snow warning are sent out at the same time, the abilities will activate in order of Speed, respecting trick room. Each ability's weather will cancel the previous weather, and only the weather summoned by the slowest of the Pokémon will stay.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Summons rain that lasts indefinitely upon entering battle." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Summons rain in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Summons rain in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Summons rain in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nif it appears in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nif it appears in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nif it appears in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie\nquand il entre au combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nif it appears in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nif it appears in battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "せんとうに でると\nあめを ふらす。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "배틀에 나가면\n비를 내린다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie\nquand il entre au combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Ruft im Kampf Regen herbei.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Hace que llueva cuando entra en\ncombate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Quando scende in campo,\nil Pokémon attira la pioggia.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nwhen it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "戦闘に でると\n雨を 降らす。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "せんとうに でると\nあめを ふらす。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "배틀에 나가면\n비를 내린다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie\nquand il entre au combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Ruft im Kampf Regen herbei.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Hace que llueva cuando entra en\ncombate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Quando scende in campo,\nil Pokémon attira la pioggia.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "The Pokémon makes it rain\nwhen it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "戦闘に でると\n雨を 降らす。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "とうじょう したときに\nてんきを あめに する。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "등장했을 때\n날씨를 비로 만든다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "出場時,\n會將天氣變為下雨。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie quand il entre\nau combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Ruft bei Kampfantritt Regen herbei.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Hace que llueva cuando entra en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, attira la pioggia.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "The Pokémon makes it rain when it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "登場 したときに\n天気を 雨に する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "出场时,\n会将天气变为下雨。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "とうじょう したときに\nてんきを あめに する。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "등장했을 때\n날씨를 비로 만든다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "出場時,\n會將天氣變為下雨。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie quand il entre\nau combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Ruft bei Kampfantritt Regen herbei.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Hace que llueva cuando entra en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, attira la pioggia.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "The Pokémon makes it rain when it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "登場 したときに\n天気を 雨に する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "出场时,\n会将天气变为下雨。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "とうじょう したときに\nてんきを あめに する。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "등장했을 때\n날씨를 비로 만든다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "出場時,\n會將天氣變為下雨。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie quand il entre\nau combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Ruft bei Kampfantritt Regen herbei.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Hace que llueva cuando entra en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, attira la pioggia.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "The Pokémon makes it rain when it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "登場 したときに\n天気を 雨に する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "出场时,\n会将天气变为下雨。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "とうじょう したときに\nてんきを あめに する。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "등장했을 때\n날씨를 비로 만든다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "出場時,\n會將天氣變為下雨。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Le Pokémon invoque la pluie quand il entre au combat.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Ruft bei Kampfantritt Regen herbei.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Hace que llueva al entrar en combate.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Quando il Pokémon entra in campo, attira la pioggia.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon makes it rain when it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "登場 したときに\n天気を 雨に する。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "出场时,\n会将天气变为下雨。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon makes it rain when it enters a battle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 2, + "is_main_series": true, + "name": "drizzle", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "あめふらし" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "잔비" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "降雨" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Crachin" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Niesel" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Llovizna" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Piovischio" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Drizzle" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "あめふらし" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "降雨" + } + ], + "pokemon": [ + { + "is_hidden": true, + "pokemon": { + "name": "politoed", + "url": "https://pokeapi.co/api/v2/pokemon/186/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "pelipper", + "url": "https://pokeapi.co/api/v2/pokemon/279/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "kyogre", + "url": "https://pokeapi.co/api/v2/pokemon/382/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-3.json b/backend/pokerogue/src/test/resources/json/ability/ability-3.json new file mode 100644 index 00000000..98de6f5b --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-3.json @@ -0,0 +1,942 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Die speed des Pokémon erhöht sich jede Runde um 1 Stufe.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Steigert die speed um 1 Stufe nach jeder Runde." + }, + { + "effect": "This Pokémon's Speed rises one stage after each turn.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Raises Speed one stage after each turn." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Gradually boosts SPEED.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Gradually boosts SPEED.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Gradually boosts SPEED.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "The Pokémon’s Speed stat\nis gradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "The Pokémon’s Speed stat\nis gradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "Its Speed stat is\ngradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon\naugmente progressivement.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Its Speed stat is\ngradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Its Speed stat is\ngradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "ちょっとずつ\nすばやく なっていく。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "조금씩\n스피드가 높아진다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon\naugmente progressivement.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Erhöht Initiative nach und nach.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Aumenta la Velocidad\ngradualmente.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "La statistica Velocità aumenta\ngradualmente.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Its Speed stat is\ngradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "ちょっとずつ\n素早く なっていく。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "ちょっとずつ\nすばやく なっていく。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "조금씩\n스피드가 높아진다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon\naugmente progressivement.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Erhöht Initiative nach und nach.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Aumenta la Velocidad\ngradualmente.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "La statistica Velocità aumenta\ngradualmente.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Its Speed stat is\ngradually boosted.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "ちょっとずつ\n素早く なっていく。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "まいターン すばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "매 턴 스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "每一回合速度會變快。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon augmente à chaque tour.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Erhöht in jeder Runde die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Aumenta la Velocidad en cada turno.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "La Velocità aumenta a ogni turno.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Its Speed stat is boosted every turn.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "毎ターン 素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "每一回合速度会变快。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "まいターン すばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "매 턴 스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "每一回合速度會變快。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon augmente à chaque tour.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Erhöht in jeder Runde die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Aumenta la Velocidad en cada turno.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "La Velocità aumenta a ogni turno.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Its Speed stat is boosted every turn.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "毎ターン 素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "每一回合速度会变快。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "まいターン すばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "매 턴 스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "每一回合速度會變快。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon augmente à chaque tour.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Erhöht in jeder Runde die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Aumenta la Velocidad en cada turno.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "La Velocità aumenta a ogni turno.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Its Speed stat is boosted every turn.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "毎ターン 素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "每一回合速度会变快。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "まいターン すばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "매 턴 스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "每一回合速度會變快。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "La Vitesse du Pokémon augmente à chaque tour.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Erhöht in jeder Runde die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Aumenta su Velocidad en cada turno.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "La Velocità aumenta a ogni turno.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Its Speed stat is boosted every turn.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "毎ターン 素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "每一回合速度会变快。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon's Speed stat is boosted every turn.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 3, + "is_main_series": true, + "name": "speed-boost", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "かそく" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "가속" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "加速" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Turbo" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Temposchub" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Impulso" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Acceleratore" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Speed Boost" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "かそく" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "加速" + } + ], + "pokemon": [ + { + "is_hidden": false, + "pokemon": { + "name": "yanma", + "url": "https://pokeapi.co/api/v2/pokemon/193/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "torchic", + "url": "https://pokeapi.co/api/v2/pokemon/255/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "combusken", + "url": "https://pokeapi.co/api/v2/pokemon/256/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "blaziken", + "url": "https://pokeapi.co/api/v2/pokemon/257/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "ninjask", + "url": "https://pokeapi.co/api/v2/pokemon/291/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "carvanha", + "url": "https://pokeapi.co/api/v2/pokemon/318/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "sharpedo", + "url": "https://pokeapi.co/api/v2/pokemon/319/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "yanmega", + "url": "https://pokeapi.co/api/v2/pokemon/469/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "venipede", + "url": "https://pokeapi.co/api/v2/pokemon/543/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "whirlipede", + "url": "https://pokeapi.co/api/v2/pokemon/544/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "scolipede", + "url": "https://pokeapi.co/api/v2/pokemon/545/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "flittle", + "url": "https://pokeapi.co/api/v2/pokemon/955/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "espathra", + "url": "https://pokeapi.co/api/v2/pokemon/956/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "blaziken-mega", + "url": "https://pokeapi.co/api/v2/pokemon/10050/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-34.json b/backend/pokerogue/src/test/resources/json/ability/ability-34.json new file mode 100644 index 00000000..f2d85944 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-34.json @@ -0,0 +1,1142 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Während strong sunlight ist die speed eines Pokémon mit dieser Fähigkeit doppelt so hoch wie normal.\n\nDieser Bonus zählt nicht als stat modifier.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Verdoppelt die speed während starkem Sonnenlicht." + }, + { + "effect": "This Pokémon's Speed is doubled during strong sunlight.\n\nThis bonus does not count as a stat modifier.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Doubles Speed during strong sunlight." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Raises SPEED in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Raises SPEED in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Raises SPEED in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Augmente la Vitesse du\nPokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "はれのとき すばやさが\nあがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "맑을 때 스피드가\n올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Augmente la Vitesse du\nPokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Steigert bei Sonnenschein\ndie Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Sube la Velocidad cuando hay\nsol.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Se c’è il sole, la statistica\nVelocità aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed stat in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "晴れのとき 素早さが\nあがる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "はれのとき すばやさが\nあがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "맑을 때 스피드가\n올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Augmente la Vitesse du\nPokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Steigert bei Sonnenschein\ndie Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Sube la Velocidad cuando hay\nsol.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Se c’è il sole, la statistica\nVelocità aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s\nSpeed stat in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "晴れのとき 素早さが\nあがる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "てんきが はれのとき\nすばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "날씨가 맑을 때\n스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "天氣為晴朗時,\n速度會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Augmente la Vitesse du Pokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Erhöht bei Sonnenschein die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Sube la Velocidad cuando hace sol.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Se la luce del sole è intensa, la Velocità aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s Speed stat in sunshine.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "天気が 晴れのとき\n素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "晴朗天气时,\n速度会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "てんきが はれのとき\nすばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "날씨가 맑을 때\n스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "天氣為晴朗時,\n速度會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Augmente la Vitesse du Pokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Erhöht bei Sonnenschein die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Sube la Velocidad cuando hace sol.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Se la luce del sole è intensa, la Velocità aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s Speed stat in harsh sunlight.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "天気が 晴れのとき\n素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "晴朗天气时,\n速度会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "てんきが はれのとき\nすばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "날씨가 맑을 때\n스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "天氣為晴朗時,\n速度會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Augmente la Vitesse du Pokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Erhöht bei Sonnenschein die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Sube la Velocidad cuando hace sol.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Se la luce del sole è intensa, la Velocità aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s Speed stat in harsh sunlight.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "天気が 晴れのとき\n素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "晴朗天气时,\n速度会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "てんきが はれのとき\nすばやさが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "날씨가 맑을 때\n스피드가 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "天氣為晴朗時,\n速度會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Augmente la Vitesse du Pokémon s’il y a du soleil.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Erhöht bei Sonnenschein die Initiative.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Sube su Velocidad cuando hace sol.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Se la luce del sole è intensa, la Velocità aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Boosts the Pokémon’s Speed stat in harsh sunlight.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "天気が 晴れのとき\n素早さが 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "晴朗天气时,\n速度会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Boosts the Pokémon's Speed stat in harsh sunlight.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 34, + "is_main_series": true, + "name": "chlorophyll", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ようりょくそ" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "엽록소" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "葉綠素" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Chlorophylle" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Chlorophyll" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Clorofila" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Clorofilla" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Chlorophyll" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ようりょくそ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "叶绿素" + } + ], + "pokemon": [ + { + "is_hidden": true, + "pokemon": { + "name": "bulbasaur", + "url": "https://pokeapi.co/api/v2/pokemon/1/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "ivysaur", + "url": "https://pokeapi.co/api/v2/pokemon/2/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "venusaur", + "url": "https://pokeapi.co/api/v2/pokemon/3/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "oddish", + "url": "https://pokeapi.co/api/v2/pokemon/43/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gloom", + "url": "https://pokeapi.co/api/v2/pokemon/44/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "vileplume", + "url": "https://pokeapi.co/api/v2/pokemon/45/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "bellsprout", + "url": "https://pokeapi.co/api/v2/pokemon/69/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "weepinbell", + "url": "https://pokeapi.co/api/v2/pokemon/70/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "victreebel", + "url": "https://pokeapi.co/api/v2/pokemon/71/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "exeggcute", + "url": "https://pokeapi.co/api/v2/pokemon/102/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "exeggutor", + "url": "https://pokeapi.co/api/v2/pokemon/103/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "tangela", + "url": "https://pokeapi.co/api/v2/pokemon/114/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "bellossom", + "url": "https://pokeapi.co/api/v2/pokemon/182/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "hoppip", + "url": "https://pokeapi.co/api/v2/pokemon/187/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "skiploom", + "url": "https://pokeapi.co/api/v2/pokemon/188/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "jumpluff", + "url": "https://pokeapi.co/api/v2/pokemon/189/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "sunkern", + "url": "https://pokeapi.co/api/v2/pokemon/191/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "sunflora", + "url": "https://pokeapi.co/api/v2/pokemon/192/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "seedot", + "url": "https://pokeapi.co/api/v2/pokemon/273/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "nuzleaf", + "url": "https://pokeapi.co/api/v2/pokemon/274/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "shiftry", + "url": "https://pokeapi.co/api/v2/pokemon/275/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "tropius", + "url": "https://pokeapi.co/api/v2/pokemon/357/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "cherubi", + "url": "https://pokeapi.co/api/v2/pokemon/420/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "tangrowth", + "url": "https://pokeapi.co/api/v2/pokemon/465/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "leafeon", + "url": "https://pokeapi.co/api/v2/pokemon/470/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "sewaddle", + "url": "https://pokeapi.co/api/v2/pokemon/540/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "swadloon", + "url": "https://pokeapi.co/api/v2/pokemon/541/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "leavanny", + "url": "https://pokeapi.co/api/v2/pokemon/542/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "cottonee", + "url": "https://pokeapi.co/api/v2/pokemon/546/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "whimsicott", + "url": "https://pokeapi.co/api/v2/pokemon/547/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "petilil", + "url": "https://pokeapi.co/api/v2/pokemon/548/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "lilligant", + "url": "https://pokeapi.co/api/v2/pokemon/549/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "maractus", + "url": "https://pokeapi.co/api/v2/pokemon/556/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "deerling", + "url": "https://pokeapi.co/api/v2/pokemon/585/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "sawsbuck", + "url": "https://pokeapi.co/api/v2/pokemon/586/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "capsakid", + "url": "https://pokeapi.co/api/v2/pokemon/951/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "scovillain", + "url": "https://pokeapi.co/api/v2/pokemon/952/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "venusaur-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10195/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "lilligant-hisui", + "url": "https://pokeapi.co/api/v2/pokemon/10237/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-6.json b/backend/pokerogue/src/test/resources/json/ability/ability-6.json new file mode 100644 index 00000000..44376114 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-6.json @@ -0,0 +1,990 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Wenn sich ein Pokémon mit dieser Fähigkeit im Kampf befindet, schlagen die Attacken self destruct und explosion fehl und aftermath hat keinen Effekt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Verhindert self destruct, explosion und aftermath." + }, + { + "effect": "While this Pokémon is in battle, self destruct and explosion will fail and aftermath will not take effect.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Prevents self destruct, explosion, and aftermath from working while the Pokémon is in battle." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Prevents self-destruction.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Prevents self-destruction.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Prevents self-destruction.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "Prevents combatants from\nself destructing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "Prevents combatants from\nself destructing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "Prevents combatants\nfrom self-destructing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Empêche les combattants\nde s’autodétruire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Prevents the use of\nself-destructing moves.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Prevents the use of\nself-destructing moves.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "だれも ばくはつが\nできなくなる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "누구도 폭발\n할 수 없게 된다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Empêche les combattants de\ns’autodétruire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Hält alle Pokémon davon ab,\nzu explodieren.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Evita que un Pokémon pueda\nautodestruirse.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Impedisce le mosse\nautodistruttive.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Prevents the use of\nself-destructing moves.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "だれも 爆発が\nできなくなる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "だれも ばくはつが\nできなくなる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "누구도 폭발\n할 수 없게 된다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Empêche les combattants de\ns’autodétruire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Hält alle Pokémon davon ab,\nzu explodieren.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Evita que un Pokémon pueda\nautodestruirse.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Impedisce le mosse\nautodistruttive.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Prevents the use of\nself-destructing moves.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "だれも 爆発が\nできなくなる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "あたりを しめらせることに よって\nじばく などの ばくはつする わざを\nだれも つかえなくなる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "주변을 습하게 함으로써\n자폭 등 폭발하는 기술을\n아무도 못 쓰게 한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "透過把周圍都弄濕,\n使誰都無法使用自爆等爆炸類的招式。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Le Pokémon augmente l’humidité de l’air,\nce qui empêche tous les Pokémon d’utiliser\ndes capacités explosives telles que Destruction.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Befeuchtet die Umgebung und verhindert so den\nEinsatz von Attacken wie Finale, die Explosionen\nauslösen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Aumenta la humedad del entorno y evita que se\npuedan utilizar movimientos explosivos, tales como\nAutodestrucción.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Aumenta l’umidità circostante, impedendo l’uso\ndi Autodistruzione e di altre mosse esplosive.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Prevents the use of explosive moves such as\nSelf-Destruct by dampening its surroundings.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "あたりを 湿らせることに よって\nじばく などの 爆発する 技を\nだれも 使えなくなる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "通过把周围都弄湿,\n使谁都无法使用自爆等爆炸类的招式。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "あたりを しめらせることに よって\nじばく などの ばくはつする わざを\nだれも つかえなくなる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "주변을 습하게 함으로써\n자폭 등 폭발하는 기술을\n아무도 못 쓰게 한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "透過把周圍都弄濕,\n使誰都無法使用自爆等爆炸類的招式。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Le Pokémon augmente l’humidité de l’air,\nce qui empêche tous les Pokémon d’utiliser\ndes capacités explosives telles que Destruction.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Befeuchtet die Umgebung und verhindert so den\nEinsatz von Attacken wie Finale, die Explosionen\nauslösen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Aumenta la humedad del entorno y evita que se\npuedan utilizar movimientos explosivos, tales como\nAutodestrucción.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Aumenta l’umidità circostante, impedendo l’uso\ndi Autodistruzione e di altre mosse esplosive.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Prevents the use of explosive moves such as\nSelf-Destruct by dampening its surroundings.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "あたりを 湿らせることに よって\nじばく などの 爆発する 技を\nだれも 使えなくなる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "通过把周围都弄湿,\n使谁都无法使用自爆等爆炸类的招式。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "あたりを しめらせることに よって\nじばく などの ばくはつする わざを\nだれも つかえなくなる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "주변을 습하게 함으로써\n자폭 등 폭발하는 기술을\n아무도 못 쓰게 한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "透過把周圍都弄濕,\n使誰都無法使用自爆等爆炸類的招式。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Le Pokémon augmente l’humidité de l’air,\nce qui empêche tous les Pokémon d’utiliser\ndes capacités explosives telles que Destruction.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Befeuchtet die Umgebung und verhindert so den\nEinsatz von Attacken wie Finale, die Explosionen\nauslösen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Aumenta la humedad del entorno y evita que se\npuedan utilizar movimientos explosivos, tales como\nAutodestrucción.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Aumenta l’umidità circostante, impedendo l’uso\ndi Autodistruzione e di altre mosse esplosive.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Prevents the use of explosive moves, such as\nSelf-Destruct, by dampening its surroundings.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "あたりを 湿らせることに よって\nじばく などの 爆発する 技を\nだれも 使えなくなる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "通过把周围都弄湿,\n使谁都无法使用自爆等爆炸类的招式。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "あたりを しめらせることに よって\nじばく などの ばくはつする わざを\nだれも つかえなくなる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "주변을 습하게 함으로써\n자폭 등 폭발하는 기술을\n아무도 못 쓰게 한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "透過把周圍都弄濕,\n使誰都無法使用自爆等爆炸類的招式。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Le Pokémon augmente l’humidité de l’air,\nce qui empêche tous les Pokémon d’utiliser\ndes capacités explosives telles que Destruction.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Befeuchtet die Umgebung und verhindert so den Einsatz\nvon Attacken wie Finale, die Explosionen auslösen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Aumenta la humedad del entorno y evita que se\npuedan utilizar movimientos explosivos, tales como\nAutodestrucción.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Aumenta l’umidità circostante, impedendo l’uso\ndi Autodistruzione e di altre mosse esplosive.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Prevents the use of explosive moves, such as\nSelf-Destruct, by dampening its surroundings.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "あたりを 湿らせることに よって\nじばく などの 爆発する 技を\nだれも 使えなくなる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "通过把周围都弄湿,\n使谁都无法使用自爆等爆炸类的招式。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon dampens its surroundings, preventing all Pokémon from using explosive moves such as Self-Destruct.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 6, + "is_main_series": true, + "name": "damp", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "しめりけ" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "습기" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "濕氣" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Moiteur" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Feuchtigkeit" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Humedad" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Umidità" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Damp" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "しめりけ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "湿气" + } + ], + "pokemon": [ + { + "is_hidden": true, + "pokemon": { + "name": "paras", + "url": "https://pokeapi.co/api/v2/pokemon/46/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "parasect", + "url": "https://pokeapi.co/api/v2/pokemon/47/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "psyduck", + "url": "https://pokeapi.co/api/v2/pokemon/54/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "golduck", + "url": "https://pokeapi.co/api/v2/pokemon/55/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "poliwag", + "url": "https://pokeapi.co/api/v2/pokemon/60/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "poliwhirl", + "url": "https://pokeapi.co/api/v2/pokemon/61/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "poliwrath", + "url": "https://pokeapi.co/api/v2/pokemon/62/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "horsea", + "url": "https://pokeapi.co/api/v2/pokemon/116/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "seadra", + "url": "https://pokeapi.co/api/v2/pokemon/117/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "politoed", + "url": "https://pokeapi.co/api/v2/pokemon/186/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "wooper", + "url": "https://pokeapi.co/api/v2/pokemon/194/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "quagsire", + "url": "https://pokeapi.co/api/v2/pokemon/195/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "kingdra", + "url": "https://pokeapi.co/api/v2/pokemon/230/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "mudkip", + "url": "https://pokeapi.co/api/v2/pokemon/258/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "marshtomp", + "url": "https://pokeapi.co/api/v2/pokemon/259/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "swampert", + "url": "https://pokeapi.co/api/v2/pokemon/260/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "frillish", + "url": "https://pokeapi.co/api/v2/pokemon/592/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "jellicent", + "url": "https://pokeapi.co/api/v2/pokemon/593/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "tadbulb", + "url": "https://pokeapi.co/api/v2/pokemon/938/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "bellibolt", + "url": "https://pokeapi.co/api/v2/pokemon/939/" + }, + "slot": 3 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-60.json b/backend/pokerogue/src/test/resources/json/ability/ability-60.json new file mode 100644 index 00000000..37f83173 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-60.json @@ -0,0 +1,933 @@ +{ + "effect_changes": [ + { + "effect_entries": [ + { + "effect": "Hat außerhalb vom Kampf keinen Effekt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "effect": "Has no overworld effect.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + } + ], + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + } + ], + "effect_entries": [ + { + "effect": "Einem Pokémon mit dieser Fähigkeit kann ein getragenes Item nicht gestohlen werden.\n\nAttacken die Schaden verursachen und Items entfernen verursachen immer noch Schaden, z.B. knock off oder pluck. Das Pokémon kann trotzdem Attacken einsetzen die eigene Items entfernen, wie z.B. fling oder trick.\n\nAußerhalb vom Kampf: Wenn ein Pokémon mit dieser Fähigkeit an erster Stelle im Team steht, erhöht sich die Erfolgsrate beim Angeln.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Verhindert, dass ein getragenes Item von einem anderen Pokémon gestohlen werden kann." + }, + { + "effect": "This Pokémon's hold item cannot be removed by other Pokémon.\n\nDamaging moves that would remove this Pokémon's item can still inflict damage against this Pokémon, e.g. knock off or pluck. This Pokémon can still use moves that involve the loss of its own item, e.g. fling or trick.\n\nOverworld: If the lead Pokémon has this ability, the encounter rate while fishing is increased.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Prevents a held item from being removed by other Pokémon." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "Prevents item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Prevents item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Prevents item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Fait s’agripper à l’objet\npour en empêcher le vol.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "ねんちゃくして\nどうぐを まもる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "달라붙어서\n도구를 지킨다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Fait s’agripper à l’objet pour\nen empêcher le vol.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Verhindert durch Klebe-Effekt\nItem-Diebstähle.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Protege al Pokémon del robo\nde objetos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Protegge il Pokémon dal furto\ndi strumenti.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "ねんちゃくして\n道具を 守る。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "ねんちゃくして\nどうぐを まもる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "달라붙어서\n도구를 지킨다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Fait s’agripper à l’objet pour\nen empêcher le vol.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Verhindert durch Klebe-Effekt\nItem-Diebstähle.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Protege al Pokémon del robo\nde objetos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Protegge il Pokémon dal furto\ndi strumenti.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Protects the Pokémon\nfrom item theft.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "ねんちゃくして\n道具を 守る。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "ねんちゃくしつの からだに\nどうぐが くっついているため\nあいてに どうぐを うばわれない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "점착질의 몸에\n도구가 달라붙어 있어\n상대에게 도구를 뺏기지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "道具會黏在\n具有黏性的身體上,\n不會被對手奪走。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Les objets sont collés au corps gluant du Pokémon,\nce qui empêche ses adversaires de les dérober.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Trägt es ein Item, bleibt dieses an seinem klebrigen\nKörper haften, wodurch Item-Diebstahl verhindert\nwird.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Protege al Pokémon del robo de objetos al quedarse\npegados a su cuerpo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Gli strumenti restano appiccicati al corpo adesivo\ndel Pokémon e non possono essere rubati.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Items held by the Pokémon are stuck fast and\ncannot be removed by other Pokémon.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "粘着質の 体に\n道具が くっついているため\n相手に 道具を 奪われない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "因为道具是粘在黏性身体上的,\n所以不会被对手夺走。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "ねんちゃくしつの からだに\nどうぐが くっついているため\nあいてに どうぐを うばわれない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "점착질의 몸에\n도구가 달라붙어 있어\n상대에게 도구를 뺏기지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "道具會黏在\n具有黏性的身體上,\n不會被對手奪走。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Les objets sont collés au corps gluant du Pokémon,\nce qui empêche ses adversaires de les dérober.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Trägt es ein Item, bleibt dieses an seinem klebrigen\nKörper haften, wodurch Item-Diebstahl verhindert\nwird.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Protege al Pokémon del robo de objetos al quedarse\npegados a su cuerpo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Gli strumenti restano appiccicati al corpo adesivo\ndel Pokémon e non possono essere rubati.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Items held by the Pokémon are stuck fast and\ncannot be removed by other Pokémon.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "粘着質の 体に\n道具が くっついているため\n相手に 道具を 奪われない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "因为道具是粘在黏性身体上的,\n所以不会被对手夺走。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "ねんちゃくしつの からだに\nどうぐが くっついているため\nあいてに どうぐを うばわれない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "점착질의 몸에\n도구가 달라붙어 있어\n상대에게 도구를 뺏기지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "道具會黏在\n具有黏性的身體上,\n不會被對手奪走。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Les objets sont collés au corps gluant du Pokémon,\nce qui empêche ses adversaires de les dérober.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Trägt es ein Item, bleibt dieses an seinem klebrigen\nKörper haften, wodurch Item-Diebstahl verhindert\nwird.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Protege al Pokémon del robo de objetos al quedarse\npegados a su cuerpo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Gli strumenti restano appiccicati al corpo adesivo\ndel Pokémon e non possono essere rubati.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Items held by the Pokémon are stuck fast and\ncannot be removed by other Pokémon.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "粘着質の 体に\n道具が くっついているため\n相手に 道具を 奪われない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "因为道具是粘在黏性身体上的,\n所以不会被对手夺走。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "ねんちゃくしつの からだに\nどうぐが くっついているため\nあいてに どうぐを うばわれない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "점착질의 몸에\n도구가 달라붙어 있어\n상대에게 도구를 뺏기지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "道具會黏在\n具有黏性的身體上,\n不會被對手奪走。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Les objets sont collés au corps gluant du Pokémon,\nce qui empêche ses adversaires de les dérober.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Trägt es ein Item, bleibt dieses an seinem klebrigen\nKörper haften, wodurch Item-Diebstahl verhindert wird.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Los objetos se quedan pegados a su cuerpo, por lo que\nno pueden robárselos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Gli strumenti restano appiccicati al corpo adesivo\ndel Pokémon e non possono essere rubati.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Items held by the Pokémon are stuck fast and\ncannot be removed by other Pokémon.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "粘着質の 体に\n道具が くっついているため\n相手に 道具を 奪われない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "因为道具是粘在黏性身体上的,\n所以不会被对手夺走。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "The Pokémon's held items cling to its sticky body and cannot be removed by other Pokémon.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 60, + "is_main_series": true, + "name": "sticky-hold", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ねんちゃく" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "점착" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "黏著" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Glu" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Klebekörper" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Viscosidad" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Antifurto" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Sticky Hold" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ねんちゃく" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "黏着" + } + ], + "pokemon": [ + { + "is_hidden": false, + "pokemon": { + "name": "grimer", + "url": "https://pokeapi.co/api/v2/pokemon/88/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "muk", + "url": "https://pokeapi.co/api/v2/pokemon/89/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gulpin", + "url": "https://pokeapi.co/api/v2/pokemon/316/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "swalot", + "url": "https://pokeapi.co/api/v2/pokemon/317/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "shellos", + "url": "https://pokeapi.co/api/v2/pokemon/422/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "gastrodon", + "url": "https://pokeapi.co/api/v2/pokemon/423/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "trubbish", + "url": "https://pokeapi.co/api/v2/pokemon/568/" + }, + "slot": 2 + }, + { + "is_hidden": false, + "pokemon": { + "name": "accelgor", + "url": "https://pokeapi.co/api/v2/pokemon/617/" + }, + "slot": 2 + }, + { + "is_hidden": true, + "pokemon": { + "name": "dipplin", + "url": "https://pokeapi.co/api/v2/pokemon/1011/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "hydrapple", + "url": "https://pokeapi.co/api/v2/pokemon/1019/" + }, + "slot": 3 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/ability/ability-66.json b/backend/pokerogue/src/test/resources/json/ability/ability-66.json new file mode 100644 index 00000000..1c6acb9d --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/ability/ability-66.json @@ -0,0 +1,1086 @@ +{ + "effect_changes": [], + "effect_entries": [ + { + "effect": "Wenn ein Pokémon mit dieser Fähigkeit nur noch 1/3 seiner maximalen hp oder weniger hat, werden all seine fire Attacken verstärkt, so dass sie 1,5× so viel regular damage anrichten wie sonst.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "short_effect": "Erhöht den Schaden von fire Attacken um 50% wenn nur noch 1/3 der maximalen hp oder weniger übrig sind." + }, + { + "effect": "When this Pokémon has 1/3 or less of its HP remaining, its fire-type moves inflict 1.5× as much regular damage.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "short_effect": "Strengthens fire moves to inflict 1.5× damage at 1/3 max HP or less." + } + ], + "flavor_text_entries": [ + { + "flavor_text": "HPが 減ったとき\nほのおタイプの 技の\n威力が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Ups FIRE moves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "flavor_text": "Ups FIRE moves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "flavor_text": "Ups FIRE moves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "flavor_text": "Powers up Fire-type\nmoves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "flavor_text": "Powers up Fire-type\nmoves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "flavor_text": "Powers up Fire-type\nmoves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "flavor_text": "Booste les capacités\nFeu en cas de besoin.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Powers up Fire-type\nmoves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "flavor_text": "Powers up Fire-type\nmoves in a pinch.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "flavor_text": "ピンチのとき ほのおの\nいりょくが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "위급할 때 불꽃타입의\n위력이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Booste les capacités Feu en\ncas de besoin.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Erhöht in Notfällen die Stärke\nvon Feuer-Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Potencia los ataques de tipo\nFuego en un apuro.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Quando si è in difficoltà, potenzia\nle mosse di tipo Fuoco.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when\nthe Pokémon is in trouble.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "ピンチのとき ほのおの\n威力が あがる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "flavor_text": "ピンチのとき ほのおの\nいりょくが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "위급할 때 불꽃타입의\n위력이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Booste les capacités Feu en\ncas de besoin.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Erhöht in Notfällen die Stärke\nvon Feuer-Attacken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Potencia los ataques de tipo\nFuego en un apuro.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Quando si è in difficoltà, potenzia \nle mosse di tipo Fuoco.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when\nthe Pokémon is in trouble.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "ピンチのとき ほのおの\n威力が あがる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "flavor_text": "HPが へったとき\nほのおタイプの わざの\nいりょくが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "HP가 줄었을 때\n불꽃타입 기술의\n위력이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "HP減少的時候,\n火屬性的招式威力會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Augmente la puissance des capacités de type Feu\ndu Pokémon quand il a perdu une certaine quantité\nde PV.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Erhöht die Stärke von Feuer-Attacken,\nwenn die KP auf einen gewissen Wert fallen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Potencia los movimientos de tipo Fuego del Pokémon\ncuando le quedan pocos PS.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Quando il Pokémon ha pochi PS, la potenza delle\nsue mosse di tipo Fuoco aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when the Pokémon’s HP\nis low.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "HPが 減ったとき\nほのおタイプの 技の\n威力が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "HP减少的时候,\n火属性的招式威力会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "flavor_text": "HPが へったとき\nほのおタイプの わざの\nいりょくが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "HP가 줄었을 때\n불꽃타입 기술의\n위력이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "HP減少的時候,\n火屬性的招式威力會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Augmente la puissance des capacités de type Feu\ndu Pokémon quand il a perdu une certaine quantité\nde PV.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Erhöht die Stärke von Feuer-Attacken,\nwenn die KP auf einen gewissen Wert fallen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Potencia los movimientos de tipo Fuego del Pokémon\ncuando le quedan pocos PS.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Quando il Pokémon ha pochi PS, la potenza delle\nsue mosse di tipo Fuoco aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when the Pokémon’s HP\nis low.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "HPが 減ったとき\nほのおタイプの 技の\n威力が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "HP减少的时候,\n火属性的招式威力会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "flavor_text": "HPが へったとき\nほのおタイプの わざの\nいりょくが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "HP가 줄었을 때\n불꽃타입 기술의\n위력이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "HP減少的時候,\n火屬性的招式威力會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Augmente la puissance des capacités de type Feu\ndu Pokémon quand il a perdu une certaine quantité\nde PV.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Erhöht die Stärke von Feuer-Attacken,\nwenn die KP auf einen gewissen Wert fallen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Potencia los movimientos de tipo Fuego del Pokémon\ncuando le quedan pocos PS.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Quando il Pokémon ha pochi PS, la potenza delle\nsue mosse di tipo Fuoco aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when the Pokémon’s HP\nis low.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "HP减少的时候,\n火属性的招式威力会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "flavor_text": "HPが へったとき\nほのおタイプの わざの\nいりょくが あがる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "HP가 줄었을 때\n불꽃타입 기술의\n위력이 올라간다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "HP減少的時候,\n火屬性的招式威力會提高。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Augmente la puissance des capacités de type Feu\ndu Pokémon quand il a perdu une certaine quantité\nde PV.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Erhöht die Stärke von Feuer-Attacken, wenn die KP auf\neinen gewissen Wert fallen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Potencia sus movimientos de tipo Fuego cuando le\nquedan pocos PS.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Quando il Pokémon ha pochi PS, la potenza delle\nsue mosse di tipo Fuoco aumenta.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when the Pokémon’s HP\nis low.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "HPが 減ったとき\nほのおタイプの 技の\n威力が 上がる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "HP减少的时候,\n火属性的招式威力会提高。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "flavor_text": "Powers up Fire-type moves when the Pokémon's HP is low.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "id": 66, + "is_main_series": true, + "name": "blaze", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "もうか" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "맹화" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "猛火" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Brasier" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Großbrand" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Mar Llamas" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Aiutofuoco" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Blaze" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "もうか" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "猛火" + } + ], + "pokemon": [ + { + "is_hidden": false, + "pokemon": { + "name": "charmander", + "url": "https://pokeapi.co/api/v2/pokemon/4/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "charmeleon", + "url": "https://pokeapi.co/api/v2/pokemon/5/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "charizard", + "url": "https://pokeapi.co/api/v2/pokemon/6/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "cyndaquil", + "url": "https://pokeapi.co/api/v2/pokemon/155/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "quilava", + "url": "https://pokeapi.co/api/v2/pokemon/156/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "typhlosion", + "url": "https://pokeapi.co/api/v2/pokemon/157/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "torchic", + "url": "https://pokeapi.co/api/v2/pokemon/255/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "combusken", + "url": "https://pokeapi.co/api/v2/pokemon/256/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "blaziken", + "url": "https://pokeapi.co/api/v2/pokemon/257/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "chimchar", + "url": "https://pokeapi.co/api/v2/pokemon/390/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "monferno", + "url": "https://pokeapi.co/api/v2/pokemon/391/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "infernape", + "url": "https://pokeapi.co/api/v2/pokemon/392/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "tepig", + "url": "https://pokeapi.co/api/v2/pokemon/498/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "pignite", + "url": "https://pokeapi.co/api/v2/pokemon/499/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "emboar", + "url": "https://pokeapi.co/api/v2/pokemon/500/" + }, + "slot": 1 + }, + { + "is_hidden": true, + "pokemon": { + "name": "pansear", + "url": "https://pokeapi.co/api/v2/pokemon/513/" + }, + "slot": 3 + }, + { + "is_hidden": true, + "pokemon": { + "name": "simisear", + "url": "https://pokeapi.co/api/v2/pokemon/514/" + }, + "slot": 3 + }, + { + "is_hidden": false, + "pokemon": { + "name": "fennekin", + "url": "https://pokeapi.co/api/v2/pokemon/653/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "braixen", + "url": "https://pokeapi.co/api/v2/pokemon/654/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "delphox", + "url": "https://pokeapi.co/api/v2/pokemon/655/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "litten", + "url": "https://pokeapi.co/api/v2/pokemon/725/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "torracat", + "url": "https://pokeapi.co/api/v2/pokemon/726/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "incineroar", + "url": "https://pokeapi.co/api/v2/pokemon/727/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "scorbunny", + "url": "https://pokeapi.co/api/v2/pokemon/813/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "raboot", + "url": "https://pokeapi.co/api/v2/pokemon/814/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "cinderace", + "url": "https://pokeapi.co/api/v2/pokemon/815/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "fuecoco", + "url": "https://pokeapi.co/api/v2/pokemon/909/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "crocalor", + "url": "https://pokeapi.co/api/v2/pokemon/910/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "skeledirge", + "url": "https://pokeapi.co/api/v2/pokemon/911/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "charizard-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10196/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "cinderace-gmax", + "url": "https://pokeapi.co/api/v2/pokemon/10210/" + }, + "slot": 1 + }, + { + "is_hidden": false, + "pokemon": { + "name": "typhlosion-hisui", + "url": "https://pokeapi.co/api/v2/pokemon/10233/" + }, + "slot": 1 + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-186.json b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-186.json new file mode 100644 index 00000000..38ec72d6 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-186.json @@ -0,0 +1,1527 @@ +{ + "base_happiness": 50, + "capture_rate": 45, + "color": { + "name": "green", + "url": "https://pokeapi.co/api/v2/pokemon-color/5/" + }, + "egg_groups": [ + { + "name": "water1", + "url": "https://pokeapi.co/api/v2/egg-group/2/" + } + ], + "evolution_chain": { + "url": "https://pokeapi.co/api/v2/evolution-chain/26/" + }, + "evolves_from_species": { + "name": "poliwhirl", + "url": "https://pokeapi.co/api/v2/pokemon-species/61/" + }, + "flavor_text_entries": [ + { + "flavor_text": "If POLIWAG and\nPOLIWHIRL hear its\nechoing cry, they\frespond by gather­\ning from far and\nwide.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "flavor_text": "Whenever three or\nmore of these get\ntogether, they\fsing in a loud\nvoice that sounds\nlike bellowing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "flavor_text": "When it expands\nits throat to\ncroak out a tune,\fnearby POLIWAG and\nPOLIWHIRL gather\nimmediately.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "flavor_text": "The curled hair on POLITOED’s head is\nproof of its status as a king. It is said\nthat the longer and more curled the\fhair, the more respect this POKéMON\nearns from its peers.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "flavor_text": "The curled hair on POLITOED’s head is\nproof of its status as a king. It is said\nthat the longer and more curled the\fhair, the more respect this POKéMON\nearns from its peers.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "flavor_text": "The curled hair on its head proves its\nstatus as a king. It is said that the\nlonger and curlier the hair, the more\nrespect it earns from its peers.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "flavor_text": "Whenever three or more of these get\ntogether, they sing in a loud voice that\nsounds like bellowing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "flavor_text": "If POLIWAG and POLIWHIRL hear its\nechoing cry, they respond by gathering\nfrom far and wide.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPOLIWAG obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPOLIWAG obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPOLIWAG obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "flavor_text": "If POLIWAG and POLIWHIRL hear its\nechoing cry, they respond by\ngathering from far and wide.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "flavor_text": "Whenever three or more of these get\ntogether, they sing in a loud\nvoice that sounds like bellowing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "flavor_text": "Il rassemble ses pairs pour les\ncommander. Il utilise son cri \npour diriger Ptitard.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPoliwag obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "Il rassemble ses pairs pour les\ncommander. Il utilise son cri \npour diriger Ptitard.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPoliwag obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPoliwag obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "flavor_text": "It gathers groups of others as\ntheir leader. Its cries make\nPoliwag obey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "flavor_text": "3びき いじょう ニョロトノが\nあつまると かならず どなるような\nなきごえで がっしょうを はじめる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "3마리 이상 왕구리가\n모이면 반드시 고함치는 듯한\n울음소리로 합창하기 시작한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Quand trois ou plus se réunissent, ils chantent d’une\nmême voix ressemblant à un beuglement.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Sind drei oder mehr von ihnen zusammen,\nlassen sie einen schallenden Ruf erklingen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Cuando tres o más de estos se juntan, emiten un\nsonido muy fuerte parecido a un bramido.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Quando tre o più Politoed si trovano insieme, iniziano\na cantare ad alta voce producendo un gran frastuono.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Whenever three or more of these get together,\nthey sing in a loud voice that sounds like bellowing.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "3匹以上 ニョロトノが 集まると\nかならず 怒鳴るような 鳴き声で\n合唱を はじめる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "なきごえが ひびきわたると\nあちこちから ニョロモや\nニョロゾたちが あつまってくる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "울음소리가 울려 퍼지면\n여기저기에서 발챙이와\n슈륙챙이들이 모인다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Si Ptitard et Têtarte entendent son cri, ils se\nrassemblent pour venir le rencontrer.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Hören Quapsel und Quaputzi seinen Ruf,\nantworten sie, indem sie sich von nah und fern\nversammeln.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Si Poliwag y Poliwhirl oyen su llanto, acudirán de\ntodas partes para consolarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Se i Poliwag o i Poliwhirl odono il suo verso\nrimbombante si radunano anche da enormi distanze.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "If Poliwag and Poliwhirl hear its echoing cry, they\nrespond by gathering from far and wide.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "鳴き声が 響きわたると\nあちこちから ニョロモや\nニョロゾたちが 集まってくる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "あたまの まきげは おうじゃの あかしだ。\nながく きれいに まいている ニョロトノほど\nなかまの そんけいを あつめると いわれている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "머리의 말린 머리칼은 왕의 징표이다.\n길고 아름답게 말린 왕구리일수록\n동료에게 존경받는다고 전해진다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Le cheveu bouclé sur la tête de Tarpaud est la preuve de\nson statut de roi. On raconte que plus son cheveu est long\net bouclé, plus ce Pokémon est respecté par ses semblables.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Quaxo hat gelocktes Haar, das ihm den Status eines Königs\nbescheinigt. Je länger und lockiger sein Haar ist, desto mehr\nRespekt erntet dieses Pokémon von seinen Artgenossen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "El mechón rizado de Politoed confirma su condición de rey.\nDicen que cuanto más le crece y más se le riza, mayor es el\nrespeto que recibe de sus súbditos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Il pennacchio arricciato sul capo di Politoed simboleggia\nil suo stato di re. Si dice che più lungo e più arricciato è\nil pennacchio, maggiore sia il rispetto che questo Pokémon\nriceve dai suoi pari.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "The curled hair on Politoed’s head is proof of its status as a\nking. It is said that the longer and more curled the hair, the\nmore respect this Pokémon earns from its peers.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "頭の 巻き毛は 王者の 証だ。\n長く きれいに 巻いている ニョロトノほど\n仲間の 尊敬を 集めると いわれている。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "あたまの まきげは おうじゃの あかしだ。\nながく きれいに まいている ニョロトノほど\nなかまの そんけいを あつめると いわれている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "머리의 말린 머리칼은 왕의 징표이다.\n길고 아름답게 말린 왕구리일수록\n동료에게 존경받는다고 전해진다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Le cheveu bouclé sur la tête de Tarpaud est la preuve de\nson statut de roi. On raconte que plus son cheveu est long\net bouclé, plus ce Pokémon est respecté par ses semblables.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Quaxo hat lockiges Haar, das ihm den Status eines Königs\nbescheinigt. Je länger und lockiger sein Haar ist, desto mehr\nRespekt erntet dieses Pokémon von seinen Artgenossen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "El mechón rizado de Politoed confirma su condición de rey.\nDicen que cuanto más le crece y más se le riza, mayor es el\nrespeto que recibe de sus súbditos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Il pennacchio arricciato sul capo di Politoed simboleggia\nil suo stato di re. Si dice che più lungo e più arricciato è\nil pennacchio, maggiore sia il rispetto che questo Pokémon\nriceve dai suoi pari.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "The curled hair on Politoed’s head is proof of its status as a\nking. It is said that the longer and more curled the hair, the\nmore respect this Pokémon earns from its peers.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "頭の 巻き毛は 王者の 証だ。\n長く きれいに 巻いている ニョロトノほど\n仲間の 尊敬を 集めると いわれている。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "つきよに あつまり だいがっしょう。\nそのなきごえは どなりごえのようで\nうつくしくはないが あじが あるぞ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "달밤에 모여 대합창을 한다.\n그 울음소리는 고함치는 것 같아\n아름답지는 않지만 멋이 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "在月圓之夜聚集起來大合唱。\n那歌聲像是怒吼一般,\n雖然並不美妙,但卻別有韻味。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Ils se regroupent sous la lune pour chanter.\nLeur musique est très bruyante et s’apparente à\nune dispute, mais certains esthètes l’apprécient.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "In klaren Mondnächten versammeln sie sich und\nsingen im Chor. Ihr Gesang ist zwar nicht schön\nund klingt eher wie Geschrei, aber er hat Stil.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Se reúnen bajo la luz de la luna para cantar a\ncoro. No es la más bonita de las melodías, pues\nparecen estar enfadados, pero tiene su encanto.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Nelle notti di luna si radunano in grandi gruppi\ne cantano in coro. Il loro verso gracchiante\nnon è proprio bello, ma ha un certo fascino.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "They gather on moonlit nights to form a large\nchorus. Their cries sound angry and not at all\npleasant, but they are certainly distinctive.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "月夜に 集まり 大合唱。\nその鳴き声は 怒鳴り声のようで\n美しくはないが 味が あるぞ。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "在有月亮的夜晚聚集起来大合唱。\n那鸣叫声如怒吼般,并不美妙,\n但却别有韵味。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "ニョロモや ニョロゾの リーダー。\nニョロトノが いっかつ すると\nみな おびえて そのばに ふせる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "발챙이와 슈륙챙이의 리더.\n왕구리가 크게 꾸짖으면\n모두 겁을 먹고 그 자리에 엎드린다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "蚊香蝌蚪和蚊香君的領袖。\n蚊香蛙皇一聲吼,\n大家都嚇得伏在地上一動不動。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "Les Ptitard et Têtarte lui obéissent. Il n’a qu’à\ndonner de la voix pour les faire trembler comme\ndes feuilles.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "Es ist der Anführer von Quapsel und Quaputzi.\nFängt Quaxo an seinen Unmut zu äußern,\nnehmen alle vor lauter Angst sofort Reißaus.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "Lidera a Poliwag y a Poliwhirl. Cuando Politoed\nemite un bramido, todos se esconden en el acto\nasustados.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "È il re dei Poliwag e dei Poliwhirl. Il suo verso\ntonante fa fuggire atterriti gli avversari.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "It’s the leader of Poliwag and Poliwhirl.\nWhen Politoed roars, they all cower in fear.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "ニョロモや ニョロゾの リーダー。\nニョロトノが 一喝 すると\n皆 怯えて その場に 伏せる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "蚊香蝌蚪和蚊香君的头领。\n蚊香蛙皇一声吼,\n大家都吓得伏在地上一动不动。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "がなるような なきごえなのに とある\nさっきょくかは えいきょうを うけて\nうつくしい バラードを つくった。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "고함치는 듯한 울음소리임에도\n어느 작곡가는 영향을 받아\n아름다운 발라드를 만들었다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "雖然叫聲像噪音一樣吵,\n但某位作曲家卻受到其影響,\n創作了優美的敘事曲。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Bien que le chant de ce Pokémon s’apparente\nà des cris, un musicien s’en est inspiré pour\ncomposer une magnifique ballade.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Sein Ruf mag zwar wie Gebrüll klingen, doch\nein Komponist ließ sich von ihm zu einer\ntraumhaften Ballade inspirieren.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "A pesar de lo discordante de sus gritos, un\nautor se inspiró en ellos para componer una\nhermosa balada.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Nonostante emetta un verso chiassoso,\nun compositore si è ispirato alle sue grida\nper scrivere delle splendide ballate.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Although its cries sound like screams, a\ncomposer created a beautiful ballad that was\ninfluenced by the sounds.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "がなるような 鳴き声なのに とある\n作曲家は 影響を 受けて\n美しい バラードを 作った。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "明明叫声有如嚎叫一般,\n但某位作曲家却受其影响\n创作了优美的叙事曲。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "あたまの まきげが ながく りっぱな\nニョロトノほど おおくの ニョロモや\nニョロゾを したがえている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "둥글게 말린 머리칼이 길고 훌륭한\n왕구리일수록 많은 발챙이나\n슈륙챙이가 따르고 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "頭上捲毛越長的蚊香蛙皇\n就越有派頭,且能夠得到\n越多蚊香蝌蚪和蚊香君的追隨。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "La longueur et la beauté du cheveu bouclé qui\norne la tête de Tarpaud influencent directement\nle nombre de Ptitard et de Têtarte lui obéissant.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Je länger und prächtiger Quaxos Haarlocke ist,\ndesto mehr Quapsel und Quaputzi führt es an.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Cuanto más largo y magnífico sea el rizo que\nluce en la cabeza, más Poliwag y Poliwhirl se\nsometerán a su mandato.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Più lungo e arricciato è il pennacchio sul capo\ndi un Politoed, maggiore è il numero di Poliwag\ne Poliwhirl che obbediranno ai suoi ordini.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "The longer and more luxurious the curled hair on\nits head, the greater the number of Poliwag and\nPoliwhirl that will obey it.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "頭の 巻き毛が 長く 立派な\nニョロトノほど 多くの ニョロモや\nニョロゾを 従えている。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "蚊香蛙皇头上的卷毛越长,\n长得越仪表堂堂,就越能领导\n更多的蚊香蝌蚪和蚊香君。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "よるになると いけの ほとりに\nあらわれる。 どなるような こえで\nないて ナワバリを アピールするぞ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "밤이 되면 연못 근처에\n나타난다. 고함치는 듯한\n울음소리로 영역을 알린다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "天黑後就會出現在池子邊。\n會用怒吼般的聲音大叫,\n來強調那是自己的地盤喔。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Il apparaît sur les rives des étangs à la nuit\ntombée. Il marque son territoire en poussant\ndes hurlements.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Nachts erscheint Quaxo an Ufern von Teichen.\nMit seinem schallenden Ruf beansprucht es sein\nRevier.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Aparece a orillas de las charcas al caer la noche.\nReclama su territorio profiriendo un fuerte grito\nque recuerda a un bramido.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Appare di notte sulle sponde degli stagni.\nSegnala il proprio territorio gracidando\na squarciagola.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "At nightfall, these Pokémon appear on the shores\nof lakes. They announce their territorial claims by\nletting out cries that sound like shouting.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "夜になると 池の 畔に 現れる。\n怒鳴るような 声で 鳴いて\n縄張りを アピールするぞ。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "夜幕降临时便会出现在池塘边。\n会发出怒吼般的叫声\n来强调那是自己的地盘。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "オスのほうが なきごえが おおきい。\nひくく すごみのある こえで なく\nニョロトノが メスに すかれる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "수컷의 울음소리가 더 크다.\n나지막하고 위협적인 목소리로 우는\n왕구리가 암컷에게 인기다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "雄性的叫聲比雌性更巨大。\n叫聲低沉有魄力的蚊香蛙皇\n更能受到雌性喜愛。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Le cri des mâles est plus puissant que celui\ndes femelles, qui préfèrent les voix fortes\net intimidantes.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Die Rufe der Männchen sind besonders laut.\nQuaxo mit einer tiefen, bedrohlichen Stimme\nsind bei den Weibchen sehr beliebt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Los machos emiten gritos muy potentes. Las\nhembras sienten predilección por los de voz\ngrave e imponente.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Il gracidio del maschio è più forte.\nI Politoed con un verso basso e minaccioso\nsono molto apprezzati dalle femmine.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "The cry of a male is louder than that of a female.\nMale Politoed with deep, menacing voices find\nmore popularity with the opposite gender.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "オスのほうが 鳴き声が 大きい。\n低く 凄みのある 声で 鳴く\nニョロトノが メスに 好かれる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "雄性的叫声更响亮。\n叫声低沉可怕的蚊香蛙皇\n更能受到雌性的欢迎。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + } + ], + "form_descriptions": [], + "forms_switchable": false, + "gender_rate": 4, + "genera": [ + { + "genus": "かえるポケモン", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + } + }, + { + "genus": "개구리포켓몬", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + } + }, + { + "genus": "蛙寶可夢", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + } + }, + { + "genus": "Pokémon Grenouille", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + } + }, + { + "genus": "Frosch-Pokémon", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "genus": "Pokémon Rana", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + } + }, + { + "genus": "Pokémon Rana", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + } + }, + { + "genus": "Frog Pokémon", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + }, + { + "genus": "かえるポケモン", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + } + }, + { + "genus": "蛙宝可梦", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + } + } + ], + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + }, + "growth_rate": { + "name": "medium-slow", + "url": "https://pokeapi.co/api/v2/growth-rate/4/" + }, + "habitat": { + "name": "waters-edge", + "url": "https://pokeapi.co/api/v2/pokemon-habitat/9/" + }, + "has_gender_differences": true, + "hatch_counter": 20, + "id": 186, + "is_baby": false, + "is_legendary": false, + "is_mythical": false, + "name": "politoed", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ニョロトノ" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": "Nyorotono" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "왕구리" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "蚊香蛙皇" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Tarpaud" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Quaxo" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Politoed" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Politoed" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Politoed" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ニョロトノ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "蚊香蛙皇" + } + ], + "order": 68, + "pal_park_encounters": [ + { + "area": { + "name": "pond", + "url": "https://pokeapi.co/api/v2/pal-park-area/4/" + }, + "base_score": 80, + "rate": 10 + } + ], + "pokedex_numbers": [ + { + "entry_number": 186, + "pokedex": { + "name": "national", + "url": "https://pokeapi.co/api/v2/pokedex/1/" + } + }, + { + "entry_number": 75, + "pokedex": { + "name": "original-johto", + "url": "https://pokeapi.co/api/v2/pokedex/3/" + } + }, + { + "entry_number": 75, + "pokedex": { + "name": "updated-johto", + "url": "https://pokeapi.co/api/v2/pokedex/7/" + } + }, + { + "entry_number": 36, + "pokedex": { + "name": "kalos-mountain", + "url": "https://pokeapi.co/api/v2/pokedex/14/" + } + }, + { + "entry_number": 152, + "pokedex": { + "name": "original-alola", + "url": "https://pokeapi.co/api/v2/pokedex/16/" + } + }, + { + "entry_number": 79, + "pokedex": { + "name": "original-akala", + "url": "https://pokeapi.co/api/v2/pokedex/18/" + } + }, + { + "entry_number": 71, + "pokedex": { + "name": "original-ulaula", + "url": "https://pokeapi.co/api/v2/pokedex/19/" + } + }, + { + "entry_number": 185, + "pokedex": { + "name": "updated-alola", + "url": "https://pokeapi.co/api/v2/pokedex/21/" + } + }, + { + "entry_number": 86, + "pokedex": { + "name": "updated-akala", + "url": "https://pokeapi.co/api/v2/pokedex/23/" + } + }, + { + "entry_number": 77, + "pokedex": { + "name": "updated-ulaula", + "url": "https://pokeapi.co/api/v2/pokedex/24/" + } + }, + { + "entry_number": 145, + "pokedex": { + "name": "isle-of-armor", + "url": "https://pokeapi.co/api/v2/pokedex/28/" + } + }, + { + "entry_number": 42, + "pokedex": { + "name": "kitakami", + "url": "https://pokeapi.co/api/v2/pokedex/32/" + } + } + ], + "shape": { + "name": "humanoid", + "url": "https://pokeapi.co/api/v2/pokemon-shape/12/" + }, + "varieties": [ + { + "is_default": true, + "pokemon": { + "name": "politoed", + "url": "https://pokeapi.co/api/v2/pokemon/186/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-193.json b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-193.json new file mode 100644 index 00000000..5e37ee04 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-193.json @@ -0,0 +1,847 @@ +{ + "base_happiness": 70, + "capture_rate": 75, + "color": { + "name": "red", + "url": "https://pokeapi.co/api/v2/pokemon-color/8/" + }, + "egg_groups": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/egg-group/3/" + } + ], + "evolution_chain": { + "url": "https://pokeapi.co/api/v2/evolution-chain/95/" + }, + "evolves_from_species": null, + "flavor_text_entries": [ + { + "flavor_text": "If it flaps its\nwings really fast,\nit can generate\fshock waves that\nwill shatter win­\ndows in the area.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "flavor_text": "Its large eyes can\nscan 360 degrees.\nIt looks in all\fdirections to seek\nout insects as its\nprey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "flavor_text": "It can see in all\ndirections without\nmoving its big\feyes, helping it\nspot attackers and\nfood right away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "flavor_text": "YANMA is capable of seeing 360 degrees\nwithout having to move its eyes.\nIt is a great flier that is adept at\fmaking sudden stops and turning midair.\nThis POKéMON uses its flying ability to\nquickly chase down targeted prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "flavor_text": "YANMA is capable of seeing 360 degrees\nwithout having to move its eyes.\nIt is a great flier that is adept at\fmaking sudden stops and turning midair.\nThis POKéMON uses its flying ability to\nquickly chase down targeted prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "flavor_text": "It can see 360 degrees without moving\nits eyes. It is a great flier capable of\nmaking sudden stops and turning midair to\nquickly chase down targeted prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "flavor_text": "Its large eyes can scan 360 degrees.\nIt looks in all directions to seek out\ninsects as its prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "flavor_text": "If it flaps its wings really fast, it can\ngenerate shock waves that will shatter\nwindows in the area.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "flavor_text": "Its eyes can see 360 degrees\nwithout moving its head. It won’t\nmiss prey--even those behind it.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "flavor_text": "Its eyes can see 360 degrees\nwithout moving its head. It won’t\nmiss prey--even those behind it.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "flavor_text": "It can hover in one spot by\nflapping its wings at high speed. It\nflits about to guard its territory.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "flavor_text": "If it flaps its wings really fast,\nit can generate shock waves that\nwill shatter windows in the area.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "flavor_text": "Its large eyes can scan 360 degrees.\nIt looks in all directions to seek\nout insects as its prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "flavor_text": "La vitesse de ses ailes lui permet\nun vol stationnaire. Il surveille\nainsi tout son territoire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "It can hover in one spot by\nflapping its wings at high speed. It\nflits about to guard its territory.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "La vitesse de ses ailes lui permet\nun vol stationnaire. Il surveille\nainsi tout son territoire.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "It can hover in one spot by\nflapping its wings at high speed. It\nflits about to guard its territory.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "By flapping its wings at high speed,\nit can fly freely through the air.\nEven sudden stops are no problem.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "flavor_text": "By flapping its wings at high speed,\nit can fly freely through the air.\nEven sudden stops are no problem.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "flavor_text": "かおを うごかさずに 360ど\nすべてを みわたす めを もつので\nまうしろの えものも みのがさない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "얼굴을 움직이지 않고 360도 전부\n볼 수 있는 눈을 가지고 있어서\n바로 뒤의 먹이도 놓치지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Il voit à 360° sans avoir à tourner la tête. Il ne loupe\njamais une proie, même dans son dos.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Mit seinen Augen hat es einen Blickwinkel von\n360 Grad. Es sieht sogar Beute, die sich hinter ihm\nbefindet.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Su campo visual es de 360° sin girar la cabeza.\nDetecta hasta las presas que están a su espalda.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Ha un campo visivo a 360 gradi senza muovere la\ntesta. Riesce a vedere persino le prede alle sue spalle.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Its eyes can see 360 degrees without moving its\nhead. It won’t miss prey--even those behind it.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "顔を 動かさずに 360度\nすべてを 見渡す 目を 持つので\n真後ろの 獲物も 見逃さない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "こうそくで ハネを はばたかせると\nしょうげきは が はっせいして\nまわりの まどガラスが われていく。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "고속으로 날개를 치면\n충격파가 발생해서\n주변의 유리창이 깨진다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "En battant des ailes très vite, il peut générer une\nviolente onde de choc qui peut briser les fenêtres.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Schlägt es schnell mit den Flügeln, erzeugt es\nSchockwellen, durch die sogar Fenster zerbersten.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Si aletea muy rápido, genera ondas expansivas\ncapaces de hacer añicos todas las ventanas próximas.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Se agita le ali ad altissima velocità può generare onde\nche distruggono i vetri delle finestre nella zona.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "If it flaps its wings really fast, it can generate shock\nwaves that will shatter windows in the area.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "高速で 羽を 羽ばたかせると\n衝撃波が 発生して\nまわりの 窓ガラスが 割れていく。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "めだまを うごかさずに 360ど みわたせる。\nきゅうブレーキや ほうこうてんかんが とくい。\nねらった えものを すばやく おいつめていく。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "눈알을 움직이지 않고 360도를 볼 수 있다.\n급브레이크나 방향 전환이 특기다.\n노린 먹이를 빠르게 몰아넣는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Yanma a un champ de vision de 360 degrés sans avoir besoin\nde bouger les yeux. Il vole incroyablement bien et peut faire\ndes figures acrobatiques. Ce Pokémon descend en piqué\nsur ses proies.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Yanma hat einen Blickwinkel von 360 Grad, ohne die Augen\nbewegen zu müssen. Es ist ein großartiger Flieger und geübt\ndarin, plötzlich anzuhalten oder Wendemanöver vorzunehmen.\nSo kann es sich blitzschnell auf Beute stürzen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Yanma tiene un ángulo de visión de 360° sin mover los ojos.\nEs un gran volador, experto en hacer repentinas paradas y\ncambios de dirección en el aire. Aprovecha la habilidad que\ntiene de volar para lanzarse sobre su presa.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Yanma è dotato di un campo visivo a 360 gradi senza bisogno\ndi muovere gli occhi. Grazie alle grandi ali riesce a fermarsi\nimprovvisamente e virare a mezz’aria. Sfrutta la sua abilità\nin volo per abbattere la preda al suolo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Yanma is capable of seeing 360 degrees without having to\nmove its eyes. It is a great flier that is adept at making sudden\nstops and turning midair. This Pokémon uses its flying ability to\nquickly chase down targeted prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "目玉を 動かさずに 360度 見渡せる。\n急ブレーキや 方向転換が 得意。\nねらった 獲物を 素早く 追いつめていく。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "めだまを うごかさずに 360ど みわたせる。\nきゅうブレーキや ほうこうてんかんが とくい。\nねらった えものを すばやく おいつめていく。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "눈알을 움직이지 않고 360도를 볼 수 있다.\n급브레이크나 방향 전환이 특기다.\n노린 먹이를 빠르게 몰아넣는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Yanma a un champ de vision de 360 degrés sans avoir besoin\nde bouger les yeux. Il vole incroyablement bien et peut faire\ndes figures acrobatiques. Ce Pokémon descend en piqué\nsur ses proies.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Yanma hat einen Blickwinkel von 360 Grad, ohne die Augen\nbewegen zu müssen. Es ist ein großartiger Flieger und geübt\ndarin, plötzlich anzuhalten oder Wendemanöver hinzulegen.\nSo kann es sich blitzschnell auf Beute stürzen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Yanma tiene un ángulo de visión de 360° sin mover los ojos.\nEs un gran volador, experto en hacer repentinas paradas y\ncambios de dirección en el aire. Aprovecha la habilidad que\ntiene de volar para lanzarse sobre su presa.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Yanma è dotato di un campo visivo a 360 gradi senza bisogno\ndi muovere gli occhi. Grazie alle grandi ali riesce a fermarsi\nimprovvisamente e virare a mezz’aria. Sfrutta la sua abilità\nin volo per abbattere la preda al suolo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Yanma is capable of seeing 360 degrees without having to\nmove its eyes. It is a great flier that is adept at making sudden\nstops and turning midair. This Pokémon uses its flying ability\nto quickly chase down targeted prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "目玉を 動かさずに 360度 見渡せる。\n急ブレーキや 方向転換が 得意。\nねらった 獲物を 素早く 追いつめていく。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Its frail wings are so thin that one can see clear through them.\nHowever, during flight these wings exhibit the power to churn\nair with force enough to launch a house skyward.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "legends-arceus", + "url": "https://pokeapi.co/api/v2/version/39/" + } + } + ], + "form_descriptions": [], + "forms_switchable": false, + "gender_rate": 4, + "genera": [ + { + "genus": "うすばねポケモン", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + } + }, + { + "genus": "얇은날개포켓몬", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + } + }, + { + "genus": "薄翼寶可夢", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + } + }, + { + "genus": "Pokémon Translaile", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + } + }, + { + "genus": "Libelle", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "genus": "Pokémon Ala Clara", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + } + }, + { + "genus": "Pokémon Alachiara", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + } + }, + { + "genus": "Clear Wing Pokémon", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + }, + { + "genus": "うすばねポケモン", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + } + }, + { + "genus": "薄翼宝可梦", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + } + } + ], + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + }, + "growth_rate": { + "name": "medium", + "url": "https://pokeapi.co/api/v2/growth-rate/2/" + }, + "habitat": { + "name": "forest", + "url": "https://pokeapi.co/api/v2/pokemon-habitat/2/" + }, + "has_gender_differences": false, + "hatch_counter": 20, + "id": 193, + "is_baby": false, + "is_legendary": false, + "is_mythical": false, + "name": "yanma", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ヤンヤンマ" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": "Yanyanma" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "왕자리" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "蜻蜻蜓" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Yanma" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Yanma" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Yanma" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Yanma" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Yanma" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ヤンヤンマ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "蜻蜻蜓" + } + ], + "order": 223, + "pal_park_encounters": [ + { + "area": { + "name": "field", + "url": "https://pokeapi.co/api/v2/pal-park-area/2/" + }, + "base_score": 80, + "rate": 10 + } + ], + "pokedex_numbers": [ + { + "entry_number": 193, + "pokedex": { + "name": "national", + "url": "https://pokeapi.co/api/v2/pokedex/1/" + } + }, + { + "entry_number": 101, + "pokedex": { + "name": "original-johto", + "url": "https://pokeapi.co/api/v2/pokedex/3/" + } + }, + { + "entry_number": 183, + "pokedex": { + "name": "extended-sinnoh", + "url": "https://pokeapi.co/api/v2/pokedex/6/" + } + }, + { + "entry_number": 101, + "pokedex": { + "name": "updated-johto", + "url": "https://pokeapi.co/api/v2/pokedex/7/" + } + }, + { + "entry_number": 286, + "pokedex": { + "name": "updated-unova", + "url": "https://pokeapi.co/api/v2/pokedex/9/" + } + }, + { + "entry_number": 87, + "pokedex": { + "name": "kalos-coastal", + "url": "https://pokeapi.co/api/v2/pokedex/13/" + } + }, + { + "entry_number": 105, + "pokedex": { + "name": "hisui", + "url": "https://pokeapi.co/api/v2/pokedex/30/" + } + }, + { + "entry_number": 3, + "pokedex": { + "name": "kitakami", + "url": "https://pokeapi.co/api/v2/pokedex/32/" + } + } + ], + "shape": { + "name": "bug-wings", + "url": "https://pokeapi.co/api/v2/pokemon-shape/13/" + }, + "varieties": [ + { + "is_default": true, + "pokemon": { + "name": "yanma", + "url": "https://pokeapi.co/api/v2/pokemon/193/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-255.json b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-255.json new file mode 100644 index 00000000..fc76b87c --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-255.json @@ -0,0 +1,775 @@ +{ + "base_happiness": 50, + "capture_rate": 45, + "color": { + "name": "red", + "url": "https://pokeapi.co/api/v2/pokemon-color/8/" + }, + "egg_groups": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/egg-group/5/" + } + ], + "evolution_chain": { + "url": "https://pokeapi.co/api/v2/evolution-chain/131/" + }, + "evolves_from_species": null, + "flavor_text_entries": [ + { + "flavor_text": "TORCHIC sticks with its TRAINER,\nfollowing behind with unsteady\nsteps.\fThis POKéMON breathes fire of over\n1,800 degrees F, including fireballs\nthat leave the foe scorched black.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "flavor_text": "TORCHIC has a place inside its body\nwhere it keeps its flame. Give it a hug -\nit will be glowing with warmth.\fThis POKéMON is covered all over by a\nfluffy coat of down.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "flavor_text": "If attacked, it strikes back by spitting\nballs of fire it forms in its stomach.\nA TORCHIC dislikes darkness because it\ncan’t see its surroundings.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "flavor_text": "It has a flame sac inside its belly that\nperpetually burns. It feels warm if it is\nhugged.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "flavor_text": "It has a flame sac inside its belly that\nperpetually burns. It feels warm if it is\nhugged.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "flavor_text": "Inside its body is a place where it\nkeeps a small flame. Hug it! It will\nbe as warm as a hot-water bottle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "flavor_text": "Inside its body is a place where it\nkeeps a small flame. Hug it! It will\nbe as warm as a hot-water bottle.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "flavor_text": "Ses câlins réchauffent car il renferme\nune fournaise. Il envoie des boules de\nfeu à 1 000 °C.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "Ses câlins réchauffent car il renferme\nune fournaise. Il envoie des boules de\nfeu à 1 000 °C.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels\nvery warm to hug. It launches\nfireballs of 1,800 degrees F.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "flavor_text": "おなかに ほのおぶくろを もつ。\nだきしめると ぽかぽか あたたかい。\nいのち ある かぎり もえつづける。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "몸속에 불꽃 주머니를 지니고 있어서\n껴안으면 따끈따끈하다.\n살아 있는 한 계속 불타오른다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Poussifeu possède, dans son ventre, une poche\nde feu qui brûle sans arrêt. Il donne une impression\nde chaleur quand on lui fait des câlins.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "In seinem Bauch ist ein Flammensack, der stets\nbrennt. Umarmt man es, fühlt es sich warm an.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "En su interior, guarda una llama que arde sin cesar.\nSi se le abraza, se nota que tiene una temperatura\nmuy alta.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Nel ventre ha una sacca di fuoco che brucia in\ncontinuazione. Se lo si abbraccia, emana calore.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "It has a flame sac inside its belly that perpetually\nburns. It feels warm if it is hugged.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "お腹に 炎袋を 持つ。\n抱きしめると ぽかぽか 温かい。\n命ある 限り 燃え続ける。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "たいないで ほのおが もえているので\nだきしめると とても あたたかい。\n1000どの ひのたまを とばす。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "체내에 불꽃이 타오르고 있어\n껴안으면 무척 따뜻하다.\n1000도의 불구슬을 날린다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Ses câlins réchauffent car il renferme une fournaise.\nIl envoie des boules de feu à 1 000 °C.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "In seinem Inneren lodert ein Feuer. Es schleudert\n1 000 °C heiße Feuerbälle.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "En su interior arde una llama que mantiene su cuerpo\ncaliente. Tira bolas de fuego a 1000 °C.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Nel suo corpo brucia una fiamma e abbracciandolo\nsi avverte calore. Lancia palle di fuoco a 1000 °C.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "A fire burns inside, so it feels very warm to hug.\nIt launches fireballs of 1,800 degrees Fahrenheit.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "体内で 炎が 燃えているので\n抱きしめると とても 温かい。\n1000度の 火の玉を 飛ばす。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "トレーナーに くっついて ちょこちょこ あるく。\nくちから とばす ほのおは せっし 1000ど。\nあいてを くろコゲにする しゃくねつの たまだ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "트레이너에게 바짝 붙어 아장아장 걷는다.\n입에서 날리는 불꽃은 섭씨 1000도다.\n상대를 새까맣게 태우는 작열하는 불덩이다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Poussifeu ne lâche pas son Dresseur d’une semelle,\nmarchant maladroitement derrière lui. Ce Pokémon crache\ndes flammes pouvant atteindre 1 000 °C et des boules de feu\nqui carbonisent l’ennemi.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Flemmli hängt an seinem Trainer wie eine Klette. Es schlurft\nimmer hinter ihm her. Dieses Pokémon spuckt 1 000 °C\nheißes Feuer, das seinen Feinden ordentlich einheizt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Torchic no se separa de su Entrenador. Siempre va tras él con\nsus pasitos inseguros. Este Pokémon escupe bolas de fuego\nque pueden alcanzar los 1000 °C y carbonizar al enemigo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Torchic segue il proprio Allenatore ovunque, saltellandogli\ndietro con passo incerto. Questo Pokémon sputa fiammate\nroventi a 1000 °C, con sfere infuocate capaci di carbonizzare\nil nemico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Torchic sticks with its Trainer, following behind with\nunsteady steps. This Pokémon breathes fire of over\n1,800 degrees Fahrenheit, including fireballs that leave\nthe foe scorched black.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "トレーナーに くっついて ちょこちょこ 歩く。\n口から 飛ばす 炎は 摂氏 1000度。\n相手を 黒コゲにする 灼熱の 玉だ。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "たいないに ほのおを もやす ばしょが あるので\nだきしめると ぽかぽか とっても あたたかい。\nぜんしん ふかふかの うもうに おおわれている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "체내에 불꽃을 태우는 곳이 있어서\n껴안으면 따끈따끈 정말 따뜻하다.\n전신이 푹신푹신한 깃털로 덮여 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Poussifeu dispose d’un endroit dans son corps pour stocker\nsa flamme. Si on lui fait un gros câlin, sa flamme s’illumine\nchaleureusement. Ce Pokémon est couvert d’un duvet\ntrès doux.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "In Flemmlis Körper brennt eine Flamme. Wenn man es\numarmt, beginnt es zu glühen. Dieses Pokémon trägt ein\nflauschiges Fell aus Daunen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Torchic tiene un lugar en el interior de su organismo en el\nque guarda la llama que posee. Si le das un abrazo, arderá\nencantado. Este Pokémon está recubierto totalmente de\nsedoso plumón.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Nel corpo di Torchic è custodita la sua fiamma.\nAbbracciandolo si illumina emanando un incredibile calore.\nQuesto Pokémon è ricoperto da un piumaggio soffice e caldo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Torchic has a place inside its body where it keeps its flame.\nGive it a hug—it will be glowing with warmth. This Pokémon is\ncovered all over by a fluffy coat of down.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "体内に 炎を 燃やす 場所が あるので\n抱きしめると ぽかぽか とっても 暖かい。\n全身 ふかふかの 羽毛に 覆われている。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + } + ], + "form_descriptions": [], + "forms_switchable": false, + "gender_rate": 1, + "genera": [ + { + "genus": "ひよこポケモン", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + } + }, + { + "genus": "풋내기포켓몬", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + } + }, + { + "genus": "雛雞寶可夢", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + } + }, + { + "genus": "Pokémon Poussin", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + } + }, + { + "genus": "Küken-Pokémon", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "genus": "Pokémon Polluelo", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + } + }, + { + "genus": "Pokémon Pulcino", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + } + }, + { + "genus": "Chick Pokémon", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + }, + { + "genus": "ひよこポケモン", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + } + }, + { + "genus": "雏鸡宝可梦", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "growth_rate": { + "name": "medium-slow", + "url": "https://pokeapi.co/api/v2/growth-rate/4/" + }, + "habitat": { + "name": "grassland", + "url": "https://pokeapi.co/api/v2/pokemon-habitat/3/" + }, + "has_gender_differences": true, + "hatch_counter": 20, + "id": 255, + "is_baby": false, + "is_legendary": false, + "is_mythical": false, + "name": "torchic", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "アチャモ" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": "Achamo" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "아차모" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "火稚雞" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Poussifeu" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Flemmli" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Torchic" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Torchic" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Torchic" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "アチャモ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "火稚鸡" + } + ], + "order": 280, + "pal_park_encounters": [ + { + "area": { + "name": "field", + "url": "https://pokeapi.co/api/v2/pal-park-area/2/" + }, + "base_score": 50, + "rate": 30 + } + ], + "pokedex_numbers": [ + { + "entry_number": 255, + "pokedex": { + "name": "national", + "url": "https://pokeapi.co/api/v2/pokedex/1/" + } + }, + { + "entry_number": 4, + "pokedex": { + "name": "hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/4/" + } + }, + { + "entry_number": 4, + "pokedex": { + "name": "updated-hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/15/" + } + }, + { + "entry_number": 185, + "pokedex": { + "name": "blueberry", + "url": "https://pokeapi.co/api/v2/pokedex/33/" + } + } + ], + "shape": { + "name": "legs", + "url": "https://pokeapi.co/api/v2/pokemon-shape/7/" + }, + "varieties": [ + { + "is_default": true, + "pokemon": { + "name": "torchic", + "url": "https://pokeapi.co/api/v2/pokemon/255/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-382.json b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-382.json new file mode 100644 index 00000000..bab39253 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-382.json @@ -0,0 +1,775 @@ +{ + "base_happiness": 0, + "capture_rate": 3, + "color": { + "name": "blue", + "url": "https://pokeapi.co/api/v2/pokemon-color/2/" + }, + "egg_groups": [ + { + "name": "no-eggs", + "url": "https://pokeapi.co/api/v2/egg-group/15/" + } + ], + "evolution_chain": { + "url": "https://pokeapi.co/api/v2/evolution-chain/198/" + }, + "evolves_from_species": null, + "flavor_text_entries": [ + { + "flavor_text": "KYOGRE has the power to create massive\nrain clouds that cover the entire sky\nand bring about torrential downpours.\fThis POKéMON saved people who were\nsuffering from droughts.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "flavor_text": "KYOGRE is named in mythology as the\nPOKéMON that expanded the sea by\ncovering the land with torrential rains\fand towering tidal waves.\nIt took to sleep after a cataclysmic\nbattle with GROUDON.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "flavor_text": "KYOGRE has appeared in mythology as the\ncreator of the sea. After long years of\nfeuding with GROUDON, it took to sleep at\nthe bottom of the sea.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "flavor_text": "This POKéMON is said to have\nexpanded the sea by bringing heavy rains.\nIt has the power to control water.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "flavor_text": "This POKéMON is said to have expanded\nthe sea by bringing heavy rains.\nIt has the power to control water.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "flavor_text": "A mythical Pokémon said to have\nswelled the seas with rain and tidal\nwaves. It battled with GROUDON.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "flavor_text": "A mythical Pokémon said to have\nswelled the seas with rain and tidal\nwaves. It battled with GROUDON.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "flavor_text": "On dit qu’il a fait monter les eaux\nen causant des pluies diluviennes.\nIl somnolait dans une fosse marine.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "On dit qu’il a fait monter les eaux\nen causant des pluies diluviennes.\nIl somnolait dans une fosse marine.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "flavor_text": "It is said to have widened the\nseas by causing downpours. It had\nbeen asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "flavor_text": "おおあめと おおつなみで うみを\nひろげた しんわの ポケモン。\nグラードンと はげしく たたかった。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "많은 비와 큰 해일로 바다를\n넓힌 신화의 포켓몬이다.\n그란돈과 격하게 싸웠다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Ennemi juré de Groudon, la légende dit qu’il a étendu\nles mers en causant déluges et raz de marée.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Der Legende nach erschuf sein Regen das Meer.\nEs und Groudon lieferten sich einen langen Kampf.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Pokémon legendario que aumentó los mares con\ndiluvios y maremotos. Fue un enemigo acérrimo de\nGroudon.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Nella mitologia, Kyogre è il Pokémon che ha\nampliato i mari con megaonde e megapiogge.\nNemico di Groudon.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "A mythical Pokémon said to have swelled the seas\nwith rain and tidal waves. It battled with Groudon.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "大雨と 大津波で 海を 広げた\n神話の ポケモン。\nグラードンと 激しく 戦った。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "おおあめを ふらせる のうりょくで\nうみを ひろげたと いわれている。\nかいこうの そこで ねむっていた。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "많은 비를 내리게 하는 능력으로\n바다를 넓혔다고 전해진다.\n해구의 밑바닥에서 잠들어 있었다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "On dit qu’il a fait monter les eaux en causant des\npluies diluviennes. Il somnolait dans une fosse marine.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Man sagt, es habe die Meere vergrößert, indem es\nes regnen ließ. Es schlief in einem Meeresgraben.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Se dice que aumentó el nivel del mar a base de\naguaceros. Ha estado durmiendo en una fosa marina.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Si dice che abbia ampliato i mari provocando piogge\ntorrenziali. Si è assopito in una fossa marina.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "It is said to have widened the seas by causing\ndownpours. It had been asleep in a marine trench.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "大雨を 降らせる 能力で\n海を 広げたと 言われている。\n海溝の 底で 眠っていた。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "しぜんのエネルギーに よって ゲンシカイキし\nほんらいの すがたを とりもどす。そのちからは\nあらしを よびよせ うみを ひろげる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "자연의 힘에 의해 원시회귀하여\n원래의 모습을 되찾는다. 그 힘은\n폭풍을 불러들이며 바다를 확장한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Grâce à l’énergie de la nature, il peut accomplir\nsa Primo-Résurgence pour retrouver son apparence originelle.\nCe pouvoir lui permet d’appeler de terribles déluges\npour étendre les mers.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Mithilfe von Naturenergie kann es eine Protomorphose\ndurchführen und so seine ursprüngliche Form zurückerlangen.\nDadurch kann es Stürme erzeugen und das Meer vergrößern.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Kyogre se sirve de la energía de la naturaleza para realizar su\nRegresión Primigenia y recobrar su apariencia primitiva. Con tal\npoder, puede desencadenar tempestades para expandir los\nocéanos.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "L’energia della natura può causare l’archeorisveglio\ndi questo Pokémon, facendolo tornare al suo aspetto\noriginario.\nPuò provocare diluvi torrenziali in grado di espandere\nla superficie dei mari.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Through Primal Reversion and with nature’s\nfull power, it will take back its true form. It can\nsummon storms that cause the sea levels to rise.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "自然のエネルギーに よって ゲンシカイキし\n本来の 姿を 取り戻す。その力は\n嵐を 呼び寄せ 海を 広げる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "うみの けしん と つたわる ポケモン。\nしぜんのエネルギーを もとめて グラードンと\nあらそいを くりかえした でんせつが ある。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "바다의 화신이라 전해지는 포켓몬.\n자연의 힘을 갈구하여 그란돈과\n사투를 반복한다는 전설이 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Un Pokémon considéré comme l’avatar des océans.\nSelon les légendes, il a disputé de nombreux combats\navec Groudon pour contrôler l’énergie de la nature.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Es heißt, Kyogre sei die Personifizierung des Meeres.\nLegenden zufolge hat es in seinem Bestreben, sich die\nNaturenergie anzueignen, viele Male gegen Groudon gekämpft.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "A Kyogre siempre se le ha descrito como el Pokémon que\nexpandió los océanos. Varias leyendas cuentan que libró\ncombates contra Groudon en repetidas ocasiones para tener\nel control de la energía de la naturaleza.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Si dice che questo Pokémon abbia un profondo\nlegame con le distese dei mari.\nLe leggende narrano dei suoi continui scontri con\nGroudon per ottenere l’energia della natura.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Kyogre is said to be the personification of the sea itself.\nLegends tell of its many clashes against Groudon,\nas each sought to gain the power of nature.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "海の 化身 と 伝わる ポケモン。\n自然のエネルギーを 求めて グラードンと\n争いを 繰り返したという 伝説が ある。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + } + ], + "form_descriptions": [], + "forms_switchable": true, + "gender_rate": -1, + "genera": [ + { + "genus": "かいていポケモン", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + } + }, + { + "genus": "해저포켓몬", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + } + }, + { + "genus": "海底寶可夢", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + } + }, + { + "genus": "Pokémon Bassinmarin", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + } + }, + { + "genus": "Seegründler-Pokémon", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "genus": "Pokémon Cuenca Mar", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + } + }, + { + "genus": "Pokémon Oceano", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + } + }, + { + "genus": "Sea Basin Pokémon", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + }, + { + "genus": "かいていポケモン", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + } + }, + { + "genus": "海底宝可梦", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + } + } + ], + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + }, + "growth_rate": { + "name": "slow", + "url": "https://pokeapi.co/api/v2/growth-rate/1/" + }, + "habitat": { + "name": "sea", + "url": "https://pokeapi.co/api/v2/pokemon-habitat/7/" + }, + "has_gender_differences": false, + "hatch_counter": 120, + "id": 382, + "is_baby": false, + "is_legendary": true, + "is_mythical": false, + "name": "kyogre", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "カイオーガ" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": "Kyogre" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "가이오가" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "蓋歐卡" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Kyogre" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Kyogre" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Kyogre" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Kyogre" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Kyogre" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "カイオーガ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "盖欧卡" + } + ], + "order": 412, + "pal_park_encounters": [ + { + "area": { + "name": "sea", + "url": "https://pokeapi.co/api/v2/pal-park-area/5/" + }, + "base_score": 90, + "rate": 3 + } + ], + "pokedex_numbers": [ + { + "entry_number": 382, + "pokedex": { + "name": "national", + "url": "https://pokeapi.co/api/v2/pokedex/1/" + } + }, + { + "entry_number": 198, + "pokedex": { + "name": "hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/4/" + } + }, + { + "entry_number": 207, + "pokedex": { + "name": "updated-hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/15/" + } + } + ], + "shape": { + "name": "fish", + "url": "https://pokeapi.co/api/v2/pokemon-shape/3/" + }, + "varieties": [ + { + "is_default": true, + "pokemon": { + "name": "kyogre", + "url": "https://pokeapi.co/api/v2/pokemon/382/" + } + }, + { + "is_default": false, + "pokemon": { + "name": "kyogre-primal", + "url": "https://pokeapi.co/api/v2/pokemon/10077/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-44.json b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-44.json new file mode 100644 index 00000000..87e9a420 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-44.json @@ -0,0 +1,1348 @@ +{ + "base_happiness": 50, + "capture_rate": 120, + "color": { + "name": "blue", + "url": "https://pokeapi.co/api/v2/pokemon-color/2/" + }, + "egg_groups": [ + { + "name": "plant", + "url": "https://pokeapi.co/api/v2/egg-group/7/" + } + ], + "evolution_chain": { + "url": "https://pokeapi.co/api/v2/evolution-chain/18/" + }, + "evolves_from_species": { + "name": "oddish", + "url": "https://pokeapi.co/api/v2/pokemon-species/43/" + }, + "flavor_text_entries": [ + { + "flavor_text": "The fluid that\noozes from its\nmouth isn't drool.\fIt is a nectar\nthat is used to\nattract prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "red", + "url": "https://pokeapi.co/api/v2/version/1/" + } + }, + { + "flavor_text": "The fluid that\noozes from its\nmouth isn't drool.\fIt is a nectar\nthat is used to\nattract prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "blue", + "url": "https://pokeapi.co/api/v2/version/2/" + } + }, + { + "flavor_text": "Smells incredibly\nfoul! However,\naround 1 out of\f1,000 people enjoy\nsniffing its nose-\nbending stink.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version/3/" + } + }, + { + "flavor_text": "What appears to be\ndrool is actually\nsweet honey. It is\fvery sticky and\nclings stubbornly\nif touched.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "flavor_text": "It secretes a\nsticky, drool-like\nhoney. Although\fsweet, it smells\ntoo repulsive to\nget very close.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "flavor_text": "The smell from its\ndrool-like syrup\nand the pollen on\fits petals is so\nbad, it may make\nopponents faint.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "flavor_text": "GLOOM releases a foul fragrance from\nthe pistil of its flower. When faced\nwith danger, the stench worsens.\fIf this POKéMON is feeling calm and\nsecure, it does not release its usual\nstinky aroma.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "flavor_text": "From its mouth GLOOM drips honey that\nsmells absolutely horrible.\nApparently, it loves the horrid stench.\fIt sniffs the noxious fumes and then \ndrools even more of its honey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "flavor_text": "A horribly noxious honey drools from its\nmouth. One whiff of the honey can result\nin memory loss. Some fans are said to\nenjoy this overwhelming stink, however.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "flavor_text": "Its pistils exude an incredibly foul odor.\nThe horrid stench can cause fainting at a\ndistance of 1.25 miles.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "flavor_text": "The fluid that oozes from its mouth isn’t\ndrool. It is a nectar that is used to\nattract prey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "flavor_text": "What appears to be drool is actually\nsweet honey. It is very sticky and\nclings stubbornly if touched.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "flavor_text": "It secretes a sticky, drool-like\nhoney. Although sweet, it smells\ntoo repulsive to get very close.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "flavor_text": "L’odeur du nectar de sa bouche est\nsi répugnante qu’elle agresse les\nnarines à deux kilomètres.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "L’odeur du nectar de sa bouche est\nsi répugnante qu’elle agresse les\nnarines à deux kilomètres.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "flavor_text": "The honey it drools from its mouth\nsmells so atrocious, it can curl\nnoses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "flavor_text": "もうれつな クサさ! それなのに\n1000にんに ひとりぐらい\nこれを このんで かぐひとがいる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "강렬한 악취가 난다! 그럼에도\n불구하고 1000명에 한 명 정도\n이 냄새를 즐겨 맡는 사람이 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Il sent très mauvais ! Mais une personne sur 1 000\naime la puanteur de son corps nauséabond.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Dieses Pokémon sondert einen übelriechenden\nGeruch ab. Trotzdem halten einige Leute es im Haus.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "¡Huele bastante mal! De todas formas, una de cada\nmil personas aprecian su fétido olor.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Puzza da levare il fiato! Tuttavia circa una persona\nsu mille adora annusarne il fetido lezzo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Smells incredibly foul! However, around one out\nof a thousand people enjoy sniffing its\nnose-bending stink.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "猛烈な クサさ! それなのに\n1000人に 1人ぐらい\nこれを 好んで かぐ 人がいる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "くちから たれている ミツは\n2キロ はなれていても はなが\nまがるほど もうれつに くさい。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "입에서 흘러내리는 꿀은\n2km 떨어져 있어도 머리가\n아플 정도로 심한 악취가 난다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "L’odeur du nectar de sa bouche est si répugnante\nqu’elle agresse les narines à 2 km.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Der Honig, den es abgibt, riecht so entsetzlich,\ndass sich sogar Nasen in 2 km Entfernung rümpfen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "La miel que emana de su boca posee un hedor capaz\nde derribar enemigos a 2 km de distancia.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Il fluido che fuoriesce dalla sua bocca è così\npuzzolente che si sente anche a 2 km di distanza.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "The honey it drools from its mouth smells so\natrocious, it can curl noses more than a mile away.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "口から たれている ミツは\n2キロ 離れていても 鼻が\nまがるほど 猛烈に くさい。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "きけんを かんじると めしべの はなつ くさい\nにおいは さらに つよまるが こころ おだやかな\nときは くさい においを ださないのだ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "위험을 느끼면 암술에서 내는 구린\n냄새가 더 강해지지만 마음이 평안할\n때는 구린 냄새를 내지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "La plupart du temps, Ortide dégage un parfum immonde du\npistil de sa fleur. Lorsqu’il se sent en danger, la puanteur est\nencore pire. Lorsque ce Pokémon se sent bien et en sécurité,\nil ne dégage aucune odeur nauséabonde.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Duflor produziert einen ekelerregenden Gestank aus\ndem Stempel seiner Blume. Wenn es in Gefahr gerät,\nwird der Gestank noch unerträglicher. Wenn sich dieses\nPokémon in Sicherheit befindet, stößt es keinen\nGestank aus.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Gloom libera un fétido olor por el pistilo de la flor. Cuando\nestá en peligro, el hedor se intensifica. Si este Pokémon está\ntranquilo y no se siente amenazado, no libera el desagradable\nolor.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Gloom rilascia un odore fetido dal pistillo del suo fiore.\nQuando è in pericolo, l’olezzo peggiora. Quando invece\nsi sente tranquillo e sicuro, non emana questa sostanza\nmaleodorante.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Gloom releases a foul fragrance from the pistil of its flower.\nWhen faced with danger, the stench worsens.\nIf this Pokémon is feeling calm and secure, it does not\nrelease its usual stinky aroma.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "危険を 感じると めしべの 放つ くさい\n臭いが さらに 強まるが 心が 穏やかな\nときは くさい 臭いを 出さないのだ。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "どうやら クサイハナは くちから たらしている\nもうれつに くさい ニオイが だいすき らしい。\nニオイを かいで さらに みつを あふれさせる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "아무래도 냄새꼬는 입에서 나는\n맹렬한 악취를 매우 좋아하는 것 같다.\n냄새를 맡으면 더욱 꿀이 넘쳐난다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Ortide bave un miel qui sent horriblement mauvais.\nApparemment, il adore cette odeur nauséabonde.\nIl en renifle les fumées toxiques et se met à baver\ndu miel de plus belle.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Aus Duflors Mund tropft übelst riechender Honig.\nDiesen Gestank scheint es zu lieben, denn es\nschnieft die giftigen Dämpfe ein und sabbert danach\nnoch mehr Honig.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Gloom babea un néctar que tiene un olor realmente horrible,\naunque parece ser que a él le gusta. De hecho, aspira los\ngases nocivos y libera más néctar aún.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Dalla bocca di Gloom fuoriesce una resina maleodorante\ne disgustosa. Evidentemente adora questo fetido olezzo,\npoiché lo annusa avidamente producendo poi altra resina.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "From its mouth Gloom drips honey that smells absolutely\nhorrible. Apparently, it loves the horrid stench. It sniffs the\nnoxious fumes and then drools even more of its honey.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "どうやら クサイハナは 口から 垂らしている\n猛烈に 臭い ニオイが 大好き らしい。\nニオイを 嗅いで さらに みつを あふれさせる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Aus seinem Mund tropft übelriechender Honig.\nBekommt man etwas davon ab, haftet sein\nGestank selbst nach 10 Waschgängen noch an.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Der Honig, der er aus seinem Mund tropft, riecht\nzwar übel, lässt sich aber durch Trocknen und\nErwärmen zu wirkungsvoller Medizin verarbeiten.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "もうれつな クサさ! それなのに\n1000にんに ひとりぐらい これを\nこのんで かぐひとがいる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "강렬한 악취가 난다! 그럼에도\n불구하고 1000명에 한 명 정도\n이 냄새를 즐겨 맡는 사람이 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "味道奇臭無比!然而\n每1000人裡總會有\n1個人喜歡聞這個味道。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Il sent très mauvais, mais une personne sur mille\naime l’odeur de son corps nauséabond.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Es riecht unglaublich widerlich. Trotzdem gibt\nes unter tausend Menschen mindestens einen,\ndem der Gestank gefällt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Huele bastante mal, pero una de cada mil\npersonas aprecia su fétido olor.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Puzza da levare il fiato! Tuttavia circa una\npersona su mille adora annusarne il fetido\nlezzo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Smells incredibly foul! However, around one\nout of a thousand people enjoy sniffing\nits nose-bending stink.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "猛烈な クサさ! それなのに\n1000人に 1人ぐらい これを\n好んで 嗅ぐ人がいる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "奇臭无比!即使如此,\n一千个人里总会出现\n一个人喜欢闻这种味道。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "もうれつな クサさ! それなのに\n1000にんに ひとりぐらい これを\nこのんで かぐひとがいる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "강렬한 악취가 난다! 그럼에도\n불구하고 1000명에 한 명 정도\n이 냄새를 즐겨 맡는 사람이 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "味道奇臭無比!然而\n每1000人裡總會有\n1個人喜歡聞這個味道。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Il sent très mauvais, mais une personne sur mille\naime l’odeur de son corps nauséabond.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Es riecht unglaublich widerlich. Trotzdem gibt\nes unter tausend Menschen mindestens einen,\ndem der Gestank gefällt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Huele bastante mal, pero una de cada mil\npersonas aprecia su fétido olor.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Puzza da levare il fiato! Tuttavia circa una\npersona su mille adora annusarne il fetido\nlezzo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Smells incredibly foul! However, around one\nout of a thousand people enjoy sniffing\nits nose-bending stink.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "猛烈な クサさ! それなのに\n1000人に 1人ぐらい これを\n好んで 嗅ぐ人がいる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "奇臭无比!即使如此,\n一千个人里总会出现\n一个人喜欢闻这种味道。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "めしべが はなつ とてつもなく\nくさい においは 2キロさきまで\nとどき きを うしなわせる。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "암술에서 내뿜는 지독하게\n구린 냄새는 2km 떨어진 곳까지\n퍼져 정신을 잃게 만든다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "雌蕊會散發一種\n極其強烈的惡臭,\n能讓2公里外的人昏倒。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Ses pistils sécrètent une odeur incroyablement\nfétide qui fait perdre connaissance à\nses adversaires jusqu’à 2 km à la ronde.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Sein Stempel sondert einen unglaublich faulen\nGestank ab. Dieser stechende Geruch kann selbst\nbis zu 2 km entfernte Gegner bewusstlos machen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Libera un fétido olor por los pistilos. El fuerte\nhedor hace perder el conocimiento a cualquiera\nque se encuentre en un radio de 2 km.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "I pistilli emanano un puzzo orribile, capace\ndi far svenire chiunque nel raggio di 2 km.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "Its pistils exude an incredibly foul odor.\nThe horrid stench can cause fainting at a distance\nof 1.25 miles.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "めしべが 放つ とてつもなく\n臭い においは 2キロ先まで\nとどき 気を 失わせる。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "雌蕊会散发一种\n极其强烈的恶臭,\n能让2公里远的人昏倒。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "sword", + "url": "https://pokeapi.co/api/v2/version/33/" + } + }, + { + "flavor_text": "よだれのように みえる あまいミツ。\nとても ねばねば しており ふれると\nいつまでも まとわりつく。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "침처럼 보이는 달콤한 꿀은\n매우 끈적거려서\n묻으면 좀처럼 떨어지지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "看似口水的東西其實是\n甜甜的蜜。非常黏稠,\n只要碰到就會一直黏住。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Ce qui semble être sa bave est en fait du nectar\ntrès collant. Si on le touche, il est très difficile\nde s’en dépêtrer.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Was wie Speichel aussieht, ist eigentlich Honig.\nEr ist sehr klebrig und wenn man ihn berührt,\nbekommt man ihn nicht mehr ab.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Lo que parece baba es realmente un néctar muy\npegajoso que se adhiere sin remisión al tocarlo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "Ciò che sembra bava è in realtà dolce nettare.\nÈ molto viscoso: si appiccica appena lo si sfiora.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "What appears to be drool is actually sweet honey.\nIt is very sticky and clings stubbornly if touched.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "よだれのように 見える 甘い蜜。\nとても ねばねば しており 触れると\nいつまでも まとわりつく。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + }, + { + "flavor_text": "看似口水的东西其实是\n甜甜的蜜。非常黏稠,\n只要碰到就会一直黏住。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "shield", + "url": "https://pokeapi.co/api/v2/version/34/" + } + } + ], + "form_descriptions": [], + "forms_switchable": false, + "gender_rate": 4, + "genera": [ + { + "genus": "ざっそうポケモン", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + } + }, + { + "genus": "잡초포켓몬", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + } + }, + { + "genus": "雜草寶可夢", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + } + }, + { + "genus": "Pokémon Racine", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + } + }, + { + "genus": "Unkraut-Pokémon", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "genus": "Pokémon Hierbajo", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + } + }, + { + "genus": "Pokémon Malerba", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + } + }, + { + "genus": "Weed Pokémon", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + }, + { + "genus": "ざっそうポケモン", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + } + }, + { + "genus": "杂草宝可梦", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "growth_rate": { + "name": "medium-slow", + "url": "https://pokeapi.co/api/v2/growth-rate/4/" + }, + "habitat": { + "name": "grassland", + "url": "https://pokeapi.co/api/v2/pokemon-habitat/3/" + }, + "has_gender_differences": true, + "hatch_counter": 20, + "id": 44, + "is_baby": false, + "is_legendary": false, + "is_mythical": false, + "name": "gloom", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "クサイハナ" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": "Kusaihana" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "냄새꼬" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "臭臭花" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Ortide" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Duflor" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Gloom" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Gloom" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Gloom" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "クサイハナ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "臭臭花" + } + ], + "order": 48, + "pal_park_encounters": [ + { + "area": { + "name": "forest", + "url": "https://pokeapi.co/api/v2/pal-park-area/1/" + }, + "base_score": 50, + "rate": 30 + } + ], + "pokedex_numbers": [ + { + "entry_number": 44, + "pokedex": { + "name": "national", + "url": "https://pokeapi.co/api/v2/pokedex/1/" + } + }, + { + "entry_number": 44, + "pokedex": { + "name": "kanto", + "url": "https://pokeapi.co/api/v2/pokedex/2/" + } + }, + { + "entry_number": 84, + "pokedex": { + "name": "original-johto", + "url": "https://pokeapi.co/api/v2/pokedex/3/" + } + }, + { + "entry_number": 89, + "pokedex": { + "name": "hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/4/" + } + }, + { + "entry_number": 84, + "pokedex": { + "name": "updated-johto", + "url": "https://pokeapi.co/api/v2/pokedex/7/" + } + }, + { + "entry_number": 106, + "pokedex": { + "name": "kalos-central", + "url": "https://pokeapi.co/api/v2/pokedex/12/" + } + }, + { + "entry_number": 92, + "pokedex": { + "name": "updated-hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/15/" + } + }, + { + "entry_number": 44, + "pokedex": { + "name": "letsgo-kanto", + "url": "https://pokeapi.co/api/v2/pokedex/26/" + } + }, + { + "entry_number": 56, + "pokedex": { + "name": "galar", + "url": "https://pokeapi.co/api/v2/pokedex/27/" + } + }, + { + "entry_number": 63, + "pokedex": { + "name": "blueberry", + "url": "https://pokeapi.co/api/v2/pokedex/33/" + } + } + ], + "shape": { + "name": "humanoid", + "url": "https://pokeapi.co/api/v2/pokemon-shape/12/" + }, + "varieties": [ + { + "is_default": true, + "pokemon": { + "name": "gloom", + "url": "https://pokeapi.co/api/v2/pokemon/44/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-88.json b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-88.json new file mode 100644 index 00000000..7f39379c --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon-species/pokemon-species-88.json @@ -0,0 +1,1592 @@ +{ + "base_happiness": 70, + "capture_rate": 190, + "color": { + "name": "purple", + "url": "https://pokeapi.co/api/v2/pokemon-color/7/" + }, + "egg_groups": [ + { + "name": "indeterminate", + "url": "https://pokeapi.co/api/v2/egg-group/11/" + } + ], + "evolution_chain": { + "url": "https://pokeapi.co/api/v2/evolution-chain/38/" + }, + "evolves_from_species": null, + "flavor_text_entries": [ + { + "flavor_text": "Appears in filthy\nareas. Thrives by\nsucking up\fpolluted sludge\nthat is pumped\nout of factories.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "red", + "url": "https://pokeapi.co/api/v2/version/1/" + } + }, + { + "flavor_text": "Appears in filthy\nareas. Thrives by\nsucking up\fpolluted sludge\nthat is pumped\nout of factories.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "blue", + "url": "https://pokeapi.co/api/v2/version/2/" + } + }, + { + "flavor_text": "Made of hardened\nsludge. It smells\ntoo putrid to\ftouch.\nEven weeds won't\ngrow in its path.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version/3/" + } + }, + { + "flavor_text": "As it moves, it\nloses bits of its\nbody from which\fnew GRIMER emerge.\nThis worsens the\nstench around it.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "flavor_text": "Wherever GRIMER\nhas passed, so\nmany germs are\fleft behind that\nno plants will\never grow again.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "flavor_text": "When two of these\nPOKéMON's bodies\nare combined\ftogether, new\npoisons are\ncreated.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "flavor_text": "GRIMER’s sludgy and rubbery body can\nbe forced through any opening, however\nsmall it may be.\fThis POKéMON enters sewer pipes to\ndrink filthy wastewater.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "flavor_text": "GRIMER emerged from the sludge that\nsettled on a polluted seabed.\nThis POKéMON loves anything filthy.\fIt constantly leaks a horribly germ-\ninfested fluid from all over its body.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "flavor_text": "Born from polluted sludge in the sea,\nGRIMER’s favorite food is anything filthy.\nThey feed on wastewater pumped out from\nfactories.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "flavor_text": "Sludge exposed to X rays from the moon\ntransformed into GRIMER. It loves feeding\non filthy things.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "flavor_text": "Appears in filthy areas. It thrives by\nsucking up polluted sludge that is pumped\nout of factories.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "flavor_text": "It was born when sludge in a dirty\nstream was exposed to the moon’s\nX-rays. It appears among filth.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "flavor_text": "It was born when sludge in a dirty\nstream was exposed to the moon’s\nX-rays. It appears among filth.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "flavor_text": "It was born when sludge in a dirty\nstream was exposed to the moon’s\nX-rays. It appears among filth.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "flavor_text": "As it moves, it loses bits of its body,\nfrom which new GRIMER emerge.\nThis worsens the stench around it.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "flavor_text": "Wherever GRIMER has passed, so\nmany germs are left behind that\nno plants will ever grow again.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "flavor_text": "Il est né d’un torrent de boue\nexposé aux rayons X de la lune.\nIl vit dans les ordures.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "It was born when sludge in a dirty\nstream was exposed to the moon’s\nX-rays. It appears among filth.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "flavor_text": "Il est né d’un torrent de boue\nexposé aux rayons X de la lune.\nIl vit dans les ordures.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "It was born when sludge in a dirty\nstream was exposed to the moon’s\nX-rays. It appears among filth.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "flavor_text": "Born from sludge, these Pokémon now\ngather in polluted places and increase\nthe bacteria in their bodies.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "flavor_text": "Born from sludge, these Pokémon now\ngather in polluted places and increase\nthe bacteria in their bodies.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "flavor_text": "つきからの エックスせんをあびた\nヘドロが ベトベターにへんかした。\nきたないモノが だいこうぶつ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "달로부터의 X선을 쬔\n오물이 질퍽이로 변화했다.\n더러운 것을 좋아한다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Tadmorv est né d’un tas de déchets exposé aux\nrayons X lunaires. Ce Pokémon adore se nourrir\nde choses dégoûtantes.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Schlamm, der Röntgenstrahlung vom Mond\nausgesetzt war, wurde zu Sleima. Es isst\nam liebsten dreckige Dinge.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Nace de lodo alterado al filtrarse en el agua los\nrayos X reflejados por la Luna. Se alimenta de\nsustancias desagradables.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Grimer è nato da fango esposto ai raggi X provenienti\ndalla luna. Ama nutrirsi di sostanze sudicie.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "Sludge exposed to X-rays from the moon\ntransformed into Grimer. It loves feeding\non filthy things.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "月からの エックス線を 浴びた\nヘドロが ベトベターに 変化した。\n汚いものが 大好物。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "flavor_text": "きたない ばしょに あらわれる。\nこうじょうが ながす ヘドロ\nはいえきを のんで いきている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "지저분한 곳에 모습을 드러낸다.\n공장에서 내보내는 오물\n폐수를 마시며 살고 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Vivant dans des tas d’ordures, il se nourrit des\ndéchets polluants rejetés par les usines.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Dieses Pokémon lebt vorwiegend in schmutzigen\nGebieten und ernährt sich von Industrieabfällen.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Aparece en zonas asquerosas. Crece absorbiendo los\nresiduos tóxicos expulsados por las fábricas.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Prospera in zone paludose. Cresce nutrendosi dei\nliquami di scarico delle fabbriche.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "Appears in filthy areas. It thrives by sucking up\npolluted sludge that is pumped out of factories.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "汚い 場所に 現れる。\n工場が 流す ヘドロ廃液を\n飲んで 生きている。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "flavor_text": "ドロドロ ブヨブヨした からだは どんなに\nほそい すきまにも はいりこむことが できる。\nげすいかんに もぐって きたない みずを のむ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "흐물흐물 물렁물렁한 몸은 아무리\n좁은 틈이라도 파고들어 갈 수 있다.\n하수관에 들어가 지저분한 물을 마신다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Le corps boueux et gélatineux de Tadmorv peut s’enfoncer\ndans n’importe quelle ouverture, même la plus petite.\nCe Pokémon se promène dans les tuyaux des égouts pour\nboire de l’eau croupie.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Sleimas glitschiger, gummiartiger Körper passt durch jede\nnoch so kleine Öffnung. Dieses Pokémon steigt in die\nKanalisation hinab, um fauliges Abwasser zu trinken.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "El elástico cuerpo de lodo de Grimer le permite colarse por\ncualquier orificio, sea del tamaño que sea. Este Pokémon entra\nen los bajantes de las cloacas para beberse el agua sucia.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Il corpo fangoso e gommoso di Grimer può passare attraverso\nogni apertura, anche la più angusta. Si intrufola dentro\nle condotte fognarie per bere le ripugnanti acque di scarico.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "Grimer’s sludgy and rubbery body can be forced through any\nopening, however small it may be. This Pokémon enters sewer\npipes to drink filthy wastewater.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "ドロドロ ブヨブヨした 体は どんなに\n細い すき間にも 入り込むことが できる。\n下水管に 潜って 汚い 水を 飲む。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "flavor_text": "おせんされた かいていの ヘドロから うまれた。\nきたない ものが だいすきで からだじゅうから\nバイキンだらけの えきたいを たれながしている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "오염된 해저의 진흙에서 태어났다.\n더러운 것을 매우 좋아해서 몸 전체에서\n세균 범벅인 액체가 흘러나오고 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Tadmorv est apparu dans la vase accumulée sur un bord\nde mer pollué. Ce Pokémon aime tout ce qui est dégoûtant.\nUne substance pleine de germes suinte constamment\nde tout son corps.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Sleima ist aus dem Schlamm eines verseuchten Flussbetts\nentstanden. Dieses Pokémon liebt verschmutzte Dinge.\nEs scheidet ständig eine mit Bakterien verseuchte Flüssigkeit\naus seinem ganzen Körper aus.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Grimer emergió del lodo que se formó en una zona\ncontaminada en el fondo del mar. A este Pokémon le encanta\ntodo lo que sea suciedad. Emana continuamente por todo el\ncuerpo un horrible fluido contaminado por bacterias.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Grimer proviene dal fango depositato sui fondali inquinati.\nInfatti ama tutto ciò che è sudicio e tossico. Emana\ncontinuamente un fluido batterico velenoso da ogni parte\ndel corpo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "Grimer emerged from the sludge that settled on a polluted\nseabed. This Pokémon loves anything filthy. It constantly\nleaks a horribly germ-infested fluid from all over its body.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "汚染された 海底の ヘドロから 生まれた。\n汚い ものが 大好きで 体中から\nバイキンだらけの 液体を 垂れ流している。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "flavor_text": "こうじょうが たれながす ヘドロの\nはいえきが おもな エサ なのだ。\nさいきんは かずが へってきた。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "공장에서 흘러나오는\n오물 폐수가 주요 먹이다.\n최근에는 수가 줄어들고 있다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "主要的食物是\n工廠排放的污泥廢液。\n最近數量減少了。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Il s’alimente principalement des déchets\nchimiques rejetés par les usines. Ce Pokémon\nest devenu plus rare ces derniers temps.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Es ernährt sich primär von Industrieabfällen.\nIn letzter Zeit sieht man es viel seltener als\nfrüher.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Su principal fuente de alimento son los residuos\nindustriales. Últimamente la población de Grimer\nha menguado bastante.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Si nutre principalmente di rifiuti industriali\nfangosi. Negli ultimi tempi, il numero di Grimer\nsta diminuendo.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "Its main source of food is the slimy industrial\nwaste of factories. This Pokémon’s numbers\nhave been decreasing in recent years.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "工場が 垂れ流す ヘドロの\n廃液が 主な 餌 なのだ。\n最近は 数が 減ってきた。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "工厂排放的污泥废液\n是其主要的饵料。\n最近数量减少了。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "flavor_text": "つきからの エックスせんを あびた\nヘドロが へんかし たんじょう。\nからだの ばいきんが へると しぬ。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "달의 엑스선을 쬔\n진흙이 변화하여 태어났다.\n몸의 세균이 줄어들면 죽는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "照射了來自月亮的X射線後,\n污泥發生變化而誕生。\n身體的細菌如果減少就會死亡。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "Né d’un tas de déchets exposés aux rayons X\nréfléchis par la lune, il meurt si les microbes qui\npullulent sur son corps diminuent en nombre.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "Schlamm, der Röntgenstrahlung vom Mond\nausgesetzt war, wurde zu Sleima. Sinkt die\nZahl der Bakterien in seinem Körper, stirbt es.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "Nace del lodo expuesto a los rayos X reflejados\npor la luna. Si el número de bacterias de su\ncuerpo disminuye, su vida corre peligro.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "È nato da fango esposto ai raggi X provenienti\ndalla luna. Per sopravvivere, deve conservare\nun’elevata popolazione batterica.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "It was born from sludge transformed by\nexposure to X-rays from the moon. When its\ninternal load of germs decreases, it dies.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "月からの X線を 浴びた\nヘドロが 変化し 誕生。\n身体の ばい菌が 減ると 死ぬ。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "污泥沐浴了来自月亮的X射线后,\n发生变化而诞生的。\n身体的细菌如果减少就会死亡。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "flavor_text": "かいていの ヘドロから うまれた。\nせいけつな ばしょでは たいないの\nばいきんが ふやせず しんでしまう。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "바다 밑의 진흙에서 태어났다.\n청결한 장소에서는 체내의\n세균이 증식되지 않아 죽어 버린다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "誕生自海底的污泥。\n在乾淨的地方,牠會因為\n體內的細菌無法增長而死去。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Il est né de la vase polluée des fonds marins.\nDans les lieux trop propres, sa flore bactérienne\nne peut pas proliférer et il dépérit.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Sleima ist aus dem Schlamm am Meeresgrund\nentstanden. An sterilen Orten kann es seine\nBakterien nicht kultivieren und stirbt.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Surgió del limo oceánico. En hábitats impolutos,\nlos gérmenes de su cuerpo no pueden medrar y\ntermina falleciendo.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "Proviene dal fango dei fondali marini. Non può\nsopravvivere in ambienti puliti perché i batteri\nnel suo corpo non riescono a moltiplicarsi.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "It was born from sludge on the ocean floor. In a\nsterile environment, the germs within its body\ncan’t multiply, and it dies.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "海底の ヘドロから 生まれた。\n清潔な 場所では 体内の\nばい菌が 増やせず 死んでしまう。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "诞生于海底的污泥。\n在干净的地方,它就会因\n体内的细菌无法增长而死去。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "flavor_text": "さいきんは こうじょうが ながす\nはいえきが きれいで エサが ない。\nじき ぜつめつすると いわれている。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "최근에는 공장에서 나오는\n폐수가 깨끗해서 먹이가 없다.\n곧 멸종될 것이라고 전해진다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "最近工廠排放的廢水太乾淨,\n使得牠沒東西可吃。\n據說就快要絕種了。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Les usines ne rejetant désormais plus de\ndéchets toxiques, il n’a plus rien à se mettre\nsous la dent et se voit menacé d’extinction.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Es ernährt sich von Industrieabfällen, die durch\numweltfreundliche Methoden nun aber knapp\nwerden. Es ist daher vom Aussterben bedroht.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Debido a la reducción en los vertidos de aguas\nresiduales, su fuente de alimento ha menguado\ny ahora se encuentra en peligro de extinción.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "Poiché gli scarichi industriali sono sempre\npiù puliti, fatica a trovare fonti di nutrimento.\nSembra che per questo rischi l’estinzione.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "The wastewater coming from factories is clean\nthese days, so Grimer have nothing to eat.\nThey’re said to be on the verge of extinction.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "最近は 工場が 流す\n廃液が 綺麗で エサが ない。\nじき 絶滅すると いわれている。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "最近工厂流出的废水太干净,\n它都没东西可吃。\n据说马上就要灭绝了。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + }, + { + "flavor_text": "ヘドロが かたまって うまれた。\nくさくて さわることが できないし\nとおったあとには くさも はえない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "진흙이 뭉쳐져서 태어났다.\n악취 때문에 건드릴 엄두가 안 나고\n지나간 자리에는 풀 한 포기 나지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "由許多污泥凝聚而成。\n散發著惡臭,讓人無法觸碰。\n經過的地方寸草不生。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Ce tas de fange sent si mauvais qu’il est\nimpossible de le toucher. Plus rien ne pousse\ndans son sillage putride.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Sleima ist aus erhärtetem Schlamm entstanden.\nEs riecht sehr penetrant und man sollte es nicht\nberühren. Wo es hintritt, wächst kein Gras mehr.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Está hecho de lodo endurecido. Pocos se atreven\na tocarlo debido a su pestilencia y composición\nnociva. Allá por donde pasa no crece la hierba.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Formato da fanghi tossici solidificati, emana\nun tanfo nauseabondo ed è impossibile toccarlo.\nDove passa lui non cresce più nemmeno l’erba.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "Made of congealed sludge. It smells too putrid\nto touch. Even weeds won’t grow in its path.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "ヘドロが 固まって 生まれた。\n臭くて さわることが できないし\n通った跡には 草も 生えない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "它由囤积的淤泥而形成。\n臭到让人无法碰触,凡是\n它走过的地方都寸草不生。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "lets-go-pikachu", + "url": "https://pokeapi.co/api/v2/version/31/" + } + }, + { + "flavor_text": "ヘドロが かたまって うまれた。\nくさくて さわることが できないし\nとおったあとには くさも はえない。", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "진흙이 뭉쳐져서 태어났다.\n악취 때문에 건드릴 엄두가 안 나고\n지나간 자리에는 풀 한 포기 나지 않는다.", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "由許多污泥凝聚而成。\n散發著惡臭,讓人無法觸碰。\n經過的地方寸草不生。", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Ce tas de fange sent si mauvais qu’il est\nimpossible de le toucher. Plus rien ne pousse\ndans son sillage putride.", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Sleima ist aus erhärtetem Schlamm entstanden.\nEs riecht sehr penetrant und man sollte es nicht\nberühren. Wo es hintritt, wächst kein Gras mehr.", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Está hecho de lodo endurecido. Pocos se atreven\na tocarlo debido a su pestilencia y composición\nnociva. Allá por donde pasa no crece la hierba.", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Formato da fanghi tossici solidificati, emana\nun tanfo nauseabondo ed è impossibile toccarlo.\nDove passa lui non cresce più nemmeno l’erba.", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "Made of congealed sludge. It smells too putrid\nto touch. Even weeds won’t grow in its path.", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "ヘドロが 固まって 生まれた。\n臭くて さわることが できないし\n通った跡には 草も 生えない。", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + }, + { + "flavor_text": "它由囤积的淤泥而形成。\n臭到让人无法碰触,凡是\n它走过的地方都寸草不生。", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "version": { + "name": "lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version/32/" + } + } + ], + "form_descriptions": [], + "forms_switchable": false, + "gender_rate": 4, + "genera": [ + { + "genus": "ヘドロポケモン", + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + } + }, + { + "genus": "진흙포켓몬", + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + } + }, + { + "genus": "污泥寶可夢", + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + } + }, + { + "genus": "Pokémon Dégueu", + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + } + }, + { + "genus": "Schlamm", + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + } + }, + { + "genus": "Pokémon Lodo", + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + } + }, + { + "genus": "Pokémon Melma", + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + } + }, + { + "genus": "Sludge Pokémon", + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + } + }, + { + "genus": "ヘドロポケモン", + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + } + }, + { + "genus": "污泥宝可梦", + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "growth_rate": { + "name": "medium", + "url": "https://pokeapi.co/api/v2/growth-rate/2/" + }, + "habitat": { + "name": "urban", + "url": "https://pokeapi.co/api/v2/pokemon-habitat/8/" + }, + "has_gender_differences": false, + "hatch_counter": 20, + "id": 88, + "is_baby": false, + "is_legendary": false, + "is_mythical": false, + "name": "grimer", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ベトベター" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": "Betbeter" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "질퍽이" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "臭泥" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Tadmorv" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Sleima" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Grimer" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Grimer" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Grimer" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ベトベター" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "臭泥" + } + ], + "order": 96, + "pal_park_encounters": [ + { + "area": { + "name": "field", + "url": "https://pokeapi.co/api/v2/pal-park-area/2/" + }, + "base_score": 50, + "rate": 30 + } + ], + "pokedex_numbers": [ + { + "entry_number": 88, + "pokedex": { + "name": "national", + "url": "https://pokeapi.co/api/v2/pokedex/1/" + } + }, + { + "entry_number": 88, + "pokedex": { + "name": "kanto", + "url": "https://pokeapi.co/api/v2/pokedex/2/" + } + }, + { + "entry_number": 116, + "pokedex": { + "name": "original-johto", + "url": "https://pokeapi.co/api/v2/pokedex/3/" + } + }, + { + "entry_number": 106, + "pokedex": { + "name": "hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/4/" + } + }, + { + "entry_number": 117, + "pokedex": { + "name": "updated-johto", + "url": "https://pokeapi.co/api/v2/pokedex/7/" + } + }, + { + "entry_number": 64, + "pokedex": { + "name": "updated-unova", + "url": "https://pokeapi.co/api/v2/pokedex/9/" + } + }, + { + "entry_number": 111, + "pokedex": { + "name": "updated-hoenn", + "url": "https://pokeapi.co/api/v2/pokedex/15/" + } + }, + { + "entry_number": 50, + "pokedex": { + "name": "original-alola", + "url": "https://pokeapi.co/api/v2/pokedex/16/" + } + }, + { + "entry_number": 50, + "pokedex": { + "name": "original-melemele", + "url": "https://pokeapi.co/api/v2/pokedex/17/" + } + }, + { + "entry_number": 28, + "pokedex": { + "name": "original-ulaula", + "url": "https://pokeapi.co/api/v2/pokedex/19/" + } + }, + { + "entry_number": 57, + "pokedex": { + "name": "updated-alola", + "url": "https://pokeapi.co/api/v2/pokedex/21/" + } + }, + { + "entry_number": 57, + "pokedex": { + "name": "updated-melemele", + "url": "https://pokeapi.co/api/v2/pokedex/22/" + } + }, + { + "entry_number": 28, + "pokedex": { + "name": "updated-ulaula", + "url": "https://pokeapi.co/api/v2/pokedex/24/" + } + }, + { + "entry_number": 88, + "pokedex": { + "name": "letsgo-kanto", + "url": "https://pokeapi.co/api/v2/pokedex/26/" + } + }, + { + "entry_number": 194, + "pokedex": { + "name": "paldea", + "url": "https://pokeapi.co/api/v2/pokedex/31/" + } + }, + { + "entry_number": 68, + "pokedex": { + "name": "blueberry", + "url": "https://pokeapi.co/api/v2/pokedex/33/" + } + } + ], + "shape": { + "name": "arms", + "url": "https://pokeapi.co/api/v2/pokemon-shape/4/" + }, + "varieties": [ + { + "is_default": true, + "pokemon": { + "name": "grimer", + "url": "https://pokeapi.co/api/v2/pokemon/88/" + } + }, + { + "is_default": false, + "pokemon": { + "name": "grimer-alola", + "url": "https://pokeapi.co/api/v2/pokemon/10112/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon/pokemon-186.json b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-186.json new file mode 100644 index 00000000..038bdd15 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-186.json @@ -0,0 +1,10868 @@ +{ + "abilities": [ + { + "ability": { + "name": "water-absorb", + "url": "https://pokeapi.co/api/v2/ability/11/" + }, + "is_hidden": false, + "slot": 1 + }, + { + "ability": { + "name": "damp", + "url": "https://pokeapi.co/api/v2/ability/6/" + }, + "is_hidden": false, + "slot": 2 + }, + { + "ability": { + "name": "drizzle", + "url": "https://pokeapi.co/api/v2/ability/2/" + }, + "is_hidden": true, + "slot": 3 + } + ], + "base_experience": 250, + "cries": { + "latest": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/186.ogg", + "legacy": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/186.ogg" + }, + "forms": [ + { + "name": "politoed", + "url": "https://pokeapi.co/api/v2/pokemon-form/186/" + } + ], + "game_indices": [ + { + "game_index": 186, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "game_index": 186, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "game_index": 186, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "game_index": 186, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "game_index": 186, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "game_index": 186, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "game_index": 186, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "game_index": 186, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "game_index": 186, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "game_index": 186, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "game_index": 186, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "game_index": 186, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "game_index": 186, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "game_index": 186, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "game_index": 186, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "game_index": 186, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "game_index": 186, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + } + ], + "height": 11, + "held_items": [ + { + "item": { + "name": "kings-rock", + "url": "https://pokeapi.co/api/v2/item/198/" + }, + "version_details": [ + { + "rarity": 5, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "rarity": 5, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "rarity": 5, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "rarity": 5, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "rarity": 5, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "rarity": 5, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "rarity": 5, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "rarity": 5, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "rarity": 5, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "rarity": 5, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "rarity": 5, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "rarity": 5, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "rarity": 5, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "rarity": 5, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "rarity": 5, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "rarity": 5, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "rarity": 5, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "rarity": 5, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "rarity": 5, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "rarity": 5, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + } + ] + } + ], + "id": 186, + "is_default": true, + "location_area_encounters": "https://pokeapi.co/api/v2/pokemon/186/encounters", + "moves": [ + { + "move": { + "name": "pound", + "url": "https://pokeapi.co/api/v2/move/1/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-slap", + "url": "https://pokeapi.co/api/v2/move/3/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "mega-punch", + "url": "https://pokeapi.co/api/v2/move/5/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "ice-punch", + "url": "https://pokeapi.co/api/v2/move/8/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mega-kick", + "url": "https://pokeapi.co/api/v2/move/25/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "body-slam", + "url": "https://pokeapi.co/api/v2/move/34/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-edge", + "url": "https://pokeapi.co/api/v2/move/38/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mist", + "url": "https://pokeapi.co/api/v2/move/54/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "water-gun", + "url": "https://pokeapi.co/api/v2/move/55/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hydro-pump", + "url": "https://pokeapi.co/api/v2/move/56/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "surf", + "url": "https://pokeapi.co/api/v2/move/57/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ice-beam", + "url": "https://pokeapi.co/api/v2/move/58/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "blizzard", + "url": "https://pokeapi.co/api/v2/move/59/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "bubble-beam", + "url": "https://pokeapi.co/api/v2/move/61/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hyper-beam", + "url": "https://pokeapi.co/api/v2/move/63/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "low-kick", + "url": "https://pokeapi.co/api/v2/move/67/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "counter", + "url": "https://pokeapi.co/api/v2/move/68/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + } + ] + }, + { + "move": { + "name": "seismic-toss", + "url": "https://pokeapi.co/api/v2/move/69/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "strength", + "url": "https://pokeapi.co/api/v2/move/70/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "earthquake", + "url": "https://pokeapi.co/api/v2/move/89/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "dig", + "url": "https://pokeapi.co/api/v2/move/91/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/move/94/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hypnosis", + "url": "https://pokeapi.co/api/v2/move/95/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "screech", + "url": "https://pokeapi.co/api/v2/move/103/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "defense-curl", + "url": "https://pokeapi.co/api/v2/move/111/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + } + ] + }, + { + "move": { + "name": "haze", + "url": "https://pokeapi.co/api/v2/move/114/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "metronome", + "url": "https://pokeapi.co/api/v2/move/118/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "waterfall", + "url": "https://pokeapi.co/api/v2/move/127/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swift", + "url": "https://pokeapi.co/api/v2/move/129/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "amnesia", + "url": "https://pokeapi.co/api/v2/move/133/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "splash", + "url": "https://pokeapi.co/api/v2/move/150/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thief", + "url": "https://pokeapi.co/api/v2/move/168/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "curse", + "url": "https://pokeapi.co/api/v2/move/174/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + } + ] + }, + { + "move": { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "belly-drum", + "url": "https://pokeapi.co/api/v2/move/187/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-slap", + "url": "https://pokeapi.co/api/v2/move/189/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "perish-song", + "url": "https://pokeapi.co/api/v2/move/195/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "icy-wind", + "url": "https://pokeapi.co/api/v2/move/196/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "detect", + "url": "https://pokeapi.co/api/v2/move/197/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + } + ] + }, + { + "move": { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + "version_group_details": [ + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 51, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "attract", + "url": "https://pokeapi.co/api/v2/move/213/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "dynamic-punch", + "url": "https://pokeapi.co/api/v2/move/223/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + } + ] + }, + { + "move": { + "name": "encore", + "url": "https://pokeapi.co/api/v2/move/227/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "rain-dance", + "url": "https://pokeapi.co/api/v2/move/240/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "psych-up", + "url": "https://pokeapi.co/api/v2/move/244/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-smash", + "url": "https://pokeapi.co/api/v2/move/249/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "whirlpool", + "url": "https://pokeapi.co/api/v2/move/250/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "uproar", + "url": "https://pokeapi.co/api/v2/move/253/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "hail", + "url": "https://pokeapi.co/api/v2/move/258/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "focus-punch", + "url": "https://pokeapi.co/api/v2/move/264/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "helping-hand", + "url": "https://pokeapi.co/api/v2/move/270/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "brick-break", + "url": "https://pokeapi.co/api/v2/move/280/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "endeavor", + "url": "https://pokeapi.co/api/v2/move/283/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "dive", + "url": "https://pokeapi.co/api/v2/move/291/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "hyper-voice", + "url": "https://pokeapi.co/api/v2/move/304/" + }, + "version_group_details": [ + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "weather-ball", + "url": "https://pokeapi.co/api/v2/move/311/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "muddy-water", + "url": "https://pokeapi.co/api/v2/move/330/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "bounce", + "url": "https://pokeapi.co/api/v2/move/340/" + }, + "version_group_details": [ + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-shot", + "url": "https://pokeapi.co/api/v2/move/341/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "water-pulse", + "url": "https://pokeapi.co/api/v2/move/352/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "payback", + "url": "https://pokeapi.co/api/v2/move/371/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "fling", + "url": "https://pokeapi.co/api/v2/move/374/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "focus-blast", + "url": "https://pokeapi.co/api/v2/move/411/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "earth-power", + "url": "https://pokeapi.co/api/v2/move/414/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "giga-impact", + "url": "https://pokeapi.co/api/v2/move/416/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "captivate", + "url": "https://pokeapi.co/api/v2/move/445/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "low-sweep", + "url": "https://pokeapi.co/api/v2/move/490/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "echoed-voice", + "url": "https://pokeapi.co/api/v2/move/497/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "scald", + "url": "https://pokeapi.co/api/v2/move/503/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "bulldoze", + "url": "https://pokeapi.co/api/v2/move/523/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "power-up-punch", + "url": "https://pokeapi.co/api/v2/move/612/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "liquidation", + "url": "https://pokeapi.co/api/v2/move/710/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "chilling-water", + "url": "https://pokeapi.co/api/v2/move/886/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + } + ], + "name": "politoed", + "order": 102, + "past_abilities": [], + "past_types": [], + "species": { + "name": "politoed", + "url": "https://pokeapi.co/api/v2/pokemon-species/186/" + }, + "sprites": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/186.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/female/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/186.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/female/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/female/186.png", + "other": { + "dream_world": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/186.svg", + "front_female": null + }, + "home": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/female/186.png" + }, + "official-artwork": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/186.png" + }, + "showdown": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/186.gif", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/female/186.gif", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/shiny/186.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/186.gif", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/female/186.gif", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/186.gif", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/female/186.gif" + } + }, + "versions": { + "generation-i": { + "red-blue": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + }, + "yellow": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + } + }, + "generation-ii": { + "crystal": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/shiny/186.png", + "back_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/shiny/186.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/shiny/186.png", + "front_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/shiny/186.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/186.png" + }, + "gold": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/shiny/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/shiny/186.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/transparent/186.png" + }, + "silver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/shiny/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/shiny/186.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/transparent/186.png" + } + }, + "generation-iii": { + "emerald": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/shiny/186.png" + }, + "firered-leafgreen": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null + }, + "ruby-sapphire": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/shiny/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/shiny/186.png" + } + }, + "generation-iv": { + "diamond-pearl": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/186.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/female/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/186.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/female/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/female/186.png" + }, + "heartgold-soulsilver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/186.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/female/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/186.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/female/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/female/186.png" + }, + "platinum": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/186.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/female/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/186.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/female/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/female/186.png" + } + }, + "generation-v": { + "black-white": { + "animated": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/186.gif", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/female/186.gif", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/186.gif", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/female/186.gif", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/186.gif", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/female/186.gif", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/186.gif", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/female/186.gif" + }, + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/186.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/female/186.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/186.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/female/186.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/female/186.png" + } + }, + "generation-vi": { + "omegaruby-alphasapphire": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/female/186.png" + }, + "x-y": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/female/186.png" + } + }, + "generation-vii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/icons/186.png", + "front_female": null + }, + "ultra-sun-ultra-moon": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/186.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/female/186.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/186.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/female/186.png" + } + }, + "generation-viii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/186.png", + "front_female": null + } + } + } + }, + "stats": [ + { + "base_stat": 90, + "effort": 0, + "stat": { + "name": "hp", + "url": "https://pokeapi.co/api/v2/stat/1/" + } + }, + { + "base_stat": 75, + "effort": 0, + "stat": { + "name": "attack", + "url": "https://pokeapi.co/api/v2/stat/2/" + } + }, + { + "base_stat": 75, + "effort": 0, + "stat": { + "name": "defense", + "url": "https://pokeapi.co/api/v2/stat/3/" + } + }, + { + "base_stat": 90, + "effort": 0, + "stat": { + "name": "special-attack", + "url": "https://pokeapi.co/api/v2/stat/4/" + } + }, + { + "base_stat": 100, + "effort": 3, + "stat": { + "name": "special-defense", + "url": "https://pokeapi.co/api/v2/stat/5/" + } + }, + { + "base_stat": 70, + "effort": 0, + "stat": { + "name": "speed", + "url": "https://pokeapi.co/api/v2/stat/6/" + } + } + ], + "types": [ + { + "slot": 1, + "type": { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + } + } + ], + "weight": 339 +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon/pokemon-193.json b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-193.json new file mode 100644 index 00000000..a4619eea --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-193.json @@ -0,0 +1,10358 @@ +{ + "abilities": [ + { + "ability": { + "name": "speed-boost", + "url": "https://pokeapi.co/api/v2/ability/3/" + }, + "is_hidden": false, + "slot": 1 + }, + { + "ability": { + "name": "compound-eyes", + "url": "https://pokeapi.co/api/v2/ability/14/" + }, + "is_hidden": false, + "slot": 2 + }, + { + "ability": { + "name": "frisk", + "url": "https://pokeapi.co/api/v2/ability/119/" + }, + "is_hidden": true, + "slot": 3 + } + ], + "base_experience": 78, + "cries": { + "latest": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/193.ogg", + "legacy": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/193.ogg" + }, + "forms": [ + { + "name": "yanma", + "url": "https://pokeapi.co/api/v2/pokemon-form/193/" + } + ], + "game_indices": [ + { + "game_index": 193, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "game_index": 193, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "game_index": 193, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "game_index": 193, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "game_index": 193, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "game_index": 193, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "game_index": 193, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "game_index": 193, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "game_index": 193, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "game_index": 193, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "game_index": 193, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "game_index": 193, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "game_index": 193, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "game_index": 193, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "game_index": 193, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "game_index": 193, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "game_index": 193, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + } + ], + "height": 12, + "held_items": [ + { + "item": { + "name": "wide-lens", + "url": "https://pokeapi.co/api/v2/item/242/" + }, + "version_details": [ + { + "rarity": 5, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "rarity": 5, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "rarity": 5, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "rarity": 5, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "rarity": 5, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "rarity": 5, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "rarity": 5, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "rarity": 5, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "rarity": 5, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "rarity": 5, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "rarity": 5, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "rarity": 5, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "rarity": 5, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "rarity": 5, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "rarity": 5, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + } + ] + } + ], + "id": 193, + "is_default": true, + "location_area_encounters": "https://pokeapi.co/api/v2/pokemon/193/encounters", + "moves": [ + { + "move": { + "name": "swords-dance", + "url": "https://pokeapi.co/api/v2/move/14/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "gust", + "url": "https://pokeapi.co/api/v2/move/16/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "wing-attack", + "url": "https://pokeapi.co/api/v2/move/17/" + }, + "version_group_details": [ + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "whirlwind", + "url": "https://pokeapi.co/api/v2/move/18/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "tackle", + "url": "https://pokeapi.co/api/v2/move/33/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-edge", + "url": "https://pokeapi.co/api/v2/move/38/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "supersonic", + "url": "https://pokeapi.co/api/v2/move/48/" + }, + "version_group_details": [ + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 22, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "sonic-boom", + "url": "https://pokeapi.co/api/v2/move/49/" + }, + "version_group_details": [ + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "solar-beam", + "url": "https://pokeapi.co/api/v2/move/76/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "string-shot", + "url": "https://pokeapi.co/api/v2/move/81/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/move/94/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hypnosis", + "url": "https://pokeapi.co/api/v2/move/95/" + }, + "version_group_details": [ + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "quick-attack", + "url": "https://pokeapi.co/api/v2/move/98/" + }, + "version_group_details": [ + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "screech", + "url": "https://pokeapi.co/api/v2/move/103/" + }, + "version_group_details": [ + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + "version_group_details": [ + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 11, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swift", + "url": "https://pokeapi.co/api/v2/move/129/" + }, + "version_group_details": [ + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "dream-eater", + "url": "https://pokeapi.co/api/v2/move/138/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "leech-life", + "url": "https://pokeapi.co/api/v2/move/141/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "flash", + "url": "https://pokeapi.co/api/v2/move/148/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thief", + "url": "https://pokeapi.co/api/v2/move/168/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "curse", + "url": "https://pokeapi.co/api/v2/move/174/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + } + ] + }, + { + "move": { + "name": "reversal", + "url": "https://pokeapi.co/api/v2/move/179/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "feint-attack", + "url": "https://pokeapi.co/api/v2/move/185/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "foresight", + "url": "https://pokeapi.co/api/v2/move/193/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "detect", + "url": "https://pokeapi.co/api/v2/move/197/" + }, + "version_group_details": [ + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "giga-drain", + "url": "https://pokeapi.co/api/v2/move/202/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "steel-wing", + "url": "https://pokeapi.co/api/v2/move/211/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "attract", + "url": "https://pokeapi.co/api/v2/move/213/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "pursuit", + "url": "https://pokeapi.co/api/v2/move/228/" + }, + "version_group_details": [ + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "sunny-day", + "url": "https://pokeapi.co/api/v2/move/241/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "psych-up", + "url": "https://pokeapi.co/api/v2/move/244/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ancient-power", + "url": "https://pokeapi.co/api/v2/move/246/" + }, + "version_group_details": [ + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shadow-ball", + "url": "https://pokeapi.co/api/v2/move/247/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "uproar", + "url": "https://pokeapi.co/api/v2/move/253/" + }, + "version_group_details": [ + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "air-cutter", + "url": "https://pokeapi.co/api/v2/move/314/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "silver-wind", + "url": "https://pokeapi.co/api/v2/move/318/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "signal-beam", + "url": "https://pokeapi.co/api/v2/move/324/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "aerial-ace", + "url": "https://pokeapi.co/api/v2/move/332/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "roost", + "url": "https://pokeapi.co/api/v2/move/355/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "feint", + "url": "https://pokeapi.co/api/v2/move/364/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "tailwind", + "url": "https://pokeapi.co/api/v2/move/366/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "u-turn", + "url": "https://pokeapi.co/api/v2/move/369/" + }, + "version_group_details": [ + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "air-slash", + "url": "https://pokeapi.co/api/v2/move/403/" + }, + "version_group_details": [ + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "bug-buzz", + "url": "https://pokeapi.co/api/v2/move/405/" + }, + "version_group_details": [ + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 57, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "defog", + "url": "https://pokeapi.co/api/v2/move/432/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "captivate", + "url": "https://pokeapi.co/api/v2/move/445/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "bug-bite", + "url": "https://pokeapi.co/api/v2/move/450/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ominous-wind", + "url": "https://pokeapi.co/api/v2/move/466/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "struggle-bug", + "url": "https://pokeapi.co/api/v2/move/522/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "lunge", + "url": "https://pokeapi.co/api/v2/move/679/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "skitter-smack", + "url": "https://pokeapi.co/api/v2/move/806/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "pounce", + "url": "https://pokeapi.co/api/v2/move/884/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "psychic-noise", + "url": "https://pokeapi.co/api/v2/move/917/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + } + ], + "name": "yanma", + "order": 289, + "past_abilities": [], + "past_types": [], + "species": { + "name": "yanma", + "url": "https://pokeapi.co/api/v2/pokemon-species/193/" + }, + "sprites": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/193.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/193.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/193.png", + "front_shiny_female": null, + "other": { + "dream_world": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/193.svg", + "front_female": null + }, + "home": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/193.png", + "front_shiny_female": null + }, + "official-artwork": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/193.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/193.png" + }, + "showdown": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/193.gif", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/shiny/193.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/193.gif", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/193.gif", + "front_shiny_female": null + } + }, + "versions": { + "generation-i": { + "red-blue": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + }, + "yellow": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + } + }, + "generation-ii": { + "crystal": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/193.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/shiny/193.png", + "back_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/shiny/193.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/193.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/193.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/shiny/193.png", + "front_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/shiny/193.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/193.png" + }, + "gold": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/193.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/shiny/193.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/193.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/shiny/193.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/transparent/193.png" + }, + "silver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/193.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/shiny/193.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/193.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/shiny/193.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/transparent/193.png" + } + }, + "generation-iii": { + "emerald": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/193.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/shiny/193.png" + }, + "firered-leafgreen": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null + }, + "ruby-sapphire": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/193.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/shiny/193.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/193.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/shiny/193.png" + } + }, + "generation-iv": { + "diamond-pearl": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/193.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/193.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/193.png", + "front_shiny_female": null + }, + "heartgold-soulsilver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/193.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/193.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/193.png", + "front_shiny_female": null + }, + "platinum": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/193.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/193.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/193.png", + "front_shiny_female": null + } + }, + "generation-v": { + "black-white": { + "animated": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/193.gif", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/193.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/193.gif", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/193.gif", + "front_shiny_female": null + }, + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/193.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/193.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/193.png", + "front_shiny_female": null + } + }, + "generation-vi": { + "omegaruby-alphasapphire": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/193.png", + "front_shiny_female": null + }, + "x-y": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/193.png", + "front_shiny_female": null + } + }, + "generation-vii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/icons/193.png", + "front_female": null + }, + "ultra-sun-ultra-moon": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/193.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/193.png", + "front_shiny_female": null + } + }, + "generation-viii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/193.png", + "front_female": null + } + } + } + }, + "stats": [ + { + "base_stat": 65, + "effort": 0, + "stat": { + "name": "hp", + "url": "https://pokeapi.co/api/v2/stat/1/" + } + }, + { + "base_stat": 65, + "effort": 0, + "stat": { + "name": "attack", + "url": "https://pokeapi.co/api/v2/stat/2/" + } + }, + { + "base_stat": 45, + "effort": 0, + "stat": { + "name": "defense", + "url": "https://pokeapi.co/api/v2/stat/3/" + } + }, + { + "base_stat": 75, + "effort": 0, + "stat": { + "name": "special-attack", + "url": "https://pokeapi.co/api/v2/stat/4/" + } + }, + { + "base_stat": 45, + "effort": 0, + "stat": { + "name": "special-defense", + "url": "https://pokeapi.co/api/v2/stat/5/" + } + }, + { + "base_stat": 95, + "effort": 1, + "stat": { + "name": "speed", + "url": "https://pokeapi.co/api/v2/stat/6/" + } + } + ], + "types": [ + { + "slot": 1, + "type": { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + }, + { + "slot": 2, + "type": { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + } + } + ], + "weight": 380 +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon/pokemon-255.json b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-255.json new file mode 100644 index 00000000..5f23640e --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-255.json @@ -0,0 +1,10981 @@ +{ + "abilities": [ + { + "ability": { + "name": "blaze", + "url": "https://pokeapi.co/api/v2/ability/66/" + }, + "is_hidden": false, + "slot": 1 + }, + { + "ability": { + "name": "speed-boost", + "url": "https://pokeapi.co/api/v2/ability/3/" + }, + "is_hidden": true, + "slot": 3 + } + ], + "base_experience": 62, + "cries": { + "latest": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/255.ogg", + "legacy": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/255.ogg" + }, + "forms": [ + { + "name": "torchic", + "url": "https://pokeapi.co/api/v2/pokemon-form/255/" + } + ], + "game_indices": [ + { + "game_index": 280, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "game_index": 280, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "game_index": 280, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "game_index": 280, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "game_index": 280, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "game_index": 255, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "game_index": 255, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "game_index": 255, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "game_index": 255, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "game_index": 255, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "game_index": 255, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "game_index": 255, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "game_index": 255, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "game_index": 255, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + } + ], + "height": 4, + "held_items": [], + "id": 255, + "is_default": true, + "location_area_encounters": "https://pokeapi.co/api/v2/pokemon/255/encounters", + "moves": [ + { + "move": { + "name": "mega-punch", + "url": "https://pokeapi.co/api/v2/move/5/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "scratch", + "url": "https://pokeapi.co/api/v2/move/10/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swords-dance", + "url": "https://pokeapi.co/api/v2/move/14/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "cut", + "url": "https://pokeapi.co/api/v2/move/15/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "mega-kick", + "url": "https://pokeapi.co/api/v2/move/25/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "sand-attack", + "url": "https://pokeapi.co/api/v2/move/28/" + }, + "version_group_details": [ + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "body-slam", + "url": "https://pokeapi.co/api/v2/move/34/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-edge", + "url": "https://pokeapi.co/api/v2/move/38/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "growl", + "url": "https://pokeapi.co/api/v2/move/45/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ember", + "url": "https://pokeapi.co/api/v2/move/52/" + }, + "version_group_details": [ + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 3, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 3, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 3, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "flamethrower", + "url": "https://pokeapi.co/api/v2/move/53/" + }, + "version_group_details": [ + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "peck", + "url": "https://pokeapi.co/api/v2/move/64/" + }, + "version_group_details": [ + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "low-kick", + "url": "https://pokeapi.co/api/v2/move/67/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "counter", + "url": "https://pokeapi.co/api/v2/move/68/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "seismic-toss", + "url": "https://pokeapi.co/api/v2/move/69/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "strength", + "url": "https://pokeapi.co/api/v2/move/70/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "fire-spin", + "url": "https://pokeapi.co/api/v2/move/83/" + }, + "version_group_details": [ + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 25, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "dig", + "url": "https://pokeapi.co/api/v2/move/91/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "agility", + "url": "https://pokeapi.co/api/v2/move/97/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "quick-attack", + "url": "https://pokeapi.co/api/v2/move/98/" + }, + "version_group_details": [ + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "focus-energy", + "url": "https://pokeapi.co/api/v2/move/116/" + }, + "version_group_details": [ + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mirror-move", + "url": "https://pokeapi.co/api/v2/move/119/" + }, + "version_group_details": [ + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "fire-blast", + "url": "https://pokeapi.co/api/v2/move/126/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swift", + "url": "https://pokeapi.co/api/v2/move/129/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-slide", + "url": "https://pokeapi.co/api/v2/move/157/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "slash", + "url": "https://pokeapi.co/api/v2/move/163/" + }, + "version_group_details": [ + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "curse", + "url": "https://pokeapi.co/api/v2/move/174/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "reversal", + "url": "https://pokeapi.co/api/v2/move/179/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-slap", + "url": "https://pokeapi.co/api/v2/move/189/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "detect", + "url": "https://pokeapi.co/api/v2/move/197/" + }, + "version_group_details": [ + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "attract", + "url": "https://pokeapi.co/api/v2/move/213/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "baton-pass", + "url": "https://pokeapi.co/api/v2/move/226/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "sunny-day", + "url": "https://pokeapi.co/api/v2/move/241/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-smash", + "url": "https://pokeapi.co/api/v2/move/249/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "uproar", + "url": "https://pokeapi.co/api/v2/move/253/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "heat-wave", + "url": "https://pokeapi.co/api/v2/move/257/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "will-o-wisp", + "url": "https://pokeapi.co/api/v2/move/261/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "smelling-salts", + "url": "https://pokeapi.co/api/v2/move/265/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "helping-hand", + "url": "https://pokeapi.co/api/v2/move/270/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "feather-dance", + "url": "https://pokeapi.co/api/v2/move/297/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "crush-claw", + "url": "https://pokeapi.co/api/v2/move/306/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "overheat", + "url": "https://pokeapi.co/api/v2/move/315/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-tomb", + "url": "https://pokeapi.co/api/v2/move/317/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "aerial-ace", + "url": "https://pokeapi.co/api/v2/move/332/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "bounce", + "url": "https://pokeapi.co/api/v2/move/340/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "feint", + "url": "https://pokeapi.co/api/v2/move/364/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "assurance", + "url": "https://pokeapi.co/api/v2/move/372/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "last-resort", + "url": "https://pokeapi.co/api/v2/move/387/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "flare-blitz", + "url": "https://pokeapi.co/api/v2/move/394/" + }, + "version_group_details": [ + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "night-slash", + "url": "https://pokeapi.co/api/v2/move/400/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shadow-claw", + "url": "https://pokeapi.co/api/v2/move/421/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "defog", + "url": "https://pokeapi.co/api/v2/move/432/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "captivate", + "url": "https://pokeapi.co/api/v2/move/445/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "hone-claws", + "url": "https://pokeapi.co/api/v2/move/468/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "flame-burst", + "url": "https://pokeapi.co/api/v2/move/481/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "flame-charge", + "url": "https://pokeapi.co/api/v2/move/488/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "echoed-voice", + "url": "https://pokeapi.co/api/v2/move/497/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "incinerate", + "url": "https://pokeapi.co/api/v2/move/510/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "fire-pledge", + "url": "https://pokeapi.co/api/v2/move/519/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "work-up", + "url": "https://pokeapi.co/api/v2/move/526/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "temper-flare", + "url": "https://pokeapi.co/api/v2/move/915/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + } + ], + "name": "torchic", + "order": 351, + "past_abilities": [], + "past_types": [], + "species": { + "name": "torchic", + "url": "https://pokeapi.co/api/v2/pokemon-species/255/" + }, + "sprites": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/255.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/female/255.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/255.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/female/255.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/255.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/female/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/255.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/female/255.png", + "other": { + "dream_world": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/255.svg", + "front_female": null + }, + "home": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/255.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/255.png", + "front_shiny_female": null + }, + "official-artwork": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/255.png" + }, + "showdown": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/255.gif", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/female/255.gif", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/shiny/255.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/255.gif", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/female/255.gif", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/255.gif", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/female/255.gif" + } + }, + "versions": { + "generation-i": { + "red-blue": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + }, + "yellow": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + } + }, + "generation-ii": { + "crystal": { + "back_default": null, + "back_shiny": null, + "back_shiny_transparent": null, + "back_transparent": null, + "front_default": null, + "front_shiny": null, + "front_shiny_transparent": null, + "front_transparent": null + }, + "gold": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null, + "front_transparent": null + }, + "silver": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null, + "front_transparent": null + } + }, + "generation-iii": { + "emerald": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/shiny/255.png" + }, + "firered-leafgreen": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null + }, + "ruby-sapphire": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/255.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/shiny/255.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/shiny/255.png" + } + }, + "generation-iv": { + "diamond-pearl": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/255.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/female/255.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/255.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/female/255.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/255.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/255.png", + "front_shiny_female": null + }, + "heartgold-soulsilver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/255.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/female/255.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/255.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/female/255.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/255.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/255.png", + "front_shiny_female": null + }, + "platinum": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/255.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/female/255.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/255.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/female/255.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/255.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/255.png", + "front_shiny_female": null + } + }, + "generation-v": { + "black-white": { + "animated": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/255.gif", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/female/255.gif", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/255.gif", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/female/255.gif", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/255.gif", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/female/255.gif", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/255.gif", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/female/255.gif" + }, + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/255.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/female/255.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/255.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/female/255.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/255.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/female/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/255.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/female/255.png" + } + }, + "generation-vi": { + "omegaruby-alphasapphire": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/255.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/female/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/255.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/female/255.png" + }, + "x-y": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/255.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/female/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/255.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/female/255.png" + } + }, + "generation-vii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/icons/255.png", + "front_female": null + }, + "ultra-sun-ultra-moon": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/255.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/female/255.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/255.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/female/255.png" + } + }, + "generation-viii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/255.png", + "front_female": null + } + } + } + }, + "stats": [ + { + "base_stat": 45, + "effort": 0, + "stat": { + "name": "hp", + "url": "https://pokeapi.co/api/v2/stat/1/" + } + }, + { + "base_stat": 60, + "effort": 0, + "stat": { + "name": "attack", + "url": "https://pokeapi.co/api/v2/stat/2/" + } + }, + { + "base_stat": 40, + "effort": 0, + "stat": { + "name": "defense", + "url": "https://pokeapi.co/api/v2/stat/3/" + } + }, + { + "base_stat": 70, + "effort": 1, + "stat": { + "name": "special-attack", + "url": "https://pokeapi.co/api/v2/stat/4/" + } + }, + { + "base_stat": 50, + "effort": 0, + "stat": { + "name": "special-defense", + "url": "https://pokeapi.co/api/v2/stat/5/" + } + }, + { + "base_stat": 45, + "effort": 0, + "stat": { + "name": "speed", + "url": "https://pokeapi.co/api/v2/stat/6/" + } + } + ], + "types": [ + { + "slot": 1, + "type": { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + } + ], + "weight": 25 +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon/pokemon-382.json b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-382.json new file mode 100644 index 00000000..24f596e4 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-382.json @@ -0,0 +1,10659 @@ +{ + "abilities": [ + { + "ability": { + "name": "drizzle", + "url": "https://pokeapi.co/api/v2/ability/2/" + }, + "is_hidden": false, + "slot": 1 + } + ], + "base_experience": 335, + "cries": { + "latest": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/382.ogg", + "legacy": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/382.ogg" + }, + "forms": [ + { + "name": "kyogre", + "url": "https://pokeapi.co/api/v2/pokemon-form/382/" + } + ], + "game_indices": [ + { + "game_index": 404, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "game_index": 404, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "game_index": 404, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "game_index": 404, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "game_index": 404, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "game_index": 382, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "game_index": 382, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "game_index": 382, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "game_index": 382, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "game_index": 382, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "game_index": 382, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "game_index": 382, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "game_index": 382, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "game_index": 382, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + } + ], + "height": 45, + "held_items": [], + "id": 382, + "is_default": true, + "location_area_encounters": "https://pokeapi.co/api/v2/pokemon/382/encounters", + "moves": [ + { + "move": { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "body-slam", + "url": "https://pokeapi.co/api/v2/move/34/" + }, + "version_group_details": [ + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-edge", + "url": "https://pokeapi.co/api/v2/move/38/" + }, + "version_group_details": [ + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 81, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 81, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 81, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "roar", + "url": "https://pokeapi.co/api/v2/move/46/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hydro-pump", + "url": "https://pokeapi.co/api/v2/move/56/" + }, + "version_group_details": [ + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 72, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 72, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 72, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "surf", + "url": "https://pokeapi.co/api/v2/move/57/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ice-beam", + "url": "https://pokeapi.co/api/v2/move/58/" + }, + "version_group_details": [ + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "blizzard", + "url": "https://pokeapi.co/api/v2/move/59/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hyper-beam", + "url": "https://pokeapi.co/api/v2/move/63/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "strength", + "url": "https://pokeapi.co/api/v2/move/70/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "thunderbolt", + "url": "https://pokeapi.co/api/v2/move/85/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thunder-wave", + "url": "https://pokeapi.co/api/v2/move/86/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thunder", + "url": "https://pokeapi.co/api/v2/move/87/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "earthquake", + "url": "https://pokeapi.co/api/v2/move/89/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "defense-curl", + "url": "https://pokeapi.co/api/v2/move/111/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + } + ] + }, + { + "move": { + "name": "waterfall", + "url": "https://pokeapi.co/api/v2/move/127/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swift", + "url": "https://pokeapi.co/api/v2/move/129/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + "version_group_details": [ + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-slide", + "url": "https://pokeapi.co/api/v2/move/157/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "scary-face", + "url": "https://pokeapi.co/api/v2/move/184/" + }, + "version_group_details": [ + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-slap", + "url": "https://pokeapi.co/api/v2/move/189/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "icy-wind", + "url": "https://pokeapi.co/api/v2/move/196/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "safeguard", + "url": "https://pokeapi.co/api/v2/move/219/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "rain-dance", + "url": "https://pokeapi.co/api/v2/move/240/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "psych-up", + "url": "https://pokeapi.co/api/v2/move/244/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "ancient-power", + "url": "https://pokeapi.co/api/v2/move/246/" + }, + "version_group_details": [ + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-smash", + "url": "https://pokeapi.co/api/v2/move/249/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "whirlpool", + "url": "https://pokeapi.co/api/v2/move/250/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "uproar", + "url": "https://pokeapi.co/api/v2/move/253/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "hail", + "url": "https://pokeapi.co/api/v2/move/258/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "helping-hand", + "url": "https://pokeapi.co/api/v2/move/270/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "brick-break", + "url": "https://pokeapi.co/api/v2/move/280/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "dive", + "url": "https://pokeapi.co/api/v2/move/291/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "rock-tomb", + "url": "https://pokeapi.co/api/v2/move/317/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "water-spout", + "url": "https://pokeapi.co/api/v2/move/323/" + }, + "version_group_details": [ + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 80, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 90, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "signal-beam", + "url": "https://pokeapi.co/api/v2/move/324/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "sheer-cold", + "url": "https://pokeapi.co/api/v2/move/329/" + }, + "version_group_details": [ + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "muddy-water", + "url": "https://pokeapi.co/api/v2/move/330/" + }, + "version_group_details": [ + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "block", + "url": "https://pokeapi.co/api/v2/move/335/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "calm-mind", + "url": "https://pokeapi.co/api/v2/move/347/" + }, + "version_group_details": [ + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 60, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shock-wave", + "url": "https://pokeapi.co/api/v2/move/351/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "water-pulse", + "url": "https://pokeapi.co/api/v2/move/352/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "brine", + "url": "https://pokeapi.co/api/v2/move/362/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "aqua-ring", + "url": "https://pokeapi.co/api/v2/move/392/" + }, + "version_group_details": [ + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "aqua-tail", + "url": "https://pokeapi.co/api/v2/move/401/" + }, + "version_group_details": [ + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 75, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 65, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "giga-impact", + "url": "https://pokeapi.co/api/v2/move/416/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "avalanche", + "url": "https://pokeapi.co/api/v2/move/419/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "iron-head", + "url": "https://pokeapi.co/api/v2/move/442/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "heavy-slam", + "url": "https://pokeapi.co/api/v2/move/484/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "scald", + "url": "https://pokeapi.co/api/v2/move/503/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "bulldoze", + "url": "https://pokeapi.co/api/v2/move/523/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "origin-pulse", + "url": "https://pokeapi.co/api/v2/move/618/" + }, + "version_group_details": [ + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 63, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 63, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "liquidation", + "url": "https://pokeapi.co/api/v2/move/710/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "chilling-water", + "url": "https://pokeapi.co/api/v2/move/886/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + } + ], + "name": "kyogre", + "order": 507, + "past_abilities": [], + "past_types": [], + "species": { + "name": "kyogre", + "url": "https://pokeapi.co/api/v2/pokemon-species/382/" + }, + "sprites": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/382.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/382.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/382.png", + "front_shiny_female": null, + "other": { + "dream_world": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/382.svg", + "front_female": null + }, + "home": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/382.png", + "front_shiny_female": null + }, + "official-artwork": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/382.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/382.png" + }, + "showdown": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/382.gif", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/shiny/382.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/382.gif", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/382.gif", + "front_shiny_female": null + } + }, + "versions": { + "generation-i": { + "red-blue": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + }, + "yellow": { + "back_default": null, + "back_gray": null, + "back_transparent": null, + "front_default": null, + "front_gray": null, + "front_transparent": null + } + }, + "generation-ii": { + "crystal": { + "back_default": null, + "back_shiny": null, + "back_shiny_transparent": null, + "back_transparent": null, + "front_default": null, + "front_shiny": null, + "front_shiny_transparent": null, + "front_transparent": null + }, + "gold": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null, + "front_transparent": null + }, + "silver": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null, + "front_transparent": null + } + }, + "generation-iii": { + "emerald": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/382.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/shiny/382.png" + }, + "firered-leafgreen": { + "back_default": null, + "back_shiny": null, + "front_default": null, + "front_shiny": null + }, + "ruby-sapphire": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/382.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/shiny/382.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/382.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/shiny/382.png" + } + }, + "generation-iv": { + "diamond-pearl": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/382.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/382.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/382.png", + "front_shiny_female": null + }, + "heartgold-soulsilver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/382.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/382.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/382.png", + "front_shiny_female": null + }, + "platinum": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/382.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/382.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/382.png", + "front_shiny_female": null + } + }, + "generation-v": { + "black-white": { + "animated": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/382.gif", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/382.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/382.gif", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/382.gif", + "front_shiny_female": null + }, + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/382.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/382.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/382.png", + "front_shiny_female": null + } + }, + "generation-vi": { + "omegaruby-alphasapphire": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/382.png", + "front_shiny_female": null + }, + "x-y": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/382.png", + "front_shiny_female": null + } + }, + "generation-vii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/icons/382.png", + "front_female": null + }, + "ultra-sun-ultra-moon": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/382.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/382.png", + "front_shiny_female": null + } + }, + "generation-viii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/382.png", + "front_female": null + } + } + } + }, + "stats": [ + { + "base_stat": 100, + "effort": 0, + "stat": { + "name": "hp", + "url": "https://pokeapi.co/api/v2/stat/1/" + } + }, + { + "base_stat": 100, + "effort": 0, + "stat": { + "name": "attack", + "url": "https://pokeapi.co/api/v2/stat/2/" + } + }, + { + "base_stat": 90, + "effort": 0, + "stat": { + "name": "defense", + "url": "https://pokeapi.co/api/v2/stat/3/" + } + }, + { + "base_stat": 150, + "effort": 3, + "stat": { + "name": "special-attack", + "url": "https://pokeapi.co/api/v2/stat/4/" + } + }, + { + "base_stat": 140, + "effort": 0, + "stat": { + "name": "special-defense", + "url": "https://pokeapi.co/api/v2/stat/5/" + } + }, + { + "base_stat": 90, + "effort": 0, + "stat": { + "name": "speed", + "url": "https://pokeapi.co/api/v2/stat/6/" + } + } + ], + "types": [ + { + "slot": 1, + "type": { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + } + } + ], + "weight": 3520 +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon/pokemon-44.json b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-44.json new file mode 100644 index 00000000..976f628e --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-44.json @@ -0,0 +1,10070 @@ +{ + "abilities": [ + { + "ability": { + "name": "chlorophyll", + "url": "https://pokeapi.co/api/v2/ability/34/" + }, + "is_hidden": false, + "slot": 1 + }, + { + "ability": { + "name": "stench", + "url": "https://pokeapi.co/api/v2/ability/1/" + }, + "is_hidden": true, + "slot": 3 + } + ], + "base_experience": 138, + "cries": { + "latest": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/44.ogg", + "legacy": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/44.ogg" + }, + "forms": [ + { + "name": "gloom", + "url": "https://pokeapi.co/api/v2/pokemon-form/44/" + } + ], + "game_indices": [ + { + "game_index": 186, + "version": { + "name": "red", + "url": "https://pokeapi.co/api/v2/version/1/" + } + }, + { + "game_index": 186, + "version": { + "name": "blue", + "url": "https://pokeapi.co/api/v2/version/2/" + } + }, + { + "game_index": 186, + "version": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version/3/" + } + }, + { + "game_index": 44, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "game_index": 44, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "game_index": 44, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "game_index": 44, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "game_index": 44, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "game_index": 44, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "game_index": 44, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "game_index": 44, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "game_index": 44, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "game_index": 44, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "game_index": 44, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "game_index": 44, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "game_index": 44, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "game_index": 44, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "game_index": 44, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "game_index": 44, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "game_index": 44, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + } + ], + "height": 8, + "held_items": [ + { + "item": { + "name": "absorb-bulb", + "url": "https://pokeapi.co/api/v2/item/588/" + }, + "version_details": [ + { + "rarity": 5, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "rarity": 5, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "rarity": 5, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "rarity": 5, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + } + ] + } + ], + "id": 44, + "is_default": true, + "location_area_encounters": "https://pokeapi.co/api/v2/pokemon/44/encounters", + "moves": [ + { + "move": { + "name": "swords-dance", + "url": "https://pokeapi.co/api/v2/move/14/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "cut", + "url": "https://pokeapi.co/api/v2/move/15/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + } + ] + }, + { + "move": { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + } + ] + }, + { + "move": { + "name": "double-edge", + "url": "https://pokeapi.co/api/v2/move/38/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "acid", + "url": "https://pokeapi.co/api/v2/move/51/" + }, + "version_group_details": [ + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 9, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 8, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "absorb", + "url": "https://pokeapi.co/api/v2/move/71/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mega-drain", + "url": "https://pokeapi.co/api/v2/move/72/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 27, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "leech-seed", + "url": "https://pokeapi.co/api/v2/move/73/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "growth", + "url": "https://pokeapi.co/api/v2/move/74/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "razor-leaf", + "url": "https://pokeapi.co/api/v2/move/75/" + }, + "version_group_details": [ + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "solar-beam", + "url": "https://pokeapi.co/api/v2/move/76/" + }, + "version_group_details": [ + { + "level_learned_at": 52, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 52, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "poison-powder", + "url": "https://pokeapi.co/api/v2/move/77/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "stun-spore", + "url": "https://pokeapi.co/api/v2/move/78/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "sleep-powder", + "url": "https://pokeapi.co/api/v2/move/79/" + }, + "version_group_details": [ + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 14, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "petal-dance", + "url": "https://pokeapi.co/api/v2/move/80/" + }, + "version_group_details": [ + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 59, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 59, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 59, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rage", + "url": "https://pokeapi.co/api/v2/move/99/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + } + ] + }, + { + "move": { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "reflect", + "url": "https://pokeapi.co/api/v2/move/115/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + } + ] + }, + { + "move": { + "name": "bide", + "url": "https://pokeapi.co/api/v2/move/117/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + } + ] + }, + { + "move": { + "name": "flash", + "url": "https://pokeapi.co/api/v2/move/148/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "curse", + "url": "https://pokeapi.co/api/v2/move/174/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + } + ] + }, + { + "move": { + "name": "flail", + "url": "https://pokeapi.co/api/v2/move/175/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "sludge-bomb", + "url": "https://pokeapi.co/api/v2/move/188/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "giga-drain", + "url": "https://pokeapi.co/api/v2/move/202/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 47, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 47, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 47, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 47, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 47, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 47, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "charm", + "url": "https://pokeapi.co/api/v2/move/204/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "attract", + "url": "https://pokeapi.co/api/v2/move/213/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "sweet-scent", + "url": "https://pokeapi.co/api/v2/move/230/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "synthesis", + "url": "https://pokeapi.co/api/v2/move/235/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "moonlight", + "url": "https://pokeapi.co/api/v2/move/236/" + }, + "version_group_details": [ + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 41, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "sunny-day", + "url": "https://pokeapi.co/api/v2/move/241/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "nature-power", + "url": "https://pokeapi.co/api/v2/move/267/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "helping-hand", + "url": "https://pokeapi.co/api/v2/move/270/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ingrain", + "url": "https://pokeapi.co/api/v2/move/275/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "teeter-dance", + "url": "https://pokeapi.co/api/v2/move/298/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "tickle", + "url": "https://pokeapi.co/api/v2/move/321/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "bullet-seed", + "url": "https://pokeapi.co/api/v2/move/331/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "magical-leaf", + "url": "https://pokeapi.co/api/v2/move/345/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + "version_group_details": [ + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 35, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "fling", + "url": "https://pokeapi.co/api/v2/move/374/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "gastro-acid", + "url": "https://pokeapi.co/api/v2/move/380/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "lucky-chant", + "url": "https://pokeapi.co/api/v2/move/381/" + }, + "version_group_details": [ + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "worry-seed", + "url": "https://pokeapi.co/api/v2/move/388/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "seed-bomb", + "url": "https://pokeapi.co/api/v2/move/402/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "drain-punch", + "url": "https://pokeapi.co/api/v2/move/409/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "energy-ball", + "url": "https://pokeapi.co/api/v2/move/412/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "leaf-storm", + "url": "https://pokeapi.co/api/v2/move/437/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "captivate", + "url": "https://pokeapi.co/api/v2/move/445/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "grass-knot", + "url": "https://pokeapi.co/api/v2/move/447/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "venoshock", + "url": "https://pokeapi.co/api/v2/move/474/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "acid-spray", + "url": "https://pokeapi.co/api/v2/move/491/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "after-you", + "url": "https://pokeapi.co/api/v2/move/495/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + } + ] + }, + { + "move": { + "name": "petal-blizzard", + "url": "https://pokeapi.co/api/v2/move/572/" + }, + "version_group_details": [ + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "grassy-terrain", + "url": "https://pokeapi.co/api/v2/move/580/" + }, + "version_group_details": [ + { + "level_learned_at": 56, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 54, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 38, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "moonblast", + "url": "https://pokeapi.co/api/v2/move/585/" + }, + "version_group_details": [ + { + "level_learned_at": 45, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "dazzling-gleam", + "url": "https://pokeapi.co/api/v2/move/605/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "infestation", + "url": "https://pokeapi.co/api/v2/move/611/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "strength-sap", + "url": "https://pokeapi.co/api/v2/move/668/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "pollen-puff", + "url": "https://pokeapi.co/api/v2/move/676/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "grassy-glide", + "url": "https://pokeapi.co/api/v2/move/803/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "sword-shield", + "url": "https://pokeapi.co/api/v2/version-group/20/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "trailblaze", + "url": "https://pokeapi.co/api/v2/move/885/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + } + ], + "name": "gloom", + "order": 77, + "past_abilities": [], + "past_types": [], + "species": { + "name": "gloom", + "url": "https://pokeapi.co/api/v2/pokemon-species/44/" + }, + "sprites": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/44.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/female/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/44.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/female/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/female/44.png", + "other": { + "dream_world": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/44.svg", + "front_female": null + }, + "home": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/female/44.png" + }, + "official-artwork": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/44.png" + }, + "showdown": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/44.gif", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/female/44.gif", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/shiny/44.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/44.gif", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/female/44.gif", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/44.gif", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/female/44.gif" + } + }, + "versions": { + "generation-i": { + "red-blue": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/back/44.png", + "back_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/back/gray/44.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/transparent/back/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/44.png", + "front_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/gray/44.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/transparent/44.png" + }, + "yellow": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/back/44.png", + "back_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/back/gray/44.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/transparent/back/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/44.png", + "front_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/gray/44.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/transparent/44.png" + } + }, + "generation-ii": { + "crystal": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/shiny/44.png", + "back_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/shiny/44.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/shiny/44.png", + "front_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/shiny/44.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/44.png" + }, + "gold": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/shiny/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/shiny/44.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/transparent/44.png" + }, + "silver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/shiny/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/shiny/44.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/transparent/44.png" + } + }, + "generation-iii": { + "emerald": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/shiny/44.png" + }, + "firered-leafgreen": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/back/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/back/shiny/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/shiny/44.png" + }, + "ruby-sapphire": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/shiny/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/shiny/44.png" + } + }, + "generation-iv": { + "diamond-pearl": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/44.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/female/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/44.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/female/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/female/44.png" + }, + "heartgold-soulsilver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/44.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/female/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/44.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/female/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/female/44.png" + }, + "platinum": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/44.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/female/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/44.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/female/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/female/44.png" + } + }, + "generation-v": { + "black-white": { + "animated": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/44.gif", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/female/44.gif", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/44.gif", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/female/44.gif", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/44.gif", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/female/44.gif", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/44.gif", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/female/44.gif" + }, + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/44.png", + "back_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/female/44.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/44.png", + "back_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/female/44.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/female/44.png" + } + }, + "generation-vi": { + "omegaruby-alphasapphire": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/female/44.png" + }, + "x-y": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/female/44.png" + } + }, + "generation-vii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/icons/44.png", + "front_female": null + }, + "ultra-sun-ultra-moon": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/44.png", + "front_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/female/44.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/44.png", + "front_shiny_female": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/female/44.png" + } + }, + "generation-viii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/44.png", + "front_female": null + } + } + } + }, + "stats": [ + { + "base_stat": 60, + "effort": 0, + "stat": { + "name": "hp", + "url": "https://pokeapi.co/api/v2/stat/1/" + } + }, + { + "base_stat": 65, + "effort": 0, + "stat": { + "name": "attack", + "url": "https://pokeapi.co/api/v2/stat/2/" + } + }, + { + "base_stat": 70, + "effort": 0, + "stat": { + "name": "defense", + "url": "https://pokeapi.co/api/v2/stat/3/" + } + }, + { + "base_stat": 85, + "effort": 2, + "stat": { + "name": "special-attack", + "url": "https://pokeapi.co/api/v2/stat/4/" + } + }, + { + "base_stat": 75, + "effort": 0, + "stat": { + "name": "special-defense", + "url": "https://pokeapi.co/api/v2/stat/5/" + } + }, + { + "base_stat": 40, + "effort": 0, + "stat": { + "name": "speed", + "url": "https://pokeapi.co/api/v2/stat/6/" + } + } + ], + "types": [ + { + "slot": 1, + "type": { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + }, + { + "slot": 2, + "type": { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + } + ], + "weight": 86 +} diff --git a/backend/pokerogue/src/test/resources/json/pokemon/pokemon-88.json b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-88.json new file mode 100644 index 00000000..7c21336a --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/pokemon/pokemon-88.json @@ -0,0 +1,13440 @@ +{ + "abilities": [ + { + "ability": { + "name": "stench", + "url": "https://pokeapi.co/api/v2/ability/1/" + }, + "is_hidden": false, + "slot": 1 + }, + { + "ability": { + "name": "sticky-hold", + "url": "https://pokeapi.co/api/v2/ability/60/" + }, + "is_hidden": false, + "slot": 2 + }, + { + "ability": { + "name": "poison-touch", + "url": "https://pokeapi.co/api/v2/ability/143/" + }, + "is_hidden": true, + "slot": 3 + } + ], + "base_experience": 65, + "cries": { + "latest": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/latest/88.ogg", + "legacy": "https://raw.githubusercontent.com/PokeAPI/cries/main/cries/pokemon/legacy/88.ogg" + }, + "forms": [ + { + "name": "grimer", + "url": "https://pokeapi.co/api/v2/pokemon-form/88/" + } + ], + "game_indices": [ + { + "game_index": 13, + "version": { + "name": "red", + "url": "https://pokeapi.co/api/v2/version/1/" + } + }, + { + "game_index": 13, + "version": { + "name": "blue", + "url": "https://pokeapi.co/api/v2/version/2/" + } + }, + { + "game_index": 13, + "version": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version/3/" + } + }, + { + "game_index": 88, + "version": { + "name": "gold", + "url": "https://pokeapi.co/api/v2/version/4/" + } + }, + { + "game_index": 88, + "version": { + "name": "silver", + "url": "https://pokeapi.co/api/v2/version/5/" + } + }, + { + "game_index": 88, + "version": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version/6/" + } + }, + { + "game_index": 88, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "game_index": 88, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "game_index": 88, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "game_index": 88, + "version": { + "name": "firered", + "url": "https://pokeapi.co/api/v2/version/10/" + } + }, + { + "game_index": 88, + "version": { + "name": "leafgreen", + "url": "https://pokeapi.co/api/v2/version/11/" + } + }, + { + "game_index": 88, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "game_index": 88, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "game_index": 88, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "game_index": 88, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "game_index": 88, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "game_index": 88, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "game_index": 88, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + }, + { + "game_index": 88, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "game_index": 88, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + } + ], + "height": 9, + "held_items": [ + { + "item": { + "name": "nugget", + "url": "https://pokeapi.co/api/v2/item/92/" + }, + "version_details": [ + { + "rarity": 5, + "version": { + "name": "ruby", + "url": "https://pokeapi.co/api/v2/version/7/" + } + }, + { + "rarity": 5, + "version": { + "name": "sapphire", + "url": "https://pokeapi.co/api/v2/version/8/" + } + }, + { + "rarity": 5, + "version": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version/9/" + } + }, + { + "rarity": 5, + "version": { + "name": "diamond", + "url": "https://pokeapi.co/api/v2/version/12/" + } + }, + { + "rarity": 5, + "version": { + "name": "pearl", + "url": "https://pokeapi.co/api/v2/version/13/" + } + }, + { + "rarity": 5, + "version": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version/14/" + } + }, + { + "rarity": 5, + "version": { + "name": "heartgold", + "url": "https://pokeapi.co/api/v2/version/15/" + } + }, + { + "rarity": 5, + "version": { + "name": "soulsilver", + "url": "https://pokeapi.co/api/v2/version/16/" + } + }, + { + "rarity": 5, + "version": { + "name": "black", + "url": "https://pokeapi.co/api/v2/version/17/" + } + }, + { + "rarity": 5, + "version": { + "name": "white", + "url": "https://pokeapi.co/api/v2/version/18/" + } + } + ] + }, + { + "item": { + "name": "black-sludge", + "url": "https://pokeapi.co/api/v2/item/258/" + }, + "version_details": [ + { + "rarity": 5, + "version": { + "name": "black-2", + "url": "https://pokeapi.co/api/v2/version/21/" + } + }, + { + "rarity": 5, + "version": { + "name": "white-2", + "url": "https://pokeapi.co/api/v2/version/22/" + } + }, + { + "rarity": 5, + "version": { + "name": "x", + "url": "https://pokeapi.co/api/v2/version/23/" + } + }, + { + "rarity": 5, + "version": { + "name": "y", + "url": "https://pokeapi.co/api/v2/version/24/" + } + }, + { + "rarity": 5, + "version": { + "name": "omega-ruby", + "url": "https://pokeapi.co/api/v2/version/25/" + } + }, + { + "rarity": 5, + "version": { + "name": "alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version/26/" + } + }, + { + "rarity": 5, + "version": { + "name": "sun", + "url": "https://pokeapi.co/api/v2/version/27/" + } + }, + { + "rarity": 5, + "version": { + "name": "moon", + "url": "https://pokeapi.co/api/v2/version/28/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-sun", + "url": "https://pokeapi.co/api/v2/version/29/" + } + }, + { + "rarity": 5, + "version": { + "name": "ultra-moon", + "url": "https://pokeapi.co/api/v2/version/30/" + } + } + ] + } + ], + "id": 88, + "is_default": true, + "location_area_encounters": "https://pokeapi.co/api/v2/pokemon/88/encounters", + "moves": [ + { + "move": { + "name": "pound", + "url": "https://pokeapi.co/api/v2/move/1/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "fire-punch", + "url": "https://pokeapi.co/api/v2/move/7/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "ice-punch", + "url": "https://pokeapi.co/api/v2/move/8/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thunder-punch", + "url": "https://pokeapi.co/api/v2/move/9/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + } + ] + }, + { + "move": { + "name": "body-slam", + "url": "https://pokeapi.co/api/v2/move/34/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "disable", + "url": "https://pokeapi.co/api/v2/move/50/" + }, + "version_group_details": [ + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 10, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 8, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 8, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 8, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 8, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 8, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "flamethrower", + "url": "https://pokeapi.co/api/v2/move/53/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "strength", + "url": "https://pokeapi.co/api/v2/move/70/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "mega-drain", + "url": "https://pokeapi.co/api/v2/move/72/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + } + ] + }, + { + "move": { + "name": "thunderbolt", + "url": "https://pokeapi.co/api/v2/move/85/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thunder", + "url": "https://pokeapi.co/api/v2/move/87/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "dig", + "url": "https://pokeapi.co/api/v2/move/91/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rage", + "url": "https://pokeapi.co/api/v2/move/99/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + } + ] + }, + { + "move": { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + } + ] + }, + { + "move": { + "name": "screech", + "url": "https://pokeapi.co/api/v2/move/103/" + }, + "version_group_details": [ + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 31, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "harden", + "url": "https://pokeapi.co/api/v2/move/106/" + }, + "version_group_details": [ + { + "level_learned_at": 42, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 42, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 5, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 6, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 4, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "minimize", + "url": "https://pokeapi.co/api/v2/move/107/" + }, + "version_group_details": [ + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 33, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 17, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 19, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 12, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "confuse-ray", + "url": "https://pokeapi.co/api/v2/move/109/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "haze", + "url": "https://pokeapi.co/api/v2/move/114/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "bide", + "url": "https://pokeapi.co/api/v2/move/117/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + } + ] + }, + { + "move": { + "name": "metronome", + "url": "https://pokeapi.co/api/v2/move/118/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "self-destruct", + "url": "https://pokeapi.co/api/v2/move/120/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + } + ] + }, + { + "move": { + "name": "lick", + "url": "https://pokeapi.co/api/v2/move/122/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "smog", + "url": "https://pokeapi.co/api/v2/move/123/" + }, + "version_group_details": [ + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sludge", + "url": "https://pokeapi.co/api/v2/move/124/" + }, + "version_group_details": [ + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 16, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 20, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 13, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 24, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 15, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "fire-blast", + "url": "https://pokeapi.co/api/v2/move/126/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "poison-gas", + "url": "https://pokeapi.co/api/v2/move/139/" + }, + "version_group_details": [ + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 30, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 1, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "acid-armor", + "url": "https://pokeapi.co/api/v2/move/151/" + }, + "version_group_details": [ + { + "level_learned_at": 55, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 55, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 39, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 34, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 42, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "explosion", + "url": "https://pokeapi.co/api/v2/move/153/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "rock-slide", + "url": "https://pokeapi.co/api/v2/move/157/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "red-blue", + "url": "https://pokeapi.co/api/v2/version-group/1/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "yellow", + "url": "https://pokeapi.co/api/v2/version-group/2/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "thief", + "url": "https://pokeapi.co/api/v2/move/168/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "curse", + "url": "https://pokeapi.co/api/v2/move/174/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "scary-face", + "url": "https://pokeapi.co/api/v2/move/184/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "sludge-bomb", + "url": "https://pokeapi.co/api/v2/move/188/" + }, + "version_group_details": [ + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 50, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 36, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-slap", + "url": "https://pokeapi.co/api/v2/move/189/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 7, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "zap-cannon", + "url": "https://pokeapi.co/api/v2/move/192/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + } + ] + }, + { + "move": { + "name": "sandstorm", + "url": "https://pokeapi.co/api/v2/move/201/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "giga-drain", + "url": "https://pokeapi.co/api/v2/move/202/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "mean-look", + "url": "https://pokeapi.co/api/v2/move/212/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "attract", + "url": "https://pokeapi.co/api/v2/move/213/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "pain-split", + "url": "https://pokeapi.co/api/v2/move/220/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "dynamic-punch", + "url": "https://pokeapi.co/api/v2/move/223/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + } + ] + }, + { + "move": { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "rain-dance", + "url": "https://pokeapi.co/api/v2/move/240/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "sunny-day", + "url": "https://pokeapi.co/api/v2/move/241/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "gold-silver", + "url": "https://pokeapi.co/api/v2/version-group/3/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "crystal", + "url": "https://pokeapi.co/api/v2/version-group/4/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shadow-ball", + "url": "https://pokeapi.co/api/v2/move/247/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "stockpile", + "url": "https://pokeapi.co/api/v2/move/254/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "spit-up", + "url": "https://pokeapi.co/api/v2/move/255/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "swallow", + "url": "https://pokeapi.co/api/v2/move/256/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "torment", + "url": "https://pokeapi.co/api/v2/move/259/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "memento", + "url": "https://pokeapi.co/api/v2/move/262/" + }, + "version_group_details": [ + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 52, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 53, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 48, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "taunt", + "url": "https://pokeapi.co/api/v2/move/269/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "helping-hand", + "url": "https://pokeapi.co/api/v2/move/270/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "imprison", + "url": "https://pokeapi.co/api/v2/move/286/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "rock-tomb", + "url": "https://pokeapi.co/api/v2/move/317/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shadow-punch", + "url": "https://pokeapi.co/api/v2/move/325/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-shot", + "url": "https://pokeapi.co/api/v2/move/341/" + }, + "version_group_details": [ + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shock-wave", + "url": "https://pokeapi.co/api/v2/move/351/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ruby-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/5/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "emerald", + "url": "https://pokeapi.co/api/v2/version-group/6/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "firered-leafgreen", + "url": "https://pokeapi.co/api/v2/version-group/7/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "colosseum", + "url": "https://pokeapi.co/api/v2/version-group/12/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "xd", + "url": "https://pokeapi.co/api/v2/version-group/13/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "payback", + "url": "https://pokeapi.co/api/v2/move/371/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "fling", + "url": "https://pokeapi.co/api/v2/move/374/" + }, + "version_group_details": [ + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 28, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 29, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 26, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "poison-jab", + "url": "https://pokeapi.co/api/v2/move/398/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "lets-go-pikachu-lets-go-eevee", + "url": "https://pokeapi.co/api/v2/version-group/19/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "drain-punch", + "url": "https://pokeapi.co/api/v2/move/409/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "shadow-sneak", + "url": "https://pokeapi.co/api/v2/move/425/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "mud-bomb", + "url": "https://pokeapi.co/api/v2/move/426/" + }, + "version_group_details": [ + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 23, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 21, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 18, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "zen-headbutt", + "url": "https://pokeapi.co/api/v2/move/428/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "gunk-shot", + "url": "https://pokeapi.co/api/v2/move/441/" + }, + "version_group_details": [ + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + }, + { + "level_learned_at": 49, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 43, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "tutor", + "url": "https://pokeapi.co/api/v2/move-learn-method/3/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 40, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "captivate", + "url": "https://pokeapi.co/api/v2/move/445/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "diamond-pearl", + "url": "https://pokeapi.co/api/v2/version-group/8/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "platinum", + "url": "https://pokeapi.co/api/v2/version-group/9/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "heartgold-soulsilver", + "url": "https://pokeapi.co/api/v2/version-group/10/" + } + } + ] + }, + { + "move": { + "name": "venoshock", + "url": "https://pokeapi.co/api/v2/move/474/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "sludge-wave", + "url": "https://pokeapi.co/api/v2/move/482/" + }, + "version_group_details": [ + { + "level_learned_at": 44, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 37, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 32, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "acid-spray", + "url": "https://pokeapi.co/api/v2/move/491/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "hex", + "url": "https://pokeapi.co/api/v2/move/506/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "incinerate", + "url": "https://pokeapi.co/api/v2/move/510/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-white", + "url": "https://pokeapi.co/api/v2/version-group/11/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "black-2-white-2", + "url": "https://pokeapi.co/api/v2/version-group/14/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + } + ] + }, + { + "move": { + "name": "belch", + "url": "https://pokeapi.co/api/v2/move/562/" + }, + "version_group_details": [ + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + }, + { + "level_learned_at": 46, + "move_learn_method": { + "name": "level-up", + "url": "https://pokeapi.co/api/v2/move-learn-method/1/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + }, + { + "move": { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "infestation", + "url": "https://pokeapi.co/api/v2/move/611/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "sun-moon", + "url": "https://pokeapi.co/api/v2/version-group/17/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + } + ] + }, + { + "move": { + "name": "power-up-punch", + "url": "https://pokeapi.co/api/v2/move/612/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "x-y", + "url": "https://pokeapi.co/api/v2/version-group/15/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "omega-ruby-alpha-sapphire", + "url": "https://pokeapi.co/api/v2/version-group/16/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "ultra-sun-ultra-moon", + "url": "https://pokeapi.co/api/v2/version-group/18/" + } + }, + { + "level_learned_at": 0, + "move_learn_method": { + "name": "egg", + "url": "https://pokeapi.co/api/v2/move-learn-method/2/" + }, + "version_group": { + "name": "brilliant-diamond-and-shining-pearl", + "url": "https://pokeapi.co/api/v2/version-group/23/" + } + } + ] + }, + { + "move": { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + "version_group_details": [ + { + "level_learned_at": 0, + "move_learn_method": { + "name": "machine", + "url": "https://pokeapi.co/api/v2/move-learn-method/4/" + }, + "version_group": { + "name": "scarlet-violet", + "url": "https://pokeapi.co/api/v2/version-group/25/" + } + } + ] + } + ], + "name": "grimer", + "order": 141, + "past_abilities": [], + "past_types": [], + "species": { + "name": "grimer", + "url": "https://pokeapi.co/api/v2/pokemon-species/88/" + }, + "sprites": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/88.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/back/shiny/88.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/shiny/88.png", + "front_shiny_female": null, + "other": { + "dream_world": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/88.svg", + "front_female": null + }, + "home": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/88.png", + "front_shiny_female": null + }, + "official-artwork": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/88.png" + }, + "showdown": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/88.gif", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/back/shiny/88.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/88.gif", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/showdown/shiny/88.gif", + "front_shiny_female": null + } + }, + "versions": { + "generation-i": { + "red-blue": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/back/88.png", + "back_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/back/gray/88.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/transparent/back/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/88.png", + "front_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/gray/88.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/red-blue/transparent/88.png" + }, + "yellow": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/back/88.png", + "back_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/back/gray/88.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/transparent/back/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/88.png", + "front_gray": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/gray/88.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-i/yellow/transparent/88.png" + } + }, + "generation-ii": { + "crystal": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/88.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/back/shiny/88.png", + "back_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/shiny/88.png", + "back_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/back/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/shiny/88.png", + "front_shiny_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/shiny/88.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/crystal/transparent/88.png" + }, + "gold": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/88.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/back/shiny/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/shiny/88.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/gold/transparent/88.png" + }, + "silver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/88.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/back/shiny/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/shiny/88.png", + "front_transparent": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-ii/silver/transparent/88.png" + } + }, + "generation-iii": { + "emerald": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/emerald/shiny/88.png" + }, + "firered-leafgreen": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/back/88.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/back/shiny/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/firered-leafgreen/shiny/88.png" + }, + "ruby-sapphire": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/88.png", + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/back/shiny/88.png", + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/88.png", + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iii/ruby-sapphire/shiny/88.png" + } + }, + "generation-iv": { + "diamond-pearl": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/88.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/back/shiny/88.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/diamond-pearl/shiny/88.png", + "front_shiny_female": null + }, + "heartgold-soulsilver": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/88.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/back/shiny/88.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/heartgold-soulsilver/shiny/88.png", + "front_shiny_female": null + }, + "platinum": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/88.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/back/shiny/88.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-iv/platinum/shiny/88.png", + "front_shiny_female": null + } + }, + "generation-v": { + "black-white": { + "animated": { + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/88.gif", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/back/shiny/88.gif", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/88.gif", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/animated/shiny/88.gif", + "front_shiny_female": null + }, + "back_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/88.png", + "back_female": null, + "back_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/back/shiny/88.png", + "back_shiny_female": null, + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-v/black-white/shiny/88.png", + "front_shiny_female": null + } + }, + "generation-vi": { + "omegaruby-alphasapphire": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/omegaruby-alphasapphire/shiny/88.png", + "front_shiny_female": null + }, + "x-y": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vi/x-y/shiny/88.png", + "front_shiny_female": null + } + }, + "generation-vii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/icons/88.png", + "front_female": null + }, + "ultra-sun-ultra-moon": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/88.png", + "front_female": null, + "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-vii/ultra-sun-ultra-moon/shiny/88.png", + "front_shiny_female": null + } + }, + "generation-viii": { + "icons": { + "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/versions/generation-viii/icons/88.png", + "front_female": null + } + } + } + }, + "stats": [ + { + "base_stat": 80, + "effort": 1, + "stat": { + "name": "hp", + "url": "https://pokeapi.co/api/v2/stat/1/" + } + }, + { + "base_stat": 80, + "effort": 0, + "stat": { + "name": "attack", + "url": "https://pokeapi.co/api/v2/stat/2/" + } + }, + { + "base_stat": 50, + "effort": 0, + "stat": { + "name": "defense", + "url": "https://pokeapi.co/api/v2/stat/3/" + } + }, + { + "base_stat": 40, + "effort": 0, + "stat": { + "name": "special-attack", + "url": "https://pokeapi.co/api/v2/stat/4/" + } + }, + { + "base_stat": 50, + "effort": 0, + "stat": { + "name": "special-defense", + "url": "https://pokeapi.co/api/v2/stat/5/" + } + }, + { + "base_stat": 25, + "effort": 0, + "stat": { + "name": "speed", + "url": "https://pokeapi.co/api/v2/stat/6/" + } + } + ], + "types": [ + { + "slot": 1, + "type": { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + } + ], + "weight": 300 +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-1.json b/backend/pokerogue/src/test/resources/json/type/type-1.json new file mode 100644 index 00000000..110e0490 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-1.json @@ -0,0 +1,963 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + } + ], + "double_damage_to": [], + "half_damage_from": [], + "half_damage_to": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ], + "no_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ], + "no_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ] + }, + "game_indices": [ + { + "game_index": 0, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 0, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 0, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 0, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 0, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 0, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 1, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "pound", + "url": "https://pokeapi.co/api/v2/move/1/" + }, + { + "name": "double-slap", + "url": "https://pokeapi.co/api/v2/move/3/" + }, + { + "name": "comet-punch", + "url": "https://pokeapi.co/api/v2/move/4/" + }, + { + "name": "mega-punch", + "url": "https://pokeapi.co/api/v2/move/5/" + }, + { + "name": "pay-day", + "url": "https://pokeapi.co/api/v2/move/6/" + }, + { + "name": "scratch", + "url": "https://pokeapi.co/api/v2/move/10/" + }, + { + "name": "vice-grip", + "url": "https://pokeapi.co/api/v2/move/11/" + }, + { + "name": "guillotine", + "url": "https://pokeapi.co/api/v2/move/12/" + }, + { + "name": "razor-wind", + "url": "https://pokeapi.co/api/v2/move/13/" + }, + { + "name": "swords-dance", + "url": "https://pokeapi.co/api/v2/move/14/" + }, + { + "name": "cut", + "url": "https://pokeapi.co/api/v2/move/15/" + }, + { + "name": "whirlwind", + "url": "https://pokeapi.co/api/v2/move/18/" + }, + { + "name": "bind", + "url": "https://pokeapi.co/api/v2/move/20/" + }, + { + "name": "slam", + "url": "https://pokeapi.co/api/v2/move/21/" + }, + { + "name": "stomp", + "url": "https://pokeapi.co/api/v2/move/23/" + }, + { + "name": "mega-kick", + "url": "https://pokeapi.co/api/v2/move/25/" + }, + { + "name": "headbutt", + "url": "https://pokeapi.co/api/v2/move/29/" + }, + { + "name": "horn-attack", + "url": "https://pokeapi.co/api/v2/move/30/" + }, + { + "name": "fury-attack", + "url": "https://pokeapi.co/api/v2/move/31/" + }, + { + "name": "horn-drill", + "url": "https://pokeapi.co/api/v2/move/32/" + }, + { + "name": "tackle", + "url": "https://pokeapi.co/api/v2/move/33/" + }, + { + "name": "body-slam", + "url": "https://pokeapi.co/api/v2/move/34/" + }, + { + "name": "wrap", + "url": "https://pokeapi.co/api/v2/move/35/" + }, + { + "name": "take-down", + "url": "https://pokeapi.co/api/v2/move/36/" + }, + { + "name": "thrash", + "url": "https://pokeapi.co/api/v2/move/37/" + }, + { + "name": "double-edge", + "url": "https://pokeapi.co/api/v2/move/38/" + }, + { + "name": "tail-whip", + "url": "https://pokeapi.co/api/v2/move/39/" + }, + { + "name": "leer", + "url": "https://pokeapi.co/api/v2/move/43/" + }, + { + "name": "growl", + "url": "https://pokeapi.co/api/v2/move/45/" + }, + { + "name": "roar", + "url": "https://pokeapi.co/api/v2/move/46/" + }, + { + "name": "sing", + "url": "https://pokeapi.co/api/v2/move/47/" + }, + { + "name": "supersonic", + "url": "https://pokeapi.co/api/v2/move/48/" + }, + { + "name": "sonic-boom", + "url": "https://pokeapi.co/api/v2/move/49/" + }, + { + "name": "disable", + "url": "https://pokeapi.co/api/v2/move/50/" + }, + { + "name": "hyper-beam", + "url": "https://pokeapi.co/api/v2/move/63/" + }, + { + "name": "strength", + "url": "https://pokeapi.co/api/v2/move/70/" + }, + { + "name": "growth", + "url": "https://pokeapi.co/api/v2/move/74/" + }, + { + "name": "quick-attack", + "url": "https://pokeapi.co/api/v2/move/98/" + }, + { + "name": "rage", + "url": "https://pokeapi.co/api/v2/move/99/" + }, + { + "name": "mimic", + "url": "https://pokeapi.co/api/v2/move/102/" + }, + { + "name": "screech", + "url": "https://pokeapi.co/api/v2/move/103/" + }, + { + "name": "double-team", + "url": "https://pokeapi.co/api/v2/move/104/" + }, + { + "name": "recover", + "url": "https://pokeapi.co/api/v2/move/105/" + }, + { + "name": "harden", + "url": "https://pokeapi.co/api/v2/move/106/" + }, + { + "name": "minimize", + "url": "https://pokeapi.co/api/v2/move/107/" + }, + { + "name": "smokescreen", + "url": "https://pokeapi.co/api/v2/move/108/" + }, + { + "name": "defense-curl", + "url": "https://pokeapi.co/api/v2/move/111/" + }, + { + "name": "focus-energy", + "url": "https://pokeapi.co/api/v2/move/116/" + }, + { + "name": "bide", + "url": "https://pokeapi.co/api/v2/move/117/" + }, + { + "name": "metronome", + "url": "https://pokeapi.co/api/v2/move/118/" + }, + { + "name": "self-destruct", + "url": "https://pokeapi.co/api/v2/move/120/" + }, + { + "name": "egg-bomb", + "url": "https://pokeapi.co/api/v2/move/121/" + }, + { + "name": "swift", + "url": "https://pokeapi.co/api/v2/move/129/" + }, + { + "name": "skull-bash", + "url": "https://pokeapi.co/api/v2/move/130/" + }, + { + "name": "spike-cannon", + "url": "https://pokeapi.co/api/v2/move/131/" + }, + { + "name": "constrict", + "url": "https://pokeapi.co/api/v2/move/132/" + }, + { + "name": "soft-boiled", + "url": "https://pokeapi.co/api/v2/move/135/" + }, + { + "name": "glare", + "url": "https://pokeapi.co/api/v2/move/137/" + }, + { + "name": "barrage", + "url": "https://pokeapi.co/api/v2/move/140/" + }, + { + "name": "lovely-kiss", + "url": "https://pokeapi.co/api/v2/move/142/" + }, + { + "name": "transform", + "url": "https://pokeapi.co/api/v2/move/144/" + }, + { + "name": "dizzy-punch", + "url": "https://pokeapi.co/api/v2/move/146/" + }, + { + "name": "flash", + "url": "https://pokeapi.co/api/v2/move/148/" + }, + { + "name": "splash", + "url": "https://pokeapi.co/api/v2/move/150/" + }, + { + "name": "explosion", + "url": "https://pokeapi.co/api/v2/move/153/" + }, + { + "name": "fury-swipes", + "url": "https://pokeapi.co/api/v2/move/154/" + }, + { + "name": "hyper-fang", + "url": "https://pokeapi.co/api/v2/move/158/" + }, + { + "name": "sharpen", + "url": "https://pokeapi.co/api/v2/move/159/" + }, + { + "name": "conversion", + "url": "https://pokeapi.co/api/v2/move/160/" + }, + { + "name": "tri-attack", + "url": "https://pokeapi.co/api/v2/move/161/" + }, + { + "name": "super-fang", + "url": "https://pokeapi.co/api/v2/move/162/" + }, + { + "name": "slash", + "url": "https://pokeapi.co/api/v2/move/163/" + }, + { + "name": "substitute", + "url": "https://pokeapi.co/api/v2/move/164/" + }, + { + "name": "struggle", + "url": "https://pokeapi.co/api/v2/move/165/" + }, + { + "name": "sketch", + "url": "https://pokeapi.co/api/v2/move/166/" + }, + { + "name": "mind-reader", + "url": "https://pokeapi.co/api/v2/move/170/" + }, + { + "name": "snore", + "url": "https://pokeapi.co/api/v2/move/173/" + }, + { + "name": "flail", + "url": "https://pokeapi.co/api/v2/move/175/" + }, + { + "name": "conversion-2", + "url": "https://pokeapi.co/api/v2/move/176/" + }, + { + "name": "protect", + "url": "https://pokeapi.co/api/v2/move/182/" + }, + { + "name": "scary-face", + "url": "https://pokeapi.co/api/v2/move/184/" + }, + { + "name": "belly-drum", + "url": "https://pokeapi.co/api/v2/move/187/" + }, + { + "name": "foresight", + "url": "https://pokeapi.co/api/v2/move/193/" + }, + { + "name": "perish-song", + "url": "https://pokeapi.co/api/v2/move/195/" + }, + { + "name": "lock-on", + "url": "https://pokeapi.co/api/v2/move/199/" + }, + { + "name": "endure", + "url": "https://pokeapi.co/api/v2/move/203/" + }, + { + "name": "false-swipe", + "url": "https://pokeapi.co/api/v2/move/206/" + }, + { + "name": "swagger", + "url": "https://pokeapi.co/api/v2/move/207/" + }, + { + "name": "milk-drink", + "url": "https://pokeapi.co/api/v2/move/208/" + }, + { + "name": "mean-look", + "url": "https://pokeapi.co/api/v2/move/212/" + }, + { + "name": "attract", + "url": "https://pokeapi.co/api/v2/move/213/" + }, + { + "name": "sleep-talk", + "url": "https://pokeapi.co/api/v2/move/214/" + }, + { + "name": "heal-bell", + "url": "https://pokeapi.co/api/v2/move/215/" + }, + { + "name": "return", + "url": "https://pokeapi.co/api/v2/move/216/" + }, + { + "name": "present", + "url": "https://pokeapi.co/api/v2/move/217/" + }, + { + "name": "frustration", + "url": "https://pokeapi.co/api/v2/move/218/" + }, + { + "name": "safeguard", + "url": "https://pokeapi.co/api/v2/move/219/" + }, + { + "name": "pain-split", + "url": "https://pokeapi.co/api/v2/move/220/" + }, + { + "name": "baton-pass", + "url": "https://pokeapi.co/api/v2/move/226/" + }, + { + "name": "encore", + "url": "https://pokeapi.co/api/v2/move/227/" + }, + { + "name": "rapid-spin", + "url": "https://pokeapi.co/api/v2/move/229/" + }, + { + "name": "sweet-scent", + "url": "https://pokeapi.co/api/v2/move/230/" + }, + { + "name": "morning-sun", + "url": "https://pokeapi.co/api/v2/move/234/" + }, + { + "name": "hidden-power", + "url": "https://pokeapi.co/api/v2/move/237/" + }, + { + "name": "psych-up", + "url": "https://pokeapi.co/api/v2/move/244/" + }, + { + "name": "extreme-speed", + "url": "https://pokeapi.co/api/v2/move/245/" + }, + { + "name": "fake-out", + "url": "https://pokeapi.co/api/v2/move/252/" + }, + { + "name": "uproar", + "url": "https://pokeapi.co/api/v2/move/253/" + }, + { + "name": "stockpile", + "url": "https://pokeapi.co/api/v2/move/254/" + }, + { + "name": "spit-up", + "url": "https://pokeapi.co/api/v2/move/255/" + }, + { + "name": "swallow", + "url": "https://pokeapi.co/api/v2/move/256/" + }, + { + "name": "facade", + "url": "https://pokeapi.co/api/v2/move/263/" + }, + { + "name": "smelling-salts", + "url": "https://pokeapi.co/api/v2/move/265/" + }, + { + "name": "follow-me", + "url": "https://pokeapi.co/api/v2/move/266/" + }, + { + "name": "nature-power", + "url": "https://pokeapi.co/api/v2/move/267/" + }, + { + "name": "helping-hand", + "url": "https://pokeapi.co/api/v2/move/270/" + }, + { + "name": "wish", + "url": "https://pokeapi.co/api/v2/move/273/" + }, + { + "name": "assist", + "url": "https://pokeapi.co/api/v2/move/274/" + }, + { + "name": "recycle", + "url": "https://pokeapi.co/api/v2/move/278/" + }, + { + "name": "yawn", + "url": "https://pokeapi.co/api/v2/move/281/" + }, + { + "name": "endeavor", + "url": "https://pokeapi.co/api/v2/move/283/" + }, + { + "name": "refresh", + "url": "https://pokeapi.co/api/v2/move/287/" + }, + { + "name": "secret-power", + "url": "https://pokeapi.co/api/v2/move/290/" + }, + { + "name": "camouflage", + "url": "https://pokeapi.co/api/v2/move/293/" + }, + { + "name": "teeter-dance", + "url": "https://pokeapi.co/api/v2/move/298/" + }, + { + "name": "slack-off", + "url": "https://pokeapi.co/api/v2/move/303/" + }, + { + "name": "hyper-voice", + "url": "https://pokeapi.co/api/v2/move/304/" + }, + { + "name": "crush-claw", + "url": "https://pokeapi.co/api/v2/move/306/" + }, + { + "name": "weather-ball", + "url": "https://pokeapi.co/api/v2/move/311/" + }, + { + "name": "odor-sleuth", + "url": "https://pokeapi.co/api/v2/move/316/" + }, + { + "name": "tickle", + "url": "https://pokeapi.co/api/v2/move/321/" + }, + { + "name": "block", + "url": "https://pokeapi.co/api/v2/move/335/" + }, + { + "name": "howl", + "url": "https://pokeapi.co/api/v2/move/336/" + }, + { + "name": "covet", + "url": "https://pokeapi.co/api/v2/move/343/" + }, + { + "name": "natural-gift", + "url": "https://pokeapi.co/api/v2/move/363/" + }, + { + "name": "feint", + "url": "https://pokeapi.co/api/v2/move/364/" + }, + { + "name": "acupressure", + "url": "https://pokeapi.co/api/v2/move/367/" + }, + { + "name": "trump-card", + "url": "https://pokeapi.co/api/v2/move/376/" + }, + { + "name": "wring-out", + "url": "https://pokeapi.co/api/v2/move/378/" + }, + { + "name": "lucky-chant", + "url": "https://pokeapi.co/api/v2/move/381/" + }, + { + "name": "me-first", + "url": "https://pokeapi.co/api/v2/move/382/" + }, + { + "name": "copycat", + "url": "https://pokeapi.co/api/v2/move/383/" + }, + { + "name": "last-resort", + "url": "https://pokeapi.co/api/v2/move/387/" + }, + { + "name": "giga-impact", + "url": "https://pokeapi.co/api/v2/move/416/" + }, + { + "name": "rock-climb", + "url": "https://pokeapi.co/api/v2/move/431/" + }, + { + "name": "captivate", + "url": "https://pokeapi.co/api/v2/move/445/" + }, + { + "name": "judgment", + "url": "https://pokeapi.co/api/v2/move/449/" + }, + { + "name": "double-hit", + "url": "https://pokeapi.co/api/v2/move/458/" + }, + { + "name": "crush-grip", + "url": "https://pokeapi.co/api/v2/move/462/" + }, + { + "name": "simple-beam", + "url": "https://pokeapi.co/api/v2/move/493/" + }, + { + "name": "entrainment", + "url": "https://pokeapi.co/api/v2/move/494/" + }, + { + "name": "after-you", + "url": "https://pokeapi.co/api/v2/move/495/" + }, + { + "name": "round", + "url": "https://pokeapi.co/api/v2/move/496/" + }, + { + "name": "echoed-voice", + "url": "https://pokeapi.co/api/v2/move/497/" + }, + { + "name": "chip-away", + "url": "https://pokeapi.co/api/v2/move/498/" + }, + { + "name": "shell-smash", + "url": "https://pokeapi.co/api/v2/move/504/" + }, + { + "name": "reflect-type", + "url": "https://pokeapi.co/api/v2/move/513/" + }, + { + "name": "retaliate", + "url": "https://pokeapi.co/api/v2/move/514/" + }, + { + "name": "bestow", + "url": "https://pokeapi.co/api/v2/move/516/" + }, + { + "name": "work-up", + "url": "https://pokeapi.co/api/v2/move/526/" + }, + { + "name": "tail-slap", + "url": "https://pokeapi.co/api/v2/move/541/" + }, + { + "name": "head-charge", + "url": "https://pokeapi.co/api/v2/move/543/" + }, + { + "name": "techno-blast", + "url": "https://pokeapi.co/api/v2/move/546/" + }, + { + "name": "relic-song", + "url": "https://pokeapi.co/api/v2/move/547/" + }, + { + "name": "noble-roar", + "url": "https://pokeapi.co/api/v2/move/568/" + }, + { + "name": "boomburst", + "url": "https://pokeapi.co/api/v2/move/586/" + }, + { + "name": "play-nice", + "url": "https://pokeapi.co/api/v2/move/589/" + }, + { + "name": "confide", + "url": "https://pokeapi.co/api/v2/move/590/" + }, + { + "name": "happy-hour", + "url": "https://pokeapi.co/api/v2/move/603/" + }, + { + "name": "celebrate", + "url": "https://pokeapi.co/api/v2/move/606/" + }, + { + "name": "hold-hands", + "url": "https://pokeapi.co/api/v2/move/607/" + }, + { + "name": "hold-back", + "url": "https://pokeapi.co/api/v2/move/610/" + }, + { + "name": "breakneck-blitz--physical", + "url": "https://pokeapi.co/api/v2/move/622/" + }, + { + "name": "breakneck-blitz--special", + "url": "https://pokeapi.co/api/v2/move/623/" + }, + { + "name": "spotlight", + "url": "https://pokeapi.co/api/v2/move/671/" + }, + { + "name": "laser-focus", + "url": "https://pokeapi.co/api/v2/move/673/" + }, + { + "name": "revelation-dance", + "url": "https://pokeapi.co/api/v2/move/686/" + }, + { + "name": "pulverizing-pancake", + "url": "https://pokeapi.co/api/v2/move/701/" + }, + { + "name": "extreme-evoboost", + "url": "https://pokeapi.co/api/v2/move/702/" + }, + { + "name": "tearful-look", + "url": "https://pokeapi.co/api/v2/move/715/" + }, + { + "name": "multi-attack", + "url": "https://pokeapi.co/api/v2/move/718/" + }, + { + "name": "veevee-volley", + "url": "https://pokeapi.co/api/v2/move/741/" + }, + { + "name": "max-guard", + "url": "https://pokeapi.co/api/v2/move/743/" + }, + { + "name": "stuff-cheeks", + "url": "https://pokeapi.co/api/v2/move/747/" + }, + { + "name": "teatime", + "url": "https://pokeapi.co/api/v2/move/752/" + }, + { + "name": "court-change", + "url": "https://pokeapi.co/api/v2/move/756/" + }, + { + "name": "max-strike", + "url": "https://pokeapi.co/api/v2/move/760/" + }, + { + "name": "terrain-pulse", + "url": "https://pokeapi.co/api/v2/move/805/" + }, + { + "name": "power-shift", + "url": "https://pokeapi.co/api/v2/move/829/" + }, + { + "name": "tera-blast", + "url": "https://pokeapi.co/api/v2/move/851/" + }, + { + "name": "population-bomb", + "url": "https://pokeapi.co/api/v2/move/860/" + }, + { + "name": "revival-blessing", + "url": "https://pokeapi.co/api/v2/move/863/" + }, + { + "name": "doodle", + "url": "https://pokeapi.co/api/v2/move/867/" + }, + { + "name": "fillet-away", + "url": "https://pokeapi.co/api/v2/move/868/" + }, + { + "name": "raging-bull", + "url": "https://pokeapi.co/api/v2/move/873/" + }, + { + "name": "shed-tail", + "url": "https://pokeapi.co/api/v2/move/880/" + }, + { + "name": "tidy-up", + "url": "https://pokeapi.co/api/v2/move/882/" + }, + { + "name": "hyper-drill", + "url": "https://pokeapi.co/api/v2/move/887/" + }, + { + "name": "blood-moon", + "url": "https://pokeapi.co/api/v2/move/901/" + }, + { + "name": "tera-starstorm", + "url": "https://pokeapi.co/api/v2/move/906/" + } + ], + "name": "normal", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ノーマル" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "노말" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "一般" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Normal" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Normal" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Normal" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Normale" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Normal" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ノーマル" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "一般" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-10.json b/backend/pokerogue/src/test/resources/json/type/type-10.json new file mode 100644 index 00000000..f5bc21a9 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-10.json @@ -0,0 +1,470 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + } + ], + "double_damage_to": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_from": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "half_damage_to": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 20, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 20, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 10, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 10, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 9, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 9, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 10, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "fire-punch", + "url": "https://pokeapi.co/api/v2/move/7/" + }, + { + "name": "ember", + "url": "https://pokeapi.co/api/v2/move/52/" + }, + { + "name": "flamethrower", + "url": "https://pokeapi.co/api/v2/move/53/" + }, + { + "name": "fire-spin", + "url": "https://pokeapi.co/api/v2/move/83/" + }, + { + "name": "fire-blast", + "url": "https://pokeapi.co/api/v2/move/126/" + }, + { + "name": "flame-wheel", + "url": "https://pokeapi.co/api/v2/move/172/" + }, + { + "name": "sacred-fire", + "url": "https://pokeapi.co/api/v2/move/221/" + }, + { + "name": "sunny-day", + "url": "https://pokeapi.co/api/v2/move/241/" + }, + { + "name": "heat-wave", + "url": "https://pokeapi.co/api/v2/move/257/" + }, + { + "name": "will-o-wisp", + "url": "https://pokeapi.co/api/v2/move/261/" + }, + { + "name": "eruption", + "url": "https://pokeapi.co/api/v2/move/284/" + }, + { + "name": "blaze-kick", + "url": "https://pokeapi.co/api/v2/move/299/" + }, + { + "name": "blast-burn", + "url": "https://pokeapi.co/api/v2/move/307/" + }, + { + "name": "overheat", + "url": "https://pokeapi.co/api/v2/move/315/" + }, + { + "name": "flare-blitz", + "url": "https://pokeapi.co/api/v2/move/394/" + }, + { + "name": "fire-fang", + "url": "https://pokeapi.co/api/v2/move/424/" + }, + { + "name": "lava-plume", + "url": "https://pokeapi.co/api/v2/move/436/" + }, + { + "name": "magma-storm", + "url": "https://pokeapi.co/api/v2/move/463/" + }, + { + "name": "flame-burst", + "url": "https://pokeapi.co/api/v2/move/481/" + }, + { + "name": "flame-charge", + "url": "https://pokeapi.co/api/v2/move/488/" + }, + { + "name": "incinerate", + "url": "https://pokeapi.co/api/v2/move/510/" + }, + { + "name": "inferno", + "url": "https://pokeapi.co/api/v2/move/517/" + }, + { + "name": "fire-pledge", + "url": "https://pokeapi.co/api/v2/move/519/" + }, + { + "name": "heat-crash", + "url": "https://pokeapi.co/api/v2/move/535/" + }, + { + "name": "searing-shot", + "url": "https://pokeapi.co/api/v2/move/545/" + }, + { + "name": "blue-flare", + "url": "https://pokeapi.co/api/v2/move/551/" + }, + { + "name": "fiery-dance", + "url": "https://pokeapi.co/api/v2/move/552/" + }, + { + "name": "v-create", + "url": "https://pokeapi.co/api/v2/move/557/" + }, + { + "name": "fusion-flare", + "url": "https://pokeapi.co/api/v2/move/558/" + }, + { + "name": "mystical-fire", + "url": "https://pokeapi.co/api/v2/move/595/" + }, + { + "name": "inferno-overdrive--physical", + "url": "https://pokeapi.co/api/v2/move/640/" + }, + { + "name": "inferno-overdrive--special", + "url": "https://pokeapi.co/api/v2/move/641/" + }, + { + "name": "fire-lash", + "url": "https://pokeapi.co/api/v2/move/680/" + }, + { + "name": "burn-up", + "url": "https://pokeapi.co/api/v2/move/682/" + }, + { + "name": "shell-trap", + "url": "https://pokeapi.co/api/v2/move/704/" + }, + { + "name": "mind-blown", + "url": "https://pokeapi.co/api/v2/move/720/" + }, + { + "name": "sizzly-slide", + "url": "https://pokeapi.co/api/v2/move/735/" + }, + { + "name": "max-flare", + "url": "https://pokeapi.co/api/v2/move/757/" + }, + { + "name": "pyro-ball", + "url": "https://pokeapi.co/api/v2/move/780/" + }, + { + "name": "burning-jealousy", + "url": "https://pokeapi.co/api/v2/move/807/" + }, + { + "name": "raging-fury", + "url": "https://pokeapi.co/api/v2/move/833/" + }, + { + "name": "torch-song", + "url": "https://pokeapi.co/api/v2/move/871/" + }, + { + "name": "armor-cannon", + "url": "https://pokeapi.co/api/v2/move/890/" + }, + { + "name": "bitter-blade", + "url": "https://pokeapi.co/api/v2/move/891/" + }, + { + "name": "blazing-torque", + "url": "https://pokeapi.co/api/v2/move/896/" + }, + { + "name": "burning-bulwark", + "url": "https://pokeapi.co/api/v2/move/908/" + }, + { + "name": "temper-flare", + "url": "https://pokeapi.co/api/v2/move/915/" + } + ], + "name": "fire", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ほのお" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "불꽃" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "火" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Feu" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Feuer" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Fuego" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Fuoco" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Fire" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ほのお" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "火" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + } + ], + "double_damage_to": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_from": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "half_damage_to": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-11.json b/backend/pokerogue/src/test/resources/json/type/type-11.json new file mode 100644 index 00000000..d4574b64 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-11.json @@ -0,0 +1,387 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "double_damage_to": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "half_damage_from": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_to": [ + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 21, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 21, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 11, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 11, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 10, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 10, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 11, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "water-gun", + "url": "https://pokeapi.co/api/v2/move/55/" + }, + { + "name": "hydro-pump", + "url": "https://pokeapi.co/api/v2/move/56/" + }, + { + "name": "surf", + "url": "https://pokeapi.co/api/v2/move/57/" + }, + { + "name": "bubble-beam", + "url": "https://pokeapi.co/api/v2/move/61/" + }, + { + "name": "withdraw", + "url": "https://pokeapi.co/api/v2/move/110/" + }, + { + "name": "waterfall", + "url": "https://pokeapi.co/api/v2/move/127/" + }, + { + "name": "clamp", + "url": "https://pokeapi.co/api/v2/move/128/" + }, + { + "name": "bubble", + "url": "https://pokeapi.co/api/v2/move/145/" + }, + { + "name": "crabhammer", + "url": "https://pokeapi.co/api/v2/move/152/" + }, + { + "name": "octazooka", + "url": "https://pokeapi.co/api/v2/move/190/" + }, + { + "name": "rain-dance", + "url": "https://pokeapi.co/api/v2/move/240/" + }, + { + "name": "whirlpool", + "url": "https://pokeapi.co/api/v2/move/250/" + }, + { + "name": "dive", + "url": "https://pokeapi.co/api/v2/move/291/" + }, + { + "name": "hydro-cannon", + "url": "https://pokeapi.co/api/v2/move/308/" + }, + { + "name": "water-spout", + "url": "https://pokeapi.co/api/v2/move/323/" + }, + { + "name": "muddy-water", + "url": "https://pokeapi.co/api/v2/move/330/" + }, + { + "name": "water-sport", + "url": "https://pokeapi.co/api/v2/move/346/" + }, + { + "name": "water-pulse", + "url": "https://pokeapi.co/api/v2/move/352/" + }, + { + "name": "brine", + "url": "https://pokeapi.co/api/v2/move/362/" + }, + { + "name": "aqua-ring", + "url": "https://pokeapi.co/api/v2/move/392/" + }, + { + "name": "aqua-tail", + "url": "https://pokeapi.co/api/v2/move/401/" + }, + { + "name": "aqua-jet", + "url": "https://pokeapi.co/api/v2/move/453/" + }, + { + "name": "soak", + "url": "https://pokeapi.co/api/v2/move/487/" + }, + { + "name": "scald", + "url": "https://pokeapi.co/api/v2/move/503/" + }, + { + "name": "water-pledge", + "url": "https://pokeapi.co/api/v2/move/518/" + }, + { + "name": "razor-shell", + "url": "https://pokeapi.co/api/v2/move/534/" + }, + { + "name": "steam-eruption", + "url": "https://pokeapi.co/api/v2/move/592/" + }, + { + "name": "water-shuriken", + "url": "https://pokeapi.co/api/v2/move/594/" + }, + { + "name": "origin-pulse", + "url": "https://pokeapi.co/api/v2/move/618/" + }, + { + "name": "hydro-vortex--physical", + "url": "https://pokeapi.co/api/v2/move/642/" + }, + { + "name": "hydro-vortex--special", + "url": "https://pokeapi.co/api/v2/move/643/" + }, + { + "name": "sparkling-aria", + "url": "https://pokeapi.co/api/v2/move/664/" + }, + { + "name": "oceanic-operetta", + "url": "https://pokeapi.co/api/v2/move/697/" + }, + { + "name": "liquidation", + "url": "https://pokeapi.co/api/v2/move/710/" + }, + { + "name": "splishy-splash", + "url": "https://pokeapi.co/api/v2/move/730/" + }, + { + "name": "bouncy-bubble", + "url": "https://pokeapi.co/api/v2/move/733/" + }, + { + "name": "snipe-shot", + "url": "https://pokeapi.co/api/v2/move/745/" + }, + { + "name": "fishious-rend", + "url": "https://pokeapi.co/api/v2/move/755/" + }, + { + "name": "max-geyser", + "url": "https://pokeapi.co/api/v2/move/765/" + }, + { + "name": "life-dew", + "url": "https://pokeapi.co/api/v2/move/791/" + }, + { + "name": "flip-turn", + "url": "https://pokeapi.co/api/v2/move/812/" + }, + { + "name": "surging-strikes", + "url": "https://pokeapi.co/api/v2/move/818/" + }, + { + "name": "wave-crash", + "url": "https://pokeapi.co/api/v2/move/834/" + }, + { + "name": "jet-punch", + "url": "https://pokeapi.co/api/v2/move/857/" + }, + { + "name": "triple-dive", + "url": "https://pokeapi.co/api/v2/move/865/" + }, + { + "name": "aqua-step", + "url": "https://pokeapi.co/api/v2/move/872/" + }, + { + "name": "hydro-steam", + "url": "https://pokeapi.co/api/v2/move/876/" + }, + { + "name": "chilling-water", + "url": "https://pokeapi.co/api/v2/move/886/" + }, + { + "name": "aqua-cutter", + "url": "https://pokeapi.co/api/v2/move/895/" + } + ], + "name": "water", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "みず" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "물" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "水" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Eau" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Wasser" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Agua" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Acqua" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Water" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "みず" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "水" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-12.json b/backend/pokerogue/src/test/resources/json/type/type-12.json new file mode 100644 index 00000000..acca8968 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-12.json @@ -0,0 +1,455 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "double_damage_to": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + } + ], + "half_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "half_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 22, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 22, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 12, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 12, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 11, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 11, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 12, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "vine-whip", + "url": "https://pokeapi.co/api/v2/move/22/" + }, + { + "name": "absorb", + "url": "https://pokeapi.co/api/v2/move/71/" + }, + { + "name": "mega-drain", + "url": "https://pokeapi.co/api/v2/move/72/" + }, + { + "name": "leech-seed", + "url": "https://pokeapi.co/api/v2/move/73/" + }, + { + "name": "razor-leaf", + "url": "https://pokeapi.co/api/v2/move/75/" + }, + { + "name": "solar-beam", + "url": "https://pokeapi.co/api/v2/move/76/" + }, + { + "name": "stun-spore", + "url": "https://pokeapi.co/api/v2/move/78/" + }, + { + "name": "sleep-powder", + "url": "https://pokeapi.co/api/v2/move/79/" + }, + { + "name": "petal-dance", + "url": "https://pokeapi.co/api/v2/move/80/" + }, + { + "name": "spore", + "url": "https://pokeapi.co/api/v2/move/147/" + }, + { + "name": "cotton-spore", + "url": "https://pokeapi.co/api/v2/move/178/" + }, + { + "name": "giga-drain", + "url": "https://pokeapi.co/api/v2/move/202/" + }, + { + "name": "synthesis", + "url": "https://pokeapi.co/api/v2/move/235/" + }, + { + "name": "ingrain", + "url": "https://pokeapi.co/api/v2/move/275/" + }, + { + "name": "needle-arm", + "url": "https://pokeapi.co/api/v2/move/302/" + }, + { + "name": "aromatherapy", + "url": "https://pokeapi.co/api/v2/move/312/" + }, + { + "name": "grass-whistle", + "url": "https://pokeapi.co/api/v2/move/320/" + }, + { + "name": "bullet-seed", + "url": "https://pokeapi.co/api/v2/move/331/" + }, + { + "name": "frenzy-plant", + "url": "https://pokeapi.co/api/v2/move/338/" + }, + { + "name": "magical-leaf", + "url": "https://pokeapi.co/api/v2/move/345/" + }, + { + "name": "leaf-blade", + "url": "https://pokeapi.co/api/v2/move/348/" + }, + { + "name": "worry-seed", + "url": "https://pokeapi.co/api/v2/move/388/" + }, + { + "name": "seed-bomb", + "url": "https://pokeapi.co/api/v2/move/402/" + }, + { + "name": "energy-ball", + "url": "https://pokeapi.co/api/v2/move/412/" + }, + { + "name": "leaf-storm", + "url": "https://pokeapi.co/api/v2/move/437/" + }, + { + "name": "power-whip", + "url": "https://pokeapi.co/api/v2/move/438/" + }, + { + "name": "grass-knot", + "url": "https://pokeapi.co/api/v2/move/447/" + }, + { + "name": "wood-hammer", + "url": "https://pokeapi.co/api/v2/move/452/" + }, + { + "name": "seed-flare", + "url": "https://pokeapi.co/api/v2/move/465/" + }, + { + "name": "grass-pledge", + "url": "https://pokeapi.co/api/v2/move/520/" + }, + { + "name": "horn-leech", + "url": "https://pokeapi.co/api/v2/move/532/" + }, + { + "name": "leaf-tornado", + "url": "https://pokeapi.co/api/v2/move/536/" + }, + { + "name": "cotton-guard", + "url": "https://pokeapi.co/api/v2/move/538/" + }, + { + "name": "forests-curse", + "url": "https://pokeapi.co/api/v2/move/571/" + }, + { + "name": "petal-blizzard", + "url": "https://pokeapi.co/api/v2/move/572/" + }, + { + "name": "grassy-terrain", + "url": "https://pokeapi.co/api/v2/move/580/" + }, + { + "name": "spiky-shield", + "url": "https://pokeapi.co/api/v2/move/596/" + }, + { + "name": "bloom-doom--physical", + "url": "https://pokeapi.co/api/v2/move/644/" + }, + { + "name": "bloom-doom--special", + "url": "https://pokeapi.co/api/v2/move/645/" + }, + { + "name": "strength-sap", + "url": "https://pokeapi.co/api/v2/move/668/" + }, + { + "name": "solar-blade", + "url": "https://pokeapi.co/api/v2/move/669/" + }, + { + "name": "leafage", + "url": "https://pokeapi.co/api/v2/move/670/" + }, + { + "name": "trop-kick", + "url": "https://pokeapi.co/api/v2/move/688/" + }, + { + "name": "sappy-seed", + "url": "https://pokeapi.co/api/v2/move/738/" + }, + { + "name": "max-overgrowth", + "url": "https://pokeapi.co/api/v2/move/773/" + }, + { + "name": "drum-beating", + "url": "https://pokeapi.co/api/v2/move/778/" + }, + { + "name": "snap-trap", + "url": "https://pokeapi.co/api/v2/move/779/" + }, + { + "name": "branch-poke", + "url": "https://pokeapi.co/api/v2/move/785/" + }, + { + "name": "apple-acid", + "url": "https://pokeapi.co/api/v2/move/787/" + }, + { + "name": "grav-apple", + "url": "https://pokeapi.co/api/v2/move/788/" + }, + { + "name": "grassy-glide", + "url": "https://pokeapi.co/api/v2/move/803/" + }, + { + "name": "jungle-healing", + "url": "https://pokeapi.co/api/v2/move/816/" + }, + { + "name": "chloroblast", + "url": "https://pokeapi.co/api/v2/move/835/" + }, + { + "name": "spicy-extract", + "url": "https://pokeapi.co/api/v2/move/858/" + }, + { + "name": "flower-trick", + "url": "https://pokeapi.co/api/v2/move/870/" + }, + { + "name": "trailblaze", + "url": "https://pokeapi.co/api/v2/move/885/" + }, + { + "name": "matcha-gotcha", + "url": "https://pokeapi.co/api/v2/move/902/" + }, + { + "name": "syrup-bomb", + "url": "https://pokeapi.co/api/v2/move/903/" + }, + { + "name": "ivy-cudgel", + "url": "https://pokeapi.co/api/v2/move/904/" + } + ], + "name": "grass", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "くさ" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "풀" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "草" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Plante" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Pflanze" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Planta" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Erba" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Grass" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "くさ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "草" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-13.json b/backend/pokerogue/src/test/resources/json/type/type-13.json new file mode 100644 index 00000000..e405eba5 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-13.json @@ -0,0 +1,380 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + } + ], + "double_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + } + ], + "half_damage_from": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "half_damage_to": [ + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "no_damage_from": [], + "no_damage_to": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + } + ] + }, + "game_indices": [ + { + "game_index": 23, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 23, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 13, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 13, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 12, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 12, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 13, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "thunder-punch", + "url": "https://pokeapi.co/api/v2/move/9/" + }, + { + "name": "thunder-shock", + "url": "https://pokeapi.co/api/v2/move/84/" + }, + { + "name": "thunderbolt", + "url": "https://pokeapi.co/api/v2/move/85/" + }, + { + "name": "thunder-wave", + "url": "https://pokeapi.co/api/v2/move/86/" + }, + { + "name": "thunder", + "url": "https://pokeapi.co/api/v2/move/87/" + }, + { + "name": "zap-cannon", + "url": "https://pokeapi.co/api/v2/move/192/" + }, + { + "name": "spark", + "url": "https://pokeapi.co/api/v2/move/209/" + }, + { + "name": "charge", + "url": "https://pokeapi.co/api/v2/move/268/" + }, + { + "name": "volt-tackle", + "url": "https://pokeapi.co/api/v2/move/344/" + }, + { + "name": "shock-wave", + "url": "https://pokeapi.co/api/v2/move/351/" + }, + { + "name": "magnet-rise", + "url": "https://pokeapi.co/api/v2/move/393/" + }, + { + "name": "thunder-fang", + "url": "https://pokeapi.co/api/v2/move/422/" + }, + { + "name": "discharge", + "url": "https://pokeapi.co/api/v2/move/435/" + }, + { + "name": "charge-beam", + "url": "https://pokeapi.co/api/v2/move/451/" + }, + { + "name": "electro-ball", + "url": "https://pokeapi.co/api/v2/move/486/" + }, + { + "name": "volt-switch", + "url": "https://pokeapi.co/api/v2/move/521/" + }, + { + "name": "electroweb", + "url": "https://pokeapi.co/api/v2/move/527/" + }, + { + "name": "wild-charge", + "url": "https://pokeapi.co/api/v2/move/528/" + }, + { + "name": "bolt-strike", + "url": "https://pokeapi.co/api/v2/move/550/" + }, + { + "name": "fusion-bolt", + "url": "https://pokeapi.co/api/v2/move/559/" + }, + { + "name": "ion-deluge", + "url": "https://pokeapi.co/api/v2/move/569/" + }, + { + "name": "parabolic-charge", + "url": "https://pokeapi.co/api/v2/move/570/" + }, + { + "name": "electrify", + "url": "https://pokeapi.co/api/v2/move/582/" + }, + { + "name": "eerie-impulse", + "url": "https://pokeapi.co/api/v2/move/598/" + }, + { + "name": "magnetic-flux", + "url": "https://pokeapi.co/api/v2/move/602/" + }, + { + "name": "electric-terrain", + "url": "https://pokeapi.co/api/v2/move/604/" + }, + { + "name": "nuzzle", + "url": "https://pokeapi.co/api/v2/move/609/" + }, + { + "name": "gigavolt-havoc--physical", + "url": "https://pokeapi.co/api/v2/move/646/" + }, + { + "name": "gigavolt-havoc--special", + "url": "https://pokeapi.co/api/v2/move/647/" + }, + { + "name": "catastropika", + "url": "https://pokeapi.co/api/v2/move/658/" + }, + { + "name": "stoked-sparksurfer", + "url": "https://pokeapi.co/api/v2/move/700/" + }, + { + "name": "zing-zap", + "url": "https://pokeapi.co/api/v2/move/716/" + }, + { + "name": "10-000-000-volt-thunderbolt", + "url": "https://pokeapi.co/api/v2/move/719/" + }, + { + "name": "plasma-fists", + "url": "https://pokeapi.co/api/v2/move/721/" + }, + { + "name": "zippy-zap", + "url": "https://pokeapi.co/api/v2/move/729/" + }, + { + "name": "pika-papow", + "url": "https://pokeapi.co/api/v2/move/732/" + }, + { + "name": "buzzy-buzz", + "url": "https://pokeapi.co/api/v2/move/734/" + }, + { + "name": "bolt-beak", + "url": "https://pokeapi.co/api/v2/move/754/" + }, + { + "name": "max-lightning", + "url": "https://pokeapi.co/api/v2/move/759/" + }, + { + "name": "aura-wheel", + "url": "https://pokeapi.co/api/v2/move/783/" + }, + { + "name": "overdrive", + "url": "https://pokeapi.co/api/v2/move/786/" + }, + { + "name": "rising-voltage", + "url": "https://pokeapi.co/api/v2/move/804/" + }, + { + "name": "thunder-cage", + "url": "https://pokeapi.co/api/v2/move/819/" + }, + { + "name": "wildbolt-storm", + "url": "https://pokeapi.co/api/v2/move/847/" + }, + { + "name": "electro-drift", + "url": "https://pokeapi.co/api/v2/move/879/" + }, + { + "name": "double-shock", + "url": "https://pokeapi.co/api/v2/move/892/" + }, + { + "name": "electro-shot", + "url": "https://pokeapi.co/api/v2/move/905/" + }, + { + "name": "thunderclap", + "url": "https://pokeapi.co/api/v2/move/909/" + }, + { + "name": "supercell-slam", + "url": "https://pokeapi.co/api/v2/move/916/" + } + ], + "name": "electric", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "でんき" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "전기" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "電" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Électrik" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Elektro" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Eléctrico" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Elettro" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Electric" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "でんき" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "电" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-14.json b/backend/pokerogue/src/test/resources/json/type/type-14.json new file mode 100644 index 00000000..a5e60875 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-14.json @@ -0,0 +1,548 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "double_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "half_damage_to": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "no_damage_from": [], + "no_damage_to": [ + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ] + }, + "game_indices": [ + { + "game_index": 24, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 24, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 14, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 14, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 13, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 13, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 14, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "psybeam", + "url": "https://pokeapi.co/api/v2/move/60/" + }, + { + "name": "confusion", + "url": "https://pokeapi.co/api/v2/move/93/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/move/94/" + }, + { + "name": "hypnosis", + "url": "https://pokeapi.co/api/v2/move/95/" + }, + { + "name": "meditate", + "url": "https://pokeapi.co/api/v2/move/96/" + }, + { + "name": "agility", + "url": "https://pokeapi.co/api/v2/move/97/" + }, + { + "name": "teleport", + "url": "https://pokeapi.co/api/v2/move/100/" + }, + { + "name": "barrier", + "url": "https://pokeapi.co/api/v2/move/112/" + }, + { + "name": "light-screen", + "url": "https://pokeapi.co/api/v2/move/113/" + }, + { + "name": "reflect", + "url": "https://pokeapi.co/api/v2/move/115/" + }, + { + "name": "amnesia", + "url": "https://pokeapi.co/api/v2/move/133/" + }, + { + "name": "kinesis", + "url": "https://pokeapi.co/api/v2/move/134/" + }, + { + "name": "dream-eater", + "url": "https://pokeapi.co/api/v2/move/138/" + }, + { + "name": "psywave", + "url": "https://pokeapi.co/api/v2/move/149/" + }, + { + "name": "rest", + "url": "https://pokeapi.co/api/v2/move/156/" + }, + { + "name": "mirror-coat", + "url": "https://pokeapi.co/api/v2/move/243/" + }, + { + "name": "future-sight", + "url": "https://pokeapi.co/api/v2/move/248/" + }, + { + "name": "trick", + "url": "https://pokeapi.co/api/v2/move/271/" + }, + { + "name": "role-play", + "url": "https://pokeapi.co/api/v2/move/272/" + }, + { + "name": "magic-coat", + "url": "https://pokeapi.co/api/v2/move/277/" + }, + { + "name": "skill-swap", + "url": "https://pokeapi.co/api/v2/move/285/" + }, + { + "name": "imprison", + "url": "https://pokeapi.co/api/v2/move/286/" + }, + { + "name": "luster-purge", + "url": "https://pokeapi.co/api/v2/move/295/" + }, + { + "name": "mist-ball", + "url": "https://pokeapi.co/api/v2/move/296/" + }, + { + "name": "cosmic-power", + "url": "https://pokeapi.co/api/v2/move/322/" + }, + { + "name": "extrasensory", + "url": "https://pokeapi.co/api/v2/move/326/" + }, + { + "name": "calm-mind", + "url": "https://pokeapi.co/api/v2/move/347/" + }, + { + "name": "psycho-boost", + "url": "https://pokeapi.co/api/v2/move/354/" + }, + { + "name": "gravity", + "url": "https://pokeapi.co/api/v2/move/356/" + }, + { + "name": "miracle-eye", + "url": "https://pokeapi.co/api/v2/move/357/" + }, + { + "name": "healing-wish", + "url": "https://pokeapi.co/api/v2/move/361/" + }, + { + "name": "psycho-shift", + "url": "https://pokeapi.co/api/v2/move/375/" + }, + { + "name": "heal-block", + "url": "https://pokeapi.co/api/v2/move/377/" + }, + { + "name": "power-trick", + "url": "https://pokeapi.co/api/v2/move/379/" + }, + { + "name": "power-swap", + "url": "https://pokeapi.co/api/v2/move/384/" + }, + { + "name": "guard-swap", + "url": "https://pokeapi.co/api/v2/move/385/" + }, + { + "name": "heart-swap", + "url": "https://pokeapi.co/api/v2/move/391/" + }, + { + "name": "psycho-cut", + "url": "https://pokeapi.co/api/v2/move/427/" + }, + { + "name": "zen-headbutt", + "url": "https://pokeapi.co/api/v2/move/428/" + }, + { + "name": "trick-room", + "url": "https://pokeapi.co/api/v2/move/433/" + }, + { + "name": "lunar-dance", + "url": "https://pokeapi.co/api/v2/move/461/" + }, + { + "name": "guard-split", + "url": "https://pokeapi.co/api/v2/move/470/" + }, + { + "name": "power-split", + "url": "https://pokeapi.co/api/v2/move/471/" + }, + { + "name": "wonder-room", + "url": "https://pokeapi.co/api/v2/move/472/" + }, + { + "name": "psyshock", + "url": "https://pokeapi.co/api/v2/move/473/" + }, + { + "name": "telekinesis", + "url": "https://pokeapi.co/api/v2/move/477/" + }, + { + "name": "magic-room", + "url": "https://pokeapi.co/api/v2/move/478/" + }, + { + "name": "synchronoise", + "url": "https://pokeapi.co/api/v2/move/485/" + }, + { + "name": "stored-power", + "url": "https://pokeapi.co/api/v2/move/500/" + }, + { + "name": "ally-switch", + "url": "https://pokeapi.co/api/v2/move/502/" + }, + { + "name": "heal-pulse", + "url": "https://pokeapi.co/api/v2/move/505/" + }, + { + "name": "heart-stamp", + "url": "https://pokeapi.co/api/v2/move/531/" + }, + { + "name": "psystrike", + "url": "https://pokeapi.co/api/v2/move/540/" + }, + { + "name": "hyperspace-hole", + "url": "https://pokeapi.co/api/v2/move/593/" + }, + { + "name": "shattered-psyche--physical", + "url": "https://pokeapi.co/api/v2/move/648/" + }, + { + "name": "shattered-psyche--special", + "url": "https://pokeapi.co/api/v2/move/649/" + }, + { + "name": "psychic-terrain", + "url": "https://pokeapi.co/api/v2/move/678/" + }, + { + "name": "speed-swap", + "url": "https://pokeapi.co/api/v2/move/683/" + }, + { + "name": "instruct", + "url": "https://pokeapi.co/api/v2/move/689/" + }, + { + "name": "genesis-supernova", + "url": "https://pokeapi.co/api/v2/move/703/" + }, + { + "name": "psychic-fangs", + "url": "https://pokeapi.co/api/v2/move/706/" + }, + { + "name": "prismatic-laser", + "url": "https://pokeapi.co/api/v2/move/711/" + }, + { + "name": "photon-geyser", + "url": "https://pokeapi.co/api/v2/move/722/" + }, + { + "name": "light-that-burns-the-sky", + "url": "https://pokeapi.co/api/v2/move/723/" + }, + { + "name": "glitzy-glow", + "url": "https://pokeapi.co/api/v2/move/736/" + }, + { + "name": "magic-powder", + "url": "https://pokeapi.co/api/v2/move/750/" + }, + { + "name": "max-mindstorm", + "url": "https://pokeapi.co/api/v2/move/769/" + }, + { + "name": "expanding-force", + "url": "https://pokeapi.co/api/v2/move/797/" + }, + { + "name": "freezing-glare", + "url": "https://pokeapi.co/api/v2/move/821/" + }, + { + "name": "eerie-spell", + "url": "https://pokeapi.co/api/v2/move/826/" + }, + { + "name": "psyshield-bash", + "url": "https://pokeapi.co/api/v2/move/828/" + }, + { + "name": "mystical-power", + "url": "https://pokeapi.co/api/v2/move/832/" + }, + { + "name": "esper-wing", + "url": "https://pokeapi.co/api/v2/move/840/" + }, + { + "name": "lunar-blessing", + "url": "https://pokeapi.co/api/v2/move/849/" + }, + { + "name": "take-heart", + "url": "https://pokeapi.co/api/v2/move/850/" + }, + { + "name": "lumina-crash", + "url": "https://pokeapi.co/api/v2/move/855/" + }, + { + "name": "psyblade", + "url": "https://pokeapi.co/api/v2/move/875/" + }, + { + "name": "twin-beam", + "url": "https://pokeapi.co/api/v2/move/888/" + }, + { + "name": "psychic-noise", + "url": "https://pokeapi.co/api/v2/move/917/" + } + ], + "name": "psychic", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "エスパー" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "에스퍼" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "超能力" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Psy" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Psycho" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Psíquico" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Psico" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Psychic" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "エスパー" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "超能力" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "double_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "half_damage_to": [ + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "no_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ], + "no_damage_to": [] + }, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-15.json b/backend/pokerogue/src/test/resources/json/type/type-15.json new file mode 100644 index 00000000..c99a7704 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-15.json @@ -0,0 +1,386 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "double_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "half_damage_from": [ + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_to": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 25, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 25, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 15, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 15, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 14, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 14, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 15, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "ice-punch", + "url": "https://pokeapi.co/api/v2/move/8/" + }, + { + "name": "mist", + "url": "https://pokeapi.co/api/v2/move/54/" + }, + { + "name": "ice-beam", + "url": "https://pokeapi.co/api/v2/move/58/" + }, + { + "name": "blizzard", + "url": "https://pokeapi.co/api/v2/move/59/" + }, + { + "name": "aurora-beam", + "url": "https://pokeapi.co/api/v2/move/62/" + }, + { + "name": "haze", + "url": "https://pokeapi.co/api/v2/move/114/" + }, + { + "name": "powder-snow", + "url": "https://pokeapi.co/api/v2/move/181/" + }, + { + "name": "icy-wind", + "url": "https://pokeapi.co/api/v2/move/196/" + }, + { + "name": "hail", + "url": "https://pokeapi.co/api/v2/move/258/" + }, + { + "name": "ice-ball", + "url": "https://pokeapi.co/api/v2/move/301/" + }, + { + "name": "sheer-cold", + "url": "https://pokeapi.co/api/v2/move/329/" + }, + { + "name": "icicle-spear", + "url": "https://pokeapi.co/api/v2/move/333/" + }, + { + "name": "avalanche", + "url": "https://pokeapi.co/api/v2/move/419/" + }, + { + "name": "ice-shard", + "url": "https://pokeapi.co/api/v2/move/420/" + }, + { + "name": "ice-fang", + "url": "https://pokeapi.co/api/v2/move/423/" + }, + { + "name": "frost-breath", + "url": "https://pokeapi.co/api/v2/move/524/" + }, + { + "name": "glaciate", + "url": "https://pokeapi.co/api/v2/move/549/" + }, + { + "name": "freeze-shock", + "url": "https://pokeapi.co/api/v2/move/553/" + }, + { + "name": "ice-burn", + "url": "https://pokeapi.co/api/v2/move/554/" + }, + { + "name": "icicle-crash", + "url": "https://pokeapi.co/api/v2/move/556/" + }, + { + "name": "freeze-dry", + "url": "https://pokeapi.co/api/v2/move/573/" + }, + { + "name": "subzero-slammer--physical", + "url": "https://pokeapi.co/api/v2/move/650/" + }, + { + "name": "subzero-slammer--special", + "url": "https://pokeapi.co/api/v2/move/651/" + }, + { + "name": "ice-hammer", + "url": "https://pokeapi.co/api/v2/move/665/" + }, + { + "name": "aurora-veil", + "url": "https://pokeapi.co/api/v2/move/694/" + }, + { + "name": "freezy-frost", + "url": "https://pokeapi.co/api/v2/move/739/" + }, + { + "name": "max-hailstorm", + "url": "https://pokeapi.co/api/v2/move/763/" + }, + { + "name": "triple-axel", + "url": "https://pokeapi.co/api/v2/move/813/" + }, + { + "name": "glacial-lance", + "url": "https://pokeapi.co/api/v2/move/824/" + }, + { + "name": "mountain-gale", + "url": "https://pokeapi.co/api/v2/move/836/" + }, + { + "name": "ice-spinner", + "url": "https://pokeapi.co/api/v2/move/861/" + }, + { + "name": "chilly-reception", + "url": "https://pokeapi.co/api/v2/move/881/" + }, + { + "name": "snowscape", + "url": "https://pokeapi.co/api/v2/move/883/" + } + ], + "name": "ice", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "こおり" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "얼음" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "冰" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Glace" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Eis" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Hielo" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Ghiaccio" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Ice" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "こおり" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "冰" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "double_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "half_damage_from": [ + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_to": [ + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-16.json b/backend/pokerogue/src/test/resources/json/type/type-16.json new file mode 100644 index 00000000..cc02f835 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-16.json @@ -0,0 +1,308 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "double_damage_to": [ + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "half_damage_from": [ + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "half_damage_to": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ], + "no_damage_from": [], + "no_damage_to": [ + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ] + }, + "game_indices": [ + { + "game_index": 26, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 26, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 16, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 16, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 15, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 15, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 16, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "dragon-rage", + "url": "https://pokeapi.co/api/v2/move/82/" + }, + { + "name": "outrage", + "url": "https://pokeapi.co/api/v2/move/200/" + }, + { + "name": "dragon-breath", + "url": "https://pokeapi.co/api/v2/move/225/" + }, + { + "name": "twister", + "url": "https://pokeapi.co/api/v2/move/239/" + }, + { + "name": "dragon-claw", + "url": "https://pokeapi.co/api/v2/move/337/" + }, + { + "name": "dragon-dance", + "url": "https://pokeapi.co/api/v2/move/349/" + }, + { + "name": "dragon-pulse", + "url": "https://pokeapi.co/api/v2/move/406/" + }, + { + "name": "dragon-rush", + "url": "https://pokeapi.co/api/v2/move/407/" + }, + { + "name": "draco-meteor", + "url": "https://pokeapi.co/api/v2/move/434/" + }, + { + "name": "roar-of-time", + "url": "https://pokeapi.co/api/v2/move/459/" + }, + { + "name": "spacial-rend", + "url": "https://pokeapi.co/api/v2/move/460/" + }, + { + "name": "dragon-tail", + "url": "https://pokeapi.co/api/v2/move/525/" + }, + { + "name": "dual-chop", + "url": "https://pokeapi.co/api/v2/move/530/" + }, + { + "name": "devastating-drake--physical", + "url": "https://pokeapi.co/api/v2/move/652/" + }, + { + "name": "devastating-drake--special", + "url": "https://pokeapi.co/api/v2/move/653/" + }, + { + "name": "core-enforcer", + "url": "https://pokeapi.co/api/v2/move/687/" + }, + { + "name": "clanging-scales", + "url": "https://pokeapi.co/api/v2/move/691/" + }, + { + "name": "dragon-hammer", + "url": "https://pokeapi.co/api/v2/move/692/" + }, + { + "name": "clangorous-soulblaze", + "url": "https://pokeapi.co/api/v2/move/728/" + }, + { + "name": "dynamax-cannon", + "url": "https://pokeapi.co/api/v2/move/744/" + }, + { + "name": "dragon-darts", + "url": "https://pokeapi.co/api/v2/move/751/" + }, + { + "name": "max-wyrmwind", + "url": "https://pokeapi.co/api/v2/move/768/" + }, + { + "name": "clangorous-soul", + "url": "https://pokeapi.co/api/v2/move/775/" + }, + { + "name": "breaking-swipe", + "url": "https://pokeapi.co/api/v2/move/784/" + }, + { + "name": "eternabeam", + "url": "https://pokeapi.co/api/v2/move/795/" + }, + { + "name": "scale-shot", + "url": "https://pokeapi.co/api/v2/move/799/" + }, + { + "name": "dragon-energy", + "url": "https://pokeapi.co/api/v2/move/820/" + }, + { + "name": "order-up", + "url": "https://pokeapi.co/api/v2/move/856/" + }, + { + "name": "glaive-rush", + "url": "https://pokeapi.co/api/v2/move/862/" + }, + { + "name": "fickle-beam", + "url": "https://pokeapi.co/api/v2/move/907/" + }, + { + "name": "dragon-cheer", + "url": "https://pokeapi.co/api/v2/move/913/" + } + ], + "name": "dragon", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ドラゴン" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "드래곤" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "龍" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Dragon" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Drache" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Dragón" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Drago" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Dragon" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ドラゴン" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "龙" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-17.json b/backend/pokerogue/src/test/resources/json/type/type-17.json new file mode 100644 index 00000000..65ef8d0a --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-17.json @@ -0,0 +1,449 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "double_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "half_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "no_damage_from": [ + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 27, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 17, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 17, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 16, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 16, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + }, + "id": 17, + "move_damage_class": { + "name": "special", + "url": "https://pokeapi.co/api/v2/move-damage-class/3/" + }, + "moves": [ + { + "name": "bite", + "url": "https://pokeapi.co/api/v2/move/44/" + }, + { + "name": "thief", + "url": "https://pokeapi.co/api/v2/move/168/" + }, + { + "name": "feint-attack", + "url": "https://pokeapi.co/api/v2/move/185/" + }, + { + "name": "pursuit", + "url": "https://pokeapi.co/api/v2/move/228/" + }, + { + "name": "crunch", + "url": "https://pokeapi.co/api/v2/move/242/" + }, + { + "name": "beat-up", + "url": "https://pokeapi.co/api/v2/move/251/" + }, + { + "name": "torment", + "url": "https://pokeapi.co/api/v2/move/259/" + }, + { + "name": "flatter", + "url": "https://pokeapi.co/api/v2/move/260/" + }, + { + "name": "memento", + "url": "https://pokeapi.co/api/v2/move/262/" + }, + { + "name": "taunt", + "url": "https://pokeapi.co/api/v2/move/269/" + }, + { + "name": "knock-off", + "url": "https://pokeapi.co/api/v2/move/282/" + }, + { + "name": "snatch", + "url": "https://pokeapi.co/api/v2/move/289/" + }, + { + "name": "fake-tears", + "url": "https://pokeapi.co/api/v2/move/313/" + }, + { + "name": "payback", + "url": "https://pokeapi.co/api/v2/move/371/" + }, + { + "name": "assurance", + "url": "https://pokeapi.co/api/v2/move/372/" + }, + { + "name": "embargo", + "url": "https://pokeapi.co/api/v2/move/373/" + }, + { + "name": "fling", + "url": "https://pokeapi.co/api/v2/move/374/" + }, + { + "name": "punishment", + "url": "https://pokeapi.co/api/v2/move/386/" + }, + { + "name": "sucker-punch", + "url": "https://pokeapi.co/api/v2/move/389/" + }, + { + "name": "dark-pulse", + "url": "https://pokeapi.co/api/v2/move/399/" + }, + { + "name": "night-slash", + "url": "https://pokeapi.co/api/v2/move/400/" + }, + { + "name": "switcheroo", + "url": "https://pokeapi.co/api/v2/move/415/" + }, + { + "name": "nasty-plot", + "url": "https://pokeapi.co/api/v2/move/417/" + }, + { + "name": "dark-void", + "url": "https://pokeapi.co/api/v2/move/464/" + }, + { + "name": "hone-claws", + "url": "https://pokeapi.co/api/v2/move/468/" + }, + { + "name": "foul-play", + "url": "https://pokeapi.co/api/v2/move/492/" + }, + { + "name": "quash", + "url": "https://pokeapi.co/api/v2/move/511/" + }, + { + "name": "night-daze", + "url": "https://pokeapi.co/api/v2/move/539/" + }, + { + "name": "snarl", + "url": "https://pokeapi.co/api/v2/move/555/" + }, + { + "name": "parting-shot", + "url": "https://pokeapi.co/api/v2/move/575/" + }, + { + "name": "topsy-turvy", + "url": "https://pokeapi.co/api/v2/move/576/" + }, + { + "name": "hyperspace-fury", + "url": "https://pokeapi.co/api/v2/move/621/" + }, + { + "name": "black-hole-eclipse--physical", + "url": "https://pokeapi.co/api/v2/move/654/" + }, + { + "name": "black-hole-eclipse--special", + "url": "https://pokeapi.co/api/v2/move/655/" + }, + { + "name": "darkest-lariat", + "url": "https://pokeapi.co/api/v2/move/663/" + }, + { + "name": "throat-chop", + "url": "https://pokeapi.co/api/v2/move/675/" + }, + { + "name": "power-trip", + "url": "https://pokeapi.co/api/v2/move/681/" + }, + { + "name": "brutal-swing", + "url": "https://pokeapi.co/api/v2/move/693/" + }, + { + "name": "malicious-moonsault", + "url": "https://pokeapi.co/api/v2/move/696/" + }, + { + "name": "baddy-bad", + "url": "https://pokeapi.co/api/v2/move/737/" + }, + { + "name": "jaw-lock", + "url": "https://pokeapi.co/api/v2/move/746/" + }, + { + "name": "max-darkness", + "url": "https://pokeapi.co/api/v2/move/772/" + }, + { + "name": "obstruct", + "url": "https://pokeapi.co/api/v2/move/792/" + }, + { + "name": "false-surrender", + "url": "https://pokeapi.co/api/v2/move/793/" + }, + { + "name": "lash-out", + "url": "https://pokeapi.co/api/v2/move/808/" + }, + { + "name": "wicked-blow", + "url": "https://pokeapi.co/api/v2/move/817/" + }, + { + "name": "fiery-wrath", + "url": "https://pokeapi.co/api/v2/move/822/" + }, + { + "name": "ceaseless-edge", + "url": "https://pokeapi.co/api/v2/move/845/" + }, + { + "name": "kowtow-cleave", + "url": "https://pokeapi.co/api/v2/move/869/" + }, + { + "name": "ruination", + "url": "https://pokeapi.co/api/v2/move/877/" + }, + { + "name": "comeuppance", + "url": "https://pokeapi.co/api/v2/move/894/" + }, + { + "name": "wicked-torque", + "url": "https://pokeapi.co/api/v2/move/897/" + } + ], + "name": "dark", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "あく" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "악" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "惡" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Ténèbres" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Unlicht" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Siniestro" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Buio" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Dark" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "あく" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "恶" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "double_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "half_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ], + "no_damage_from": [ + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "no_damage_to": [] + }, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-18.json b/backend/pokerogue/src/test/resources/json/type/type-18.json new file mode 100644 index 00000000..5b633cdd --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-18.json @@ -0,0 +1,286 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ], + "double_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_to": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "no_damage_from": [ + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + } + ], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 17, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + }, + "id": 18, + "move_damage_class": null, + "moves": [ + { + "name": "sweet-kiss", + "url": "https://pokeapi.co/api/v2/move/186/" + }, + { + "name": "charm", + "url": "https://pokeapi.co/api/v2/move/204/" + }, + { + "name": "moonlight", + "url": "https://pokeapi.co/api/v2/move/236/" + }, + { + "name": "disarming-voice", + "url": "https://pokeapi.co/api/v2/move/574/" + }, + { + "name": "draining-kiss", + "url": "https://pokeapi.co/api/v2/move/577/" + }, + { + "name": "crafty-shield", + "url": "https://pokeapi.co/api/v2/move/578/" + }, + { + "name": "flower-shield", + "url": "https://pokeapi.co/api/v2/move/579/" + }, + { + "name": "misty-terrain", + "url": "https://pokeapi.co/api/v2/move/581/" + }, + { + "name": "play-rough", + "url": "https://pokeapi.co/api/v2/move/583/" + }, + { + "name": "fairy-wind", + "url": "https://pokeapi.co/api/v2/move/584/" + }, + { + "name": "moonblast", + "url": "https://pokeapi.co/api/v2/move/585/" + }, + { + "name": "fairy-lock", + "url": "https://pokeapi.co/api/v2/move/587/" + }, + { + "name": "aromatic-mist", + "url": "https://pokeapi.co/api/v2/move/597/" + }, + { + "name": "geomancy", + "url": "https://pokeapi.co/api/v2/move/601/" + }, + { + "name": "dazzling-gleam", + "url": "https://pokeapi.co/api/v2/move/605/" + }, + { + "name": "baby-doll-eyes", + "url": "https://pokeapi.co/api/v2/move/608/" + }, + { + "name": "light-of-ruin", + "url": "https://pokeapi.co/api/v2/move/617/" + }, + { + "name": "twinkle-tackle--physical", + "url": "https://pokeapi.co/api/v2/move/656/" + }, + { + "name": "twinkle-tackle--special", + "url": "https://pokeapi.co/api/v2/move/657/" + }, + { + "name": "floral-healing", + "url": "https://pokeapi.co/api/v2/move/666/" + }, + { + "name": "guardian-of-alola", + "url": "https://pokeapi.co/api/v2/move/698/" + }, + { + "name": "fleur-cannon", + "url": "https://pokeapi.co/api/v2/move/705/" + }, + { + "name": "natures-madness", + "url": "https://pokeapi.co/api/v2/move/717/" + }, + { + "name": "lets-snuggle-forever", + "url": "https://pokeapi.co/api/v2/move/726/" + }, + { + "name": "sparkly-swirl", + "url": "https://pokeapi.co/api/v2/move/740/" + }, + { + "name": "max-starfall", + "url": "https://pokeapi.co/api/v2/move/767/" + }, + { + "name": "decorate", + "url": "https://pokeapi.co/api/v2/move/777/" + }, + { + "name": "spirit-break", + "url": "https://pokeapi.co/api/v2/move/789/" + }, + { + "name": "strange-steam", + "url": "https://pokeapi.co/api/v2/move/790/" + }, + { + "name": "misty-explosion", + "url": "https://pokeapi.co/api/v2/move/802/" + }, + { + "name": "springtide-storm", + "url": "https://pokeapi.co/api/v2/move/831/" + }, + { + "name": "magical-torque", + "url": "https://pokeapi.co/api/v2/move/900/" + }, + { + "name": "alluring-voice", + "url": "https://pokeapi.co/api/v2/move/914/" + } + ], + "name": "fairy", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "フェアリー" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "페어리" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "妖精" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Fée" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Fee" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Hada" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Folletto" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Fairy" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "フェアリー" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "妖精" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-19.json b/backend/pokerogue/src/test/resources/json/type/type-19.json new file mode 100644 index 00000000..5cb1c8ce --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-19.json @@ -0,0 +1,93 @@ +{ + "damage_relations": { + "double_damage_from": [], + "double_damage_to": [], + "half_damage_from": [], + "half_damage_to": [], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [], + "generation": { + "name": "generation-ix", + "url": "https://pokeapi.co/api/v2/generation/9/" + }, + "id": 19, + "move_damage_class": null, + "moves": [], + "name": "stellar", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ステラ" + }, + { + "language": { + "name": "roomaji", + "url": "https://pokeapi.co/api/v2/language/2/" + }, + "name": " Stella" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": " 스텔라" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "星晶" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Stellaire" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Stellar" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Astral" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Astrale" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Stellar" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ステラ" + } + ], + "past_damage_relations": [], + "pokemon": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-2.json b/backend/pokerogue/src/test/resources/json/type/type-2.json new file mode 100644 index 00000000..d3f73864 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-2.json @@ -0,0 +1,440 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "double_damage_to": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_from": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "no_damage_from": [], + "no_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ] + }, + "game_indices": [ + { + "game_index": 1, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 1, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 1, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 1, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 1, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 1, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 2, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "karate-chop", + "url": "https://pokeapi.co/api/v2/move/2/" + }, + { + "name": "double-kick", + "url": "https://pokeapi.co/api/v2/move/24/" + }, + { + "name": "jump-kick", + "url": "https://pokeapi.co/api/v2/move/26/" + }, + { + "name": "rolling-kick", + "url": "https://pokeapi.co/api/v2/move/27/" + }, + { + "name": "submission", + "url": "https://pokeapi.co/api/v2/move/66/" + }, + { + "name": "low-kick", + "url": "https://pokeapi.co/api/v2/move/67/" + }, + { + "name": "counter", + "url": "https://pokeapi.co/api/v2/move/68/" + }, + { + "name": "seismic-toss", + "url": "https://pokeapi.co/api/v2/move/69/" + }, + { + "name": "high-jump-kick", + "url": "https://pokeapi.co/api/v2/move/136/" + }, + { + "name": "triple-kick", + "url": "https://pokeapi.co/api/v2/move/167/" + }, + { + "name": "reversal", + "url": "https://pokeapi.co/api/v2/move/179/" + }, + { + "name": "mach-punch", + "url": "https://pokeapi.co/api/v2/move/183/" + }, + { + "name": "detect", + "url": "https://pokeapi.co/api/v2/move/197/" + }, + { + "name": "dynamic-punch", + "url": "https://pokeapi.co/api/v2/move/223/" + }, + { + "name": "vital-throw", + "url": "https://pokeapi.co/api/v2/move/233/" + }, + { + "name": "cross-chop", + "url": "https://pokeapi.co/api/v2/move/238/" + }, + { + "name": "rock-smash", + "url": "https://pokeapi.co/api/v2/move/249/" + }, + { + "name": "focus-punch", + "url": "https://pokeapi.co/api/v2/move/264/" + }, + { + "name": "superpower", + "url": "https://pokeapi.co/api/v2/move/276/" + }, + { + "name": "revenge", + "url": "https://pokeapi.co/api/v2/move/279/" + }, + { + "name": "brick-break", + "url": "https://pokeapi.co/api/v2/move/280/" + }, + { + "name": "arm-thrust", + "url": "https://pokeapi.co/api/v2/move/292/" + }, + { + "name": "sky-uppercut", + "url": "https://pokeapi.co/api/v2/move/327/" + }, + { + "name": "bulk-up", + "url": "https://pokeapi.co/api/v2/move/339/" + }, + { + "name": "wake-up-slap", + "url": "https://pokeapi.co/api/v2/move/358/" + }, + { + "name": "hammer-arm", + "url": "https://pokeapi.co/api/v2/move/359/" + }, + { + "name": "close-combat", + "url": "https://pokeapi.co/api/v2/move/370/" + }, + { + "name": "force-palm", + "url": "https://pokeapi.co/api/v2/move/395/" + }, + { + "name": "aura-sphere", + "url": "https://pokeapi.co/api/v2/move/396/" + }, + { + "name": "drain-punch", + "url": "https://pokeapi.co/api/v2/move/409/" + }, + { + "name": "vacuum-wave", + "url": "https://pokeapi.co/api/v2/move/410/" + }, + { + "name": "focus-blast", + "url": "https://pokeapi.co/api/v2/move/411/" + }, + { + "name": "storm-throw", + "url": "https://pokeapi.co/api/v2/move/480/" + }, + { + "name": "low-sweep", + "url": "https://pokeapi.co/api/v2/move/490/" + }, + { + "name": "quick-guard", + "url": "https://pokeapi.co/api/v2/move/501/" + }, + { + "name": "circle-throw", + "url": "https://pokeapi.co/api/v2/move/509/" + }, + { + "name": "final-gambit", + "url": "https://pokeapi.co/api/v2/move/515/" + }, + { + "name": "sacred-sword", + "url": "https://pokeapi.co/api/v2/move/533/" + }, + { + "name": "secret-sword", + "url": "https://pokeapi.co/api/v2/move/548/" + }, + { + "name": "flying-press", + "url": "https://pokeapi.co/api/v2/move/560/" + }, + { + "name": "mat-block", + "url": "https://pokeapi.co/api/v2/move/561/" + }, + { + "name": "power-up-punch", + "url": "https://pokeapi.co/api/v2/move/612/" + }, + { + "name": "all-out-pummeling--physical", + "url": "https://pokeapi.co/api/v2/move/624/" + }, + { + "name": "all-out-pummeling--special", + "url": "https://pokeapi.co/api/v2/move/625/" + }, + { + "name": "no-retreat", + "url": "https://pokeapi.co/api/v2/move/748/" + }, + { + "name": "octolock", + "url": "https://pokeapi.co/api/v2/move/753/" + }, + { + "name": "max-knuckle", + "url": "https://pokeapi.co/api/v2/move/761/" + }, + { + "name": "body-press", + "url": "https://pokeapi.co/api/v2/move/776/" + }, + { + "name": "meteor-assault", + "url": "https://pokeapi.co/api/v2/move/794/" + }, + { + "name": "coaching", + "url": "https://pokeapi.co/api/v2/move/811/" + }, + { + "name": "thunderous-kick", + "url": "https://pokeapi.co/api/v2/move/823/" + }, + { + "name": "victory-dance", + "url": "https://pokeapi.co/api/v2/move/837/" + }, + { + "name": "triple-arrows", + "url": "https://pokeapi.co/api/v2/move/843/" + }, + { + "name": "axe-kick", + "url": "https://pokeapi.co/api/v2/move/853/" + }, + { + "name": "collision-course", + "url": "https://pokeapi.co/api/v2/move/878/" + }, + { + "name": "combat-torque", + "url": "https://pokeapi.co/api/v2/move/899/" + }, + { + "name": "upper-hand", + "url": "https://pokeapi.co/api/v2/move/918/" + } + ], + "name": "fighting", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "かくとう" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "격투" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "格鬥" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Combat" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Kampf" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Lucha" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Lotta" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Fighting" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "かくとう" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "格斗" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-3.json b/backend/pokerogue/src/test/resources/json/type/type-3.json new file mode 100644 index 00000000..b47e5034 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-3.json @@ -0,0 +1,320 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "double_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "half_damage_to": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "no_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + } + ], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 2, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 2, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 2, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 2, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 2, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 2, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 3, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "gust", + "url": "https://pokeapi.co/api/v2/move/16/" + }, + { + "name": "wing-attack", + "url": "https://pokeapi.co/api/v2/move/17/" + }, + { + "name": "fly", + "url": "https://pokeapi.co/api/v2/move/19/" + }, + { + "name": "peck", + "url": "https://pokeapi.co/api/v2/move/64/" + }, + { + "name": "drill-peck", + "url": "https://pokeapi.co/api/v2/move/65/" + }, + { + "name": "mirror-move", + "url": "https://pokeapi.co/api/v2/move/119/" + }, + { + "name": "sky-attack", + "url": "https://pokeapi.co/api/v2/move/143/" + }, + { + "name": "aeroblast", + "url": "https://pokeapi.co/api/v2/move/177/" + }, + { + "name": "feather-dance", + "url": "https://pokeapi.co/api/v2/move/297/" + }, + { + "name": "air-cutter", + "url": "https://pokeapi.co/api/v2/move/314/" + }, + { + "name": "aerial-ace", + "url": "https://pokeapi.co/api/v2/move/332/" + }, + { + "name": "bounce", + "url": "https://pokeapi.co/api/v2/move/340/" + }, + { + "name": "roost", + "url": "https://pokeapi.co/api/v2/move/355/" + }, + { + "name": "pluck", + "url": "https://pokeapi.co/api/v2/move/365/" + }, + { + "name": "tailwind", + "url": "https://pokeapi.co/api/v2/move/366/" + }, + { + "name": "air-slash", + "url": "https://pokeapi.co/api/v2/move/403/" + }, + { + "name": "brave-bird", + "url": "https://pokeapi.co/api/v2/move/413/" + }, + { + "name": "defog", + "url": "https://pokeapi.co/api/v2/move/432/" + }, + { + "name": "chatter", + "url": "https://pokeapi.co/api/v2/move/448/" + }, + { + "name": "sky-drop", + "url": "https://pokeapi.co/api/v2/move/507/" + }, + { + "name": "acrobatics", + "url": "https://pokeapi.co/api/v2/move/512/" + }, + { + "name": "hurricane", + "url": "https://pokeapi.co/api/v2/move/542/" + }, + { + "name": "oblivion-wing", + "url": "https://pokeapi.co/api/v2/move/613/" + }, + { + "name": "dragon-ascent", + "url": "https://pokeapi.co/api/v2/move/620/" + }, + { + "name": "supersonic-skystrike--physical", + "url": "https://pokeapi.co/api/v2/move/626/" + }, + { + "name": "supersonic-skystrike--special", + "url": "https://pokeapi.co/api/v2/move/627/" + }, + { + "name": "beak-blast", + "url": "https://pokeapi.co/api/v2/move/690/" + }, + { + "name": "floaty-fall", + "url": "https://pokeapi.co/api/v2/move/731/" + }, + { + "name": "max-airstream", + "url": "https://pokeapi.co/api/v2/move/766/" + }, + { + "name": "dual-wingbeat", + "url": "https://pokeapi.co/api/v2/move/814/" + }, + { + "name": "bleakwind-storm", + "url": "https://pokeapi.co/api/v2/move/846/" + } + ], + "name": "flying", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ひこう" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "비행" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "飛行" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Vol" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Flug" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Volador" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Volante" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Flying" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ひこう" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "飞行" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-4.json b/backend/pokerogue/src/test/resources/json/type/type-4.json new file mode 100644 index 00000000..8f78d577 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-4.json @@ -0,0 +1,411 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "double_damage_to": [ + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "half_damage_to": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ], + "no_damage_from": [], + "no_damage_to": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ] + }, + "game_indices": [ + { + "game_index": 3, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 3, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 3, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 3, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 3, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 3, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 4, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "poison-sting", + "url": "https://pokeapi.co/api/v2/move/40/" + }, + { + "name": "acid", + "url": "https://pokeapi.co/api/v2/move/51/" + }, + { + "name": "poison-powder", + "url": "https://pokeapi.co/api/v2/move/77/" + }, + { + "name": "toxic", + "url": "https://pokeapi.co/api/v2/move/92/" + }, + { + "name": "smog", + "url": "https://pokeapi.co/api/v2/move/123/" + }, + { + "name": "sludge", + "url": "https://pokeapi.co/api/v2/move/124/" + }, + { + "name": "poison-gas", + "url": "https://pokeapi.co/api/v2/move/139/" + }, + { + "name": "acid-armor", + "url": "https://pokeapi.co/api/v2/move/151/" + }, + { + "name": "sludge-bomb", + "url": "https://pokeapi.co/api/v2/move/188/" + }, + { + "name": "poison-fang", + "url": "https://pokeapi.co/api/v2/move/305/" + }, + { + "name": "poison-tail", + "url": "https://pokeapi.co/api/v2/move/342/" + }, + { + "name": "gastro-acid", + "url": "https://pokeapi.co/api/v2/move/380/" + }, + { + "name": "toxic-spikes", + "url": "https://pokeapi.co/api/v2/move/390/" + }, + { + "name": "poison-jab", + "url": "https://pokeapi.co/api/v2/move/398/" + }, + { + "name": "cross-poison", + "url": "https://pokeapi.co/api/v2/move/440/" + }, + { + "name": "gunk-shot", + "url": "https://pokeapi.co/api/v2/move/441/" + }, + { + "name": "venoshock", + "url": "https://pokeapi.co/api/v2/move/474/" + }, + { + "name": "sludge-wave", + "url": "https://pokeapi.co/api/v2/move/482/" + }, + { + "name": "coil", + "url": "https://pokeapi.co/api/v2/move/489/" + }, + { + "name": "acid-spray", + "url": "https://pokeapi.co/api/v2/move/491/" + }, + { + "name": "clear-smog", + "url": "https://pokeapi.co/api/v2/move/499/" + }, + { + "name": "belch", + "url": "https://pokeapi.co/api/v2/move/562/" + }, + { + "name": "venom-drench", + "url": "https://pokeapi.co/api/v2/move/599/" + }, + { + "name": "acid-downpour--physical", + "url": "https://pokeapi.co/api/v2/move/628/" + }, + { + "name": "acid-downpour--special", + "url": "https://pokeapi.co/api/v2/move/629/" + }, + { + "name": "baneful-bunker", + "url": "https://pokeapi.co/api/v2/move/661/" + }, + { + "name": "toxic-thread", + "url": "https://pokeapi.co/api/v2/move/672/" + }, + { + "name": "purify", + "url": "https://pokeapi.co/api/v2/move/685/" + }, + { + "name": "max-ooze", + "url": "https://pokeapi.co/api/v2/move/764/" + }, + { + "name": "shell-side-arm", + "url": "https://pokeapi.co/api/v2/move/801/" + }, + { + "name": "corrosive-gas", + "url": "https://pokeapi.co/api/v2/move/810/" + }, + { + "name": "dire-claw", + "url": "https://pokeapi.co/api/v2/move/827/" + }, + { + "name": "barb-barrage", + "url": "https://pokeapi.co/api/v2/move/839/" + }, + { + "name": "mortal-spin", + "url": "https://pokeapi.co/api/v2/move/866/" + }, + { + "name": "noxious-torque", + "url": "https://pokeapi.co/api/v2/move/898/" + }, + { + "name": "malignant-chain", + "url": "https://pokeapi.co/api/v2/move/919/" + } + ], + "name": "poison", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "どく" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "독" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "毒" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Poison" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Gift" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Veneno" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Veleno" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Poison" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "どく" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "毒" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "double_damage_to": [ + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "half_damage_to": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-5.json b/backend/pokerogue/src/test/resources/json/type/type-5.json new file mode 100644 index 00000000..63f97f94 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-5.json @@ -0,0 +1,325 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "double_damage_to": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "half_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + } + ], + "half_damage_to": [ + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "no_damage_from": [ + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "no_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + } + ] + }, + "game_indices": [ + { + "game_index": 4, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 4, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 4, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 4, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 4, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 4, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 5, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "sand-attack", + "url": "https://pokeapi.co/api/v2/move/28/" + }, + { + "name": "earthquake", + "url": "https://pokeapi.co/api/v2/move/89/" + }, + { + "name": "fissure", + "url": "https://pokeapi.co/api/v2/move/90/" + }, + { + "name": "dig", + "url": "https://pokeapi.co/api/v2/move/91/" + }, + { + "name": "bone-club", + "url": "https://pokeapi.co/api/v2/move/125/" + }, + { + "name": "bonemerang", + "url": "https://pokeapi.co/api/v2/move/155/" + }, + { + "name": "mud-slap", + "url": "https://pokeapi.co/api/v2/move/189/" + }, + { + "name": "spikes", + "url": "https://pokeapi.co/api/v2/move/191/" + }, + { + "name": "bone-rush", + "url": "https://pokeapi.co/api/v2/move/198/" + }, + { + "name": "magnitude", + "url": "https://pokeapi.co/api/v2/move/222/" + }, + { + "name": "mud-sport", + "url": "https://pokeapi.co/api/v2/move/300/" + }, + { + "name": "sand-tomb", + "url": "https://pokeapi.co/api/v2/move/328/" + }, + { + "name": "mud-shot", + "url": "https://pokeapi.co/api/v2/move/341/" + }, + { + "name": "earth-power", + "url": "https://pokeapi.co/api/v2/move/414/" + }, + { + "name": "mud-bomb", + "url": "https://pokeapi.co/api/v2/move/426/" + }, + { + "name": "bulldoze", + "url": "https://pokeapi.co/api/v2/move/523/" + }, + { + "name": "drill-run", + "url": "https://pokeapi.co/api/v2/move/529/" + }, + { + "name": "rototiller", + "url": "https://pokeapi.co/api/v2/move/563/" + }, + { + "name": "thousand-arrows", + "url": "https://pokeapi.co/api/v2/move/614/" + }, + { + "name": "thousand-waves", + "url": "https://pokeapi.co/api/v2/move/615/" + }, + { + "name": "lands-wrath", + "url": "https://pokeapi.co/api/v2/move/616/" + }, + { + "name": "precipice-blades", + "url": "https://pokeapi.co/api/v2/move/619/" + }, + { + "name": "tectonic-rage--physical", + "url": "https://pokeapi.co/api/v2/move/630/" + }, + { + "name": "tectonic-rage--special", + "url": "https://pokeapi.co/api/v2/move/631/" + }, + { + "name": "shore-up", + "url": "https://pokeapi.co/api/v2/move/659/" + }, + { + "name": "high-horsepower", + "url": "https://pokeapi.co/api/v2/move/667/" + }, + { + "name": "stomping-tantrum", + "url": "https://pokeapi.co/api/v2/move/707/" + }, + { + "name": "max-quake", + "url": "https://pokeapi.co/api/v2/move/771/" + }, + { + "name": "scorching-sands", + "url": "https://pokeapi.co/api/v2/move/815/" + }, + { + "name": "headlong-rush", + "url": "https://pokeapi.co/api/v2/move/838/" + }, + { + "name": "sandsear-storm", + "url": "https://pokeapi.co/api/v2/move/848/" + } + ], + "name": "ground", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "じめん" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "땅" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "地面" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Sol" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Boden" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Tierra" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Terra" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Ground" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "じめん" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "地面" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-6.json b/backend/pokerogue/src/test/resources/json/type/type-6.json new file mode 100644 index 00000000..f67e84e9 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-6.json @@ -0,0 +1,311 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "double_damage_to": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_from": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "half_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 5, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 5, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 5, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 5, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 5, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 5, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 6, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "rock-throw", + "url": "https://pokeapi.co/api/v2/move/88/" + }, + { + "name": "rock-slide", + "url": "https://pokeapi.co/api/v2/move/157/" + }, + { + "name": "sandstorm", + "url": "https://pokeapi.co/api/v2/move/201/" + }, + { + "name": "rollout", + "url": "https://pokeapi.co/api/v2/move/205/" + }, + { + "name": "ancient-power", + "url": "https://pokeapi.co/api/v2/move/246/" + }, + { + "name": "rock-tomb", + "url": "https://pokeapi.co/api/v2/move/317/" + }, + { + "name": "rock-blast", + "url": "https://pokeapi.co/api/v2/move/350/" + }, + { + "name": "rock-polish", + "url": "https://pokeapi.co/api/v2/move/397/" + }, + { + "name": "power-gem", + "url": "https://pokeapi.co/api/v2/move/408/" + }, + { + "name": "rock-wrecker", + "url": "https://pokeapi.co/api/v2/move/439/" + }, + { + "name": "stone-edge", + "url": "https://pokeapi.co/api/v2/move/444/" + }, + { + "name": "stealth-rock", + "url": "https://pokeapi.co/api/v2/move/446/" + }, + { + "name": "head-smash", + "url": "https://pokeapi.co/api/v2/move/457/" + }, + { + "name": "wide-guard", + "url": "https://pokeapi.co/api/v2/move/469/" + }, + { + "name": "smack-down", + "url": "https://pokeapi.co/api/v2/move/479/" + }, + { + "name": "diamond-storm", + "url": "https://pokeapi.co/api/v2/move/591/" + }, + { + "name": "continental-crush--physical", + "url": "https://pokeapi.co/api/v2/move/632/" + }, + { + "name": "continental-crush--special", + "url": "https://pokeapi.co/api/v2/move/633/" + }, + { + "name": "accelerock", + "url": "https://pokeapi.co/api/v2/move/709/" + }, + { + "name": "splintered-stormshards", + "url": "https://pokeapi.co/api/v2/move/727/" + }, + { + "name": "tar-shot", + "url": "https://pokeapi.co/api/v2/move/749/" + }, + { + "name": "max-rockfall", + "url": "https://pokeapi.co/api/v2/move/770/" + }, + { + "name": "meteor-beam", + "url": "https://pokeapi.co/api/v2/move/800/" + }, + { + "name": "stone-axe", + "url": "https://pokeapi.co/api/v2/move/830/" + }, + { + "name": "salt-cure", + "url": "https://pokeapi.co/api/v2/move/864/" + }, + { + "name": "mighty-cleave", + "url": "https://pokeapi.co/api/v2/move/910/" + } + ], + "name": "rock", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "いわ" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "바위" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "岩石" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Roche" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Gestein" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Roca" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Roccia" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Rock" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "いわ" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "岩石" + } + ], + "past_damage_relations": [] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-7.json b/backend/pokerogue/src/test/resources/json/type/type-7.json new file mode 100644 index 00000000..3187e6a9 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-7.json @@ -0,0 +1,418 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "double_damage_to": [ + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "half_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 7, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 7, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 6, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 6, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 6, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 6, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 7, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "twineedle", + "url": "https://pokeapi.co/api/v2/move/41/" + }, + { + "name": "pin-missile", + "url": "https://pokeapi.co/api/v2/move/42/" + }, + { + "name": "string-shot", + "url": "https://pokeapi.co/api/v2/move/81/" + }, + { + "name": "leech-life", + "url": "https://pokeapi.co/api/v2/move/141/" + }, + { + "name": "spider-web", + "url": "https://pokeapi.co/api/v2/move/169/" + }, + { + "name": "fury-cutter", + "url": "https://pokeapi.co/api/v2/move/210/" + }, + { + "name": "megahorn", + "url": "https://pokeapi.co/api/v2/move/224/" + }, + { + "name": "tail-glow", + "url": "https://pokeapi.co/api/v2/move/294/" + }, + { + "name": "silver-wind", + "url": "https://pokeapi.co/api/v2/move/318/" + }, + { + "name": "signal-beam", + "url": "https://pokeapi.co/api/v2/move/324/" + }, + { + "name": "u-turn", + "url": "https://pokeapi.co/api/v2/move/369/" + }, + { + "name": "x-scissor", + "url": "https://pokeapi.co/api/v2/move/404/" + }, + { + "name": "bug-buzz", + "url": "https://pokeapi.co/api/v2/move/405/" + }, + { + "name": "bug-bite", + "url": "https://pokeapi.co/api/v2/move/450/" + }, + { + "name": "attack-order", + "url": "https://pokeapi.co/api/v2/move/454/" + }, + { + "name": "defend-order", + "url": "https://pokeapi.co/api/v2/move/455/" + }, + { + "name": "heal-order", + "url": "https://pokeapi.co/api/v2/move/456/" + }, + { + "name": "rage-powder", + "url": "https://pokeapi.co/api/v2/move/476/" + }, + { + "name": "quiver-dance", + "url": "https://pokeapi.co/api/v2/move/483/" + }, + { + "name": "struggle-bug", + "url": "https://pokeapi.co/api/v2/move/522/" + }, + { + "name": "steamroller", + "url": "https://pokeapi.co/api/v2/move/537/" + }, + { + "name": "sticky-web", + "url": "https://pokeapi.co/api/v2/move/564/" + }, + { + "name": "fell-stinger", + "url": "https://pokeapi.co/api/v2/move/565/" + }, + { + "name": "powder", + "url": "https://pokeapi.co/api/v2/move/600/" + }, + { + "name": "infestation", + "url": "https://pokeapi.co/api/v2/move/611/" + }, + { + "name": "savage-spin-out--physical", + "url": "https://pokeapi.co/api/v2/move/634/" + }, + { + "name": "savage-spin-out--special", + "url": "https://pokeapi.co/api/v2/move/635/" + }, + { + "name": "first-impression", + "url": "https://pokeapi.co/api/v2/move/660/" + }, + { + "name": "pollen-puff", + "url": "https://pokeapi.co/api/v2/move/676/" + }, + { + "name": "lunge", + "url": "https://pokeapi.co/api/v2/move/679/" + }, + { + "name": "max-flutterby", + "url": "https://pokeapi.co/api/v2/move/758/" + }, + { + "name": "skitter-smack", + "url": "https://pokeapi.co/api/v2/move/806/" + }, + { + "name": "silk-trap", + "url": "https://pokeapi.co/api/v2/move/852/" + }, + { + "name": "pounce", + "url": "https://pokeapi.co/api/v2/move/884/" + } + ], + "name": "bug", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "むし" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "벌레" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "蟲" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Insecte" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Käfer" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Bicho" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Coleottero" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Bug" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "むし" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "虫" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + ], + "double_damage_to": [ + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + ], + "half_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + } + ], + "half_damage_to": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "no_damage_from": [], + "no_damage_to": [] + }, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-8.json b/backend/pokerogue/src/test/resources/json/type/type-8.json new file mode 100644 index 00000000..29bd98f8 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-8.json @@ -0,0 +1,437 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "double_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "half_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "half_damage_to": [ + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "no_damage_from": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + } + ], + "no_damage_to": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + } + ] + }, + "game_indices": [ + { + "game_index": 8, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "game_index": 8, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 7, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 7, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 7, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 7, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + }, + "id": 8, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "night-shade", + "url": "https://pokeapi.co/api/v2/move/101/" + }, + { + "name": "confuse-ray", + "url": "https://pokeapi.co/api/v2/move/109/" + }, + { + "name": "lick", + "url": "https://pokeapi.co/api/v2/move/122/" + }, + { + "name": "nightmare", + "url": "https://pokeapi.co/api/v2/move/171/" + }, + { + "name": "curse", + "url": "https://pokeapi.co/api/v2/move/174/" + }, + { + "name": "spite", + "url": "https://pokeapi.co/api/v2/move/180/" + }, + { + "name": "destiny-bond", + "url": "https://pokeapi.co/api/v2/move/194/" + }, + { + "name": "shadow-ball", + "url": "https://pokeapi.co/api/v2/move/247/" + }, + { + "name": "grudge", + "url": "https://pokeapi.co/api/v2/move/288/" + }, + { + "name": "astonish", + "url": "https://pokeapi.co/api/v2/move/310/" + }, + { + "name": "shadow-punch", + "url": "https://pokeapi.co/api/v2/move/325/" + }, + { + "name": "shadow-claw", + "url": "https://pokeapi.co/api/v2/move/421/" + }, + { + "name": "shadow-sneak", + "url": "https://pokeapi.co/api/v2/move/425/" + }, + { + "name": "ominous-wind", + "url": "https://pokeapi.co/api/v2/move/466/" + }, + { + "name": "shadow-force", + "url": "https://pokeapi.co/api/v2/move/467/" + }, + { + "name": "hex", + "url": "https://pokeapi.co/api/v2/move/506/" + }, + { + "name": "phantom-force", + "url": "https://pokeapi.co/api/v2/move/566/" + }, + { + "name": "trick-or-treat", + "url": "https://pokeapi.co/api/v2/move/567/" + }, + { + "name": "never-ending-nightmare--physical", + "url": "https://pokeapi.co/api/v2/move/636/" + }, + { + "name": "never-ending-nightmare--special", + "url": "https://pokeapi.co/api/v2/move/637/" + }, + { + "name": "spirit-shackle", + "url": "https://pokeapi.co/api/v2/move/662/" + }, + { + "name": "sinister-arrow-raid", + "url": "https://pokeapi.co/api/v2/move/695/" + }, + { + "name": "soul-stealing-7-star-strike", + "url": "https://pokeapi.co/api/v2/move/699/" + }, + { + "name": "shadow-bone", + "url": "https://pokeapi.co/api/v2/move/708/" + }, + { + "name": "spectral-thief", + "url": "https://pokeapi.co/api/v2/move/712/" + }, + { + "name": "moongeist-beam", + "url": "https://pokeapi.co/api/v2/move/714/" + }, + { + "name": "menacing-moonraze-maelstrom", + "url": "https://pokeapi.co/api/v2/move/725/" + }, + { + "name": "max-phantasm", + "url": "https://pokeapi.co/api/v2/move/762/" + }, + { + "name": "poltergeist", + "url": "https://pokeapi.co/api/v2/move/809/" + }, + { + "name": "astral-barrage", + "url": "https://pokeapi.co/api/v2/move/825/" + }, + { + "name": "bitter-malice", + "url": "https://pokeapi.co/api/v2/move/841/" + }, + { + "name": "infernal-parade", + "url": "https://pokeapi.co/api/v2/move/844/" + }, + { + "name": "last-respects", + "url": "https://pokeapi.co/api/v2/move/854/" + }, + { + "name": "rage-fist", + "url": "https://pokeapi.co/api/v2/move/889/" + } + ], + "name": "ghost", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "ゴースト" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "고스트" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "幽靈" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Spectre" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Geist" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Fantasma" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Spettro" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Ghost" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "ゴースト" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "幽灵" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ], + "double_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + } + ], + "half_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "half_damage_to": [], + "no_damage_from": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + } + ], + "no_damage_to": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ] + }, + "generation": { + "name": "generation-i", + "url": "https://pokeapi.co/api/v2/generation/1/" + } + }, + { + "damage_relations": { + "double_damage_from": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "double_damage_to": [ + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + } + ], + "half_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + } + ], + "half_damage_to": [ + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + } + ], + "no_damage_from": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + } + ], + "no_damage_to": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + } + ] + }, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-9.json b/backend/pokerogue/src/test/resources/json/type/type-9.json new file mode 100644 index 00000000..5dfe5369 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-9.json @@ -0,0 +1,477 @@ +{ + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "double_damage_to": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "half_damage_from": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + } + ], + "half_damage_to": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "no_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + ], + "no_damage_to": [] + }, + "game_indices": [ + { + "game_index": 9, + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + } + }, + { + "game_index": 8, + "generation": { + "name": "generation-iii", + "url": "https://pokeapi.co/api/v2/generation/3/" + } + }, + { + "game_index": 8, + "generation": { + "name": "generation-iv", + "url": "https://pokeapi.co/api/v2/generation/4/" + } + }, + { + "game_index": 8, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + }, + { + "game_index": 8, + "generation": { + "name": "generation-vi", + "url": "https://pokeapi.co/api/v2/generation/6/" + } + } + ], + "generation": { + "name": "generation-ii", + "url": "https://pokeapi.co/api/v2/generation/2/" + }, + "id": 9, + "move_damage_class": { + "name": "physical", + "url": "https://pokeapi.co/api/v2/move-damage-class/2/" + }, + "moves": [ + { + "name": "steel-wing", + "url": "https://pokeapi.co/api/v2/move/211/" + }, + { + "name": "iron-tail", + "url": "https://pokeapi.co/api/v2/move/231/" + }, + { + "name": "metal-claw", + "url": "https://pokeapi.co/api/v2/move/232/" + }, + { + "name": "meteor-mash", + "url": "https://pokeapi.co/api/v2/move/309/" + }, + { + "name": "metal-sound", + "url": "https://pokeapi.co/api/v2/move/319/" + }, + { + "name": "iron-defense", + "url": "https://pokeapi.co/api/v2/move/334/" + }, + { + "name": "doom-desire", + "url": "https://pokeapi.co/api/v2/move/353/" + }, + { + "name": "gyro-ball", + "url": "https://pokeapi.co/api/v2/move/360/" + }, + { + "name": "metal-burst", + "url": "https://pokeapi.co/api/v2/move/368/" + }, + { + "name": "bullet-punch", + "url": "https://pokeapi.co/api/v2/move/418/" + }, + { + "name": "mirror-shot", + "url": "https://pokeapi.co/api/v2/move/429/" + }, + { + "name": "flash-cannon", + "url": "https://pokeapi.co/api/v2/move/430/" + }, + { + "name": "iron-head", + "url": "https://pokeapi.co/api/v2/move/442/" + }, + { + "name": "magnet-bomb", + "url": "https://pokeapi.co/api/v2/move/443/" + }, + { + "name": "autotomize", + "url": "https://pokeapi.co/api/v2/move/475/" + }, + { + "name": "heavy-slam", + "url": "https://pokeapi.co/api/v2/move/484/" + }, + { + "name": "shift-gear", + "url": "https://pokeapi.co/api/v2/move/508/" + }, + { + "name": "gear-grind", + "url": "https://pokeapi.co/api/v2/move/544/" + }, + { + "name": "kings-shield", + "url": "https://pokeapi.co/api/v2/move/588/" + }, + { + "name": "corkscrew-crash--physical", + "url": "https://pokeapi.co/api/v2/move/638/" + }, + { + "name": "corkscrew-crash--special", + "url": "https://pokeapi.co/api/v2/move/639/" + }, + { + "name": "gear-up", + "url": "https://pokeapi.co/api/v2/move/674/" + }, + { + "name": "anchor-shot", + "url": "https://pokeapi.co/api/v2/move/677/" + }, + { + "name": "smart-strike", + "url": "https://pokeapi.co/api/v2/move/684/" + }, + { + "name": "sunsteel-strike", + "url": "https://pokeapi.co/api/v2/move/713/" + }, + { + "name": "searing-sunraze-smash", + "url": "https://pokeapi.co/api/v2/move/724/" + }, + { + "name": "double-iron-bash", + "url": "https://pokeapi.co/api/v2/move/742/" + }, + { + "name": "max-steelspike", + "url": "https://pokeapi.co/api/v2/move/774/" + }, + { + "name": "behemoth-blade", + "url": "https://pokeapi.co/api/v2/move/781/" + }, + { + "name": "behemoth-bash", + "url": "https://pokeapi.co/api/v2/move/782/" + }, + { + "name": "steel-beam", + "url": "https://pokeapi.co/api/v2/move/796/" + }, + { + "name": "steel-roller", + "url": "https://pokeapi.co/api/v2/move/798/" + }, + { + "name": "shelter", + "url": "https://pokeapi.co/api/v2/move/842/" + }, + { + "name": "spin-out", + "url": "https://pokeapi.co/api/v2/move/859/" + }, + { + "name": "make-it-rain", + "url": "https://pokeapi.co/api/v2/move/874/" + }, + { + "name": "gigaton-hammer", + "url": "https://pokeapi.co/api/v2/move/893/" + }, + { + "name": "tachyon-cutter", + "url": "https://pokeapi.co/api/v2/move/911/" + }, + { + "name": "hard-press", + "url": "https://pokeapi.co/api/v2/move/912/" + } + ], + "name": "steel", + "names": [ + { + "language": { + "name": "ja-Hrkt", + "url": "https://pokeapi.co/api/v2/language/1/" + }, + "name": "はがね" + }, + { + "language": { + "name": "ko", + "url": "https://pokeapi.co/api/v2/language/3/" + }, + "name": "강철" + }, + { + "language": { + "name": "zh-Hant", + "url": "https://pokeapi.co/api/v2/language/4/" + }, + "name": "鋼" + }, + { + "language": { + "name": "fr", + "url": "https://pokeapi.co/api/v2/language/5/" + }, + "name": "Acier" + }, + { + "language": { + "name": "de", + "url": "https://pokeapi.co/api/v2/language/6/" + }, + "name": "Stahl" + }, + { + "language": { + "name": "es", + "url": "https://pokeapi.co/api/v2/language/7/" + }, + "name": "Acero" + }, + { + "language": { + "name": "it", + "url": "https://pokeapi.co/api/v2/language/8/" + }, + "name": "Acciaio" + }, + { + "language": { + "name": "en", + "url": "https://pokeapi.co/api/v2/language/9/" + }, + "name": "Steel" + }, + { + "language": { + "name": "ja", + "url": "https://pokeapi.co/api/v2/language/11/" + }, + "name": "はがね" + }, + { + "language": { + "name": "zh-Hans", + "url": "https://pokeapi.co/api/v2/language/12/" + }, + "name": "钢" + } + ], + "past_damage_relations": [ + { + "damage_relations": { + "double_damage_from": [ + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + } + ], + "double_damage_to": [ + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + } + ], + "half_damage_from": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + } + ], + "half_damage_to": [ + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + } + ], + "no_damage_from": [ + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + } + ], + "no_damage_to": [] + }, + "generation": { + "name": "generation-v", + "url": "https://pokeapi.co/api/v2/generation/5/" + } + } + ] +} diff --git a/backend/pokerogue/src/test/resources/json/type/type-all.json b/backend/pokerogue/src/test/resources/json/type/type-all.json new file mode 100644 index 00000000..094e6d14 --- /dev/null +++ b/backend/pokerogue/src/test/resources/json/type/type-all.json @@ -0,0 +1,83 @@ +{ + "count": 21, + "next": "https://pokeapi.co/api/v2/type?offset=20&limit=1", + "previous": null, + "results": [ + { + "name": "normal", + "url": "https://pokeapi.co/api/v2/type/1/" + }, + { + "name": "fighting", + "url": "https://pokeapi.co/api/v2/type/2/" + }, + { + "name": "flying", + "url": "https://pokeapi.co/api/v2/type/3/" + }, + { + "name": "poison", + "url": "https://pokeapi.co/api/v2/type/4/" + }, + { + "name": "ground", + "url": "https://pokeapi.co/api/v2/type/5/" + }, + { + "name": "rock", + "url": "https://pokeapi.co/api/v2/type/6/" + }, + { + "name": "bug", + "url": "https://pokeapi.co/api/v2/type/7/" + }, + { + "name": "ghost", + "url": "https://pokeapi.co/api/v2/type/8/" + }, + { + "name": "steel", + "url": "https://pokeapi.co/api/v2/type/9/" + }, + { + "name": "fire", + "url": "https://pokeapi.co/api/v2/type/10/" + }, + { + "name": "water", + "url": "https://pokeapi.co/api/v2/type/11/" + }, + { + "name": "grass", + "url": "https://pokeapi.co/api/v2/type/12/" + }, + { + "name": "electric", + "url": "https://pokeapi.co/api/v2/type/13/" + }, + { + "name": "psychic", + "url": "https://pokeapi.co/api/v2/type/14/" + }, + { + "name": "ice", + "url": "https://pokeapi.co/api/v2/type/15/" + }, + { + "name": "dragon", + "url": "https://pokeapi.co/api/v2/type/16/" + }, + { + "name": "dark", + "url": "https://pokeapi.co/api/v2/type/17/" + }, + { + "name": "fairy", + "url": "https://pokeapi.co/api/v2/type/18/" + }, + { + "name": "stellar", + "url": "https://pokeapi.co/api/v2/type/19/" + } + ] +}