Skip to main content

wowlab_engine_content/generated/items/
heart_of_ancient_hunger.rs

1//! @generated by codegen-cli from manifests/items.toml (HEART_OF_ANCIENT_HUNGER) -- 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/249342>
7pub(crate) const ITEM_ID: u32 = 249_342;
8///<https://wowlab.gg/inspect/spell/1251822>
9pub(crate) const DRIVER_SPELL_ID: u32 = 1_251_822;
10pub(crate) mod SPELL {}
11pub(crate) mod AURA {
12    ///<https://wowlab.gg/inspect/spell/1262753>
13    pub(crate) const HUNGER: u32 = 1_262_753;
14}
15pub(crate) mod AURA_BINDING {
16    pub(crate) const HUNGER: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::heart_of_ancient_hunger::HUNGER;
17}
18pub(crate) mod SPELL_BINDING {}
19pub(crate) const RPPM_BINDING: wowlab_engine_combat::RppmBinding = wowlab_engine_combat::generated_identities::items::heart_of_ancient_hunger::RPPM;
20pub(crate) mod DAMAGE_SPELL {}
21pub(crate) mod DAMAGE_AURA {
22    pub(crate) const HUNGER: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::heart_of_ancient_hunger::damage::ACTION::SPELL_1262753;
23}
24pub(crate) mod DAMAGE_EFFECT {}
25fn aura_hunger(
26    a: AuraDefinitionDraft,
27    data: &ResolvedGameData,
28    budget: ItemBudget,
29) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
30    Ok(
31        a
32            .on_player()
33            .apply_base_from_data(data, 1_262_753)?
34            .max_stacks(
35                wowlab_engine_combat::validated_max_stacks(
36                    12.0,
37                    1_262_753,
38                    "aura.max_stacks",
39                )?,
40            )
41            .rating_per_stack(
42                data,
43                wowlab_types::game::RatingType::Crit,
44                (data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_251_822), 1)
45                    * budget.rating) / (12.0),
46            )?
47            .reverse()
48            .periodic_stack_tick(
49                wowlab_engine_combat::validated_milliseconds(
50                    1000.0,
51                    1_262_753,
52                    "aura.stack_tick_ms",
53                )?,
54            )
55            .clip_tick_behavior(1),
56    )
57}
58pub(crate) fn register(
59    builder: CombatSystemBuilder,
60    data: &ResolvedGameData,
61    budget: ItemBudget,
62) -> CombatSystemBuilder {
63    let builder = builder
64        .effect_identities(
65            wowlab_engine_combat::generated_identities::items::heart_of_ancient_hunger::damage::ALL,
66        );
67
68    crate::items::register_item!(
69        builder, data, "Heart Of Ancient Hunger", rppm_driver : (RPPM_BINDING, ITEM_ID,
70        1_251_822), auras : (budget) [(AURA::HUNGER, AURA_BINDING::HUNGER, aura_hunger),]
71    )
72}