Commit Graph

181 Commits

Author SHA1 Message Date
PabstMirror
a71879ccea
Medical - Increase severity of falling damage and Improve non-selectionSpecific wounds (#7214)
* Medical - Increase severity of falling damage

* Improve non-selectionSpecific wounds

* Use macros for hitpoint indexes
2019-10-08 10:44:49 -05:00
mharis001
ec9e6c088b Medical - Only stitch wounds on not bleeding body parts (#7044)
* Only stitch wounds on not bleeding body parts
2019-09-28 21:48:19 +01:00
PabstMirror
edd5c44853
Medical - Improve loading/unloading of unconc patients (#7109)
* Medical - Improve loading/unloading of unconc patients

* Update fnc_loadPersonLocal.sqf

* Multi-line

* Formating

* Update fnc_loadUnit.sqf
2019-09-05 15:56:53 -05:00
PabstMirror
f5782fd1ff
Medical - Various debugging and fix cpr anim speed (#7122)
* Medical - Various debugging and fix cpr anim speed

* Update fnc_setCardiacArrest.sqf
2019-08-06 08:10:33 -05:00
PabstMirror
ded81418e6
Medical Engine - Report any fatal head damage (#7103) 2019-07-16 13:00:28 -05:00
PabstMirror
0c47d45d31
Medical - Fix hitpoints on VR units (#7098) 2019-07-12 10:03:22 -05:00
mharis001
08a7d2706e Add wounds var macros (#7058) 2019-06-22 13:36:27 -05:00
jonpas
66fba546cf Medical Engine without parentheses 2019-06-18 16:03:21 +02: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
PabstMirror
e56cc0d74e
Limping / Splint Treatment (#6947)
* 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

* cleanup

* Apply suggestions from code review

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

* formating, rename bone images

* 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
2019-05-11 23:13:59 -05:00
commy2
64e640bcf2 revert a variable 2019-05-03 17:09:16 +02:00
commy2
744b9778df temporarily re-allowDamage when using setHit(PointDamage) 2019-05-03 17:03:17 +02:00
PabstMirror
847d2d4179
Medical - Improve adjustment calcs / wound blood loss / medications (#6910)
* 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>

* Update addons/medical_treatment/functions/fnc_onMedicationUsage.sqf

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>
2019-04-27 14:12:11 -05:00
PabstMirror
0d7709673a
Medical Feedback - Fix DISABLE_VANILLA_DAMAGE_EFFECTS (#6966)
* Medical Feedback - Fix DISABLE_VANILLA_DAMAGE_EFFECTS

* Keep compatibilty with old ace_medical_lastDamageSource var name
2019-04-27 14:04:31 -05:00
PabstMirror
641dee39bd Fix trivial bugs (#6922) 2019-04-07 14:22:25 +02:00
PabstMirror
f2b9bf3a17 Update headers 2019-03-30 11:07:54 -05:00
mharis001
8d2bba4b35
Rewrite Medical GUI (#6831)
* Add a macro for the bloodloss scaling factor

* Adjust bloodloss threshold for red icon

* Remove bloodloss color scaling factor

The issue is actually the other way round, the factor of 20 would
instantly make bodyparts red on taking a wound.

* Implemet 10 color steps provided by ShackTac

This replaces the old method of colouring the interaction menu icons
and body image selections with a new method that has 10 distinct color
steps (matching across the icons and the body image).

* Use macros for constants

* Implement blue damage colouring

This re-adds visualisation for colouring based on damage. The case where
a limb has a tourniquet will hopefully be handled by an overlayed icon.

* Tidy up file structure

* Move patient information display to medical_ui

* Make common colour conversion code into functions

* Add tourniquet icon overlay to body image

* Fix mispelling I forgot to commit

* Update icon paths to new white cross icon

* Clean mess after rebase

* Add new medical menu gui

* Add updating injury list and body image

* Add updating treatment category buttons

* Update onMenuClose function

* Delete unused functions

* Add action buttons and triage card to menu

* Move medical menu PFH to separate function

* Move setTriageStatus to treatment

* Add triage select dropdown

* Add toggle button action

* Fix mouse moving randomly when opening

* Add logs list update and remove unused functions

* Hide tourniquet icons by default

* Remove CfgInGameUI (already in feedback)

* Update patient info display

* Update triage card display

* Add settings to control interact menu actions

* Cleanup files/paths

* Move triage status update to common function

* Add icons for interact menu actions

* Modify icon color for interact menu actions

* Update canOpenMenu for new setting

* Hide pain information for unconscious

* Stringtable cleanup

* Use switch for pain text

* Change minor triage status to minimal

* Fix injury list to use new stringtable entry names

* Fix medical actions check when disabled

* Skip distance check in same vehicle

* More cleanup

* Fix CI error

* Requested changes

* Fix INJURIES string

* Fix include after comment block

* Fix missing ;

Co-Authored-By: mharis001 <34453221+mharis001@users.noreply.github.com>
2019-03-24 18:17:48 -04:00
Rutger "RedBery" Meijering
15036d7fd8 Fixes to unconsciousness and damageTypes systems (#6589)
* Fixes BleedingCoef having impact on bloodloss KO
Fixes incorrect var in setUnconscious

* Changes method for checking if typeOfDamage is valid
Adds check for if typeOfDamage is valid to extension version of woundsHandler

* Changes collision wound location select to a weighted system to make it more lethal at faster collisions
Adds collision and drowning damage types to config (drowning has no related wounds to prevent wounds being added while drowning).

* Fixes unneeded space

* Fixes minor mistake (body damage chance should go from 1 to 0 without ever becoming negative)
2019-03-21 19:33:51 +01:00
Magnetar
cc11ad051d Formatting. Lazy eval 2019-03-21 14:34:51 +01:00
Magnetar
89927a8b94 Missing privates. Lazy evaluation. 2019-03-17 21:26:15 +01:00
SilentSpike
11547d7ff8
Fix environmental damage sources (#6515)
* Tidy handle damage code
* Fix environmental damage conditions

- Vehicle damage would never occur because it doesn't fire all the
hitpoints
- Missing sanity check on fall damage to check that unit isn't in a
vehicle
- Getting hit by a vehicle while on foot can be detected by checking for
a shooter

* Improve collision handling

- All collisions have a `_shooter` so we simply first check for that because burning doesn't and it could happen at any velocity
- We don't actually care what caused the collision because they should all cause the same type of wounding
- The exception is fall damage because we want to prioritise wounding the legs, we assume if the `_unit` had downward velocity and `_shooter == _unit` that it was fall damage (not necessarily always true, but almost always is and there doesn't look to be a more specific way to check).
2018-08-15 07:57:11 +01:00
SilentSpike
a182336880
Ignore playable logic hitpoints (#6517) 2018-08-12 12:21:06 +01: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
Thomas Kooi
c9ad92e92d
Disable debugging (#6482) 2018-07-30 00:07:30 +02:00
Thomas Kooi
36f2c5fcc9 Minor code clean up (#6474)
* Minor code clean up
* refactor(medical): shorten some code
* refactor(medical): use macros for tourniquets
* refactor(medical): pull cache expiry values into script_macros_medical
2018-07-29 22:43:14 +01:00
SilentSpike
2ea7c349ca
Add possibility for lethal organ damage (#6277)
* Change fatal injury to emulate lethal organ damage
2018-07-29 21:19:04 +01:00
SilentSpike
873ed90cc1
Introduce bleedout condition and fix IV hemorrhage (#6470)
* Introduce bleedout condition and fix IV hemorrhage
* Update patient info display hemorrhage values
* Update UI info hemorrhage values
2018-07-25 11:40:37 +01:00
SilentSpike
39b1d144e1
Vary time taken to bandage based on circumstances (#6467) 2018-07-25 09:35:04 +01:00
commy2
78ee7d4677
simplify animations config 2018-07-21 09:16:05 +02:00
SilentSpike
cde22a675a Fix ladder dismount animation bug (#6454)
Not sure of the original reason we interpolate to this ACE unconscious
animation, but removing it seemingly has no effect and fixes all the
other animations that were broken by it.
2018-07-20 22:48:48 +02:00
SilentSpike
0e50aca9d8
Add support to toggle allowDamage (#6266) 2018-07-18 19:31:29 +01:00
SilentSpike
34eb5553ea
Move scream and moan sounds to medical feedback (#6438)
* Move scream and moan sounds to medical feedback
* Move vanilla feedback overrides to medical feedback
* Update all function calls
* Use events to avoid a dependency
2018-07-18 19:21:27 +01:00
SilentSpike
4466f9e785
Strip medical component (#6442)
* Move litter to `treatment`
* Move eden object attributes to `treatment`
* Move treatment items to `treatment`
* Move bodybag handling to `treatment`
* Move state conditions to `statemachine`
* Move radio addon handling to `feedback`
* Move medical macros to `engine`
* Move medical extension to `damage`
* Fix texture and material paths after move
* Remove duplicate medical menu config
* Remove old faction class
* Remove a bunch of old code
2018-07-18 19:13:25 +01:00
Bismarck
e566cbf35a Fixes damage redirection issues (#6231)
Units accumulate damage in the local variables
"ACE_Medical_Engine_$HitXXXX", but these are never reset. The way these
vars are used is as a single-damage-event tracker, and the end result of
not resetting their value when they're done being used is that a
specific $HitXXXX can accumulate enough damage to cause the "select
wound with highest damage" code to always select _it_ for the next wound
event, even if it wasn't the primary target of the last wound event.

I.E. I get shot in the right leg badly. If I then get winged in the left
arm, that wound will end up on my right leg, because when the code runs,
it finds QGVAR($HitRightLeg) > QGVAR($HitLeftArm), and so it applies the
wound to the right leg.
2018-07-16 23:49:06 +02:00
Glowbal
6576e5d014 Fix linting error 2018-07-15 16:28:39 +02:00
Glowbal
9d2e76e67a More component name fixes and small clean up 2018-07-15 16:24:04 +02:00
commy2
306c449986 implement pr #5385 2018-01-02 16:36:17 +01:00
commy2
6520fdb624 implement pr #5385 2018-01-02 16:34:13 +01:00
PabstMirror
6aa32ce811 Fix setUnconsciousAnim error 2017-09-23 11:46:48 -05:00
PabstMirror
382028e662 Fix updating body part visuals (#5141) 2017-06-08 13:50:38 -05:00
PabstMirror
f369ffaa04 Med rw handle fire damage (#5100)
* Bundle fire damage into bigger chunks

Redo #4223

* Use same values

* Decrease combine cuttoff to 0.1
2017-06-05 11:42:00 -05:00
PabstMirror
e3af1b55a5 Merge branch 'medical-rewrite' into medical-rewrite-effects 2017-03-18 09:56:42 -05:00
PabstMirror
d403f20d71 Adjust addDamageToUnit for rewrite 2017-03-06 15:06:01 -06:00
PabstMirror
97ec22bd9a Switch heartbeat to waitAndExec, allow switching pain settings 2017-02-18 22:11:40 -06:00
PabstMirror
b87bdfe14a Fix body-bag action / cleanup 2016-12-09 21:03:52 -06:00
PabstMirror
c431a7d236 Ignore UAV AI hitpoints 2016-12-08 15:53:52 -06:00
ulteq
78bfc0c26d Simplified damage storage 2016-12-08 11:38:43 +01:00
ulteq
45aa80bed7 Fix leg damage always counted as #vehiclecrash 2016-12-07 16:39:22 +01:00
ulteq
a5ce5b4a34 Medical Rewrite - Continued (#4744) 2016-12-05 21:34:20 +01:00
commy2
347be3c222 handle vehicle crashes and add wounds for fall damage 2016-10-20 15:02:24 +02:00
commy2
0370a34672 remove some debug 2016-10-20 12:43:57 +02:00
commy2
f2dfc6dc0e fixes, tweaks 2016-10-13 20:17:21 +02:00
commy2
5965326ca1 merge basic and adv. bandage actions 2016-10-13 09:47:52 +02:00
commy2
fd6e46b622 make waking up rocket soldier kneel not stand 2016-10-13 01:42:32 +02:00
commy2
71884778dd animation fixes 2016-10-13 01:16:51 +02:00
commy2
e38845bf45 add ace_kill event handler 2016-10-12 23:20:22 +02:00
commy2
a5d070f829 blood and unconsciousness fixes 2016-10-12 21:59:32 +02:00
commy2
3521bca00b change blood texture threshold 2016-10-10 15:22:59 +02:00
commy2
b0c0156d75 reduce some overhead 2016-10-07 05:10:43 +02:00
commy2
4bc1c1db56 handle blood visuals 2016-10-07 04:21:01 +02:00
commy2
56c77fed94 prep for new pain aim sway method 2016-10-06 23:44:14 +02:00
commy2
e9586ebccc use common header file for medical components 2016-10-06 22:40:36 +02:00
commy2
5613ec5d5a treatment functions and unconsciousness rework 2016-10-06 00:54:57 +02:00
commy2
5875f58604 use new macro 2016-10-02 17:50:17 +02:00
commy2
c93e9e3f3b fix playSoundInjured wrong args 2016-09-30 13:03:43 +02:00
commy2
bd98e44a94 simplify 2016-09-30 11:52:05 +02:00
commy2
77f21e9441 add some more functions to engine component 2016-09-30 11:23:07 +02:00
commy2
36d244a868 'modernize' primary treatment functions, fix animation issues, add anim speed scaling 2016-09-29 16:00:19 +02:00
commy2
20d00d7cd9 make units scream when they're hit 2016-09-27 21:21:44 +02:00
commy2
5e35204811 woundHandler(SQF), fixes, improvements, more consistent variable naming 2016-09-27 17:29:49 +02:00
commy2
0637a7401e travis pls 2016-09-26 20:52:08 +02:00
commy2
c21323f9ed travis 2016-09-26 20:45:29 +02:00
commy2
9f6baca424 port injury parse fnc to medical damage 2016-09-26 20:25:14 +02:00
commy2
8fd7e8335a simplify and fix medical engine damage 2016-09-26 19:59:00 +02:00
commy2
80232c39cc add todo note 2016-09-26 19:07:14 +02:00
commy2
4b9873d304 fix various issues with handleDamage engine component 2016-09-26 18:30:39 +02:00
Glowbal
9263cb0f7d Fix handleDamage not working 2016-09-18 14:05:05 +02:00
Glowbal
811e1cd598 First set up clean up for medical rewrite 2016-09-18 12:05:36 +02:00
commy2
2ac52fb430 remove static fix from vmedical component 2016-08-27 08:50:55 +02:00
commy2
f793a0d8d1 merge medical engine component into medical rewrite branch 2016-07-30 14:00:42 +02:00