今回は当ブログで詳しく扱ってこなかったポイントアップについてのお話です。
PPとポイントアップの仕組み
PP(パワーポイント)の現在値とポイントアップの使用回数は1byteの同じメモリの中で管理しています。PPの最大値は63で0〜63までの64パターン。64パターンは26なので、1byte=8bitのうちの6bit分がPPの現在値に振り当てられています。
0b0000000(2進数)
残り2bitはポイントアップの使用回数。22の4パターンで、ポイントアップ0回使用、1回使用、2回使用、3回使用していることを表しています。ポイントアップを投与する時に、+0100000され、これが3回使われているとき、ポイントアップをもう投与できないとなるわけです。
ポイントアップによって増えるPP
ポイントアップ1個あたりで技のPPが2割増になって、最大で1.6倍になると言われていますが、基礎PP40だけ例外があります。
PP40の技ってポイントアップ使っても64にならないで61になるのか。知らんかった。
— カイソ@初代・金銀VC (@abyon4) January 3, 2019
http://psense.lib.net/Analysis/RGB/poke_y/pp.html
これ色々考えてみたのですが、詳細不明です。40だけ1.6倍にはならず、61です。63までしか数えられないので64には確かにならないのですが、よく分かってないので詳しい方誰か教えてください。
残りPPの参照先のミス
赤緑青の「わるあがき」の判定と『ポケモンスタジアム金銀』の「ふしぎなきのみ」の発動判定だけPPのチェック箇所をミスしています。
PPが0か否かを確認するとき、ポイントアップの使用回数とPPの現在値のデータをチェックするわけですが、その時にその両方が格納されているデータの値が0b00000000でなければその処理を実行しないという設定になっているため、ポイントアップを1回使用して0b01000000、2回使用して0b10000000、3回使用して0b11000000のときはPPが0になったとみなされなくなるのです。
通常の技のPPが0になるとその技を選べなくなるという処理については、下6桁の000000だけを確認して参照先を間違えていないのですが、どういうわけか悪足掻きで覚えている4つの技のPPをチェックするときだけ参照するデータをミスしています。
なお、ピカチュウ版以降の悪足掻きについてはチェックする参照先が修正され、ポイントアップを使っているポケモンでも悪足掻きが繰り出せます。
赤緑青の対戦でポイントアップは投与すべきなのか?
『第7回ヒストリアカップ』ではピカチュウ版の使用を禁止しました(青が禁止されている理由については次回の記事で解説します)。これは金銀クリスタルの対戦よりも頻繁に起こる長期戦の対策として実装することにしたからです。
そもそも「ニンテンドウカップ97」の公式大会が開催されていた1997年にピカチュウバージョンは存在していませんでした。当時はこの仕様上の対戦環境で対戦していたわけですから、それに合わせることにしました。
ちなみにPPが尽きたら「負け」という判定ではなく、試合を続行してもらって構いません。控えのポケモンがいるのなら交代してOKです。ただし、逃げる以外のコマンド選択ができずに時間を使うと遅延行為とみなされ、負けになるという仕組みになります。
つまり、長期戦の末に悪足掻きを繰り出すために悪足掻きしたいポケモンの技4つにポイントアップを一切投与しないことも戦略の一つになりうるということになります。
vs
vs
電気やエスパーミラーでのお互い決まり手に欠けるポケモン同士の長期戦の高速消化を目的として採用しました。このあたりはポイントアップを一切投与しないほうが良いかもしれませんね。
ただし、吹雪とか地割れなどの使えるポケモンはこれまで通りポイントアップを投与しておいた方が良いのではないかと考えています。
初代のNPCのPPは無限
余談ですが、初代のNPCの繰り出す技のPPは無限です。0になりません。金銀で恨みが登場してからNPCにもPPが設定されています。