Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Client/game_sa/TaskJumpFallSA.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class CTaskSimpleClimbSA : public virtual CTaskSimpleSA, public virtual CTaskSim
class CTaskSimpleJetPackSAInterface : public CTaskSimpleSAInterface
{
public:
unsigned char m_bIsFinished;
bool m_bIsFinished;
unsigned char m_bAddedIdleAnim;
unsigned char m_bAnimsReferenced;
unsigned char m_bAttackButtonPressed;
Expand Down Expand Up @@ -100,4 +100,6 @@ class CTaskSimpleJetPackSA : public virtual CTaskSimpleSA, public virtual CTaskS
public:
CTaskSimpleJetPackSA(){};
CTaskSimpleJetPackSA(const CVector* pVecTargetPos, float fCruiseHeight = 10.0f, int nHoverTime = 0);

bool IsFinished() const override { return static_cast<const CTaskSimpleJetPackSAInterface*>(GetInterface())->m_bIsFinished; }
};
4 changes: 4 additions & 0 deletions Client/mods/deathmatch/logic/CClientPed.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4602,6 +4602,10 @@ bool CClientPed::HasJetPack()
CTask* pPrimaryTask = m_pTaskManager->GetSimplestActiveTask();
if (pPrimaryTask && pPrimaryTask->GetTaskType() == TASK_SIMPLE_JETPACK)
{
auto* jetpackTask = dynamic_cast<CTaskSimpleJetPack*>(pPrimaryTask);
if (jetpackTask && jetpackTask->IsFinished())
return false;

return true;
}
return false;
Expand Down
2 changes: 2 additions & 0 deletions Client/sdk/game/TaskJumpFall.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,6 @@ class CTaskSimpleJetPack : public virtual CTaskSimple
{
public:
virtual ~CTaskSimpleJetPack(){};

virtual bool IsFinished() const = 0;
};
Loading