Skip to main content

wowlab_engine_content/generated/items/
perfidious_projector.rs

1//! @generated by codegen-cli from manifests/items.toml (PERFIDIOUS_PROJECTOR) -- 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/242403>
9pub(crate) const ITEM_ID: u32 = 242_403;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/1244636>
12    pub(crate) const USE: u32 = 1_244_636;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/1235557>
16    pub(crate) const EQUIP: u32 = 1_235_557;
17}
18fn aura_equip(
19    a: AuraDefinitionDraft,
20    data: &ResolvedGameData,
21    _budget: ItemBudget,
22) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
23    Ok(
24        a
25            .on_player()
26            .apply_base_from_data(data, 1_235_557)?
27            .max_stacks(
28                data
29                    .require_aura_max_stacks(
30                        wowlab_types::sim::SpellIdx::from_raw(1_235_557),
31                    )?,
32            ),
33    )
34}
35fn spell_use(
36    s: SpellDefinitionDraft,
37    data: &ResolvedGameData,
38) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
39    s.apply_cooldown_pools_from_data(data, 1_244_636)
40}
41pub(crate) fn register(
42    builder: CombatSystemBuilder,
43    data: &ResolvedGameData,
44    budget: ItemBudget,
45) -> CombatSystemBuilder {
46    crate::items::register_item!(
47        builder, data, "Perfidious Projector", auras : (budget) [(AURA::EQUIP,
48        aura_equip),], spells : [(SPELL::USE, spell_use),]
49    )
50}