スマブラシリーズでは「同じ技をヒットさせ続けると、その技の与えるダメージが減る」というシステムがあります。
このシステムを「OP相殺(ワンパターンそうさい)」と言います。
ある技”A”をヒットさせたときのダメージの公式:技の基本ダメージ×「OP倍率」
注意事項
・相手キャラクターが複数いる場合、キャラに関係なくOP相殺がかかります。
・ステージのギミック・シールド・当たりあり無敵状態のキャラなどに攻撃した場合はOP相殺はかかりません。
・チートによって使用できる隠しモード、「デバッグモード」上ではOP倍率が100%固定。
「OP倍率」の計算方法
・初期値:100%
・ヒットさせた技の履歴(容量9)を順に見ていく
・Aと同じ技の履歴があれば -10%
・その履歴がn番目に新しいなら +n%
・これを履歴9つ分実行する
ダメージ計算後に、ヒットさせた技を履歴に登録します。そのとき、既に9つ技が登録されていれば、最も古いものを削除して登録します。
計算例
(履歴:[ , , , , , , , , ](←つまり空))
自分のキャラはマルスとします。
横スマッシュの先端(①と表す)をヒットさせます。
・①の基本ダメージ20%×100% = 20%
・ダメージ計算後に履歴に①を登録。
(履歴:[①, , , , , , , , ])
もう一度、横スマッシュ先端をヒットさせます。
・①の基本ダメージ20%×(100 -10+1)% = 18.2%
・ダメージ計算後に履歴に①を登録。
(履歴:[①,①, , , , , , , ])
更にもう一度、横スマッシュ先端をヒットさせます。
・①の基本ダメージ20%×(100 -10+1 -10+2)%=16.6%
・ダメージ計算後に履歴に①を登録。
(履歴:[①,①,①, , , , , , ])
下強先端(②と表す)をヒットさせます。
・②の基本ダメージ10%×100% = 10%
・ダメージ計算後に履歴に②を登録。
(履歴:[②,①,①,①, , , , , ])
再び、横スマ先端をヒットさせます。
・①の基本ダメージ20%×(100 -10+2 -10+3 -10+4)% = 15.8%
・ダメージ計算後に履歴に①を登録。
(履歴:[①,②,①,①,①, , , , ])
その後、下強先端を4回ヒットさせたとすると、履歴は以下のようになっています。
履歴:[②,②,②,②,①,②,①,①,①]
この状態でもう一度下強先端をヒットさせます。
・②の基本ダメージ10%×(100 -10+1 -10+2 -10+3 -10+4 -10+6)% = 6.6%
・ダメージ計算後に履歴に②を登録。このとき、既に履歴は9つあるため、一番古い①を履歴から追い出して、以下のようになります。
[②,②,②,②,②,①,②,①,①],①
記事の内容に関して質問や感想があればどうぞ