wowlab_engine_content/generated/items/
foul_behemoth_chelicera.rs1#![allow(non_snake_case, dead_code)]
4use wowlab_engine_combat::{
5 CombatSystemBuilder, AuraDefinitionDraft, SpellDefinitionDraft,
6};
7use wowlab_engine_gamedata::{ItemBudget, ResolvedGameData};
8pub(crate) const ITEM_ID: u32 = 219_915;
10pub(crate) mod SPELL {
11 pub(crate) const USE: u32 = 444_264;
13}
14pub(crate) mod AURA {
15 pub(crate) const EQUIP: u32 = 444_258;
17 pub(crate) const DIGESTIVE_VENOM: u32 = 444_264;
19}
20pub(crate) mod AURA_BINDING {
21 pub(crate) const EQUIP: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::EQUIP;
22 pub(crate) const DIGESTIVE_VENOM: wowlab_engine_combat::AuraBinding = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::DIGESTIVE_VENOM;
23}
24pub(crate) mod SPELL_BINDING {
25 pub(crate) const USE: wowlab_engine_combat::SpellBinding = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::SPELL_USE;
26}
27pub(crate) const RPPM_BINDING: wowlab_engine_combat::RppmBinding = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::RPPM;
28pub(crate) mod DAMAGE_SPELL {
29 pub(crate) const USE: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::damage::ACTION::SPELL_444264;
30}
31pub(crate) mod DAMAGE_AURA {
32 pub(crate) const EQUIP: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::damage::ACTION::SPELL_444258;
33 pub(crate) const DIGESTIVE_VENOM: wowlab_engine_combat::DamageActionId = wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::damage::ACTION::SPELL_444264;
34}
35pub(crate) mod DAMAGE_EFFECT {}
36fn aura_equip(
37 a: AuraDefinitionDraft,
38 data: &ResolvedGameData,
39 _budget: ItemBudget,
40) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
41 Ok(
42 a
43 .on_player()
44 .apply_base_from_data(data, 444_258)?
45 .max_stacks(
46 data
47 .require_aura_max_stacks(
48 wowlab_types::sim::SpellIdx::from_raw(444_258),
49 )?,
50 ),
51 )
52}
53fn aura_digestive_venom(
54 a: AuraDefinitionDraft,
55 data: &ResolvedGameData,
56 _budget: ItemBudget,
57) -> Result<AuraDefinitionDraft, wowlab_engine_combat::BuilderError> {
58 a.on_target()
59 .apply_base_from_data(data, 444_264)?
60 .max_stacks(
61 data.require_aura_max_stacks(wowlab_types::sim::SpellIdx::from_raw(444_264))?,
62 )
63 .periodic_damage_sp(
64 wowlab_engine_combat::validated_milliseconds(
65 2000.0,
66 444_264,
67 "periodic_damage.tick_ms",
68 )?,
69 0.0,
70 wowlab_engine_combat::DamageFlags::empty(),
71 )
72 .apply_periodic_behavior_from_data(data, 444_264)
73}
74fn spell_use(
75 s: SpellDefinitionDraft,
76 data: &ResolvedGameData,
77) -> Result<SpellDefinitionDraft, wowlab_engine_combat::BuilderError> {
78 s.apply_cooldown_pools_from_data(data, 444_264)
79}
80pub(crate) fn register(
81 builder: CombatSystemBuilder,
82 data: &ResolvedGameData,
83 budget: ItemBudget,
84) -> CombatSystemBuilder {
85 let builder = builder
86 .effect_identities(
87 wowlab_engine_combat::generated_identities::items::foul_behemoth_chelicera::damage::ALL,
88 );
89
90 crate::items::register_item!(
91 builder, data, "Foul Behemoth Chelicera", rppm : (RPPM_BINDING, ITEM_ID, 2.5,
92 true), auras : (budget) [(AURA::EQUIP, AURA_BINDING::EQUIP, aura_equip),
93 (AURA::DIGESTIVE_VENOM, AURA_BINDING::DIGESTIVE_VENOM, aura_digestive_venom),],
94 spells : [(SPELL::USE, SPELL_BINDING::USE, spell_use),]
95 )
96}