wowlab_engine_content/generated/items/
aberrant_spellforge.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 = 212_451;
10pub(crate) mod SPELL {
11 pub(crate) const USE: u32 = 445_619;
13}
14pub(crate) mod AURA {
15 pub(crate) const EQUIP: u32 = 443_415;
17}
18pub(crate) mod EFFECT {
19 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}