mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-26 20:11:47 +00:00
Buff the object nudging now that wall detection doesn't step on its toes :)
This commit is contained in:
parent
bbfad3a544
commit
9f91c2dcdc
1 changed files with 12 additions and 6 deletions
|
|
@ -780,10 +780,12 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
{
|
{
|
||||||
INT32 xl, xh, yl, yh, bx, by;
|
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 avgX = 0, avgY = 0;
|
||||||
fixed_t avgDist = 0;
|
fixed_t avgDist = 0;
|
||||||
|
|
||||||
const fixed_t baseNudge = 48 * mapobjectscale;
|
const fixed_t baseNudge = 128 * mapobjectscale;
|
||||||
fixed_t nudgeDist = 0;
|
fixed_t nudgeDist = 0;
|
||||||
angle_t nudgeDir = 0;
|
angle_t nudgeDir = 0;
|
||||||
|
|
||||||
|
|
@ -793,7 +795,7 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
globalsmuggle.botmo = player->mo;
|
globalsmuggle.botmo = player->mo;
|
||||||
globalsmuggle.predict = predict;
|
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++)
|
for (i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -842,9 +844,9 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
// High handling characters dodge better
|
// High handling characters dodge better
|
||||||
nudgeDist = ((9 - globalsmuggle.botmo->player->kartweight) + 1) * baseNudge;
|
nudgeDist = ((9 - globalsmuggle.botmo->player->kartweight) + 1) * baseNudge;
|
||||||
|
|
||||||
if (nudgeDist > predict->radius)
|
if (nudgeDist > distToPredict)
|
||||||
{
|
{
|
||||||
nudgeDist = predict->radius;
|
nudgeDist = distToPredict;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Point away
|
// Point away
|
||||||
|
|
@ -855,6 +857,8 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
|
|
||||||
predict->x += FixedMul(nudgeDist, FINECOSINE(nudgeDir >> ANGLETOFINESHIFT));
|
predict->x += FixedMul(nudgeDist, FINECOSINE(nudgeDir >> ANGLETOFINESHIFT));
|
||||||
predict->y += FixedMul(nudgeDist, FINESINE(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)
|
if (gotoSide == -1)
|
||||||
|
|
@ -893,9 +897,9 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
// Acceleration characters are more aggressive
|
// Acceleration characters are more aggressive
|
||||||
nudgeDist = ((9 - globalsmuggle.botmo->player->kartspeed) + 1) * baseNudge;
|
nudgeDist = ((9 - globalsmuggle.botmo->player->kartspeed) + 1) * baseNudge;
|
||||||
|
|
||||||
if (nudgeDist > predict->radius)
|
if (nudgeDist > distToPredict)
|
||||||
{
|
{
|
||||||
nudgeDist = predict->radius;
|
nudgeDist = distToPredict;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (avgDist <= nudgeDist)
|
if (avgDist <= nudgeDist)
|
||||||
|
|
@ -913,6 +917,8 @@ void K_NudgePredictionTowardsObjects(botprediction_t *predict, player_t *player)
|
||||||
|
|
||||||
predict->x += FixedMul(nudgeDist, FINECOSINE(nudgeDir >> ANGLETOFINESHIFT));
|
predict->x += FixedMul(nudgeDist, FINECOSINE(nudgeDir >> ANGLETOFINESHIFT));
|
||||||
predict->y += FixedMul(nudgeDist, FINESINE(nudgeDir >> ANGLETOFINESHIFT));
|
predict->y += FixedMul(nudgeDist, FINESINE(nudgeDir >> ANGLETOFINESHIFT));
|
||||||
|
|
||||||
|
//distToPredict = R_PointToDist2(player->mo->x, player->mo->y, predict->x, predict->y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue