TAS以外のことも書いていきたい。
Posted by ISMin(いずみん) - 2011.04.21,Thu
再始動してませんでした。
去年の11月頃にMr.さんが発見した片面壁蹴りの最適化についてメモしておきます。
方法は以下のとおりです。
①左キーを押しながら壁蹴り(右方向に壁がある場合、以下同様)。ここで壁蹴り直後のx速度が-2になるように調整する。
②左キーを押し続け、x速度が-23になったときに左キーを1Fだけ離す。
③再度左キーを押し、x速度が-26になったときに左キーを1Fだけ離す。
④その後右キーを入れ続けると壁に引っかかる。高さは②~④の間で調整。
細かい操作が面倒な人は、Snes9xのインプットマクロ機能を用いて次のマクロを実行しておくと楽です。
最初の<BYの時に壁蹴りを行うようにします。
マクロ: [(<BY)]15(BY)[(<BY)]2Y[(>BY)]24(>Y)
また、入力キーと速度、座標の関係は以下の表のようになります。
ただし、x座標は壁蹴りを行う壁にぶつかったとき(壁に引っかからずに)の座標を0としています。
去年の11月頃にMr.さんが発見した片面壁蹴りの最適化についてメモしておきます。
方法は以下のとおりです。
①左キーを押しながら壁蹴り(右方向に壁がある場合、以下同様)。ここで壁蹴り直後のx速度が-2になるように調整する。
②左キーを押し続け、x速度が-23になったときに左キーを1Fだけ離す。
③再度左キーを押し、x速度が-26になったときに左キーを1Fだけ離す。
④その後右キーを入れ続けると壁に引っかかる。高さは②~④の間で調整。
細かい操作が面倒な人は、Snes9xのインプットマクロ機能を用いて次のマクロを実行しておくと楽です。
最初の<BYの時に壁蹴りを行うようにします。
マクロ: [(<BY)]15(BY)[(<BY)]2Y[(>BY)]24(>Y)
また、入力キーと速度、座標の関係は以下の表のようになります。
ただし、x座標は壁蹴りを行う壁にぶつかったとき(壁に引っかからずに)の座標を0としています。
フレーム | 入力キー | x速度 | x座標 |
1 | <BY | -2 | -0.125 |
2 | <BY | -3 | -0.3125 |
3 | <BY | -5 | -0.625 |
4 | <BY | -6 | -1 |
5 | <BY | -8 | -1.5 |
6 | <BY | -9 | -2.0625 |
7 | <BY | -11 | -2.75 |
8 | <BY | -12 | -3.5 |
9 | <BY | -14 | -4.375 |
10 | <BY | -15 | -5.3125 |
11 | <BY | -17 | -6.375 |
12 | <BY | -18 | -7.5 |
13 | <BY | -20 | -8.75 |
14 | <BY | -21 | -10.0625 |
15 | <BY | -23 | -11.5 |
16 | BY | -23 | -12.9375 |
17 | <BY | -24 | -14.4375 |
18 | <BY | -26 | -16.0625 |
19 | Y | -26 | -17.6875 |
20 | >BY | -21 | -19 |
21 | >BY | -16 | -20 |
22 | >BY | -11 | -20.6875 |
23 | >BY | -6 | -21.0625 |
24 | >BY | -1 | -21.125 |
25 | >BY | 4 | -20.875 |
26 | >BY | 6 | -20.5 |
27 | >BY | 7 | -20.0625 |
28 | >BY | 9 | -19.5 |
29 | >BY | 10 | -18.875 |
30 | >BY | 12 | -18.125 |
31 | >BY | 13 | -17.3125 |
32 | >BY | 15 | -16.375 |
33 | >BY | 16 | -15.375 |
34 | >BY | 18 | -14.25 |
35 | >BY | 19 | -13.0625 |
36 | >BY | 21 | -11.75 |
37 | >BY | 22 | -10.375 |
38 | >BY | 24 | -8.875 |
39 | >BY | 25 | -7.3125 |
40 | >BY | 27 | -5.625 |
41 | >BY | 28 | -3.875 |
42 | >BY | 30 | -2 |
43 | >BY | 31 | -0.0625 |
44 | >Y | 33 | 2 |
PR
Posted by ISMin(いずみん) - 2010.10.31,Sun
まあこっちには書いてないんですが。
http://ism.harisen.jp/smw/spddate.html
記述ミスや抜けなどがありましたらご指摘いただけると助かります。
よく考えたらマントのy速度について書いてないや
http://ism.harisen.jp/smw/spddate.html
記述ミスや抜けなどがありましたらご指摘いただけると助かります。
よく考えたらマントのy速度について書いてないや
Posted by ISMin(いずみん) - 2010.10.20,Wed
TASvideosのフォーラムで話題になっていたテクニック。
さっぱりわからなかったからこの記事を見て誰か解析してくれないかな、なんて思って作成。
説明中◯番のスプライト、ID◯番などの表現が出てきますがこれはこのLuaスプリクトを使うことで表示させることができます。
(追記)誰か解析~なんて書いてたらMr.さん、33953YoShIさんが本当に解析してくれました。感謝!
というわけで全体的に書き直しました。
(追記2)少し書き足し。TASLaboも参照してください。
(追記3)解析が進んで、この記事も情報が古くなっています。俺自身あまり追えていないのでどこかに詳細がまとめられることを期待。
1.無をほおばる方法
方法1.まずブロック増殖やアイテム2個出し等を利用してヨッシーを2匹以上出します。
次にみえてる方のヨッシーにアイテムをほおばらせ、穴に落とします。
すると新たに実体化したヨッシーが無をほおばっています。
パワーアップor被ダメ中に口を閉じたまま舌を出し、アイテムをほおばったら成功。
ほおばる前のアイテムの代わりに無をほおばっている状態になっています。
また、無に変化したスプライトは消滅フラグが立たないのかずっとステージ上に残り続けます。
ちなみに、成功すると口を閉じたまま舌を出したあとに、なぜか勝手に再度舌を出します。
再度舌を出したときにも敵を食べることができますが、このとき頬張れるスプライトを食べてしまうと、無は消滅してしまい、頬張ったスプライトだけが残ります。

2.引き起こされるバグ
このまま無をほおばり続けていれば何も起きないが、無を吐き出すことで
①アドレス0x7E15D3がヨッシーのy座標の上位バイトで上書きされる
②アドレス0x7E15DFがヨッシーのx座標の上位バイトで上書きされる
③アドレス0x7E167Bがヨッシーの向きで上書きされる
④乗ると回転するリフトで吐くと意図しないプログラムが実行される。
⑤アドレス0x7E1725が0で上書きされる
⑥その他
という現象が起きます。
①について、アドレス0x7E15D3は3番のスプライトの頬張りフラグであり、
ここに1以上の値が入ると一部のスプライトとの接触判定がなくなります。
②について、アドレス0x7E15DFは3番のスプライトのブロックすり抜けフラグであり、
ここに1以上の値が入るとブロックとの接触判定がなくなります。
③について、アドレス0x7E167Bは1番のスプライトのパラメータの一部で無を吐くことで、
・マリオが触れたときの効果がアドレス(0x7E1656+スプライトID)の通りになる(キノコ、リフト等に触れるとダメージ)
・ヨッシーが食べてもパワーアップしない
・判定を毎フレーム取得(?)
・持ち物を蹴ると甲羅のように滑っていく、触れるとダメージ
・気絶中甲羅に変わる(?)(持ち物のグラフィックが一部おかしくなる、スイッチを踏んでもなくならない)
・画面外に出ると消える
・スターの無敵、ファイア、マントアタック、ブロック突き上げがすり抜けない(倒せるかどうかは別)。また、触れるとヨッシーが逃げる
・右向きに無を吐くと、スターの無敵で倒したときにグラフィックや接触判定等が変化する。左向きに吐くと変化しない
という変化をします。
④についてはどのプログラムが実行されるかはヨッシーのID、ヨッシーx座標の下位バイト、ヨッシーの向きに依存するようです。
大抵の場合は①~③の変化しか起きないか吐いた瞬間にフリーズしてしまいますが、それ以外にマリオのパワーアップ状態が変わる現象が確認されています。
もしかしたらこれ以外にもフリーズせず、かつ有効なプログラムが実行されるパターンがあるかもしれません。
⑤について、アドレス0x7E1725は7番の拡張スプライト(ブルの野球ボールやポンキーの花粉など)のx座標の下位バイトです。
拡張スプライトのIDは上のLuaスクリプトでは見れませんが、そこまで使えるわけでもないので無視します。
⑥について影響がほとんどないようなものは省略しています。
3.応用テクニック
(1)①、②、③の効果を単純に利用
①では敵に触れてもヨッシーが逃げないようにする、敵を誘導するときに甲羅で倒されたり他の敵にあたって反転することを防ぐ、
②では甲羅や鍵を手元に引き寄せる、壁の向こう側の敵を甲羅で倒す、
③ではPスイッチの無限使用、Pスイッチや鍵を甲羅のように蹴って運ぶ、邪魔なリフトをファイアで倒す。
といった利用方法が考えられます。
(2)ヨッシー床抜け、ジャンプ台床抜け
②の効果をヨッシーに適用すると、ヨッシーから降りた瞬間にヨッシーが壁を抜けるようになります。
これを利用して、ヨッシーが床を少し抜けたときに乗り込むことで床抜けができます。
ジャンプ台でも同様にして床抜け出来ます。
(3)マリオのパワーアップ状態変化
④のマリオのパワーアップ状態の変化は、ヨッシーのIDが4番かつ(ヨッシーのx座標+ヨッシーの向き補正)を256で割った余りが214になる時に無を吐くことで起こります。
ヨッシーの向き補正はヨッシーが右向きなら+16、左向きなら-16です。
条件を満たしたときにはアドレス0x7E0019の値が+1されます。
つまり、チビの時はスーパー、スーパーの時はマント、マントの時はファイアになるというわけです。
そしてファイアの時に④のパワーアップ状態の変化を使うと赤く染まったマリオ(パワーアップ状態4、以下赤マリオ)に変身します。

赤マリオは基本的にはスーパーマリオと同じ動作をしますが、パワーアップアイテムを取ったときの挙動がおかしくなっています。
具体的にはキノコを取るとファイア、フラワーを取るとファイア、羽を取るとマント、スターを取るとマントになり、1UPキノコを取るとフリーズします。
また、甲羅やスイッチを持ってゴールすると持ち物がスターに変化します。
赤マリオの時にパワーアップ状態を変化させるとさらに違った挙動をするマリオに変身させることができます。
パワーアップ状態によって、パワーアップアイテムを取ったときの挙動、パワーアップしたときにストックに入るアイテム、アイテムをもってゴールしたときに出現するアイテムがそれぞれ変化します。
詳細は現在調査中です。
(4)スター錬金術
赤マリオなどでアイテムを持ってゴールしてスターを出現させるとアドレス0x7E13CBの値がスター1つにつき1増加します。
この値はマップ移動(城の前やボス撃破後のデモ画面も含む)をする度に2倍されていき、
値が128以上になると次のマップ開始時にスターの無敵状態になります。
ボス撃破後のデモ画面で無敵になると、効果が切れたあとにボス戦のBGMが鳴り始めます。
どうやら開発中に削除された没仕様のようです。
さっぱりわからなかったからこの記事を見て誰か解析してくれないかな、なんて思って作成。
説明中◯番のスプライト、ID◯番などの表現が出てきますがこれはこのLuaスプリクトを使うことで表示させることができます。
(追記)誰か解析~なんて書いてたらMr.さん、33953YoShIさんが本当に解析してくれました。感謝!
というわけで全体的に書き直しました。
(追記2)少し書き足し。TASLaboも参照してください。
(追記3)解析が進んで、この記事も情報が古くなっています。俺自身あまり追えていないのでどこかに詳細がまとめられることを期待。
1.無をほおばる方法
方法1.まずブロック増殖やアイテム2個出し等を利用してヨッシーを2匹以上出します。
次にみえてる方のヨッシーにアイテムをほおばらせ、穴に落とします。
すると新たに実体化したヨッシーが無をほおばっています。
方法2.ヨッシーとほおばるアイテムとパワーアップorダメージの手段(ストックが最適)を用意します。
ヨッシーに乗って、パワーアップor被ダメをする瞬間に舌を出します。パワーアップor被ダメ中に口を閉じたまま舌を出し、アイテムをほおばったら成功。
ほおばる前のアイテムの代わりに無をほおばっている状態になっています。
また、無に変化したスプライトは消滅フラグが立たないのかずっとステージ上に残り続けます。
ちなみに、成功すると口を閉じたまま舌を出したあとに、なぜか勝手に再度舌を出します。
再度舌を出したときにも敵を食べることができますが、このとき頬張れるスプライトを食べてしまうと、無は消滅してしまい、頬張ったスプライトだけが残ります。
2.引き起こされるバグ
このまま無をほおばり続けていれば何も起きないが、無を吐き出すことで
①アドレス0x7E15D3がヨッシーのy座標の上位バイトで上書きされる
②アドレス0x7E15DFがヨッシーのx座標の上位バイトで上書きされる
③アドレス0x7E167Bがヨッシーの向きで上書きされる
④乗ると回転するリフトで吐くと意図しないプログラムが実行される。
⑤アドレス0x7E1725が0で上書きされる
⑥その他
という現象が起きます。
①について、アドレス0x7E15D3は3番のスプライトの頬張りフラグであり、
ここに1以上の値が入ると一部のスプライトとの接触判定がなくなります。
②について、アドレス0x7E15DFは3番のスプライトのブロックすり抜けフラグであり、
ここに1以上の値が入るとブロックとの接触判定がなくなります。
③について、アドレス0x7E167Bは1番のスプライトのパラメータの一部で無を吐くことで、
・マリオが触れたときの効果がアドレス(0x7E1656+スプライトID)の通りになる(キノコ、リフト等に触れるとダメージ)
・ヨッシーが食べてもパワーアップしない
・判定を毎フレーム取得(?)
・持ち物を蹴ると甲羅のように滑っていく、触れるとダメージ
・気絶中甲羅に変わる(?)(持ち物のグラフィックが一部おかしくなる、スイッチを踏んでもなくならない)
・画面外に出ると消える
・スターの無敵、ファイア、マントアタック、ブロック突き上げがすり抜けない(倒せるかどうかは別)。また、触れるとヨッシーが逃げる
・右向きに無を吐くと、スターの無敵で倒したときにグラフィックや接触判定等が変化する。左向きに吐くと変化しない
という変化をします。
④についてはどのプログラムが実行されるかはヨッシーのID、ヨッシーx座標の下位バイト、ヨッシーの向きに依存するようです。
大抵の場合は①~③の変化しか起きないか吐いた瞬間にフリーズしてしまいますが、それ以外にマリオのパワーアップ状態が変わる現象が確認されています。
もしかしたらこれ以外にもフリーズせず、かつ有効なプログラムが実行されるパターンがあるかもしれません。
⑤について、アドレス0x7E1725は7番の拡張スプライト(ブルの野球ボールやポンキーの花粉など)のx座標の下位バイトです。
拡張スプライトのIDは上のLuaスクリプトでは見れませんが、そこまで使えるわけでもないので無視します。
⑥について影響がほとんどないようなものは省略しています。
3.応用テクニック
(1)①、②、③の効果を単純に利用
①では敵に触れてもヨッシーが逃げないようにする、敵を誘導するときに甲羅で倒されたり他の敵にあたって反転することを防ぐ、
②では甲羅や鍵を手元に引き寄せる、壁の向こう側の敵を甲羅で倒す、
③ではPスイッチの無限使用、Pスイッチや鍵を甲羅のように蹴って運ぶ、邪魔なリフトをファイアで倒す。
といった利用方法が考えられます。
(2)ヨッシー床抜け、ジャンプ台床抜け
②の効果をヨッシーに適用すると、ヨッシーから降りた瞬間にヨッシーが壁を抜けるようになります。
これを利用して、ヨッシーが床を少し抜けたときに乗り込むことで床抜けができます。
ジャンプ台でも同様にして床抜け出来ます。
(3)マリオのパワーアップ状態変化
④のマリオのパワーアップ状態の変化は、ヨッシーのIDが4番かつ(ヨッシーのx座標+ヨッシーの向き補正)を256で割った余りが214になる時に無を吐くことで起こります。
ヨッシーの向き補正はヨッシーが右向きなら+16、左向きなら-16です。
条件を満たしたときにはアドレス0x7E0019の値が+1されます。
つまり、チビの時はスーパー、スーパーの時はマント、マントの時はファイアになるというわけです。
そしてファイアの時に④のパワーアップ状態の変化を使うと赤く染まったマリオ(パワーアップ状態4、以下赤マリオ)に変身します。
赤マリオは基本的にはスーパーマリオと同じ動作をしますが、パワーアップアイテムを取ったときの挙動がおかしくなっています。
具体的にはキノコを取るとファイア、フラワーを取るとファイア、羽を取るとマント、スターを取るとマントになり、1UPキノコを取るとフリーズします。
また、甲羅やスイッチを持ってゴールすると持ち物がスターに変化します。
赤マリオの時にパワーアップ状態を変化させるとさらに違った挙動をするマリオに変身させることができます。
パワーアップ状態によって、パワーアップアイテムを取ったときの挙動、パワーアップしたときにストックに入るアイテム、アイテムをもってゴールしたときに出現するアイテムがそれぞれ変化します。
詳細は現在調査中です。
(4)スター錬金術
赤マリオなどでアイテムを持ってゴールしてスターを出現させるとアドレス0x7E13CBの値がスター1つにつき1増加します。
この値はマップ移動(城の前やボス撃破後のデモ画面も含む)をする度に2倍されていき、
値が128以上になると次のマップ開始時にスターの無敵状態になります。
ボス撃破後のデモ画面で無敵になると、効果が切れたあとにボス戦のBGMが鳴り始めます。
どうやら開発中に削除された没仕様のようです。
Posted by ISMin(いずみん) - 2010.05.05,Wed
お風呂の中でx速度とジャンプ力の関係についての記事を書こうと思ってたらすでに動画が上がってたので紹介
【TAP】スーパーマリオワールド(SMW) ダッシュブロックで遊んでみた
速く走れば走るほどジャンプ力が上がる、通常ジャンプよりスピンジャンプの方がジャンプ力が低い、といったことはマリオワールドをやりこんでる人ならほとんど知ってると思いますが、これらの現象はジャンプの初速が変わっているために起こります。
x方向速さとジャンプの初速の関係は次の表のようになっています。
加速度、最高速度はABを押してないときはそれぞれ+6、70
押しているときはそれぞれ+3、67 となっています。
これはジャンプの仕方によらず常に一定です。
また、他のジャンプ方法のジャンプ力は次の表のようになっています。
これらはx方向の速度などは関係なく、常に一定の値となります。
【TAP】スーパーマリオワールド(SMW) ダッシュブロックで遊んでみた
速く走れば走るほどジャンプ力が上がる、通常ジャンプよりスピンジャンプの方がジャンプ力が低い、といったことはマリオワールドをやりこんでる人ならほとんど知ってると思いますが、これらの現象はジャンプの初速が変わっているために起こります。
x方向速さとジャンプの初速の関係は次の表のようになっています。
x方向速さ | 通常ジャンプ | スピンジャンプ | 最大高さ(ピクセル) | 備考 |
0~7 | -77 | -71 | 64.1875 | 負の値は上方向の移動を示している。 |
8~15 | -79 | -73 | 67.5 | |
16~23 | -82 | -75 | 72.625 | |
24~31 | -84 | -77 | 76.125 | |
32~39 | -87 | -79 | 81.5625 | |
40~47 | -89 | -82 | 85.3125 | |
48~55 | -92 | -84 | 91.0625 | 高さ6マスのブロックをぎりぎり超えられる (5ピクセル位ならブロックが押し上げてくれる) |
56~63 | -94 | -87 | 95 | |
64~71 | 3 | 2 | 0 | 下方向の移動、つまりジャンプ不能 |
72~79 | 3 | 4 | 0 | ただしAB交互連打で慣性移動はできる |
80~87 | 3 | 2 | 0 | |
88~95 | 3 | 4 | 0 | |
96~103 | 3 | 2 | 0 | |
104~111 | 3 | 4 | 0 | |
112~119 | -125 | 1 | 166.6875 | ジャンプ台ジャンプと同じくらい飛びます |
120~127 | -61 | 3 | 40.6875 | |
128 | 67 | 2 | 0 | 速さ128は左方向に移動してる時しかでない |
加速度、最高速度はABを押してないときはそれぞれ+6、70
押しているときはそれぞれ+3、67 となっています。
これはジャンプの仕方によらず常に一定です。
また、他のジャンプ方法のジャンプ力は次の表のようになっています。
これらはx方向の速度などは関係なく、常に一定の値となります。
ジャンプ方法 | ジャンプ初速 | 最大高さ(ピクセル) |
敵ふみ反動 | -48 | 25.5 |
敵ふみ反動(AB押しっぱ) | -88 | 83.4375 |
敵ふみ反動(スピンジャンプ) | -8 | 0.9375 |
ブロック破壊反動 | -42 | 19.6875 |
ブロック破壊反動(AB押しっぱ) | -45 | 22.5 |
ヨッシージャンプ(地上) | -64 | 44.6875 |
ヨッシージャンプ(空中) | -96 | 99 |
音符ブロック | -96 | 99 |
ジャンプ台 | -80 | 69.1875 |
ジャンプ台(AB押しっぱ) | -128 | 174.6875 |
設置型ジャンプ台(根元) | -76 | 62.5625 |
設置型ジャンプ台(2番目) | -32 | 11.6875 |
設置型ジャンプ台(2番目、AB押しっぱ) | -88 | 83.4375 |
設置型ジャンプ台(3番目) | -56 | 34.4375 |
設置型ジャンプ台(3番目、AB押しっぱ) | -104 | 115.9375 |
設置型ジャンプ台(4番目以降) | -72 | 56.25 |
設置型ジャンプ台(4番目以降、AB押しっぱ) | -120 | 153.75 |
ジュゲム雲 | -64 | 44.6875 |
つた/ロープ/金網 | -80 | 69.1875 |
水から出るとき | -83 | 74.375 |
Posted by ISMin(いずみん) - 2010.04.16,Fri
マリオが乗っていない時のヨッシーは一定の周期で跳ねているように見えますが、
実際にはサブピクセルの関係から、1ピクセル高い位置まで飛ぶことがあります。
このときにはマリオの座標を上手く調整すれば、1マス高い位置でヨッシーに乗ることができます。
高さ1マスの段差がある時に、ヨッシーを下段の角に置き、ヨッシーが地面から4ピクセル上にいるときに、マリオが上段の地面から1ピクセル上を下降しているようにすれば、ヨッシーに乗ると同時に角を抜けることができます。
参考動画(you tube) ←余計な部分が多いですが。
この技は普通の角抜けと違ってx速度に依存せずに角抜けできる、天井が低くても角抜けできるという特徴があります。しかし、条件がなかなか厳しいため使いどころはあまり無さそうです。
もちろん上手く地形ができていれば角以外の床も抜けることができます。
また、成功は確認していませんが、ヨッシーを逃がしたり、空中でヨッシーから降りたりすることで、ヨッシーが単独で動けるようにして、角にきたときに上手く乗り込めば、1マスの段差以外でもできるかもしれません。

(追記) ヨッシーを逃がしてタイミングよく乗り込むことで角抜けする方法は成功を確認できました。
意外と簡単にできるのでもしかしたら使えるポイントがあるかもしれません。
実際にはサブピクセルの関係から、1ピクセル高い位置まで飛ぶことがあります。
このときにはマリオの座標を上手く調整すれば、1マス高い位置でヨッシーに乗ることができます。
高さ1マスの段差がある時に、ヨッシーを下段の角に置き、ヨッシーが地面から4ピクセル上にいるときに、マリオが上段の地面から1ピクセル上を下降しているようにすれば、ヨッシーに乗ると同時に角を抜けることができます。
参考動画(you tube) ←余計な部分が多いですが。
この技は普通の角抜けと違ってx速度に依存せずに角抜けできる、天井が低くても角抜けできるという特徴があります。しかし、条件がなかなか厳しいため使いどころはあまり無さそうです。
もちろん上手く地形ができていれば角以外の床も抜けることができます。
また、成功は確認していませんが、ヨッシーを逃がしたり、空中でヨッシーから降りたりすることで、ヨッシーが単独で動けるようにして、角にきたときに上手く乗り込めば、1マスの段差以外でもできるかもしれません。
(追記) ヨッシーを逃がしてタイミングよく乗り込むことで角抜けする方法は成功を確認できました。
意外と簡単にできるのでもしかしたら使えるポイントがあるかもしれません。
カレンダー
カテゴリー
最新記事
アーカイブ
プロフィール
HN:
ISMin(いずみん)
性別:
男性
自己紹介:
別名ISMさん。なぜHPのタイトルといっしょになったのだろうか。荒島博久さんは旅に出ました。
ブログ内検索
最新トラックバック
Template by mavericyard*
Powered by "Samurai Factory"
Powered by "Samurai Factory"