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

    クラス PickEffect

    pick(10節): weightで1候補を選び、その候補の効果を適用する効果。候補の効果もActiveEffect (さらにpickなら再帰する)。候補が無ければ何もしない。

    階層 (一覧を見る)

    インデックス
    candidates: readonly PickCandidateDef[]
    • get destroysInstrument(): boolean

      候補に1つでも在れば、抽選も含む(GameElementDefinition.md 9.5.2節の検査が、候補の側へ分けて 書いた形を見落とさないため)。どの候補が引かれるかは問わない——引かれる回が在るなら、その回に 起きる。

      戻り値 boolean

    • get movesFromInstrumentKeepingRemainder(): boolean

      相手(instrument)から移す輸送のうち、入り切らない分を出どころへ残すもの(allow_overflow が 既定のfalse)を含むか(9.5節)。

      相手を消す操作でこれを含むのは、端数を黙って捨てる形なので、ロード時に落とす側が読む (parseInteractions)——捨てるならallow_overflow: trueと名乗る(9.5.1節)。

      戻り値 boolean

    • 今この文脈で、この効果が行き先を持たないために、宣言している操作そのものが成立しないか(9.9節)。 成立しない操作は候補に出さない——落とせるのに何も起きない、を作らないため。

      既定はfalse=妨げない。 repeatLimitingVesselCountと同じく、取りこぼしても安全側(操作は出る)に 倒れるので抽象にしない。

      パラメータ

      戻り値 boolean

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

      パラメータ

      戻り値 void

    • weightで重み付き抽選して1つ選ぶ。候補が非空であることは呼び出し側が保証する。

      全候補の重みが0なら先頭の候補が選ばれる。 何も起きない手番を作らないための規約で、 「起こりうることが1つも無い」ときに何を選ぶかは抽選(pickWeighted)ではなくこちらが決める。

      パラメータ

      戻り値 PickCandidateDef