Commit Graph

53 Commits

Author SHA1 Message Date
johnb432
ff31bc69a8
Medical AI - Prevent medics from being blocked on treatments they can't complete (#10167)
* Add tourniquet support for Medical AI

* Stop blocking start

* Renamed states, condensed `canHeal`

* Renamed `tooManyMeds` state

* Update addons/medical_ai/functions/fnc_healUnit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Change states to use singular, add states for autoinjectors & splint

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2024-08-11 08:06:59 -07:00
PabstMirror
0b4029b12f
Medical AI - AI will remove tourniquets (#10166)
* Medical AI - AI will remove tourniquets

* Medical AI - Improve tourniquet removal (for #10166) (#10178)

* Fixes & tweaks

- Have AI remove tourniquets ASAP
- Fixed bug where AI would not remove tourniquet, because it didn't have any bandages
- Allowed for more multitasking

* Allow healer to administer morphine if out of bandages

* Remove TODO comment

* Allow AI to remove tourniquets from limbs with no open wounds

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

---------

Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
2024-08-11 00:19:35 -07:00
johnb432
d7c98ea366
Medical AI - Fix specific treatment items not being removed (#10179)
Fix treatment items not being removed

Bug introduced in #10158
2024-08-10 10:19:36 -07:00
johnb432
c31ef9e16b
Medical AI - Add command actions to heal injured units (#10164)
* Add AI command menu for healing

* Moved actions to separate function

* Minor cleanup
2024-08-05 02:39:35 -07:00
johnb432
cd678c5b90
Medical AI - Add tourniquet support (#10158)
Add tourniquet support for Medical AI
2024-08-05 02:39:01 -07:00
johnb432
98da279e8f
Medical AI - Give blood in Cardiac Arrest before doing CPR (#10154)
Give blood in CA if needed before doing CPR
2024-07-29 15:04:59 +02:00
johnb432
e99d6d9381
Medical AI - Make AI take tourniquets into account when medicing (#10142)
* Make AI take tourniquets into account when medicing

* Update fnc_healingLogic.sqf
2024-07-25 07:49:45 +02:00
johnb432
74de646a02
Medical AI - Fix splints not being applied in special circumstance & setting adding multiple EH (#10141)
Several medical AI fixes

- Not applying splints if too many medications were taken
- Potential nil for _target
- Setting could add multiple EH, require mission restart
2024-07-24 15:04:53 +02:00
johnb432
cb3c18c2fb
Medical AI - Header fixes (#10140)
Header fixes for medical AI
2024-07-23 15:28:40 +02:00
Mike-MF
cee187adac
General - Convert vehicle to objectParent (#9801)
Convert vehicle to objectParent
2024-03-26 09:54:06 -03:00
PabstMirror
8143cdc1da
Medical AI - Add setting to replace gear for AI (#9458) 2023-10-04 14:19:10 -04:00
jonpas
742626ff1a
General - Relative script_component.hpp includes (#9378)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-09-12 20:58:10 +02:00
Grim
dbd5fbaf31
Medical - Add internal variable for wake-up timer and stable blood volume (#9374)
* Medical - Allow changing SPONTANEOUS_WAKE_UP_INTERVAL via var

* add variable for minimum blood volume

* change variable name

* update pain comment

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-09-09 00:15:43 -04:00
PabstMirror
25b8fd6d54
Medical AI - Add setting to require items for treatment (#9362)
* Medical AI - Add setting to require items for treatment

* all ivs

* invert setting

* Update addons/medical_ai/stringtable.xml

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>

* move item hash to preStart

---------

Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2023-09-06 12:37:26 -04:00
Kyle Mckay
02365609b5
Medical - Change medical to use hashmaps for wound storage (#8926)
* Refactor medical to use hashmaps for wound storage

- We most frequently want to access wounds by body part, so this makes
  that a constant time lookup.
- The body part index is no longer stored in every wound since it's
  inherent in the wound storage.
- Using body part names as the keys of the hashmap to improve code
  clarity (no more magic numbers).

closes #6468

* Add deserilization migration from old wound arrays

Will migrate from old form array wound storage to the new hashmap
strucutre during deserlization. This is relevant for communities piping
medical state out to a database or similar between sessions.

* fix issue with suture stitching

* change version number in comment

---------

Co-authored-by: Salluci <salluci.lovi@gmail.com>
2023-06-24 08:11:56 +03:00
BaerMitUmlaut
728f556ae4
Medical AI - Use suppressed EH to determine safety of AI (#8242)
* Use suppressed EH to determine safety of AI

* Require CBA 3.15.3

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: BrettMayson <brett@mayson.io>
2023-06-23 18:59:11 -03:00
GhostIsSpooky
5b89daf277
fix CPR treatment condition (#8762) 2022-01-31 13:40:03 -06:00
Neviothr
75f7ed7532
Utilize isNotEqualTo (#7929)
* Utilize isNotEqualTo

* undo changes to some files

* redo some changes, fix based on @Vdauphin 's comment

* fix validator issues

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2021-02-27 11:05:05 -06:00
BaerMitUmlaut
0c84cdd375
Fix unconscious medics not being healed by other AI medics (#7995) 2020-11-08 16:32:02 -06:00
BaerMitUmlaut
b389740a29
Medical AI - Fix AI healing itself too fast when hit (#7955)
* Fix AI healing itself too fast when hit

* make time constants gvars

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2020-10-29 11:38:24 -05:00
PabstMirror
2feeec0d7f
Medical AI - Block healing when handcuffed (#7493) 2020-01-28 19:12:38 -06:00
LachlanSneddon
e8fcbcdf4b Medical AI - Improve Healing Logic (#7255)
* Improve AI healing logic

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>

* Added event for CPR chance being 0

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>

* Update addons/medical_ai/functions/fnc_healingLogic.sqf

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* Update fnc_healingLogic.sqf

Co-Authored-By: commy2 <commy2@users.noreply.github.com>
2019-12-14 12:04:09 -06:00
PabstMirror
05e4f74e73
Medical AI - Adjust healing logic for rewrite (#6902)
* Medical AI - Adjust healing logic for rewrite

- move state machine from config to sqf
- move all healing logic to seperate func
- attempt to handle healing for new system

* prioritize unitReady medics

* move setting to subcategory under medical

* Use faster GET_WOUND_BLEEDING

* Update fnc_healingLogic.sqf

* Update for wound array changes

* Update treatment events changes

* Fractures/splint

* formating / use GET_OPEN_WOUNDS

* Use non-localized medical category
2019-07-03 09:59:28 -05:00
mharis001
44050df98b Medical Treatment - Modernize and Cleanup (#6933)
* Modernize and cleanup medical_treatment

* One line for each old public function

* Fix litterCleanupDelay name

* Improve adjustment calcs / wound blood loss / medications

fix func descriptions

Calc wound blood loss on events

reorder includes so scritpmacroMed has global effect

trivial optimization for getCardiacOutput

Fix var

Fix wounds not reopening (nil _category)

Fix surgical kit inherting canBandage conditional

debug hitpoints

Update ACE_Medical_Treatment_Actions.hpp

Use woundBleeding for IS_BLEEDING macro

rework medication vars

comments

Reset var in init / fullHeal

Update addons/medical_treatment/functions/fnc_onMedicationUsage.sqf

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* Change wound data array

Drop unique id and merge classId and category

* Splinting and treatment and gui

* Add arm fractures and aim effects

* localizations and event

* fix

* fix merge for renamed files

* Fixes and code review changes

* Move medical logs clearing to treatment

* More cleanup work

* cleanup

* Apply suggestions from code review

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* formating, rename bone images

* Fix args for setDead call in actionPlaceInBodyBag

* Apply suggestions from code review

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* disable calls to extension

* Update fnc_onMedicationUsage.sqf

* Medical - Skip unneeded setVars on initUnit (#6949)

*  Medical - Transfer state machine state on locality (#6950)

* Medical - Transfer state machine state on locality

* Fix feedback isUnconscious var

* Exclude AI

* Make UAV excludes consistant, formating

* Update fnc_treatmentFullHealLocal.sqf

* reset fractures on respawn

* Fix merge

* Add PAK time coefficient setting

* Fix medication

* Add ace_medical_replacementItems config array

* checkItems performance improvement

* Treatment - cap max animation speed (#6995)

* Treatment - cap max animation speed

and add lock to prevent AF from reseting anim

* Update fnc_getBandageTime.sqf

* Use local version of setAnimSpeedCoef

* Revert "Use local version of setAnimSpeedCoef"

This reverts commit 36c22a9047.

* Move replacementItems compiling to preInit

* Improve replacementItems compiling

* Cleanup splint functions, use macros for fractures

* Rename splintCondition to canSplint

* Add cprCreatesPulse setting

* Cleanup remaining functions

* Capitalize stringtable entry names

* getStitchTime function and fix treatment locations

* Update addons/medical_treatment/functions/fnc_getHealTime.sqf

Co-Authored-By: SilentSpike <silentspike100+Github@gmail.com>
2019-06-03 10:31:46 -05:00
Magnetar
89927a8b94 Missing privates. Lazy evaluation. 2019-03-17 21:26:15 +01:00
Magnetar
bb2d1e4e9e Merge branch 'master' into medical-rewrite 2019-03-17 17:39:43 +01:00
Dedmen Miller
e2ac18a05d [WIP] Fix script errors reporting wrong line numbers (#6407)
* advanced_ballistics

* advanced_fatigue

* advanced_throwing

* ai

* aircraft

* arsenal

* atragmx

* attach

* backpacks

* ballistics

* captives

* cargo

* chemlights

* common

* concertina_wire

* cookoff

* dagr

* disarming

* disposable

* dogtags

* dragging

* explosives

* fastroping

* fcs

* finger

* frag

* gestures

* gforces

* goggles

* grenades

* gunbag

* hearing

* hitreactions

* huntir

* interact_menu

* interaction

* inventory

* kestrel4500

* laser

* laserpointer

* logistics_uavbattery

* logistics_wirecutter

* magazinerepack

* map

* map_gestures

* maptools

* markers

* medical

* medical_ai

* medical_blood

* medical_menu

* microdagr

* minedetector

* missileguidance

* missionmodules

* mk6mortar

* modules

* movement

* nametags

* nightvision

* nlaw

* optics

* optionsmenu

* overheating

* overpressure

* parachute

* pylons

* quickmount

* rangecard

* rearm

* recoil

* refuel

* reload

* reloadlaunchers

* repair

* respawn

* safemode

* sandbag

* scopes

* slideshow

* spectator

* spottingscope

* switchunits

* tacticalladder

* tagging

* trenches

* tripod

* ui

* vector

* vehiclelock

* vehicles

* viewdistance

* weaponselect

* weather

* winddeflection

* yardage450

* zeus

* arsenal defines.hpp

* optionals

* DEBUG_MODE_FULL 1

* DEBUG_MODE_FULL 2

* Manual fixes

* Add SQF Validator check for #include after block comment

* explosives fnc_openTimerUI

* fix uniqueItems
2018-09-17 14:19:29 -05:00
Dedmen Miller
7a0a00ea09 Cleanup using SQFLint (#6485)
* Use private
* Fix wrong spacing
* Fix wrong variable being used
* Cleanup empty line after header
* ace_common_fnc_getCountOfItem
* Remove useless _return variable
* Naming
2018-08-02 15:02:10 +01:00
Dedmen Miller
6bd8542eed Move #includes before function headers (#6484) 2018-07-30 10:22:14 +01:00
SilentSpike
68ff7575eb
Move medical facility, vehicle and unit functions (#6440) 2018-07-18 11:09:48 +01:00
SilentSpike
ff33f8e954 Use macro for unconscious variable 2018-05-22 17:21:24 +01:00
SilentSpike
1dc934e1b1 Use macros for unit variables
Improves the way medical is storing variables in object space by having
a common list of variables names as macros. Makes the code a bit cleaner
and ensured consistency across components. Also a handy reference for
when working on medical to see what values are all stored.
2018-05-11 15:28:25 +01:00
SilentSpike
697aa5dc08 Fix medical status function calls 2018-05-08 10:45:30 +01:00
SilentSpike
c92fd89c7a Fix pain percieved function calls 2018-05-08 08:47:03 +01:00
SilentSpike
6559665b8b Use more status macros 2018-04-27 16:03:55 +01:00
ulteq
5ee1df424d
Minor performance tweaks (#5796)
* Medical_ai - Optimize 'fnc_isInjured'
* Laserpointer - Optimize 'fnc_onDraw'
* Overheating - Skip ground detection if possible
* Overheating - Replace function call with inline code
* Overheating - Nest 'firedEH' abort conditions
* Overheating - Remove duplicate code / Skip function call if possible
* Overheating - Cache energy increment
2017-11-23 11:13:58 +01:00
PabstMirror
5c4dbdcbda Merge branch 'master' into medical-rewrite
Conflicts:
	addons/medical/ACE_Settings.hpp
	addons/medical/XEH_postInit.sqf
	addons/medical/functions/fnc_adjustPainLevel.sqf
	addons/medical/functions/fnc_copyDeadBody.sqf
	addons/medical/functions/fnc_getTriageStatus.sqf
	addons/medical/functions/fnc_handleBandageOpening.sqf
	addons/medical/functions/fnc_handleCollisionDamage.sqf
	addons/medical/functions/fnc_handleDamage_fractures.sqf
	addons/medical/functions/fnc_handleDamage_woundsOld.sqf
	addons/medical/functions/fnc_init.sqf
	addons/medical/functions/fnc_moduleAssignMedicalFacility.sqf
	addons/medical/functions/fnc_parseConfigForInjuries.sqf
	addons/medical/functions/fnc_setDead.sqf
	addons/medical/functions/fnc_setHitPointDamage.sqf
	addons/medical/functions/fnc_setUnconscious.sqf
	addons/medical/functions/fnc_showBloodEffect.sqf
	addons/medical/functions/fnc_unconsciousPFH.sqf
	addons/medical/stringtable.xml
	addons/medical_ai/functions/fnc_healUnit.sqf
	addons/medical_ai/functions/fnc_isInjured.sqf
	addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf
2017-10-24 16:13:12 -05:00
LordGolias
8d9c17ed88 Made AI medic use epipen on unconscious patients (#5433)
* Made AI medic use epipen on unconscious patients

* Fix epi heal args, use non-local treatment funcs
2017-10-14 20:43:53 +02:00
PabstMirror
356a8f640a Merge branch 'master' into medical-rewrite
Conflicts:
	addons/medical/functions/fnc_actionCheckBloodPressure.sqf
	addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf
	addons/medical/functions/fnc_actionCheckPulse.sqf
	addons/medical/functions/fnc_actionCheckPulseLocal.sqf
	addons/medical/functions/fnc_actionDiagnose.sqf
	addons/medical/functions/fnc_actionRemoveTourniquet.sqf
	addons/medical/functions/fnc_addHeartRateAdjustment.sqf
	addons/medical/functions/fnc_addToInjuredCollection.sqf
	addons/medical/functions/fnc_addUnconsciousCondition.sqf
	addons/medical/functions/fnc_addVitalLoop.sqf
	addons/medical/functions/fnc_canTreat.sqf
	addons/medical/functions/fnc_copyDeadBody.sqf
	addons/medical/functions/fnc_createLitter.sqf
	addons/medical/functions/fnc_determineIfFatal.sqf
	addons/medical/functions/fnc_getBloodLoss.sqf
	addons/medical/functions/fnc_getBloodPressure.sqf
	addons/medical/functions/fnc_getBloodVolumeChange.sqf
	addons/medical/functions/fnc_getCardiacOutput.sqf
	addons/medical/functions/fnc_getHeartRateChange.sqf
	addons/medical/functions/fnc_getTriageStatus.sqf
	addons/medical/functions/fnc_getUnconsciousCondition.sqf
	addons/medical/functions/fnc_handleBandageOpening.sqf
	addons/medical/functions/fnc_handleCollisionDamage.sqf
	addons/medical/functions/fnc_handleDamage.sqf
	addons/medical/functions/fnc_handleDamage_advanced.sqf
	addons/medical/functions/fnc_handleDamage_advancedSetDamage.sqf
	addons/medical/functions/fnc_handleDamage_airway.sqf
	addons/medical/functions/fnc_handleDamage_caching.sqf
	addons/medical/functions/fnc_handleDamage_fractures.sqf
	addons/medical/functions/fnc_handleDamage_internalInjuries.sqf
	addons/medical/functions/fnc_handleDamage_wounds.sqf
	addons/medical/functions/fnc_handleDamage_woundsOld.sqf
	addons/medical/functions/fnc_hasMedicalEnabled.sqf
	addons/medical/functions/fnc_hasTourniquetAppliedTo.sqf
	addons/medical/functions/fnc_isInStableCondition.sqf
	addons/medical/functions/fnc_isMedicalVehicle.sqf
	addons/medical/functions/fnc_itemCheck.sqf
	addons/medical/functions/fnc_medicationEffectLoop.sqf
	addons/medical/functions/fnc_modifyMedicalAction.sqf
	addons/medical/functions/fnc_moduleAdvancedMedicalSettings.sqf
	addons/medical/functions/fnc_moduleAssignMedicalFacility.sqf
	addons/medical/functions/fnc_moduleBasicMedicalSettings.sqf
	addons/medical/functions/fnc_moduleReviveSettings.sqf
	addons/medical/functions/fnc_parseConfigForInjuries.sqf
	addons/medical/functions/fnc_playInjuredSound.sqf
	addons/medical/functions/fnc_reviveStateLoop.sqf
	addons/medical/functions/fnc_selectionNameToNumber.sqf
	addons/medical/functions/fnc_setDead.sqf
	addons/medical/functions/fnc_setHitPointDamage.sqf
	addons/medical/functions/fnc_setStructuralDamage.sqf
	addons/medical/functions/fnc_setUnconscious.sqf
	addons/medical/functions/fnc_showBloodEffect.sqf
	addons/medical/functions/fnc_treatment.sqf
	addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf
	addons/medical/functions/fnc_treatmentAdvanced_CPRLocal.sqf
	addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf
	addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf
	addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf
	addons/medical/functions/fnc_treatmentAdvanced_fullHealLocal.sqf
	addons/medical/functions/fnc_treatmentAdvanced_medication.sqf
	addons/medical/functions/fnc_treatmentAdvanced_medicationLocal.sqf
	addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf
	addons/medical/functions/fnc_treatmentBasic_bloodbagLocal.sqf
	addons/medical/functions/fnc_treatmentBasic_epipen.sqf
	addons/medical/functions/fnc_treatmentBasic_morphine.sqf
	addons/medical/functions/fnc_treatmentBasic_morphineLocal.sqf
	addons/medical/functions/fnc_treatmentIV.sqf
	addons/medical/functions/fnc_treatmentIVLocal.sqf
	addons/medical/functions/fnc_treatmentTourniquet.sqf
	addons/medical/functions/fnc_treatmentTourniquetLocal.sqf
	addons/medical/functions/fnc_treatment_failure.sqf
	addons/medical/functions/fnc_treatment_success.sqf
	addons/medical/functions/fnc_unconsciousPFH.sqf
	addons/medical/functions/fnc_useItem.sqf
	addons/medical/functions/fnc_vitalLoop.sqf
	addons/medical_blood/functions/fnc_hit.sqf
	addons/medical_treatment/functions/fnc_hasItem.sqf
	addons/medical_treatment/functions/fnc_useItems.sqf
2017-06-10 10:21:18 -05:00
Phyma
ffaa195fe5 Conform function headers to coding guidelines (#5255)
* Fixed headers to work with silentspike python script

* Fixed rest of the files

* Fixed ace-team
2017-06-08 15:31:51 +02:00
PabstMirror
a32478adfb Merge branch 'master' into medical-rewrite 2017-01-17 13:10:18 -06:00
Skully71
9b22f94374 Ensure movingToInjured is false whenever _target no longer needs healing, fixes #4797 (#4800) 2017-01-02 14:02:43 +01:00
PabstMirror
c2f9010183 opps 2016-12-09 21:29:23 -06:00
PabstMirror
3907d2dc9f Cleanup moved functions 2016-12-09 21:27:42 -06:00
ulteq
fa77fb7194 Various fixes:
* Fixed medication (morphine, epinephrine, ...)
* Fixed CPR
* Improved heart rate simulation
* Removed deprecated ace settings
2016-12-06 17:26:11 +01:00
commy2
a83267b2ff manual merge 2016-12-05 20:15:16 +01:00
PabstMirror
0746264905 MedicalAI - Fix treatment animion with no weapon (#4633) 2016-11-04 00:01:58 +01:00
commy2
4a06d19ce4 merge basic and adv. bandage actions 2016-10-13 01:55:10 +02:00
commy2
5613ec5d5a treatment functions and unconsciousness rework 2016-10-06 00:54:57 +02:00
PabstMirror
60a7490b7e Fix some moved funcs/strings 2016-09-29 15:08:36 -05:00