1. 변환자재는 공격력만 바꾸지 않는다
개굴닌자의 변환자재와 에이스번의 리베로는 사용하려는 기술에 맞춰 자신의 타입을 바꾼다. 필드에 나올 때마다 한 번만 발동한다. 얼음 타입이 되었다면 공격 보정뿐 아니라 상대 기술을 받을 때의 상성도 얼음 타입으로 따져야 한다. 다음 기술을 누를 때마다 계속 다른 타입으로 바뀌는 것이 아니다.
확인한 비공식 도구는 기술의 타입 일치 보너스를 줄 수 있지만, 현재 타입이나 이미 발동했는지를 저장하는 칸이 보이지 않는다. 피해 계산에는 원래 종족의 타입을 넘긴다. 공격할 때와 맞을 때 서로 다른 포켓몬이 되는 셈이다. 이는 코드 구조에서 확인한 문제이며, 모든 실제 화면을 재현했다는 뜻은 아니다.
2. 평범한 입력에서 발견한 오류
선출 칸의 포켓몬을 다른 개체로 바꾸면 기존 칸에 남은 체력, 상태 이상, 때로는 도구까지 따라가고 기절 표시만 풀린다. 체력 25%, 화상인 개체를 바꿨더니 새 개체까지 화상이라면 완전한 저주다. 체력이 0인데 살아 있는 모순도 가능하다.
독압정을 확인하는 코드가 먼저 일반 압정의 짧은 영어 이름을 찾는다. 그래서 독압정이 아닌 일반 압정 층수로 독압정을 판정할 수 있다. 껍질깨기는 공격, 특수공격, 스피드 상승만 기록하고 방어와 특수방어 하락을 빼먹었다. 전투 메시지의 0%를 100%로 처리하는 숫자 변환도 보인다. 마지막 사례가 정상 경기에서 실제로 전달되는지는 추가 확인이 필요하다.
3. 도감 정보와 현재 전투는 다르다
메가스톤만 보고 변신 전 능력을 변신 후로 계산하는 경로, '도구 없음'을 기본 도구로 되돌리는 경로, 날씨가 끝났는데 지금 나온 포켓몬의 특성으로 다시 날씨를 만드는 경로가 있다. 끈적끈적네트가 남아 있는 동안 언제나 스피드가 떨어진다고 계산하면, 교체 시에 걸린 능력 하락을 정확히 표현하지 못한다. 따라큐의 탈이 이미 깨졌는지도 체력만으로 알 수 없다.
4. 화면보다 먼저 전투 기록을 고치자
원래 타입과 현재 타입, 원래 특성과 현재 특성, 특성이 막혔는지, 이번 등장 중 타입 변경을 사용했는지, 변신 상태, 도구의 미확인·없음·소지·소비, 능력 변화, 날씨와 장판의 남은 턴을 따로 기록해야 한다. 화상과 대타출동처럼 동시에 생기는 상태도 구별한다.
화면까지 버튼 천국으로 만들 필요는 없다. 평소에는 핵심 정보만 보여 주고 드문 조건은 펼치는 설정에 넣자. 기술 후보마다 전투 상태를 복사해 평가해야 첫 후보의 타입 변화가 다음 후보에 섞이지 않는다.
5. 느려지는 원인은 무엇일까?
추천 한 번에도 같은 대전에서 여러 기술의 피해량, 쓰러뜨릴 확률, 반격, 행동 순서를 반복 계산할 수 있다. 새로 만든 팀 후보가 공유 목록에 추가되면서 계산용 자료를 다시 만드는 부분도 있다. 대량 비교의 설정 상한은 60가지 선출 × 60가지 선출 × 50경기로, 한 팀 대결에 최대 18만 경기다. 평상시 항상 이렇게 실행된다는 뜻은 아니다.
같은 상황과 기술은 한 번 계산한 결과를 재사용하고, 바뀐 입력에 해당하는 계산만 고친다. 대량 전투에는 중단, 시간 제한, 횟수 제한을 둔다. 저장을 지나치게 자주 하는지, 검색 결과를 한꺼번에 화면에 붙이는지, 예전 결과가 새 화면을 덮는지도 재야 한다. 실제 기기에서 속도를 측정한 결과는 아직 없다.
6. '승률 70%'의 상대는 누구였을까?
자동 대전에서는 정해진 규칙과 무작위 선택을 섞어 기술을 고른다. 상대의 최선 수를 매번 찾는 선수가 아니다. 끝나지 않은 대전이 무승부에 포함되는 경로도 있다. 따라서 자동 대전 승률과 실제 플레이어의 승률은 다르다.
연속 공격도 주의하자. 표시 계산은 타격마다 서로 독립적인 피해 차이를 합치지만 추천 계산 일부는 같은 순번의 수치만 짝지어 합친다. 최솟값과 최댓값은 같아도 쓰러뜨릴 확률은 달라진다.
7. 이름이 등록됐다고 모든 효과가 구현된 것은 아니다
타입 변화 후 방어 상성, 특성 교체와 무효화, 메가진화 시점, 선공 기술, 날씨 기술, 속도에 따른 위력 변화, 여러 번 때리는 기술, 대타출동, 기합의띠, 도구 소비, 교체할 때만 일어나는 효과를 함께 시험해야 한다. 현재 규칙에서 사용할 수 없는 것은 '대상 외'라고 표시한다.
테스트는 원래 상태→행동→현재 상태→피해량→교체→재등장 순서로 이어서 한다. 빈칸, 0, 음수, 중복 도구, 빠른 연속 수정도 넣자.
8. 무엇부터 고칠까?
먼저 개체 교체 때 체력과 상태 이상이 따라오는 것을 막는다. 다음으로 현재 타입, 특성, 변신, 도구, 능력 변화를 저장한다. 이어 독압정, 껍질깨기, 행동 순서와 연속 기술의 확률을 바로잡는다. 마지막으로 중복 계산을 줄이고 실기 속도를 측정한다.
이 글은 2026년 10월 9일 확인한 소스 코드와 추가 검증 항목을 정리한 것이다. 실제 화면 전체의 재현 시험이 완료된 것은 아니다. 최강 팀을 고르기 전에, 계산 속 포켓몬부터 한 몸으로 만들자.
자료
- 상태와 선택: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/scripts/pokemonChampionsLab.ts
- 피해 계산: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/lib/pokemonChampionsMechanics.ts
- 연속 공격과 확률: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/lib/pokemonChampionsDamageView.ts
- 자동 대전: https://github.com/akatsuki8754-source/mendoi-apps/blob/main/src/workers/pokemonChampionsSimulation.worker.ts
- 공식 규칙: https://news.pokemon-home.com/ja/page/816.html
