refactor: break some very long conditions
This commit is contained in:
parent
375a64b861
commit
c662f4a08f
11 changed files with 463 additions and 91 deletions
|
|
@ -177,7 +177,14 @@ void Bot::setAimDirection () {
|
|||
else if (flags & AimFlags::Nav) {
|
||||
m_lookAt = m_destOrigin;
|
||||
|
||||
if (m_moveToGoal && m_seeEnemyTime + 4.0f < game.time () && !m_isStuck && m_moveSpeed > getShiftSpeed () && !(pev->button & IN_DUCK) && m_currentNodeIndex != kInvalidNodeIndex && !(m_pathFlags & (NodeFlag::Ladder | NodeFlag::Crouch)) && m_pathWalk.hasNext () && pev->origin.distanceSq (m_destOrigin) < cr::sqrf (512.0f)) {
|
||||
if (m_moveToGoal && m_seeEnemyTime + 4.0f < game.time ()
|
||||
&& !m_isStuck && m_moveSpeed > getShiftSpeed ()
|
||||
&& !(pev->button & IN_DUCK)
|
||||
&& m_currentNodeIndex != kInvalidNodeIndex
|
||||
&& !(m_pathFlags & (NodeFlag::Ladder | NodeFlag::Crouch))
|
||||
&& m_pathWalk.hasNext ()
|
||||
&& pev->origin.distanceSq (m_destOrigin) < cr::sqrf (512.0f)) {
|
||||
|
||||
const auto nextPathIndex = m_pathWalk.next ();
|
||||
const auto doubleNextPath = m_pathWalk.doubleNext ();
|
||||
|
||||
|
|
@ -199,7 +206,10 @@ void Bot::setAimDirection () {
|
|||
if (m_canChooseAimDirection && m_seeEnemyTime + 4.0f < game.time () && m_currentNodeIndex != kInvalidNodeIndex && !onLadder) {
|
||||
const auto dangerIndex = practice.getIndex (m_team, m_currentNodeIndex, m_currentNodeIndex);
|
||||
|
||||
if (graph.exists (dangerIndex) && vistab.visible (m_currentNodeIndex, dangerIndex) && !(graph[dangerIndex].flags & NodeFlag::Crouch)) {
|
||||
if (graph.exists (dangerIndex)
|
||||
&& vistab.visible (m_currentNodeIndex, dangerIndex)
|
||||
&& !(graph[dangerIndex].flags & NodeFlag::Crouch)) {
|
||||
|
||||
if (pev->origin.distanceSq (graph[dangerIndex].origin) < cr::sqrf (512.0f)) {
|
||||
m_lookAt = m_destOrigin;
|
||||
}
|
||||
|
|
@ -256,10 +266,19 @@ void Bot::checkDarkness () {
|
|||
if (mp_flashlight.bool_ () && !m_hasNVG) {
|
||||
const auto tid = getCurrentTaskId ();
|
||||
|
||||
if (!flashOn && tid != Task::Camp && tid != Task::Attack && m_heardSoundTime + 3.0f < game.time () && m_flashLevel > 30 && ((skyColor > 50.0f && lightLevel < 10.0f) || (skyColor <= 50.0f && lightLevel < 40.0f))) {
|
||||
if (!flashOn &&
|
||||
tid != Task::Camp
|
||||
&& tid != Task::Attack
|
||||
&& m_heardSoundTime + 3.0f < game.time ()
|
||||
&& m_flashLevel > 30
|
||||
&& ((skyColor > 50.0f && lightLevel < 10.0f) || (skyColor <= 50.0f && lightLevel < 40.0f))) {
|
||||
|
||||
pev->impulse = 100;
|
||||
}
|
||||
else if (flashOn && (((lightLevel > 15.0f && skyColor > 50.0f) || (lightLevel > 45.0f && skyColor <= 50.0f)) || tid == Task::Camp || tid == Task::Attack || m_flashLevel <= 0 || m_heardSoundTime + 3.0f >= game.time ())) {
|
||||
else if (flashOn
|
||||
&& (((lightLevel > 15.0f && skyColor > 50.0f) || (lightLevel > 45.0f && skyColor <= 50.0f))
|
||||
|| tid == Task::Camp || tid == Task::Attack || m_flashLevel <= 0 || m_heardSoundTime + 3.0f >= game.time ())) {
|
||||
|
||||
pev->impulse = 100;
|
||||
}
|
||||
}
|
||||
|
|
@ -367,7 +386,11 @@ void Bot::updateLookAngles () {
|
|||
}
|
||||
|
||||
// just force directioon
|
||||
if (m_difficulty == Difficulty::Expert && (m_aimFlags & AimFlags::Enemy) && (m_wantsToFire || usesSniper ()) && cv_whose_your_daddy.bool_ ()) {
|
||||
if (m_difficulty == Difficulty::Expert
|
||||
&& (m_aimFlags & AimFlags::Enemy)
|
||||
&& (m_wantsToFire || usesSniper ())
|
||||
&& cv_whose_your_daddy.bool_ ()) {
|
||||
|
||||
pev->v_angle = direction;
|
||||
pev->v_angle.clampAngles ();
|
||||
|
||||
|
|
@ -439,7 +462,10 @@ void Bot::updateLookAnglesNewbie (const Vector &direction, float delta) {
|
|||
}
|
||||
else {
|
||||
// is it time for bot to randomize the aim direction again (more often where moving) ?
|
||||
if (m_randomizeAnglesTime < game.time () && ((pev->velocity.length () > 1.0f && m_angularDeviation.length () < 5.0f) || m_angularDeviation.length () < 1.0f)) {
|
||||
if (m_randomizeAnglesTime < game.time ()
|
||||
&& ((pev->velocity.length () > 1.0f
|
||||
&& m_angularDeviation.length () < 5.0f) || m_angularDeviation.length () < 1.0f)) {
|
||||
|
||||
// is the bot standing still ?
|
||||
if (pev->velocity.length () < 1.0f) {
|
||||
randomize = randomization * 0.2f; // randomize less
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue