Skip to main content

wowlab_engine_content/generated/items/
araz_ritual_forge.rs

1//! @generated by codegen-cli from manifests/items.toml (ARAZ_RITUAL_FORGE) -- 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/242402>
9pub(crate) const ITEM_ID: u32 = 242_402;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/1232802>
12    pub(crate) const USE: u32 = 1_232_802;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/1232797>
16    pub(crate) const EQUIP: u32 = 1_232_797;
17}
18pub(crate) mod AURA_BINDING {
19    pub(crate) const EQUIP: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::araz_ritual_forge::EQUIP;
20}
21pub(crate) mod SPELL_BINDING {
22    pub(crate) const USE: wowlab_engine_combat::SpellBinding = wowlab_engine_combat::generated_identities::items::araz_ritual_forge::SPELL_USE;
23}
24pub(crate) mod DAMAGE_SPELL {
25    pub(crate) const USE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::araz_ritual_forge::damage::ACTION::SPELL_1232802;
26}
27pub(crate) mod DAMAGE_AURA {
28    pub(crate) const EQUIP: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::araz_ritual_forge::damage::ACTION::SPELL_1232797;
29}
30pub(crate) mod DAMAGE_EFFECT {
31    pub(crate) const USE_DAMAGE: wowlab_engine_combat::DamageEffectId = wowlab_engine_combat::generated_identities::items::araz_ritual_forge::damage::EFFECT::SPELL_1232802_EFFECT_1;
32}
33pub(crate) mod EFFECT {
34    ///<https://wowlab.gg/inspect/spell/1232802>
35    pub(crate) const USE_DAMAGE: (u32, u8) = (1_232_802, 1);
36}
37fn aura_equip(
38    a: AuraDefinitionDraft,
39    data: &ResolvedGameData,
40    _budget: ItemBudget,
41) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
42    Ok(
43        a
44            .on_player()
45            .apply_base_from_data(data, 1_232_797)?
46            .max_stacks(
47                data
48                    .require_aura_max_stacks(
49                        wowlab_types::sim::SpellIdx::from_raw(1_232_797),
50                    )?,
51            ),
52    )
53}
54fn spell_use(
55    s: SpellDefinitionDraft,
56    data: &ResolvedGameData,
57) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
58    Ok(
59        s
60            .apply_cooldown_pools_from_data(data, 1_232_802)?
61            .on_cast(crate::hooks::items::araz_ritual_forge::on_cast_use),
62    )
63}
64pub(crate) fn register(
65    builder: CombatSystemBuilder,
66    data: &ResolvedGameData,
67    budget: ItemBudget,
68) -> CombatSystemBuilder {
69    let builder = builder
70        .effect_identities(
71            wowlab_engine_combat::generated_identities::items::araz_ritual_forge::damage::ALL,
72        );
73
74    crate::items::register_item!(
75        builder, data, "Araz Ritual Forge", auras : (budget) [(AURA::EQUIP,
76        AURA_BINDING::EQUIP, aura_equip),], spells : [(SPELL::USE, SPELL_BINDING::USE,
77        spell_use),]
78    )
79}