Skip to main content

wowlab_engine_content/generated/items/
gaze_of_the_alnseer.rs

1//! @generated by codegen-cli from manifests/items.toml (GAZE_OF_THE_ALNSEER) -- 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/249343>
7pub(crate) const ITEM_ID: u32 = 249_343;
8///<https://wowlab.gg/inspect/spell/1256896>
9pub(crate) const DRIVER_SPELL_ID: u32 = 1_256_896;
10pub(crate) mod SPELL {}
11pub(crate) mod AURA {
12    ///<https://wowlab.gg/inspect/spell/1266686>
13    pub(crate) const ALNSIGHT: u32 = 1_266_686;
14    ///<https://wowlab.gg/inspect/spell/1266687>
15    pub(crate) const ESSENCE: u32 = 1_266_687;
16}
17pub(crate) mod AURA_BINDING {
18    pub(crate) const ALNSIGHT: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::gaze_of_the_alnseer::ALNSIGHT;
19    pub(crate) const ESSENCE: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::gaze_of_the_alnseer::ESSENCE;
20}
21pub(crate) mod SPELL_BINDING {}
22pub(crate) const RPPM_BINDING: wowlab_engine_combat::RppmBinding = wowlab_engine_combat::generated_identities::items::gaze_of_the_alnseer::RPPM;
23pub(crate) mod DAMAGE_SPELL {}
24pub(crate) mod DAMAGE_AURA {
25    pub(crate) const ALNSIGHT: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::gaze_of_the_alnseer::damage::ACTION::SPELL_1266686;
26    pub(crate) const ESSENCE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::gaze_of_the_alnseer::damage::ACTION::SPELL_1266687;
27}
28pub(crate) mod DAMAGE_EFFECT {}
29fn aura_alnsight(
30    a: AuraDefinitionDraft,
31    data: &ResolvedGameData,
32    _budget: ItemBudget,
33) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
34    Ok(
35        a
36            .on_player()
37            .apply_base_from_data(data, 1_266_686)?
38            .max_stacks(
39                data
40                    .require_aura_max_stacks(
41                        wowlab_types::sim::SpellIdx::from_raw(1_266_686),
42                    )?,
43            ),
44    )
45}
46fn aura_essence(
47    a: AuraDefinitionDraft,
48    data: &ResolvedGameData,
49    budget: ItemBudget,
50) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
51    a.on_player()
52        .apply_base_from_data(data, 1_266_687)?
53        .max_stacks(
54            data
55                .require_aura_max_stacks(
56                    wowlab_types::sim::SpellIdx::from_raw(1_266_687),
57                )?,
58        )
59        .primary_per_stack(
60            data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_256_896), 1)
61                * budget.stat,
62        )
63}
64pub(crate) fn register(
65    builder: CombatSystemBuilder,
66    data: &ResolvedGameData,
67    budget: ItemBudget,
68) -> CombatSystemBuilder {
69    let builder = builder
70        .effect_identities(
71            wowlab_engine_combat::generated_identities::items::gaze_of_the_alnseer::damage::ALL,
72        );
73
74    crate::items::register_item!(
75        builder, data, "Gaze Of The Alnseer", rppm_driver : (RPPM_BINDING, ITEM_ID,
76        1_256_896), auras : (budget) [(AURA::ALNSIGHT, AURA_BINDING::ALNSIGHT,
77        aura_alnsight), (AURA::ESSENCE, AURA_BINDING::ESSENCE, aura_essence),]
78    )
79}