Skip to main content

wowlab_engine_content/generated/items/
emberwing_feather.rs

1//! @generated by codegen-cli from manifests/items.toml (EMBERWING_FEATHER) -- 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/250144>
9pub(crate) const ITEM_ID: u32 = 250_144;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/1250508>
12    pub(crate) const USE: u32 = 1_250_508;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/1250508>
16    pub(crate) const HEATWAVE: u32 = 1_250_508;
17}
18fn aura_heatwave(
19    a: AuraDefinitionDraft,
20    data: &ResolvedGameData,
21    budget: ItemBudget,
22) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
23    a.on_player()
24        .apply_base_from_data(data, 1_250_508)?
25        .max_stacks(
26            data
27                .require_aura_max_stacks(
28                    wowlab_types::sim::SpellIdx::from_raw(1_250_508),
29                )?,
30        )
31        .rating_per_stack(
32            data,
33            wowlab_types::game::RatingType::Haste,
34            data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_250_508), 1)
35                * budget.rating,
36        )
37}
38fn spell_use(
39    s: SpellDefinitionDraft,
40    data: &ResolvedGameData,
41) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
42    s.apply_cooldown_pools_from_data(data, 1_250_508)
43}
44pub(crate) fn register(
45    builder: CombatSystemBuilder,
46    data: &ResolvedGameData,
47    budget: ItemBudget,
48) -> CombatSystemBuilder {
49    crate::items::register_item!(
50        builder, data, "Emberwing Feather", auras : (budget) [(AURA::HEATWAVE,
51        aura_heatwave),], spells : [(SPELL::USE, spell_use),]
52    )
53}