From 9f91c2dcdc61110d5a2fbbd7a3647841820db485 Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Fri, 26 Feb 2021 19:28:49 -0500 Subject: [PATCH] Buff the object nudging now that wall detection doesn't step on its toes :) --- src/k_botsearch.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/k_botsearch.c b/src/k_botsearch.c index 92deb70ce..7362fe849 100644 --- a/src/k_botsearch.c +++ b/src/k_botsearch.c @@ -780,10 +780,12 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player) { INT32 xl, xh, yl, yh, bx, by; + fixed_t distToPredict = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y); + fixed_t avgX = 0, avgY = 0; fixed_t avgDist = 0; - const fixed_t baseNudge = 48 * mapobjectscale; + const fixed_t baseNudge = 128 * mapobjectscale; fixed_t nudgeDist = 0; angle_t nudgeDir = 0; @@ -793,7 +795,7 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player) globalsmuggle.botmo = player->mo; globalsmuggle.predict = predict; - globalsmuggle.distancetocheck = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y); + globalsmuggle.distancetocheck = distToPredict; for (i = 0; i < 2; i++) { @@ -842,9 +844,9 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player) // High handling characters dodge better nudgeDist = ((9 - globalsmuggle.botmo->player->kartweight) + 1) * baseNudge; - if (nudgeDist > predict->radius) + if (nudgeDist > distToPredict) { - nudgeDist = predict->radius; + nudgeDist = distToPredict; } // Point away @@ -855,6 +857,8 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player) predict->x += FixedMul(nudgeDist, FINECOSINE(nudgeDir >> ANGLETOFINESHIFT)); predict->y += FixedMul(nudgeDist, FINESINE(nudgeDir >> ANGLETOFINESHIFT)); + + distToPredict = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y); } if (gotoSide == -1) @@ -893,9 +897,9 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player) // Acceleration characters are more aggressive nudgeDist = ((9 - globalsmuggle.botmo->player->kartspeed) + 1) * baseNudge; - if (nudgeDist > predict->radius) + if (nudgeDist > distToPredict) { - nudgeDist = predict->radius; + nudgeDist = distToPredict; } if (avgDist <= nudgeDist) @@ -913,6 +917,8 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player) predict->x += FixedMul(nudgeDist, FINECOSINE(nudgeDir >> ANGLETOFINESHIFT)); predict->y += FixedMul(nudgeDist, FINESINE(nudgeDir >> ANGLETOFINESHIFT)); + + //distToPredict = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y); } } }