bot: add more support for zombie mod scenario (ref #563)
added multiple items to custom.cfg, so game delay timer cvar is now configurable, the infected team is configurable as well. creature (well, just zombies) now correctly detects their "creature" status even with custom model names (assumes that bot is on an infected team = zombie) Co-Authored-By: Max <161382234+dyspose@users.noreply.github.com>
This commit is contained in:
parent
1df9da852c
commit
dedbf8ab82
8 changed files with 91 additions and 14 deletions
|
|
@ -3244,7 +3244,7 @@ void Bot::logic () {
|
|||
}
|
||||
|
||||
void Bot::spawned () {
|
||||
if (game.is (GameFlags::CSDM)) {
|
||||
if (game.is (GameFlags::CSDM | GameFlags::ZombieMod)) {
|
||||
newRound ();
|
||||
clearTasks ();
|
||||
}
|
||||
|
|
@ -4089,7 +4089,27 @@ float Bot::getShiftSpeed () {
|
|||
return pev->maxspeed * 0.4f;
|
||||
}
|
||||
|
||||
void Bot::refreshModelName (char *infobuffer) {
|
||||
void Bot::refreshCreatureStatus (char *infobuffer) {
|
||||
// if bot is on infected team, assume he is a creature
|
||||
if (game.is (GameFlags::ZombieMod)) {
|
||||
static StringRef zmInfectedTeam (conf.fetchCustom ("ZMInfectedTeam"));
|
||||
|
||||
// by default infected team is terrorists
|
||||
Team infectedTeam = Team::Terrorist;
|
||||
|
||||
if (zmInfectedTeam == "CT") {
|
||||
infectedTeam = Team::CT;
|
||||
}
|
||||
|
||||
// if bot is on infected team, and zombie mode is active, assume bot is a creature/zombie
|
||||
m_isOnInfectedTeam = game.getRealTeam (ent ()) == infectedTeam;
|
||||
|
||||
// do not process next if already infected
|
||||
if (m_isOnInfectedTeam) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (infobuffer == nullptr) {
|
||||
infobuffer = engfuncs.pfnGetInfoKeyBuffer (ent ());
|
||||
}
|
||||
|
|
@ -4115,5 +4135,5 @@ bool Bot::isCreature () {
|
|||
constexpr auto modelMaskZombie = (('o' << 8) + 'z');
|
||||
constexpr auto modelMaskChicken = (('h' << 8) + 'c');
|
||||
|
||||
return m_modelMask == modelMaskZombie || m_modelMask == modelMaskChicken;
|
||||
return m_isOnInfectedTeam || m_modelMask == modelMaskZombie || m_modelMask == modelMaskChicken;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue