Skip to main content

wowlab_engine_content/generated/items/
locuswalkers_ribbon.rs

1//! @generated by codegen-cli from manifests/items.toml (LOCUSWALKERS_RIBBON) -- 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/249809>
9pub(crate) const ITEM_ID: u32 = 249_809;
10///<https://wowlab.gg/inspect/spell/1259314>
11pub(crate) const DRIVER_SPELL_ID: u32 = 1_259_314;
12pub(crate) mod SPELL {
13    ///<https://wowlab.gg/inspect/spell/1259317>
14    pub(crate) const TEMPTATION: u32 = 1_259_317;
15}
16pub(crate) mod AURA {
17    ///<https://wowlab.gg/inspect/spell/1259317>
18    pub(crate) const TEMPTATION: u32 = 1_259_317;
19    ///<https://wowlab.gg/inspect/spell/1268058>
20    pub(crate) const DEEPENING: u32 = 1_268_058;
21}
22fn aura_temptation(
23    a: AuraDefinitionDraft,
24    data: &ResolvedGameData,
25    budget: ItemBudget,
26) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
27    a.on_player()
28        .apply_base_from_data(data, 1_259_317)?
29        .max_stacks(
30            data
31                .require_aura_max_stacks(
32                    wowlab_types::sim::SpellIdx::from_raw(1_259_317),
33                )?,
34        )
35        .primary_per_stack(
36            data.coefficient(wowlab_types::sim::SpellIdx::from_raw(1_259_314), 1)
37                * budget.stat,
38        )
39}
40fn aura_deepening(
41    a: AuraDefinitionDraft,
42    data: &ResolvedGameData,
43    _budget: ItemBudget,
44) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
45    Ok(
46        a
47            .on_player()
48            .apply_base_from_data(data, 1_268_058)?
49            .max_stacks(
50                data
51                    .require_aura_max_stacks(
52                        wowlab_types::sim::SpellIdx::from_raw(1_268_058),
53                    )?,
54            ),
55    )
56}
57fn spell_temptation(
58    s: SpellDefinitionDraft,
59    data: &ResolvedGameData,
60) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
61    Ok(
62        s
63            .apply_cooldown_pools_from_data(data, 1_259_317)?
64            .applies_aura_id(AURA::TEMPTATION),
65    )
66}
67pub(crate) fn register(
68    builder: CombatSystemBuilder,
69    data: &ResolvedGameData,
70    budget: ItemBudget,
71) -> CombatSystemBuilder {
72    crate::items::register_item!(
73        builder, data, "Locuswalkers Ribbon", rppm_driver : (ITEM_ID, 1_259_314), auras :
74        (budget) [(AURA::TEMPTATION, aura_temptation), (AURA::DEEPENING,
75        aura_deepening),], spells : [(SPELL::TEMPTATION, spell_temptation),]
76    )
77}