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

    クラス DestroyEffect

    destroy の1命令(対象オブジェクトそのものを削除する、9.3節)。destroy: [self, instrument]は 要素2つのDestroyEffectとして表す。same_slot spawnとの連携はsameSlotSpawnSite(ActiveEffect参照)が担う。

    消し方に名前を添えられる(reason、9.3節)。名前は消された側に残り、後から「どう消されたか」を 答える(WorldObject.destroyedReason)——渇きで死んだのか、ただ立ち去ったのかは、消した宣言だけが知っている。

    階層 (一覧を見る)

    インデックス
    reason: string | undefined

    この消滅の名前(9.3節)。書かれていなければundefinedで、消された側は何も名乗らない。

    target: ObjectRef
    • get destroysInstrument(): boolean

      対象キーで指した相手だけが答えられる——個体や型で指す形は、宣言の時点では誰を消すか決まらない。

      戻り値 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

    • まとめて実行するとき、回数の上限を決める器がいくつあるか(allow_multiple、12.4節)。 undefinedは「繰り返すと意味が変わるので数えられない」。

      既定は0=数に影響しない。 取りこぼしても「まとめられない」に倒れるだけで安全側なので、readByと 違い抽象にしない。数を決められるのは、単調に埋まる器へ入れる効果だけ。

      戻り値 number | undefined