Feature #23253

Add an (Optional) Damage Threshhold to "ace_wounds_prevtime"

Added by Harrumph almost 4 years ago. Updated about 2 years ago.

Status:Assigned Start date:08/08/2011
Priority:Normal Due date:
Assignee:Xeno % Done:

70%

Category:Script
Target version:TBD
Component:sys_wounds Affected Version:
Close Reason:

Description

setting ace_wounds_prevtime with a short timer is fantastic for adding depth to the medical system, allowing more options and far greater emphasis on triage when dealing with casualties.

Unfortunately the depth is somewhat ruined by there being no difference between a 9mm shot to the leg (that deals JUST enough damage to "kill" the soldier) vs a direct hit from AT4 (which would absolutely instantly kill the soldier).

Being able to set a variable, e.g. "ace_wounds_prevdamage = 4" which would allow us to differentiate (even crudely) between these two types of "damage" and "kill" events would be greatly appreciated, and allow for a fantastic alternative use of the ace_wounds_prevtime system with minimal modification.

ace_sys_wounds.pbo - modified ace_sys_wounds pbo (7.2 MB) Harrumph, 11/02/2012 20:24

ace_sys_wounds.pbo (7.2 MB) Harrumph, 11/08/2012 17:58


Related issues

duplicated by A.C.E. for OA - Feature #27880: ACE Poor man's revive alternative respawn Duplicate 01/17/2012

History

Updated by rocko almost 4 years ago

In short:

For HE SuperDuperMega Kill Ammo use NO "ace_wounds_prevtime" but for small caiber rounds whose damage is more likely to be survived?

Updated by Harrumph almost 4 years ago

Exactly.

Updated by Sickboy almost 4 years ago

  • Status changed from New to Assigned
  • Assignee set to Xeno
  • Priority changed from Normal to Trivial
  • Target version set to 395

Updated by rocko almost 4 years ago

  • Target version changed from 395 to Planned (Needs Contributors)

Updated by rocko almost 4 years ago

  • Target version changed from Planned (Needs Contributors) to 395

Updated by rocko almost 4 years ago

  • Component set to sys_wounds

Updated by MaHuJa almost 4 years ago

Isn't this, in the absense of prevtime, the default behavior? Except the time-to-live is generally determined by how you bleed rather than a fixed timer. Perhaps a greater (any?) chance of being knocked unconscious immediately by hits would be needed.

Not that it's perfect without prevtime as-is; you can be "killed" by grenades from a launcher, hitting so far away you take virtually no damage from each one, but a couple bandages and injections will fix you up after being decapitated by helicopter (main) rotor blades.

Updated by Harrumph almost 4 years ago

@MaHuJa
Yes and no.

The default behavior also kills people if they get hit with enough 9mm rounds in the foot. A damage threshold, like the one I'm proposing, would allow them to still have a chance of continuing combat after "dying" to many low damage events.

Updated by rocko over 3 years ago

  • Target version changed from 395 to Planned (Needs Contributors)

Updated by pellejones over 3 years ago

First off, sorry for the duplicate.

Second, how can SSG contribute? We are 30-40 players every sunday, 20-30 every wednesday. We want to see this happen and would love to contribute in any way possible.

Updated by rocko over 3 years ago

pellejones wrote:

First off, sorry for the duplicate.

Second, how can SSG contribute? We are 30-40 players every sunday, 20-30 every wednesday. We want to see this happen and would love to contribute in any way possible.

Xeno needs to do this or Sickboy.

My best guess how to contribute to get one of them do it, would be
- sending emails with offensive violent or "pleasure" content, and make sure to tell your other 40 guys about it
- sending money (not sure if it helps), also remember the other 40 guys
- paying them a visit and bring spiked clubs, 40 guys
- offer them your body, dressed as japanese schoolgirl, not sure about the 40

Good luck

Edit: Needs contributorss, just means that if someone from the ACE team has time and motivation, it gets done.

Updated by columdrum over 3 years ago

Just add a thing that can help. Some off the things you ask on the ticket were implemented long ago, for example there is a event that trigers when you get "killed"( not really killed just that you started the poor man revive count) called "ace_sys_wounds_rev". Info here:

http://ace.dev-heaven.net/wagn/Wounding_System+notes

Also you have multiple ways to get the damage with the game events or even usin this new ACE event:
https://dev-heaven.net/issues/27684

With that and just some lines of scripting you can implement it yourself, the wounding system it's really great right now, because you can modify to work it just like you want :). For example that allowed me to create this script http://www.armaholic.com/page.php?id=12937 ^^

Edit: i readed it bad, he wasn't asking for a "PMR killed" event :( just a way to difference the type of kill already implemented inside ACE. Anyways i hope it can help :S

Updated by rocko over 3 years ago

Yes, but a built-in version instead of hacking it into ACE is better.

Updated by pellejones about 3 years ago

What is the status of this :/ any progress (I suppose not but I ask anyway) :)

Updated by Harrumph over 2 years ago

I've implemented this feature by editing the ace_sys_wounds module, and I'd like to contribute to ACE.

default behaviour is unaffected, but the functionality is now available for those who wish to use it.

The threshold is configurable in much the same way as the current ace systems:

ace_wounds_prevthreshold = 1.5;
publicVariable "ace_wounds_prevthreshold";

Updated by rocko over 2 years ago

  • Category set to Integration
  • Priority changed from Trivial to Normal
  • Target version changed from Planned (Needs Contributors) to 1.14
  • % Done changed from 0 to 70

waht would the 1.5 mean?

Updated by Harrumph over 2 years ago

I've made a significant improvement to this.

Default behaviour remains unaffected.

Two different thresholds are now configurable by means of publicVariables:

ace_wounds_prev_headbody_threshold = 2.5;
publicVariable "ace_wounds_prev_headbody_threshold";

ace_wounds_prev_all_threshold = 4;
publicVariable "ace_wounds_prev_all_threshold";

Here's a case by case breakdown of the behaviour with different variables set:

None -> default/current ACE behaviour
Just headbody_threshold -> Players may only be killed by damage exceeding the threshold applied to their head or body.
Just all_threshold -> Players may be killed by damage anywhere exceeding the threshold.
Both -> combined effects of both above.

Explanation of variables:
ace_wounds_prev_headbody_threshold is the maximum damage threshold sustainable to the head or the body.
ace_wounds_prev_all_threshold is the maximum damage threshold sustainable anywhere.

The number assigned to the variables is compared against the damage passed into the fnc_hd2.sqf file.

A few values taken from testing at close range:
leg hit with 5.56mm -> 1.90098 damage
second leg hit with 5.56mm -> 2.41651 damage
third leg hit with 5.56mm -> 2.90073 damage

head hit with 5.56mm -> 4.59922 damage.

For usage, I'd suggest the above are used as starting points, and the values are tweaked to be increased or decreased depending on the desired level of lethality. At the moment these have the effect of:
2x 5.56mm to the torso = revive state
3x 5.56mm to the torso = killed

1x 7.62mm to the torso = revive state
2x 7.62mm to the torso = killed

1x 5.56mm or greater to the head = killed

Updated by rocko over 2 years ago

Harrumph wrote:

I've made a significant improvement to this.

Default behaviour remains unaffected.

Two different thresholds are now configurable by means of publicVariables:

ace_wounds_prev_headbody_threshold = 2.5;
publicVariable "ace_wounds_prev_headbody_threshold";

ace_wounds_prev_all_threshold = 4;
publicVariable "ace_wounds_prev_all_threshold";

Here's a case by case breakdown of the behaviour with different variables set:

None -> default/current ACE behaviour
Just headbody_threshold -> Players may only be killed by damage exceeding the threshold applied to their head or body.
Just all_threshold -> Players may be killed by damage anywhere exceeding the threshold.
Both -> combined effects of both above.

Explanation of variables:
ace_wounds_prev_headbody_threshold is the maximum damage threshold sustainable to the head or the body.
ace_wounds_prev_all_threshold is the maximum damage threshold sustainable anywhere.

The number assigned to the variables is compared against the damage passed into the fnc_hd2.sqf file.

A few values taken from testing at close range:
leg hit with 5.56mm -> 1.90098 damage
second leg hit with 5.56mm -> 2.41651 damage
third leg hit with 5.56mm -> 2.90073 damage

head hit with 5.56mm -> 4.59922 damage.

For usage, I'd suggest the above are used as starting points, and the values are tweaked to be increased or decreased depending on the desired level of lethality. At the moment these have the effect of:
2x 5.56mm to the torso = revive state
3x 5.56mm to the torso = killed

1x 7.62mm to the torso = revive state
2x 7.62mm to the torso = killed

1x 5.56mm or greater to the head = killed

Currently this implementation does not take body armor, distance and thus penetration coeff into account (regarding the body hits). This should be changed to accumulate the 'correct' damage done to a unit.

Updated by Harrumph over 2 years ago

rocko wrote:

Currently this implementation does not take body armor, distance and thus penetration coeff into account (regarding the body hits). This should be changed to accumulate the 'correct' damage done to a unit.

That's a good suggestion for a future enhancement, but is not a requirement for the core behaviour to work correctly.
As this is entirely optional, it necessarily cannot be worse than what we presently have.

I'll look at implementing this when I get some time off in a few weeks, but I think it would be appreciated by a lot of community members if we could get this integrated there as soon as possible. Even though it's not presently perfect, it's still a great optional enhancement over the current choices of invulnerability or no CASEVAC.

Updated by rocko over 2 years ago

Harrumph wrote:

rocko wrote:

Currently this implementation does not take body armor, distance and thus penetration coeff into account (regarding the body hits). This should be changed to accumulate the 'correct' damage done to a unit.

That's a good suggestion for a future enhancement, but is not a requirement for the core behaviour to work correctly.
As this is entirely optional, it necessarily cannot be worse than what we presently have.

I'll look at implementing this when I get some time off in a few weeks, but I think it would be appreciated by a lot of community members if we could get this integrated there as soon as possible. Even though it's not presently perfect, it's still a great optional enhancement over the current choices of invulnerability or no CASEVAC.

Yea, I have it in already, but does not 'feel good' in its current form. I am fumbling around with the damage calculation sections of the wounding system, maybe in a few hours.
Just to mention it would be worth to have the damage calculation taken into account properly and not just work with the raw damage data.

Updated by Harrumph over 2 years ago

Ah, no problem then. Thanks for the update.

Updated by rocko about 2 years ago

  • Target version changed from 1.14 to TBD

Updated by rocko about 2 years ago

  • Category changed from Integration to Script

Also available in: Atom PDF