Skip to main content

wowlab_engine_content/generated/items/
vaelgors_final_stare.rs

1//! @generated by codegen-cli from manifests/items.toml (VAELGORS_FINAL_STARE) -- do not edit by hand.
2// Generated code: naming follows game data conventions.
3#![allow(non_snake_case, dead_code)]
4use wowlab_engine_combat::{
5    CombatSystemBuilder, AuraDefinitionDraft, SpellDefinitionDraft,
6};
7use wowlab_engine_gamedata::{ItemBudget, ResolvedGameData};
8///<https://wowlab.gg/inspect/item/249346>
9pub(crate) const ITEM_ID: u32 = 249_346;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/1260459>
12    pub(crate) const USE: u32 = 1_260_459;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/1260459>
16    pub(crate) const NULLSIGHT: u32 = 1_260_459;
17}
18fn aura_nullsight(
19    a: AuraDefinitionDraft,
20    data: &ResolvedGameData,
21    budget: ItemBudget,
22) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
23    Ok(
24        a
25            .on_player()
26            .apply_base_from_data(data, 1_260_459)?
27            .max_stacks(
28                wowlab_engine_combat::validated_max_stacks(
29                    15.0,
30                    1_260_459,
31                    "aura.max_stacks",
32                )?,
33            )
34            .rating_per_stack(
35                data,
36                wowlab_types::game::RatingType::Mastery,
37                (data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_259_293), 1)
38                    * budget.rating) / (15.0),
39            )?
40            .reverse()
41            .periodic_stack_tick(
42                wowlab_engine_combat::validated_milliseconds(
43                    1000.0,
44                    1_260_459,
45                    "aura.stack_tick_ms",
46                )?,
47            )
48            .clip_tick_behavior(1),
49    )
50}
51fn spell_use(
52    s: SpellDefinitionDraft,
53    data: &ResolvedGameData,
54) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
55    s.apply_cooldown_pools_from_data(data, 1_260_459)
56}
57pub(crate) fn register(
58    builder: CombatSystemBuilder,
59    data: &ResolvedGameData,
60    budget: ItemBudget,
61) -> CombatSystemBuilder {
62    crate::items::register_item!(
63        builder, data, "Vaelgors Final Stare", auras : (budget) [(AURA::NULLSIGHT,
64        aura_nullsight),], spells : [(SPELL::USE, spell_use),]
65    )
66}