Skip to main content

wowlab_engine_content/generated/items/
foul_behemoth_chelicera.rs

1//! @generated by codegen-cli from manifests/items.toml (FOUL_BEHEMOTH_CHELICERA) -- 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/219915>
9pub(crate) const ITEM_ID: u32 = 219_915;
10pub(crate) mod SPELL {
11    ///<https://wowlab.gg/inspect/spell/444264>
12    pub(crate) const USE: u32 = 444_264;
13}
14pub(crate) mod AURA {
15    ///<https://wowlab.gg/inspect/spell/444258>
16    pub(crate) const EQUIP: u32 = 444_258;
17    ///<https://wowlab.gg/inspect/spell/444264>
18    pub(crate) const DIGESTIVE_VENOM: u32 = 444_264;
19}
20fn aura_equip(
21    a: AuraDefinitionDraft,
22    data: &ResolvedGameData,
23    _budget: ItemBudget,
24) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
25    Ok(
26        a
27            .on_player()
28            .apply_base_from_data(data, 444_258)?
29            .max_stacks(
30                data
31                    .require_aura_max_stacks(
32                        wowlab_types::sim::SpellIdx::from_raw(444_258),
33                    )?,
34            ),
35    )
36}
37fn aura_digestive_venom(
38    a: AuraDefinitionDraft,
39    data: &ResolvedGameData,
40    _budget: ItemBudget,
41) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
42    a.on_target()
43        .apply_base_from_data(data, 444_264)?
44        .max_stacks(
45            data.require_aura_max_stacks(wowlab_types::sim::SpellIdx::from_raw(444_264))?,
46        )
47        .periodic_damage_sp(
48            wowlab_engine_combat::validated_milliseconds(
49                2000.0,
50                444_264,
51                "periodic_damage.tick_ms",
52            )?,
53            0.0,
54            wowlab_engine_combat::DamageFlags::empty(),
55        )
56        .apply_periodic_behavior_from_data(data, 444_264)
57}
58fn spell_use(
59    s: SpellDefinitionDraft,
60    data: &ResolvedGameData,
61) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
62    s.apply_cooldown_pools_from_data(data, 444_264)
63}
64pub(crate) fn register(
65    builder: CombatSystemBuilder,
66    data: &ResolvedGameData,
67    budget: ItemBudget,
68) -> CombatSystemBuilder {
69    crate::items::register_item!(
70        builder, data, "Foul Behemoth Chelicera", rppm : (ITEM_ID, 2.5, true), auras :
71        (budget) [(AURA::EQUIP, aura_equip), (AURA::DIGESTIVE_VENOM,
72        aura_digestive_venom),], spells : [(SPELL::USE, spell_use),]
73    )
74}