mirror of
https://github.com/halpz/re3.git
synced 2024-12-26 18:15:27 +00:00
Merge branch 'lcs' of https://github.com/GTAmodding/re3 into lcs
This commit is contained in:
commit
8f925a2e84
File diff suppressed because it is too large
Load diff
|
@ -2556,7 +2556,7 @@ void CTheScripts::SetObjectiveForAllPedsInCollective(int colIndex, eObjective ob
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
pPed->bScriptObjectiveCompleted = false;
|
pPed->bScriptObjectiveCompleted = false;
|
||||||
//pPed->SetObjective(objective, p1, p2); TODO!
|
pPed->SetObjective(objective, p1, p2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -744,6 +744,7 @@ public:
|
||||||
void SetObjective(eObjective);
|
void SetObjective(eObjective);
|
||||||
void SetObjective(eObjective, int16, int16);
|
void SetObjective(eObjective, int16, int16);
|
||||||
void SetObjective(eObjective, CVector);
|
void SetObjective(eObjective, CVector);
|
||||||
|
void SetObjective(eObjective, CVector, float);
|
||||||
void SetObjective(eObjective, float, const CVector&);
|
void SetObjective(eObjective, float, const CVector&);
|
||||||
void ClearChat(void);
|
void ClearChat(void);
|
||||||
void InformMyGangOfAttack(CEntity*);
|
void InformMyGangOfAttack(CEntity*);
|
||||||
|
|
|
@ -370,6 +370,51 @@ CPed::SetObjective(eObjective newObj, void *entity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CPed::SetObjective(eObjective newObj, CVector dest, float safeDist)
|
||||||
|
{
|
||||||
|
if (DyingOrDead())
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_prevObjective != OBJECTIVE_NONE && m_prevObjective == newObj)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (m_objective == newObj) {
|
||||||
|
if (newObj == OBJECTIVE_GOTO_AREA_ANY_MEANS || newObj == OBJECTIVE_GOTO_AREA_ON_FOOT || newObj == OBJECTIVE_RUN_TO_AREA || newObj == OBJECTIVE_SPRINT_TO_AREA) {
|
||||||
|
if (m_nextRoutePointPos == dest && m_distanceToCountSeekDone == safeDist)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (newObj == OBJECTIVE_GUARD_SPOT) {
|
||||||
|
if (m_vecSpotToGuard == dest && m_radiusToGuard == safeDist)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ClearPointGunAt();
|
||||||
|
SetObjectiveTimer(0);
|
||||||
|
bObjectiveCompleted = false;
|
||||||
|
if (IsTemporaryObjective(m_objective)) {
|
||||||
|
m_prevObjective = newObj;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (m_objective != newObj)
|
||||||
|
SetStoredObjective();
|
||||||
|
|
||||||
|
m_objective = newObj;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newObj == OBJECTIVE_GUARD_SPOT) {
|
||||||
|
m_vecSpotToGuard = dest;
|
||||||
|
m_radiusToGuard = safeDist;
|
||||||
|
}
|
||||||
|
else if (newObj == OBJECTIVE_GOTO_AREA_ANY_MEANS || newObj == OBJECTIVE_GOTO_AREA_ON_FOOT || newObj == OBJECTIVE_RUN_TO_AREA || newObj == OBJECTIVE_SPRINT_TO_AREA) {
|
||||||
|
m_pNextPathNode = nil;
|
||||||
|
m_nextRoutePointPos = dest;
|
||||||
|
m_vecSeekPos = m_nextRoutePointPos;
|
||||||
|
bUsePedNodeSeek = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// --MIAMI: Done
|
// --MIAMI: Done
|
||||||
// Only used in 01E1: SET_CHAR_OBJ_FOLLOW_ROUTE opcode
|
// Only used in 01E1: SET_CHAR_OBJ_FOLLOW_ROUTE opcode
|
||||||
// IDA fails very badly in here, puts a fake loop and ignores SetFollowRoute call...
|
// IDA fails very badly in here, puts a fake loop and ignores SetFollowRoute call...
|
||||||
|
|
Loading…
Reference in a new issue