コンテンツにスキップ

ストリームモデル

状態: 設計中

関連: ヘキサグリッド接続規則 / 実行モデル / 伝播強度とコスト

ストリームは、スキルコアからオーグメントへ渡される論理データ。盤面を評価する途中では戦闘エンティティを生成せず、終端へ到達した内容をSpawn Requestへ変換する。

この区別により、斉射のCountを一括で加工しながら、戦闘中の衝突、寿命、追尾対象は個別エンティティとして扱える。

フィールド 内容
ValueType Projectile、Area、Event、Power
CastId 手動発動と全派生を識別するID
PulseId 循環やイベントによる処理世代を識別するID
Count 同じ定義から生成する個数
Propagation 残り伝播強度
Element Fire、Ice、Lightning、Arcaneなど
Damage 1個あたりの基礎ダメージ
CritChance Hit一回ごとのクリティカル率
CritMultiplier クリティカル時のダメージ倍率
CanCrit このストリームから生じるHitがクリティカル可能か
Traits Homing、Pierce、Returnなどの追加特性
ManaLedger 発動中に共有するマナ予約と支払い状況
Path 通過したコア、セル、入力辺、出力辺

型固有の値は別成分として持つ。Projectileは速度と寿命、Areaは半径と持続時間、Eventは発生条件と対象情報、Powerは供給できる強度と属性を持つ。

終端へ到達したProjectileストリームは、次のような生成要求になる。

SpawnRequest
Type: Projectile
Count: 3
Element: Fire
Damage: 20
CritChance: 0.05
CritMultiplier: 1.5
Speed: 10
Traits: [Homing]
SourceCast: 1042
SourcePath: core.fireball → count.volley → projectile.homing

戦闘側はCountを展開し、3個のProjectile Entityを生成する。各エンティティは別々の位置、進行方向、衝突、寿命、追尾対象を持てる。

独立分岐はストリームを複数作る。分岐後のPath、Traits、Propagationは別々に変化する。

斉射はストリームを増やさずCountを変更する。後続オーグメントは一度評価され、その結果をCount内の全個体へ適用する。

構築 ストリーム数 終端Count 後続変換
ファイアーボール→斉射3→追尾 1 3 3個すべて追尾
ファイアーボール→三叉 3 各1 枝ごとに変更可能
斉射3→三叉均等分配 最大3 合計3 個数を枝へ配分

変換型は入力ストリームを直接変更せず、変更後の出力を新しい値として作る。

  • CastIdとManaLedgerは派生先で共有する。
  • Pathは出力ごとに追加する。
  • Count、Propagation、Damage、クリティカル値はオーグメントの規則に従う。
  • Traitsは特記がなければ引き継ぐ。
  • Eventへ変換するときは、発生に必要な情報だけを予約へ保存する。

合流型は複数ストリームから新しい1ストリームを作る。

  • ValueTypeの組み合わせはオーグメントごとに定義する。
  • CastIdが異なる入力は合流できない。
  • Pathは全入力経路と合流セルを保持する。
  • Count、Damage、Propagationの合成式を省略しない。
  • Traitsが競合した場合は、不成立または個別の解決規則を使う。
  • Countは0以上の整数。
  • Propagationが0以下のストリームは次のタイルを起動できない。
  • 同じSpawn Request内の個体は、生成時点まで同じ成分を持つ。
  • 独立したストリームは、合流型を通らない限り自動で一つにならない。
  • マナ予算は分岐で複製しない。
  • すべての生成物から元のCastIdとPathを追跡できる。