From 3220533c4477aef7b278fe571adef979a5e121f0 Mon Sep 17 00:00:00 2001 From: RGreenlees Date: Sun, 10 Mar 2024 22:32:51 +0000 Subject: [PATCH] Reverted Svencoop fix --- main/source/mod/AIPlayers/AvHAIPlayer.cpp | 22 ++++++++++++++-------- main/source/mod/AvHAlienWeapon.cpp | 8 +++++--- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/main/source/mod/AIPlayers/AvHAIPlayer.cpp b/main/source/mod/AIPlayers/AvHAIPlayer.cpp index 3ef57239..3bd6f272 100644 --- a/main/source/mod/AIPlayers/AvHAIPlayer.cpp +++ b/main/source/mod/AIPlayers/AvHAIPlayer.cpp @@ -3241,10 +3241,13 @@ void AIPlayerSetMarineSweeperPrimaryTask(AvHAIPlayer* pBot, AvHAIPlayerTask* Tas if (AITAC_GetNumDeployablesNearLocation(CommChairLocation, &StructureFilter) < 2) { - Task->TaskType = TASK_GUARD; - Task->TaskLocation = UTIL_GetRandomPointOnNavmeshInRadius(pBot->BotNavInfo.NavProfile, CommChairLocation, UTIL_MetresToGoldSrcUnits(10.0f)); - Task->bTaskIsUrgent = false; - Task->TaskLength = frandrange(20.0f, 30.0f); + if (Task->TaskType != TASK_GUARD || vDist2DSq(Task->TaskLocation, CommChairLocation) > UTIL_MetresToGoldSrcUnits(10.0f)) + { + Task->TaskType = TASK_GUARD; + Task->TaskLocation = UTIL_GetRandomPointOnNavmeshInRadius(pBot->BotNavInfo.NavProfile, CommChairLocation, UTIL_MetresToGoldSrcUnits(10.0f)); + Task->bTaskIsUrgent = false; + Task->TaskLength = frandrange(20.0f, 30.0f); + } return; } @@ -3272,10 +3275,13 @@ void AIPlayerSetMarineSweeperPrimaryTask(AvHAIPlayer* pBot, AvHAIPlayerTask* Tas if (RandomPG) { - Task->TaskType = TASK_GUARD; - Task->TaskLocation = UTIL_GetRandomPointOnNavmeshInRadius(pBot->BotNavInfo.NavProfile, RandomPG->Location, UTIL_MetresToGoldSrcUnits(5.0f)); - Task->bTaskIsUrgent = false; - Task->TaskLength = frandrange(20.0f, 30.0f); + if (Task->TaskType != TASK_GUARD) + { + Task->TaskType = TASK_GUARD; + Task->TaskLocation = UTIL_GetRandomPointOnNavmeshInRadius(pBot->BotNavInfo.NavProfile, RandomPG->Location, UTIL_MetresToGoldSrcUnits(5.0f)); + Task->bTaskIsUrgent = false; + Task->TaskLength = frandrange(20.0f, 30.0f); + } return; } diff --git a/main/source/mod/AvHAlienWeapon.cpp b/main/source/mod/AvHAlienWeapon.cpp index 3cd2d4f5..4cc382f7 100644 --- a/main/source/mod/AvHAlienWeapon.cpp +++ b/main/source/mod/AvHAlienWeapon.cpp @@ -271,14 +271,16 @@ BOOL AvHAlienWeapon::IsUseable(void) float theLatency = 0.0f; #ifdef AVH_CLIENT // : 991 -- added latency-based prediction for the ammount of energy available to the alien - //net_status_s current_status; - //gEngfuncs.pNetAPI->Status(¤t_status); + net_status_s current_status; + gEngfuncs.pNetAPI->Status(¤t_status); + + /* svencoop compatibility change. Commented out to avoid conflicts with SDK TOS net_status_s current_status; char TestStruct[256]; // Allocate lots of memory to anticipate Svengine's larger size gEngfuncs.pNetAPI->Status((net_status_s*)&TestStruct); memcpy(¤t_status, TestStruct, sizeof(net_status_s)); // Now copy back the original struct size. This only works if Svengine added to the struct rather than changed it completely - + */ theLatency = max(0.0f, current_status.latency);