From 16e2d361dcb81b9f7577a3d16f173f638b34daf9 Mon Sep 17 00:00:00 2001 From: Janek <development@superyu.xyz> Date: Sun, 21 Apr 2024 19:20:55 +0200 Subject: [PATCH] fix: bomb holder when planted or dropped --- src/dma/context/mod.rs | 9 +++++++-- src/dma/mod.rs | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/dma/context/mod.rs b/src/dma/context/mod.rs index 7e9623a..4514925 100755 --- a/src/dma/context/mod.rs +++ b/src/dma/context/mod.rs @@ -7,7 +7,7 @@ use num_traits::FromPrimitive; use crate::{structs::Vec3, enums::TeamID}; -use super::cs2dumper; +use super::{cs2dumper, threaddata::CsData}; pub struct DmaCtx { pub process: IntoProcessInstanceArcBox<'static>, @@ -146,7 +146,12 @@ impl DmaCtx { Ok(is_controller) } - pub fn get_c4_holder(&mut self, pawns: Vec<Address>, entity_list: Address) -> Option<Address> { + pub fn get_c4_holder(&mut self, pawns: Vec<Address>, entity_list: Address, csdata: &CsData) -> Option<Address> { + + if csdata.bomb_dropped || csdata.bomb_planted { + return None; + } + // (pawn, wep_services, wep_count, wep_base) let mut data_vec: Vec<(Address, u64, i32, u64)> = pawns .into_iter() diff --git a/src/dma/mod.rs b/src/dma/mod.rs index 72d8746..c735538 100755 --- a/src/dma/mod.rs +++ b/src/dma/mod.rs @@ -79,7 +79,7 @@ pub async fn run(radar_data: ArcRwlockRadarData, connector: Connector, pcileech_ pawns.push(data.local_pawn.into()); - data.bomb_holder = ctx.get_c4_holder(pawns, data.entity_list.into()); + data.bomb_holder = ctx.get_c4_holder(pawns, data.entity_list.into(), &data); data.recheck_bomb_holder = false; }