change: bot path type selection is based on morale (fear/aggression level)
fix: partially fixes #227 (in matter of player pings)
This commit is contained in:
parent
05454f067c
commit
e213e39d17
3 changed files with 7 additions and 5 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit 1992b929e55f02d54b3978109a71da22802d6142
|
Subproject commit 544851dd2f24a2fd4d11633167c773d98383ba29
|
||||||
|
|
@ -1399,18 +1399,20 @@ void Bot::newRound () {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Bot::resetPathSearchType () {
|
void Bot::resetPathSearchType () {
|
||||||
|
const auto morale = m_fearLevel > m_agressionLevel ? rg.chance (30) : rg.chance (70);
|
||||||
|
|
||||||
switch (m_personality) {
|
switch (m_personality) {
|
||||||
default:
|
default:
|
||||||
case Personality::Normal:
|
case Personality::Normal:
|
||||||
m_pathType = rg.chance (50) ? FindPath::Optimal : FindPath::Safe;
|
m_pathType = morale ? FindPath::Optimal : FindPath::Safe;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Personality::Rusher:
|
case Personality::Rusher:
|
||||||
m_pathType = rg.chance (75) ? FindPath::Fast : FindPath::Optimal;
|
m_pathType = morale ? FindPath::Fast : FindPath::Optimal;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Personality::Careful:
|
case Personality::Careful:
|
||||||
m_pathType = rg.chance (75) ? FindPath::Safe : FindPath::Optimal;
|
m_pathType = morale ? FindPath::Optimal : FindPath::Safe;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -582,7 +582,7 @@ void BotSupport::calculatePings () {
|
||||||
engfuncs.pfnGetPlayerStats (client.ent, &ping, &loss);
|
engfuncs.pfnGetPlayerStats (client.ent, &ping, &loss);
|
||||||
|
|
||||||
// store normal client ping
|
// store normal client ping
|
||||||
client.ping = getPingBitmask (client.ent, loss, ping > 0 ? ping / 2 : rg.get (8, 16)); // getting player ping sometimes fails
|
client.ping = getPingBitmask (client.ent, loss, ping > 0 ? ping : rg.get (8, 16)); // getting player ping sometimes fails
|
||||||
client.pingUpdate = true; // force resend ping
|
client.pingUpdate = true; // force resend ping
|
||||||
|
|
||||||
++numHumans;
|
++numHumans;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue