wowlab_engine_content/generated/items/
radiant_plume.rs1#![allow(non_snake_case, dead_code)]
4use wowlab_engine_combat::{CombatSystemBuilder, AuraDefinitionDraft};
5use wowlab_engine_gamedata::{ItemBudget, ResolvedGameData};
6pub(crate) const ITEM_ID: u32 = 249_806;
8pub(crate) mod SPELL {}
9pub(crate) mod AURA {
10 pub(crate) const EQUIP: u32 = 1_260_615;
12}
13pub(crate) mod AURA_BINDING {
14 pub(crate) const EQUIP: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::radiant_plume::EQUIP;
15}
16pub(crate) mod SPELL_BINDING {}
17pub(crate) mod DAMAGE_SPELL {}
18pub(crate) mod DAMAGE_AURA {
19 pub(crate) const EQUIP: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::radiant_plume::damage::ACTION::SPELL_1260615;
20}
21pub(crate) mod DAMAGE_EFFECT {}
22fn aura_equip(
23 a: AuraDefinitionDraft,
24 data: &ResolvedGameData,
25 budget: ItemBudget,
26) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
27 Ok(
28 a
29 .on_player()
30 .duration_ms(
31 wowlab_engine_combat::validated_milliseconds(
32 60000.0,
33 1_260_615,
34 "aura.duration_ms",
35 )?,
36 )
37 .apply_periodic_effect_from_data(data, 1_260_615)?
38 .max_stacks(
39 wowlab_engine_combat::validated_max_stacks(
40 60.0,
41 1_260_615,
42 "aura.max_stacks",
43 )?,
44 )
45 .rating_per_stack(
46 data,
47 wowlab_types::game::RatingType::Mastery,
48 (data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_260_592), 1)
49 * budget.rating) / (60.0),
50 )?
51 .reverse()
52 .reapply_on_expire()
53 .periodic_stack_tick(
54 wowlab_engine_combat::validated_milliseconds(
55 1000.0,
56 1_260_615,
57 "aura.stack_tick_ms",
58 )?,
59 )
60 .clip_tick_behavior(1),
61 )
62}
63pub(crate) fn register(
64 builder: CombatSystemBuilder,
65 data: &ResolvedGameData,
66 budget: ItemBudget,
67) -> CombatSystemBuilder {
68 let builder = builder
69 .effect_identities(
70 wowlab_engine_combat::generated_identities::items::radiant_plume::damage::ALL,
71 );
72
73 crate::items::register_item!(
74 builder, data, "Radiant Plume", auras : (budget) [(AURA::EQUIP,
75 AURA_BINDING::EQUIP, aura_equip),], precombat : [AURA::EQUIP,]
76 )
77}