Commit Graph

88 Commits

Author SHA1 Message Date
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
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
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
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
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
97ec22bd9a Switch heartbeat to waitAndExec, allow switching pain settings 2017-02-18 22:11:40 -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
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
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
20d00d7cd9 make units scream when they're hit 2016-09-27 21:21:44 +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
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
811e1cd598 First set up clean up for medical rewrite 2016-09-18 12:05:36 +02:00
commy2
f793a0d8d1 merge medical engine component into medical rewrite branch 2016-07-30 14:00:42 +02:00