From d3dab70acf38f9185c11119181c870518eb38215 Mon Sep 17 00:00:00 2001 From: ineedbots Date: Tue, 13 Jul 2021 19:05:36 -0600 Subject: [PATCH] bots target through glass --- mods/bots/maps/mp/bots/_bot_internal.gsc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mods/bots/maps/mp/bots/_bot_internal.gsc b/mods/bots/maps/mp/bots/_bot_internal.gsc index 185a3b7..0fed5fb 100644 --- a/mods/bots/maps/mp/bots/_bot_internal.gsc +++ b/mods/bots/maps/mp/bots/_bot_internal.gsc @@ -751,13 +751,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" ) ) && ( SmokeTrace( myEye, player.origin, level.smokeRadius ) || daDist < level.bots_maxKnifeDistance * 4 )