UnmappedIsland ソースリファレンス - v0.1.0
    検索インデックスを準備しています...

    クラス PassiveEffect抽象

    1つの ObjectDef が宣言する、1つの持続効果(8節)。ObjectDef.passives の要素。

    動詞が名乗るのは可逆性だけで、一度きりかtick毎かは置き場所(active/passives)が決める(8.4節)。 そのため passives に書ける動詞は、可逆な modify、不可逆な add、そして輸送の transfer。 add と transfer は active と同じ語のまま、tick毎に効く側になる。

    効き方は分かれる。modify/add は対象プロパティへ寄与として登録され(PropertyPassiveEffect)、 transfer は登録を持たず宣言したオブジェクトのtickで走る(TransferPassiveEffect)——2つのプロパティを 同時に動かす操作は、どちらか一方への寄与としては表せないため。

    階層 (一覧を見る)

    インデックス
    • get relationRegistration(): RelationRegistration | undefined

      登録の契機を受け取る関係(8.1節の target の起点)と、それを受け取る自分自身。寄与として 登録されない効果(transfer)ではundefined。仕分ける側(PassiveEffects)が種別で振り分けずに 済むよう、効果自身が名乗る。

      戻り値 RelationRegistration | undefined

    • get tickTransfer(): TransferPassiveEffect | undefined

      tick毎に走る輸送(8.4節)ならそれ自身。寄与として登録される効果(modify/add)ではundefined。 走らせる側(ObjectPassiveEffects)が種別で振り分けずに済むよう、効果自身が名乗る。

      戻り値 TransferPassiveEffect | undefined

    • この効果が持つ影響の辺(InfluenceEdge)を書き出す。declarerは宣言したオブジェクトで、 対象も原因もそこから辿る。どの一覧へ入るかは書き込み先が決める(PropertyInfluences)。

      役(11.5節)を答える文脈は受け取る。 物のdefの宣言なら宣言元の今の参加から解けるが、 操作が宣言した持続効果(11.7節)の役は、宣言したその操作の関係が答えるもので、宣言元の 参加からは辿り直せない(WorldSession.whileInteractionPassives)——登録と同じ分かれ方 (setRelationRegistered/setRegisteredInContext)。どちらから解くかは、呼ぶ一式の型が決める (PassiveEffects)。

      パラメータ

      戻り値 void

    • この1 tickで自分が動かす先を、操作の稼ぎを数える対象として名乗る (InteractionPassiveEffects.countTickMovementsAsGains)。

      既定は何もしない。 呼ばれるのは操作が宣言した一式だけで(11.7節)、そこに書けるのは 実体値へ積むaddと、実体値を動かさないmodifyしかない——輸送は書けない(8.4.1節)。

      パラメータ

      戻り値 void

    • この効果が何を宣言しているかを読み上げる(PassiveReader参照)。抽象なのは取りこぼしを防ぐため ——既定を持たせると、動詞を1つ足したときに読み手が黙って何も受け取らなくなる。

      パラメータ

      戻り値 void