Lv30の能力値

ポイント : 一の位を 0、 4、 7にする

 Lv30における能力値計算の考え方を述べたい。
 ワイヤレスアダプタを用いたユニオンルームにおける対戦がLv30戦であることを受け、Lv30用ポケモンの育成にも取りかかり始めた人もいると思われるが、Lv50あるいはLv100とは違い、能力値計算が非常に面倒になったとお感じであろう。能力値の計算式自体には何の変わりもない。しかし、能力値計算における「レベル」に関する部分が厄介になったのである。
 まずは能力値の計算式を。

能力値=(種族値×2+個体値+努力レベル)×レベル/100+5

 HP以外の能力値の場合は性格補正率が乗算され、HPの場合は「レベル+5」が加算されるが、基本的な計算は上の通りである。さらにいえば、最後の+5は一定の数値であるため、能力値を変動させる変数は種族値、個体値、努力レベル、レベルである。このうち、種族値、個体値、努力レベルは加算で、この和とレベルが乗算である。能力値計算においてポイントとなるのは、乗算であるレベル(あるいはレベル/100)の部分である。
 例えばLv100の場合。レベル/100の部分は100/100=1となり、種族値、個体値、努力レベルは数値がそのまま反映される。
 Lv50の場合。レベル/100の部分は50/100=1/2となる。種族値×2+個体値+努力レベルの和が偶数の時は乗算が整数になる。その和が奇数の時は乗算すると0.5が余ってしまう。能力値計算では小数点以下は切捨なので、その和を奇数にしてしまうのは無駄だといえる。Lv50では、能力値としてうまく反映させるには、種族値×2+個体値+努力レベルの和を偶数にするべきである。さらにいえば、種族値×2自体がすでに偶数なので、個体値+努力レベルの和を偶数にするべきである。

 Lv100とLv50の能力値計算に関しては、私がこのように改めていうまでもなくすでにご存知の通りであるだろう。ではLv30の能力値計算はどうであるか。残念ながらLv100やLv50のように単純にはいかない。30/100=3/10であり、100/100=1/1や50/100=1/2のように、分子が1にならないからだ。これがもしLv25であれば、25/100=1/4でなるため、種族値×2+個体値+努力レベルの和を4の倍数にすればいいということになるのであるのだが。
 では、いちいち計算式に代入しなければならないのか、といえばそうでもない。簡単な考え方があるのだ。それが今回のコラムの主題でもある。
 Lv30の場合。30/100=3/10。残念ながら分子が1ではない。しかしここで諦めていてはいけない。この分子3をうまく活用するのである。
 種族値×2+個体値+努力レベルの和に3を乗じた積を考えてみよう。その積をさらに10で除した整数部分が能力値に反映される。ということは、その積の十の位以上が能力値に反映され、一の位は能力値に反映されないことになる。この時の能力値に反映されない一の位が1つのポイントとなる。
 話は少し飛ぶが、(十進数において)一の位の数字は0から9までの10個存在する。それぞれに3を乗じる場合、その積はそれぞれ異なる一の位を示す。例えば、0の場合だと、0×3=0で一の位は0となり、3の場合だと、3×3=9で一の位は9となる。しかし、一の位の数値がどんなに大きくとも、能力値に反映されないのであれば全くの無意味である。
 ここまで言えばもうおわかりであろうが、Lv50と同様に、Lv30の能力値計算においても、種族値×2+個体値+努力レベルの和には、能力値としてうまく反映される数値とそうではない数値が存在するということである。このことについて少し検証してみたい。

 先述の通り、(十進数においては)一の位の数字は0から9まである。nを0以上の整数としてそれぞれを現わすと、10nとか10n+9とかと表すことができる。それぞれについて3を乗ずると以下のようになる。

10n

×3

30n

103n)+0

10n1

×3

30n3

103n)+3

10n2

×3

30n6

103n)+6

10n3

×3

30n9

103n)+9

10n4

×3

30n12

103n1)+2

10n5

×3

30n15

103n1)+5

10n6

×3

30n18

103n1)+8

10n7

×3

30n21

103n2)+1

10n8

×3

30n24

103n2)+4

10n9

×3

30n27

103n2)+7

 一番右の計算結果は十の位以上の数値と一の位の数値を示す。十の位以上である()中の3n、3n+1、3n+2が能力値として反映され、一の位は能力値には反映されない。十の位以上の数値がまた1つのポイントとなる。3nと3n+1とでは3n+1の方が数値が高い。同様に3n+1よりも3n+2の方が数値が高い。ではその境目はどこから来るのか。
 上の表をみていただきたい。元の数値が10n、10n+1、10n+2、10n+3の場合は、3で乗じた数値の十の位以上の値が3nとなる。同様に、10n+4、10n+5、10n+6の場合は3n+1となり、10n+7、10n+8、10n+9の場合は3n+2となる。
 このことからわかるのは、種族値×2+個体値+努力レベルの和の一の位が0でも1でも2でも3でも、3で乗じた数値の十の位以上の値は同じになるということである。数値が同じになるのであれば、一の位が3よりも0の方がお得ということである。しかしながら、一の位が3と4とでは能力値に1の差ができてくる。0と3のように3も異なるのに最終的に同じ数値になる場合もあれば、3と4、6と7、9と10のように1しか違わないのに能力値の差が異なる場合もあるわけである。
 このことから考えられるのは、種族値×2+個体値+努力レベルの和の一の位は0か4か7であることが、能力値に効率的に反映されて望ましいということである。これが今回のコラムの冒頭部に述べたことでもある。
 さらに、種族値が5の倍数の場合(種族値の一の位・下一桁が0か5の場合)、種族値×2は10の倍数になるため、種族値を計算に入れなくとも、個体値+努力レベルの和だけで考えることができる。個体値+努力レベルの和の一の位が0か4か7であると能力値に効率的に反映される。


 このことの応用として、最高能力値を考えてみたい。Lv100では個体値と努力レベルが能力値としてそのまま反映されるので、最高能力値となるには個体値・努力レベルともに最高の個体値31+努力レベル63でなければならない。Lv50では個体値+努力レベルの和が1/2されるので、これも個体値31+努力レベル63でなければならない。ではLv30ではどうであるか。これはLv100やLv50とは異なり、種族値に関係している。
 もっとも多い種族値が5の倍数(一の位が0か5)の場合。前述の通り、種族値×2は10の倍数になるため、個体値+努力レベルだけで考えられる。個体値最高は31、努力レベル最高は63。この二つを加すると94。一の位が4であることは、能力値に効率的に反映されるということであり、逆をいえばそれよりも少なかったらその数値に達することはないということである。ということで、種族値が5の倍数の場合、最高能力値になるのは個体値31+努力レベル63の時だけである。
 これは種族値の一の位が3と8の場合も同様で、3×2=6、8×2=16となり、個体値31+努力レベル63を加算した和の一の位が0となり、最高能力値になるのは個体値・努力レベルともに最高の時だけである。
 それ以外の種族値の場合は個体値が最高の31でなくとも、あるいは努力レベルが最高の63でなくとも、最高能力値に達する場合がある。特に種族値の一の位が1、6、4、9の場合では、個体値が29であっても最高能力値に達することができる。
 以下の表は、種族値の一の位と、最高能力値になる最低個体値と最低努力レベルの組合わせである。

種族値の一の位

最高能力値になる最低個体値と最低努力レベルの組合わせ

0

5

個体値31+努力レベル63

1

6

個体値31+努力レベル61、個体値30+努力レベル62、個体値29+努力レベル63

2

7

個体値31+努力レベル62、個体値30+努力レベル63

3

8

個体値31+努力レベル63

4

9

個体値31+努力レベル61、個体値30+努力レベル62、個体値29+努力レベル63


 もちろん応用は最高能力値だけに限らず、一般の計算式においても役立つ。
例えば、全能力の種族値が5の倍数のポケモンで、以下のような個体値であったとする。性格補正はナシ。

HP31、こうげき5、ぼうぎょ31、とくこう16、とくぼう31、すばやさ29

 物理防御系の耐久力を最大限にまで高めたいので、HPとぼうぎょに努力レベル63ずつ割り振る。残る努力レベル1をどこに配分するべきか。Lv50ならば、個体値が奇数であるこうげき、とくぼう、すばやさのいずれかに振るところであろう。しかしLv30では先述の通り、一の位を0か4か7にすると能力値に反映される。よって、1を加算したら一の位が7になるとくこうか、一の位が0になるすばやさに振ると能力値に反映されて無駄がなくなる。
 またこのような考え方もある。一の位を0か4か7にすれば能力値に反映されるのであれば、全てにおいて効率的に反映させようではないか。特に一の位が0の場合、能力値計算において小数点がなくなるわけだから個体値・努力レベルに完全に無駄がなくなるということになる。とりあえず和の一の位を0に振っておいて、そこからさらに配分を考えることもできる。上の個体値の場合、努力レベルをHP9、こうげき5、ぼうぎょ9、とくこう4、とくぼう9、すばやさ1と振っておいて、残りの努力レベル90をどこかに振る。このようにすれば個体値と努力レベルが全く無駄にならないどころか、能力値の合計が最高になるのである。
 しかしながらどのように効率的に努力レベルを配分したとしても、努力レベルが1か2、もしかしたら3余る場合がある。その場合はどこに配分したらよいか。どこに配分しても意味がない、というのは正しくもあり間違いでもある。正しいのはこれまで書いた通り、どこに配分しても能力値に反映されないから。しかしそれはLv30での場合であって、例えばLv50の場合はどうであるか。少なくとも努力レベルが2残っていれば、Lv50にした場合にどこかの能力値を+1することができる。今はLv30でしか考えていなくとも、いつかはLv50に上げるかもしれない。その時のために能力値に反映されるように努力レベルを分配した方がよいものと考える。これが間違いだという理由。


 育成はそのトレーナーの実力に負うところが大きい。種族値というのは決められた数値であり、残念ながら変えられない。個体値もそのポケモンに固有のものであるので、これも変えられない。しかしながら個体値遺伝などを使ってある程度調整することもできる。野生でもある程度個体値の高いポケモンをゲットすることは可能である。しかし、努力レベルの配分は全くの自由である。努力レベルは127まであるので、それをどの能力にどれくらい配分するかというのは、そのトレーナー次第である。だから努力レベルをうまく配分して効率的に能力値に反映させることは、そのトレーナーの実力ともいえる。
 ただし、努力値配分(努力レベル配分)に完全な正解というものはない。その人がそれでよいと思うのであれば、誰もそのことに口出しすることはできない。しかしながら、うまい努力値配分(努力レベル配分)というのはあると思う。今回のこのコラムがそのお役に立てるようであれば幸いである。
 なお、今回のコラムではLv30だけを扱ったが、Lv20やLv70、さらにはLv55やLv37にも今回と同じ考えを応用することができる。レベルが100の約数であれば、種族値×2+個体値+努力レベルの和をその分母の倍数にすればいいし、レベルが10の倍数であれば、和の一の位(下一桁)を考えればよい。それ以外のレベルであれば、和の十の位と一の位(下二桁)を考えればよい。これがわかれば、いちいち計算式に当てはめなくて考えなくてもよくなる。

コラムに戻る