Restore original logic of CPed::WanderRange

This commit is contained in:
Sergeanur
2020-06-04 04:31:04 +03:00
parent 04de93796b
commit 12717917cc
4 changed files with 21 additions and 15 deletions

View File

@ -57,6 +57,7 @@
#include "Timecycle.h"
#include "ParticleObject.h"
#include "Floater.h"
#include "Range2D.h"
#define CAN_SEE_ENTITY_ANGLE_THRESHOLD DEGTORAD(60.0f)
@ -14927,17 +14928,9 @@ CPed::WanderRange(void)
bool arrived = Seek();
if (arrived) {
Idle();
if (((m_randomSeed % 256) + 3 * CTimer::GetFrameCounter()) % 1000 > 997) {
int xDiff = Abs(m_wanderRangeBounds[1].x - m_wanderRangeBounds[0].x);
int yDiff = Abs(m_wanderRangeBounds[1].y - m_wanderRangeBounds[0].y);
CVector newCoords(
(CGeneral::GetRandomNumber() % xDiff) + m_wanderRangeBounds[0].x,
(CGeneral::GetRandomNumber() % yDiff) + m_wanderRangeBounds[0].y,
GetPosition().z);
SetSeek(newCoords, 2.5f);
if ((m_randomSeed + 3 * CTimer::GetFrameCounter()) % 1000 > 997) {
CVector2D newCoords2D = m_wanderRangeBounds->GetRandomPointInRange();
SetSeek(CVector(newCoords2D.x, newCoords2D.y, GetPosition().z), 2.5f);
}
}
}

View File

@ -468,7 +468,7 @@ public:
CEntity *m_pCollidingEntity;
uint8 m_stateUnused;
uint32 m_timerUnused;
CVector2D *m_wanderRangeBounds; // array with 2 CVector2D (actually unused CRange2D class) - unused
class CRange2D *m_wanderRangeBounds;
CWeapon m_weapons[WEAPONTYPE_TOTAL_INVENTORY_WEAPONS];
eWeaponType m_storedWeapon;
uint8 m_currentWeapon; // eWeaponType