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}
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}