fix: bomb holder when planted or dropped

This commit is contained in:
Janek 2024-04-21 19:20:55 +02:00
parent 00d883a41c
commit 16e2d361dc
2 changed files with 8 additions and 3 deletions
src/dma

@ -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()

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