Skip to main content

wowlab_engine_content/generated/items/
light_company_guidon.rs

1//! @generated by codegen-cli from manifests/items.toml (LIGHT_COMPANY_GUIDON) -- 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/249344>
9pub(crate) const ITEM_ID: u32 = 249_344;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/1259633>
12    pub(crate) const USE: u32 = 1_259_633;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/1259633>
16    pub(crate) const CHARGE: u32 = 1_259_633;
17}
18pub(crate) mod AURA_BINDING {
19    pub(crate) const CHARGE: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::light_company_guidon::CHARGE;
20}
21pub(crate) mod SPELL_BINDING {
22    pub(crate) const USE: wowlab_engine_combat::SpellBinding = wowlab_engine_combat::generated_identities::items::light_company_guidon::SPELL_USE;
23}
24pub(crate) mod DAMAGE_SPELL {
25    pub(crate) const USE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::light_company_guidon::damage::ACTION::SPELL_1259633;
26}
27pub(crate) mod DAMAGE_AURA {
28    pub(crate) const CHARGE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::light_company_guidon::damage::ACTION::SPELL_1259633;
29}
30pub(crate) mod DAMAGE_EFFECT {}
31fn aura_charge(
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_259_633)?
38        .max_stacks(
39            data
40                .require_aura_max_stacks(
41                    wowlab_types::sim::SpellIdx::from_raw(1_259_633),
42                )?,
43        )
44        .rating_per_stack(
45            data,
46            wowlab_types::game::RatingType::Haste,
47            data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_251_817), 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_259_633)
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::light_company_guidon::damage::ALL,
65        );
66
67    crate::items::register_item!(
68        builder, data, "Light Company Guidon", auras : (budget) [(AURA::CHARGE,
69        AURA_BINDING::CHARGE, aura_charge),], spells : [(SPELL::USE, SPELL_BINDING::USE,
70        spell_use),]
71    )
72}