Skip to main content

wowlab_engine_content/generated/items/
mister_lock_n_stalk.rs

1//! @generated by codegen-cli from manifests/items.toml (MISTER_LOCK_N_STALK) -- 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/230193>
9pub(crate) const ITEM_ID: u32 = 230_193;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/467485>
12    pub(crate) const USE: u32 = 467_485;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/467469>
16    pub(crate) const EQUIP: u32 = 467_469;
17}
18pub(crate) mod AURA_BINDING {
19    pub(crate) const EQUIP: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::mister_lock_n_stalk::EQUIP;
20}
21pub(crate) mod SPELL_BINDING {
22    pub(crate) const USE: wowlab_engine_combat::SpellBinding = wowlab_engine_combat::generated_identities::items::mister_lock_n_stalk::SPELL_USE;
23}
24pub(crate) mod DAMAGE_SPELL {
25    pub(crate) const USE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::mister_lock_n_stalk::damage::ACTION::SPELL_467485;
26}
27pub(crate) mod DAMAGE_AURA {
28    pub(crate) const EQUIP: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::mister_lock_n_stalk::damage::ACTION::SPELL_467469;
29}
30pub(crate) mod DAMAGE_EFFECT {}
31fn aura_equip(
32    a: AuraDefinitionDraft,
33    data: &ResolvedGameData,
34    _budget: ItemBudget,
35) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
36    Ok(
37        a
38            .on_player()
39            .apply_base_from_data(data, 467_469)?
40            .max_stacks(
41                data
42                    .require_aura_max_stacks(
43                        wowlab_types::sim::SpellIdx::from_raw(467_469),
44                    )?,
45            ),
46    )
47}
48fn spell_use(
49    s: SpellDefinitionDraft,
50    data: &ResolvedGameData,
51) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
52    s.apply_cooldown_pools_from_data(data, 467_485)
53}
54pub(crate) fn register(
55    builder: CombatSystemBuilder,
56    data: &ResolvedGameData,
57    budget: ItemBudget,
58) -> CombatSystemBuilder {
59    let builder = builder
60        .effect_identities(
61            wowlab_engine_combat::generated_identities::items::mister_lock_n_stalk::damage::ALL,
62        );
63
64    crate::items::register_item!(
65        builder, data, "Mister Lock N Stalk", auras : (budget) [(AURA::EQUIP,
66        AURA_BINDING::EQUIP, aura_equip),], spells : [(SPELL::USE, SPELL_BINDING::USE,
67        spell_use),]
68    )
69}