wowlab_engine_content/hooks/subtlety_rogue/
handler.rs1use wowlab_engine_combat::CombatHandler;
2use wowlab_engine_ports::{HandlerParams, SimContext};
3
4
5use super::config::register_subtlety;
6
7#[derive(Debug)]
9pub(crate) struct SubtletyHandler {
10 inner: CombatHandler,
11}
12
13impl SubtletyHandler {
14 pub(crate) fn try_new(
16 parts: crate::composition::ContentHandlerParts,
17 params: &HandlerParams<'_>,
18 ) -> Result<Self, wowlab_engine_ports::EngineError> {
19 let mut built = parts.into_built();
20
21 register_subtlety(&mut built, params)?;
22
23 Ok(Self {
24 inner: CombatHandler::from_built(built),
25 })
26 }
27}
28
29crate::hooks::define_spec_handler! {
30 impl SubtletyHandler(self, inner) {
31 fn on_sim_start(&mut self, ctx: &mut SimContext) {
32 self.inner.on_sim_start(ctx);
33 }
34 }
35}