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

    クラス PassiveEffectGate

    効果の発動条件。判別子は持たず、各フィールドの有無が「何をチェックすべきか」を表す (stageNameが設定済み→WhenOwnStage判定、conditionsが設定済み→conditions判定、両方設定済み=AND、 両方未設定=常時有効)。

    参照はグローバルIDのまま持ち、評価のたびにローカル化する(変換コストは1 tick(15分)の時間スケールに 対して無視できるため、ビルド時の2段階パースを避ける)。

    インデックス
    conditions: ConditionNode | undefined
    stage: { name: string; propertyGlobalId: PropertyGlobalId } | undefined

    見ている段(8.2節)。プロパティと段の名前は組で1つ——片方だけでは「どのプロパティのどの段か」 を言えないので、分けて持たない。段で縛っていないゲートではundefined。

    • get stagePropertyGlobalId(): PropertyGlobalId | undefined

      このゲートが見ている段のプロパティ。段で縛っていないゲートではundefined。 「このステータスが何を動かしているか」(PropertyInfluences)は、これを原因として辿る。

      戻り値 PropertyGlobalId | undefined

    • 段(WhenOwnStage)とconditionsを両方満たすか。段は宣言元(declarer)自身のプロパティを見る。

      conditionsのselfは辺の子側(slotBearer)、役はrolesが答える。 両者を組み合わせるのはここ だけで、呼び出し側は役の出どころ(宣言が置かれた場所で決まる。11.5節・RegisteredPassiveEffect) を渡すだけでよい。child対象ではselfと宣言元が食い違うので、まとめて片方から引くと「宣言元は 操作に参加しているのに解決しない」が起きる。

      パラメータ

      戻り値 boolean