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}
18pub(crate) mod AURA_BINDING {
19    pub(crate) const NULLSIGHT: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::vaelgors_final_stare::NULLSIGHT;
20}
21pub(crate) mod SPELL_BINDING {
22    pub(crate) const USE: wowlab_engine_combat::SpellBinding = wowlab_engine_combat::generated_identities::items::vaelgors_final_stare::SPELL_USE;
23}
24pub(crate) mod DAMAGE_SPELL {
25    pub(crate) const USE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::vaelgors_final_stare::damage::ACTION::SPELL_1260459;
26}
27pub(crate) mod DAMAGE_AURA {
28    pub(crate) const NULLSIGHT: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::vaelgors_final_stare::damage::ACTION::SPELL_1260459;
29}
30pub(crate) mod DAMAGE_EFFECT {}
31fn aura_nullsight(
32    a: AuraDefinitionDraft,
33    data: &ResolvedGameData,
34    budget: ItemBudget,
35) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
36    Ok(
37        a
38            .on_player()
39            .apply_base_from_data(data, 1_260_459)?
40            .max_stacks(
41                wowlab_engine_combat::validated_max_stacks(
42                    15.0,
43                    1_260_459,
44                    "aura.max_stacks",
45                )?,
46            )
47            .rating_per_stack(
48                data,
49                wowlab_types::game::RatingType::Mastery,
50                (data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_259_293), 1)
51                    * budget.rating) / (15.0),
52            )?
53            .reverse()
54            .periodic_stack_tick(
55                wowlab_engine_combat::validated_milliseconds(
56                    1000.0,
57                    1_260_459,
58                    "aura.stack_tick_ms",
59                )?,
60            )
61            .clip_tick_behavior(1),
62    )
63}
64fn spell_use(
65    s: SpellDefinitionDraft,
66    data: &ResolvedGameData,
67) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
68    s.apply_cooldown_pools_from_data(data, 1_260_459)
69}
70pub(crate) fn register(
71    builder: CombatSystemBuilder,
72    data: &ResolvedGameData,
73    budget: ItemBudget,
74) -> CombatSystemBuilder {
75    let builder = builder
76        .effect_identities(
77            wowlab_engine_combat::generated_identities::items::vaelgors_final_stare::damage::ALL,
78        );
79
80    crate::items::register_item!(
81        builder, data, "Vaelgors Final Stare", auras : (budget) [(AURA::NULLSIGHT,
82        AURA_BINDING::NULLSIGHT, aura_nullsight),], spells : [(SPELL::USE,
83        SPELL_BINDING::USE, spell_use),]
84    )
85}