From 90b0891b98927603804f0ae3378e54fcff9f0fcb Mon Sep 17 00:00:00 2001 From: ineedbots Date: Tue, 13 Jul 2021 18:59:32 -0600 Subject: [PATCH] bots target through glass --- raw/maps/mp/bots/_bot_internal.gsc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/raw/maps/mp/bots/_bot_internal.gsc b/raw/maps/mp/bots/_bot_internal.gsc index 7c89d60..40601b5 100644 --- a/raw/maps/mp/bots/_bot_internal.gsc +++ b/raw/maps/mp/bots/_bot_internal.gsc @@ -1219,13 +1219,17 @@ target_loop() targetAnkleLeft = player getTagOrigin( "j_ankle_le" ); targetAnkleRight = player getTagOrigin( "j_ankle_ri" ); - canTargetPlayer = ( ( bulletTracePassed( myEye, targetHead, false, undefined ) || - bulletTracePassed( myEye, targetAnkleLeft, false, undefined ) || - bulletTracePassed( myEye, targetAnkleRight, false, undefined ) ) + traceHead = bulletTrace( myEye, targetHead, false ); + traceAnkleLeft = bulletTrace( myEye, targetAnkleLeft, false ); + traceAnkleRight = bulletTrace( myEye, targetAnkleRight, false ); - && ( sightTracePassed( myEye, targetHead, false, undefined ) || - sightTracePassed( myEye, targetAnkleLeft, false, undefined ) || - sightTracePassed( myEye, targetAnkleRight, false, undefined ) ) + canTargetPlayer = ( ( sightTracePassed( myEye, targetHead, false ) || + sightTracePassed( myEye, targetAnkleLeft, false ) || + sightTracePassed( myEye, targetAnkleRight, false ) ) + + && ( ( traceHead["fraction"] >= 1.0 || traceHead["surfacetype"] == "glass" ) || + ( traceAnkleLeft["fraction"] >= 1.0 || traceAnkleLeft["surfacetype"] == "glass" ) || + ( traceAnkleRight["fraction"] >= 1.0 || traceAnkleRight["surfacetype"] == "glass" ) ) && ( ignoreSmoke || SmokeTrace( myEye, player.origin, level.smokeRadius ) ||