Skip to main content

wowlab_engine_content/generated/items/
aberrant_spellforge.rs

1//! @generated by codegen-cli from manifests/items.toml (ABERRANT_SPELLFORGE) -- 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/212451>
9pub(crate) const ITEM_ID: u32 = 212_451;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/445619>
12    pub(crate) const USE: u32 = 445_619;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/443415>
16    pub(crate) const EQUIP: u32 = 443_415;
17}
18pub(crate) mod EFFECT {
19    ///<https://wowlab.gg/inspect/spell/445619>
20    pub(crate) const USE_DAMAGE: (u32, u8) = (445_619, 1);
21}
22fn aura_equip(
23    a: AuraDefinitionDraft,
24    data: &ResolvedGameData,
25    _budget: ItemBudget,
26) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
27    Ok(
28        a
29            .on_player()
30            .apply_base_from_data(data, 443_415)?
31            .max_stacks(
32                data
33                    .require_aura_max_stacks(
34                        wowlab_types::sim::SpellIdx::from_raw(443_415),
35                    )?,
36            ),
37    )
38}
39fn spell_use(
40    s: SpellDefinitionDraft,
41    data: &ResolvedGameData,
42) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
43    Ok(
44        s
45            .apply_cooldown_pools_from_data(data, 445_619)?
46            .on_cast(crate::hooks::items::aberrant_spellforge::on_cast_use),
47    )
48}
49pub(crate) fn register(
50    builder: CombatSystemBuilder,
51    data: &ResolvedGameData,
52    budget: ItemBudget,
53) -> CombatSystemBuilder {
54    crate::items::register_item!(
55        builder, data, "Aberrant Spellforge", auras : (budget) [(AURA::EQUIP,
56        aura_equip),], spells : [(SPELL::USE, spell_use),]
57    )
58}