summaryrefslogtreecommitdiffstats
path: root/src/control
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/control/AccidentManager.cpp16
-rw-r--r--src/control/AccidentManager.h1
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);
};