mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Bots can now see TERRAIN-based offroad / damage
This commit is contained in:
parent
3450a0126f
commit
d129422382
1 changed files with 26 additions and 9 deletions
|
|
@ -142,16 +142,33 @@ UINT8 K_EggboxStealth(fixed_t x, fixed_t y)
|
||||||
Return:-
|
Return:-
|
||||||
true if avoiding this sector special, false otherwise.
|
true if avoiding this sector special, false otherwise.
|
||||||
--------------------------------------------------*/
|
--------------------------------------------------*/
|
||||||
static boolean K_BotHatesThisSectorsSpecial(player_t *player, sector_t *sec)
|
static boolean K_BotHatesThisSectorsSpecial(player_t *player, sector_t *sec, const boolean flip)
|
||||||
{
|
{
|
||||||
if (sec->damagetype != SD_NONE)
|
terrain_t *terrain = K_GetTerrainForFlatNum(flip ? sec->ceilingpic : sec->floorpic);
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sec->offroad > 0)
|
if (terrain != NULL)
|
||||||
{
|
{
|
||||||
return !K_BotCanTakeCut(player);
|
if (terrain->damageType != SD_NONE)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (terrain->offroad > 0)
|
||||||
|
{
|
||||||
|
return !K_BotCanTakeCut(player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (sec->damagetype != SD_NONE)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sec->offroad > 0)
|
||||||
|
{
|
||||||
|
return !K_BotCanTakeCut(player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -200,7 +217,7 @@ boolean K_BotHatesThisSector(player_t *player, sector_t *sec, fixed_t x, fixed_t
|
||||||
if (!(rover->fofflags & FOF_BLOCKPLAYER))
|
if (!(rover->fofflags & FOF_BLOCKPLAYER))
|
||||||
{
|
{
|
||||||
if ((top >= player->mo->z) && (bottom <= player->mo->z + player->mo->height)
|
if ((top >= player->mo->z) && (bottom <= player->mo->z + player->mo->height)
|
||||||
&& K_BotHatesThisSectorsSpecial(player, rover->master->frontsector))
|
&& K_BotHatesThisSectorsSpecial(player, rover->master->frontsector, flip))
|
||||||
{
|
{
|
||||||
// Bad intangible sector at our height, so we DEFINITELY want to avoid
|
// Bad intangible sector at our height, so we DEFINITELY want to avoid
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -236,7 +253,7 @@ boolean K_BotHatesThisSector(player_t *player, sector_t *sec, fixed_t x, fixed_t
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return K_BotHatesThisSectorsSpecial(player, bestsector);
|
return K_BotHatesThisSectorsSpecial(player, bestsector, flip);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------
|
/*--------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue