pub struct WaveFightData {
pub entities: Vec<WaveEntityPower>,
pub waves: Vec<Vec<WaveSpawn>>,
pub time: f64,
pub power: Option<f64>,
pub stream_active_count: Option<u64>,
pub reward_mob_budget: Option<u64>,
pub summon_wave_at_hp_fraction: Option<f64>,
pub enemy_damage_mult: Option<f64>,
}Expand description
Typed form of the fight_data prepare-fight blob fed to spawn_wave.
Fields§
§entities: Vec<WaveEntityPower>entities[].{ entity_id, power } — the per-template relative powers.
waves: Vec<Vec<WaveSpawn>>waves[][].{ data: { entity_id, delay }, position }.
time: f64time — the fight time budget used to normalise mob HP.
power: Option<f64>The per-fight reference power (base_power for spawn_wave).
None mirrors a missing/unconfigured value (treated as 0.0 by callers).
stream_active_count: Option<u64>Max enemies on the field at once (the death-gated exit cap, revived under
the slot model — docs/growing-enemy-waves-plan.md). The first cap mobs
of a wave exit on their timers; the rest park off-screen (exit_gated)
and are released one per enemy kill, lowest queue position first.
None (or cap ≥ wave size) = all exits on timers, previous behaviour
bit-for-bit.
reward_mob_budget: Option<u64>Reward/weight budget (growing-enemy-waves plan §2): the fight’s ORIGINAL
total mob count. spawn_wave stamps wave_share = reward_mob_budget / actual_total_mob_count on every mob so per-kill drops / pet-ult charge /
counters stay count-invariant. None ⇒ share 1.0 (legacy, bit-identical).
summon_wave_at_hp_fraction: Option<f64>Boss summon: when set, the LAST wave is a summon wave — spawned by the
damage handler when a boss drops below this HP fraction, never by wave
clear (see PrepareFightWaves::summon_wave_at_hp_fraction). Its slots
anchor at the player’s CURRENT column (no formation dash precedes it).
enemy_damage_mult: Option<f64>Per-fight enemy damage multiplier: scales the fight’s damage budget
(eff_hp) only — HP, fight length and loot pacing unchanged.
None ⇒ 1.0 (see PrepareFightWaves::enemy_damage_mult).
Trait Implementations§
Source§impl Clone for WaveFightData
impl Clone for WaveFightData
Source§fn clone(&self) -> WaveFightData
fn clone(&self) -> WaveFightData
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more