非公開 読み取り専用axis動かす軸 → 行き先の値(noneはその軸を落とす、GeneratedTypes参照)。
非公開 読み取り専用subject運ばれてきた相手(instrument)を丸ごと消すか(destroy、9.3節)。
入り切らない端数の行き先を決める側が読む(9.5.1節)——相手が消えるなら、出どころへ残した分は 相手ごと失われる。destroyを書ける場所のうち相手が居るのは操作だけなので、読むのもそこ(parseInteractions)。
相手(instrument)から移す輸送のうち、入り切らない分を出どころへ残すもの(allow_overflow が
既定のfalse)を含むか(9.5節)。
相手を消す操作でこれを含むのは、端数を黙って捨てる形なので、ロード時に落とす側が読む
(parseInteractions)——捨てるならallow_overflow: trueと名乗る(9.5.1節)。
candidatesを先頭から順に、この効果を続けて何回適用できるか。undefinedは「答えられない」。 各candidateはinstrumentの役で、器(repeatLimitingVesselCount)を持つ効果だけが答える。
対象は解決できるのに行き先の座標に型が居ないなら、この効果を宣言している操作は成立しない (9.9節)。対象そのものが解決できない場合は、他の命令と同じく「その適用を無視する」だけなので 操作は止めない。
この効果が何を宣言しているかを読み上げる(EffectReader参照)。抽象なのは取りこぼしを防ぐため ——既定を持たせると、動詞を1つ足したときに読み手が黙って何も受け取らなくなる。
まとめて実行するとき、回数の上限を決める器がいくつあるか(allow_multiple、12.4節)。
undefinedは「繰り返すと意味が変わるので数えられない」。
既定は0=数に影響しない。 取りこぼしても「まとめられない」に倒れるだけで安全側なので、readByと 違い抽象にしない。数を決められるのは、単調に埋まる器へ入れる効果だけ。
become の1命令(同じ個体のまま型を差し替える、GameElementDefinition.md 9.9節)。
行き先は識別子ではなく座標で指す(3.5節)。宣言が持つのは動かす軸とその値だけで、書かなかった 軸は対象が今居る座標から引き継ぐ——だから、重ねられた容器の種類が実行時にしか決まらない場合でも 行き先を書ける。