Skip to main content

wowlab_engine_content/generated/items/
umbral_plume.rs

1//! @generated by codegen-cli from manifests/items.toml (UMBRAL_PLUME) -- do not edit by hand.
2// Generated code: naming follows game data conventions.
3#![allow(non_snake_case, dead_code)]
4use wowlab_engine_combat::{CombatSystemBuilder, AuraDefinitionDraft};
5use wowlab_engine_gamedata::{ItemBudget, ResolvedGameData};
6///<https://wowlab.gg/inspect/item/260235>
7pub(crate) const ITEM_ID: u32 = 260_235;
8pub(crate) mod SPELL {}
9pub(crate) mod AURA {
10    ///<https://wowlab.gg/inspect/spell/1265808>
11    pub(crate) const EQUIP: u32 = 1_265_808;
12}
13fn aura_equip(
14    a: AuraDefinitionDraft,
15    data: &ResolvedGameData,
16    budget: ItemBudget,
17) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
18    Ok(
19        a
20            .on_player()
21            .duration_ms(
22                wowlab_engine_combat::validated_milliseconds(
23                    60000.0,
24                    1_265_808,
25                    "aura.duration_ms",
26                )?,
27            )
28            .apply_periodic_effect_from_data(data, 1_265_808)?
29            .max_stacks(
30                wowlab_engine_combat::validated_max_stacks(
31                    60.0,
32                    1_265_808,
33                    "aura.max_stacks",
34                )?,
35            )
36            .rating_per_stack(
37                data,
38                wowlab_types::game::RatingType::Crit,
39                (data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_265_809), 1)
40                    * budget.rating) / (60.0),
41            )?
42            .reverse()
43            .reapply_on_expire()
44            .periodic_stack_tick(
45                wowlab_engine_combat::validated_milliseconds(
46                    1000.0,
47                    1_265_808,
48                    "aura.stack_tick_ms",
49                )?,
50            )
51            .clip_tick_behavior(1),
52    )
53}
54pub(crate) fn register(
55    builder: CombatSystemBuilder,
56    data: &ResolvedGameData,
57    budget: ItemBudget,
58) -> CombatSystemBuilder {
59    crate::items::register_item!(
60        builder, data, "Umbral Plume", auras : (budget) [(AURA::EQUIP, aura_equip),],
61        precombat : [AURA::EQUIP,]
62    )
63}