Improved wounds configuration (missing maxDamage values added)

This commit is contained in:
Glowbal 2015-04-07 00:57:05 +02:00
parent c7549a13a4
commit 12493f8595
4 changed files with 36 additions and 13 deletions

View File

@ -295,14 +295,16 @@ class ACE_Medical_Advanced {
selections[] = {"All"};
bleedingRate = 0.0001;
pain = 0.01;
causes[] = {"falling", "ropeburn", "vehiclecrash"};
causes[] = {"falling", "ropeburn", "vehiclecrash", "unknown"};
minDamage = 0.01;
class Minor {
minDamage = 0.01;
maxDamage = 0.2;
bleedingRate = 0.0001;
};
class Medium {
minDamage = 0.2;
maxDamage = 0.3;
bleedingRate = 0.00015;
};
class Large {
@ -321,10 +323,12 @@ class ACE_Medical_Advanced {
minDamage = 0.2;
class Minor {
minDamage = 0.2;
maxDamage = 0.3;
bleedingRate = 0.01;
};
class Medium {
minDamage = 0.3;
maxDamage = 0.6;
bleedingRate = 0.02;
};
class Large {
@ -341,14 +345,18 @@ class ACE_Medical_Advanced {
pain = 0.05;
causes[] = {"bullet", "backblast", "punch","vehiclecrash","falling"};
minDamage = 0.01;
maxDamage = 0.1;
class Minor {
minDamage = 0.01;
maxDamage = 0.1;
};
class Medium {
minDamage = 0.1;
maxDamage = 0.15;
};
class Large {
minDamage = 0.3;
minDamage = 0.15;
maxDamage = 0.2;
};
};
@ -358,14 +366,16 @@ class ACE_Medical_Advanced {
selections[] = {"All"};
bleedingRate = 0.01;
pain = 0.1;
causes[] = {"falling", "vehiclecrash", "punch"};
causes[] = {"falling", "vehiclecrash", "punch", "unknown"};
minDamage = 0.1;
class Minor {
minDamage = 0.1;
maxDamage = 0.45;
bleedingRate = 0.005;
};
class Medium {
minDamage = 0.4;
maxDamage = 0.7;
bleedingRate = 0.007;
};
class Large {
@ -380,14 +390,16 @@ class ACE_Medical_Advanced {
selections[] = {"All"};
bleedingRate = 0.01;
pain = 0.075;
causes[] = {"vehiclecrash", "grenade", "explosive", "shell", "backblast", "stab"};
causes[] = {"vehiclecrash", "grenade", "explosive", "shell", "backblast", "stab", "unknown"};
minDamage = 0.1;
class Minor {
minDamage = 0.1;
maxDamage = 0.3;
bleedingRate = 0.005;
};
class Medium {
minDamage = 0.3;
maxDamage = 0.65;
bleedingRate = 0.02;
};
class Large {
@ -406,10 +418,12 @@ class ACE_Medical_Advanced {
minDamage = 0.01;
class Minor {
minDamage = 0.1;
maxDamage = 0.5;
bleedingRate = 0.005;
};
class Medium {
minDamage = 0.5;
maxDamage = 0.7;
bleedingRate = 0.01;
};
class Large {
@ -424,10 +438,11 @@ class ACE_Medical_Advanced {
selections[] = {"All"};
bleedingRate = 0.01;
pain = 0.2;
causes[] = {"bullet", "grenade","explosive", "shell"};
causes[] = {"bullet", "grenade","explosive", "shell", "unknown"};
minDamage = 0.15;
class Minor {
minDamage = 0.15;
maxDamage = 0.3;
bleedingRate = 0.025;
};
class Medium {
@ -450,10 +465,12 @@ class ACE_Medical_Advanced {
minDamage = 0.01;
class Minor {
minDamage = 0.01;
maxDamage = 0.5;
bleedingRate = 0.01;
};
class Medium {
minDamage = 0.5;
maxDamage = 0.75;
bleedingRate = 0.03;
};
class Large {
@ -518,6 +535,9 @@ class ACE_Medical_Advanced {
thresholds[] = {{0.1, 1}};
selectionSpecific = 1;
};
class unknown {
thresholds[] = {{0.1, 1}};
};
};
};
class Treatment {

View File

@ -134,9 +134,9 @@ GVAR(effectTimeBlood) = time;
_bleeding = ACE_player call FUNC(getBloodLoss);
// Bleeding Indicator
if (_bleeding > 0 and GVAR(effectTimeBlood) + 6 < time) then {
if (_bleeding > 0 and GVAR(effectTimeBlood) + 3.5 < time) then {
GVAR(effectTimeBlood) = time;
[500 * _bleeding] call BIS_fnc_bloodEffect;
[600 * _bleeding] call BIS_fnc_bloodEffect;
};
// Blood Volume Effect

View File

@ -33,6 +33,13 @@ _injuryTypeInfo = missionNamespace getvariable [format[QGVAR(woundInjuryType_%1)
// This are the available injuries for this damage type. Format [[classtype, selections, bloodloss, minimalDamage, pain], ..]
_allInjuriesForDamageType = _injuryTypeInfo select 2;
// It appears we are dealing with an unknown type of damage.
if (count _allInjuriesForDamageType == 0) then {
// grabbing the configuration for unknown damage type
_injuryTypeInfo = missionNamespace getvariable [QGVAR(woundInjuryType_unknown),[[], false, []]];
_allInjuriesForDamageType = _injuryTypeInfo select 2;
};
// find the available injuries for this damage type and damage amount
_highestPossibleSpot = -1;
@ -67,10 +74,7 @@ _allPossibleInjuries = [];
// No possible wounds available for this damage type or damage amount.
if (_highestPossibleSpot < 0) exitwith {
// It appears we are dealing with an unknown type of damage.
if (count _allInjuriesForDamageType == 0) then {
};
};
// Administration for open wounds and ids
@ -84,7 +88,7 @@ _woundsCreated = [];
for "_i" from 0 to (1+ floor(random(_x select 1)-1)) /* step +1 */ do {
// Find the injury we are going to add. Format [ classID, allowdSelections, bloodloss, painOfInjury, minimalDamage]
_toAddInjury = if (random(1) >= 0.5) then {_allInjuriesForDamageType select _highestPossibleSpot} else {_allPossibleInjuries select (floor(random (count _allPossibleInjuries)));};
_toAddInjury = if (random(1) >= 0.85) then {_allInjuriesForDamageType select _highestPossibleSpot} else {_allPossibleInjuries select (floor(random (count _allPossibleInjuries)));};
_toAddClassID = _toAddInjury select 0;
_foundIndex = -1;

View File

@ -12,10 +12,9 @@
#include "script_component.hpp"
private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_allTypes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage"];
private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage"];
_injuriesRootConfig = (configFile >> "ACE_Medical_Advanced" >> "Injuries");
_allTypes = ["stab", "grenade", "bullet", "explosive", "shell", "punch", "vehiclecrash", "backblast", "falling", "bite", "ropeburn"];
_allFoundDamageTypes = [];
_configDamageTypes = (_injuriesRootConfig >> "damageTypes");