登録の契機を受け取る関係(8.1節の target の起点)と、それを受け取る自分自身。寄与として
登録されない効果(transfer)ではundefined。仕分ける側(PassiveEffects)が種別で振り分けずに
済むよう、効果自身が名乗る。
tick毎に走る輸送(8.4節)ならそれ自身。寄与として登録される効果(modify/add)ではundefined。 走らせる側(ObjectPassiveEffects)が種別で振り分けずに済むよう、効果自身が名乗る。
この効果が持つ影響の辺(InfluenceEdge)を書き出す。declarerは宣言したオブジェクトで、 対象も原因もそこから辿る。どの一覧へ入るかは書き込み先が決める(PropertyInfluences)。
役(11.5節)を答える文脈は受け取る。 物のdefの宣言なら宣言元の今の参加から解けるが、 操作が宣言した持続効果(11.7節)の役は、宣言したその操作の関係が答えるもので、宣言元の 参加からは辿り直せない(WorldSession.whileInteractionPassives)——登録と同じ分かれ方 (setRelationRegistered/setRegisteredInContext)。どちらから解くかは、呼ぶ一式の型が決める (PassiveEffects)。
この1 tickで自分が動かす先を、操作の稼ぎを数える対象として名乗る (InteractionPassiveEffects.countTickMovementsAsGains)。
既定は何もしない。 呼ばれるのは操作が宣言した一式だけで(11.7節)、そこに書けるのは
実体値へ積むaddと、実体値を動かさないmodifyしかない——輸送は書けない(8.4.1節)。
非公開gateこの宣言のゲートが開いているか。conditionsのselfは常に宣言元自身——辺の子側(slotBearer)が 宣言元と分かれるのは対象プロパティへ登録される寄与だけで(PropertyPassiveEffect)、輸送は登録を 持たず宣言元のtickで走るため。同じ物を2度渡す形を呼び出し側に書かせない。
この効果が何を宣言しているかを読み上げる(PassiveReader参照)。抽象なのは取りこぼしを防ぐため ——既定を持たせると、動詞を1つ足したときに読み手が黙って何も受け取らなくなる。
条件が真の間、tick毎に走る輸送(YAMLでは
transfer、8.4節・9.5節)。寄与としては登録しない。 2つのプロパティを同時に動かす操作は、どちらか一方への寄与としては 表せないため、宣言したオブジェクトのtickでそのまま走る(ObjectPassiveEffects.applyTickTransfers)。 走らせ方はactiveの輸送と全く同じで、違いは「毎tick呼ばれること」だけ。