wowlab_engine_content/generated/items/
emberwing_feather.rs1#![allow(non_snake_case, dead_code)]
4use wowlab_engine_combat::{
5 CombatSystemBuilder, AuraDefinitionDraft, SpellDefinitionDraft,
6};
7use wowlab_engine_gamedata::{ItemBudget, ResolvedGameData};
8pub(crate) const ITEM_ID: u32 = 250_144;
10pub(crate) mod SPELL {
11 pub(crate) const USE: u32 = 1_250_508;
13}
14pub(crate) mod AURA {
15 pub(crate) const HEATWAVE: u32 = 1_250_508;
17}
18pub(crate) mod AURA_BINDING {
19 pub(crate) const HEATWAVE: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::emberwing_feather::HEATWAVE;
20}
21pub(crate) mod SPELL_BINDING {
22 pub(crate) const USE: wowlab_engine_combat::SpellBinding = wowlab_engine_combat::generated_identities::items::emberwing_feather::SPELL_USE;
23}
24pub(crate) mod DAMAGE_SPELL {
25 pub(crate) const USE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::emberwing_feather::damage::ACTION::SPELL_1250508;
26}
27pub(crate) mod DAMAGE_AURA {
28 pub(crate) const HEATWAVE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::emberwing_feather::damage::ACTION::SPELL_1250508;
29}
30pub(crate) mod DAMAGE_EFFECT {}
31fn aura_heatwave(
32 a: AuraDefinitionDraft,
33 data: &ResolvedGameData,
34 budget: ItemBudget,
35) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
36 a.on_player()
37 .apply_base_from_data(data, 1_250_508)?
38 .max_stacks(
39 data
40 .require_aura_max_stacks(
41 wowlab_types::sim::SpellIdx::from_raw(1_250_508),
42 )?,
43 )
44 .rating_per_stack(
45 data,
46 wowlab_types::game::RatingType::Haste,
47 data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_250_508), 1)
48 * budget.rating,
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_250_508)
56}
57pub(crate) fn register(
58 builder: CombatSystemBuilder,
59 data: &ResolvedGameData,
60 budget: ItemBudget,
61) -> CombatSystemBuilder {
62 let builder = builder
63 .effect_identities(
64 wowlab_engine_combat::generated_identities::items::emberwing_feather::damage::ALL,
65 );
66
67 crate::items::register_item!(
68 builder, data, "Emberwing Feather", auras : (budget) [(AURA::HEATWAVE,
69 AURA_BINDING::HEATWAVE, aura_heatwave),], spells : [(SPELL::USE,
70 SPELL_BINDING::USE, spell_use),]
71 )
72}