大体その理解で間違ってない

ループ内に1Fウェイトが入っているのがミソ

ループの基本的な処理内容は、Cself40(Cself0の値を代入したもの) が 1回のループ毎に-1されていって、値が0以下になったらループが終了するというもの。
例えばCself0に6が代入された場合、キーを押さない場合はループが6回繰り返される。ループの中には1Fウェイトが入っておりそれも同様に6回繰り返されるため、1F * 6 = 6Fとなり、結果的に6Fウェイトされることとなる。

キー入力があった場合、Cself40からマイナスされる値が増加するため、ループ回数が少なくなる。
例えばCself0に6が代入されていても決定キーが押されていた場合、Cself40の値は1ループ毎に-2されるため、ループが3回繰り返されたら終了する。1Fウェイトも3回繰り返されるため、1F * 3 = 3F。結果的に3Fウェイトとなり何も押さない場合の1/2のウェイト(2倍の速度)となる。
サブキーの場合はループ毎に-3されるため計2Fウェイト、決定キーとサブキーが同時に押されていた場合はループ毎に-4されて(処理の内容的に)計1Fウェイトとなる。


なんでこんなシステムを使っているのかというと、頻発する戦闘は楽で高速な方がいいよね! という基本システムを作った狼煙の趣味