wowlab_engine_content/hooks/outlaw_rogue/
fatebound.rs1use 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};