From d75b9b82571834248a2337473307ffece8a73023 Mon Sep 17 00:00:00 2001 From: erorcun Date: Thu, 23 Jan 2020 23:21:50 +0300 Subject: CPlayerPed continues (#294) --- src/peds/Ped.cpp | 41 +++++++++++------------------------------ 1 file changed, 11 insertions(+), 30 deletions(-) (limited to 'src/peds/Ped.cpp') diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp index 7b96fc46..f42ee0c8 100644 --- a/src/peds/Ped.cpp +++ b/src/peds/Ped.cpp @@ -1068,7 +1068,7 @@ CPed::FinishedAttackCB(CAnimBlendAssociation *attackAssoc, void *arg) if (attackAssoc) { switch (attackAssoc->animId) { case ANIM_WEAPON_START_THROW: - if ((!ped->IsPlayer() || ((CPlayerPed*)ped)->field_1380) && ped->IsPlayer()) { + if ((!ped->IsPlayer() || ((CPlayerPed*)ped)->m_bHaveTargetSelected) && ped->IsPlayer()) { attackAssoc->blendDelta = -1000.0f; newAnim = CAnimManager::AddAnimation(ped->GetClump(), ASSOCGRP_STD, ANIM_WEAPON_THROWU); } else { @@ -1141,7 +1141,7 @@ CPed::Attack(void) return; if (reloadAnimAssoc) { - if (!IsPlayer() || ((CPlayerPed*)this)->field_1380) + if (!IsPlayer() || ((CPlayerPed*)this)->m_bHaveTargetSelected) ClearAttack(); return; @@ -1162,7 +1162,7 @@ CPed::Attack(void) if (!weaponAnimAssoc) { if (attackShouldContinue) { - if (ourWeaponFire != WEAPON_FIRE_PROJECTILE || !IsPlayer() || ((CPlayerPed*)this)->field_1380) { + if (ourWeaponFire != WEAPON_FIRE_PROJECTILE || !IsPlayer() || ((CPlayerPed*)this)->m_bHaveTargetSelected) { if (!CGame::nastyGame || ourWeaponFire != WEAPON_FIRE_MELEE || CheckForPedsOnGroundToAttack(this, nil) < PED_ON_THE_FLOOR) { weaponAnimAssoc = CAnimManager::BlendAnimation(GetClump(), ASSOCGRP_STD, ourWeapon->m_AnimToPlay, 8.0f); } @@ -1178,7 +1178,7 @@ CPed::Attack(void) if (IsPlayer()) { ((CPlayerPed*)this)->field_1376 = 0.0f; - ((CPlayerPed*)this)->field_1380 = false; + ((CPlayerPed*)this)->m_bHaveTargetSelected = false; } } } else @@ -4641,7 +4641,7 @@ CPed::SetAttack(CEntity *victim) } if (RpAnimBlendClumpGetAssociation(GetClump(), ANIM_AK_RELOAD)) { - if (!IsPlayer() || m_nPedState != PED_ATTACK || ((CPlayerPed*)this)->field_1380) + if (!IsPlayer() || m_nPedState != PED_ATTACK || ((CPlayerPed*)this)->m_bHaveTargetSelected) bIsAttacking = false; else bIsAttacking = true; @@ -5720,15 +5720,8 @@ CPed::CollideWithPed(CPed *collideWith) SetLookTimer(800); } } else { - bool doWeRun = true; - if (m_nMoveState != PEDMOVE_RUN && m_nMoveState != PEDMOVE_SPRINT) - doWeRun = false; - - SetFlee(collideWith, 5000); - bUsePedNodeSeek = true; - m_pNextPathNode = nil; - if (!doWeRun) - SetMoveState(PEDMOVE_WALK); + bool isRunning = m_nMoveState == PEDMOVE_RUN || m_nMoveState == PEDMOVE_SPRINT; + SetFindPathAndFlee(collideWith, 5000, !isRunning); } } @@ -12982,9 +12975,7 @@ CPed::ProcessObjective(void) else time = 6000; - SetFlee(m_pedInObjective, time); - bUsePedNodeSeek = true; - m_pNextPathNode = nil; + SetFindPathAndFlee(m_pedInObjective, time); } break; } @@ -13506,10 +13497,7 @@ CPed::ProcessObjective(void) if (m_pedInObjective->m_nPedState == PED_FLEE_ENTITY && m_fleeFrom == this || m_pedInObjective->m_objective == OBJECTIVE_FLEE_CHAR_ON_FOOT_TILL_SAFE && m_pedInObjective->m_pedInObjective == this) { ClearObjective(); - SetFlee(m_pedInObjective, 15000); - bUsePedNodeSeek = true; - m_pNextPathNode = nil; - SetMoveState(PEDMOVE_WALK); + SetFindPathAndFlee(m_pedInObjective, 15000, true); return; } float distWithTargetScSqr = distWithTarget.MagnitudeSqr(); @@ -13536,10 +13524,7 @@ CPed::ProcessObjective(void) ClearObjective(); if (m_pedInObjective->m_objective != OBJECTIVE_KILL_CHAR_ON_FOOT || m_pedInObjective->m_pedInObjective != this) { - SetFlee(m_pedInObjective, 15000); - bUsePedNodeSeek = true; - m_pNextPathNode = nil; - SetMoveState(PEDMOVE_WALK); + SetFindPathAndFlee(m_pedInObjective, 15000, true); m_nLastPedState = PED_WANDER_PATH; } else { SetObjective(OBJECTIVE_FLEE_CHAR_ON_FOOT_TILL_SAFE, m_pedInObjective); @@ -13783,11 +13768,7 @@ CPed::SetDirectionToWalkAroundObject(CEntity *obj) #endif if (CharCreatedBy != MISSION_CHAR && obj->m_modelIndex == MI_PHONEBOOTH1) { bool isRunning = m_nMoveState == PEDMOVE_RUN || m_nMoveState == PEDMOVE_SPRINT; - SetFlee(obj, 5000); - bUsePedNodeSeek = true; - m_pNextPathNode = nil; - if (!isRunning) - SetMoveState(PEDMOVE_WALK); + SetFindPathAndFlee(obj, 5000, !isRunning); return; } -- cgit v1.2.3