wowlab_engine_content/generated/items/
light_company_guidon.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 = 249_344;
10pub(crate) mod SPELL {
11 pub(crate) const USE: u32 = 1_259_633;
13}
14pub(crate) mod AURA {
15 pub(crate) const CHARGE: u32 = 1_259_633;
17}
18fn aura_charge(
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_259_633)?
25 .max_stacks(
26 data
27 .require_aura_max_stacks(
28 wowlab_types::sim::SpellIdx::from_raw(1_259_633),
29 )?,
30 )
31 .rating_per_stack(
32 data,
33 wowlab_types::game::RatingType::Haste,
34 data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_251_817), 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_259_633)
43}
44pub(crate) fn register(
45 builder: CombatSystemBuilder,
46 data: &ResolvedGameData,
47 budget: ItemBudget,
48) -> CombatSystemBuilder {
49 crate::items::register_item!(
50 builder, data, "Light Company Guidon", auras : (budget) [(AURA::CHARGE,
51 aura_charge),], spells : [(SPELL::USE, spell_use),]
52 )
53}