Skip to main content

wowlab_engine_content/hooks/outlaw_rogue/
fatebound.rs

1use wowlab_engine_combat::HookCtx;
2
3use crate::{
4    generated::specs::outlaw_rogue::{
5        AURA_FATEBOUND_COIN_HEADS, AURA_FATEBOUND_COIN_TAILS, AURA_FATEBOUND_LUCKY_COIN,
6        AURA_LUCKY_COIN_COUNTER, EFFECT, REPORTED_SPELL,
7    },
8    hooks::shared::rogue::{FateboundBinding, FateboundConfig, FateboundIds},
9};
10
11use super::{config::outlaw_config, procs::proc_instant_poison};
12
13fn config(ctx: &HookCtx<'_>) -> FateboundConfig {
14    let config = outlaw_config(ctx);
15
16    FateboundConfig {
17        hand_of_fate_cp: config.hand_of_fate_cp,
18        matching_odds: config.coin_matching_odds,
19        lucky_coin_odds: config.lucky_coin_odds,
20        controlled_chaos_streak: config.controlled_chaos_streak,
21        rush_energy: config.rush_energy,
22        rush_energy_edge: config.rush_energy_edge,
23        lucky_coin_flips: config.lucky_coin_flips,
24        has_edge_case: config.has_edge_case,
25    }
26}
27
28pub(super) const BINDING: FateboundBinding = FateboundBinding {
29    config,
30    ids: FateboundIds {
31        heads: AURA_FATEBOUND_COIN_HEADS,
32        tails: AURA_FATEBOUND_COIN_TAILS,
33        lucky_coin: AURA_FATEBOUND_LUCKY_COIN,
34        lucky_coin_counter: AURA_LUCKY_COIN_COUNTER,
35        tails_damage_effect: EFFECT::FATEBOUND_COIN_TAILS_DAMAGE,
36        tails_damage_spell: REPORTED_SPELL::FATEBOUND_COIN_TAILS,
37    },
38    on_tails: proc_instant_poison,
39};