diff options
Diffstat (limited to 'src/control')
-rw-r--r-- | src/control/AccidentManager.cpp | 16 | ||||
-rw-r--r-- | src/control/AccidentManager.h | 1 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/control/AccidentManager.cpp b/src/control/AccidentManager.cpp index 46d254fc..a42280b7 100644 --- a/src/control/AccidentManager.cpp +++ b/src/control/AccidentManager.cpp @@ -8,7 +8,8 @@ CAccidentManager& gAccidentManager = *(CAccidentManager*)0x87FD10; WRAPPER void CAccidentManager::Update(void) { EAXJMP(0x456710); } -uint16 CAccidentManager::CountActiveAccidents() +uint16 +CAccidentManager::CountActiveAccidents() { uint16 accidents = 0; for (int i = 0; i < NUM_ACCIDENTS; i++){ @@ -18,7 +19,8 @@ uint16 CAccidentManager::CountActiveAccidents() return accidents; } -CAccident* CAccidentManager::FindNearestAccident(CVector vecPos, float* pDistance) +CAccident* +CAccidentManager::FindNearestAccident(CVector vecPos, float* pDistance) { for (int i = 0; i < MAX_MEDICS_TO_ATTEND_ACCIDENT; i++){ int accidentId = -1; @@ -44,4 +46,14 @@ CAccident* CAccidentManager::FindNearestAccident(CVector vecPos, float* pDistanc return &m_aAccidents[accidentId]; } return nil; +} + +bool +CAccidentManager::UnattendedAccidents(void) +{ + for (int i = 0; i < NUM_ACCIDENTS; i++) { + if (m_aAccidents[i].m_pVictim && m_aAccidents[i].m_nMedicsAttending == 0) + return true; + } + return false; }
\ No newline at end of file diff --git a/src/control/AccidentManager.h b/src/control/AccidentManager.h index 6d7f25c8..6a3088e7 100644 --- a/src/control/AccidentManager.h +++ b/src/control/AccidentManager.h @@ -21,6 +21,7 @@ class CAccidentManager }; public: uint16 CountActiveAccidents(); + bool UnattendedAccidents(); CAccident* FindNearestAccident(CVector, float*); void Update(void); }; |