mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
remove protection, hitpoint config (fix ubc), some debug stuff
This commit is contained in:
parent
dc5e6b7c3c
commit
7d2f1f52a4
@ -432,37 +432,33 @@ class CfgVehicles {
|
||||
|
||||
class Land;
|
||||
class Man: Land {
|
||||
class HitPoints {
|
||||
class HitHead;
|
||||
class HitBody;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
};
|
||||
class HitPoints;
|
||||
};
|
||||
|
||||
class CAManBase: Man {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitPoints: HitPoints { // custom hitpoints. addons might want to adjust these accordingly
|
||||
class HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_DEFAULT;
|
||||
material = -1;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
passThrough = 1;
|
||||
radius = 0.08;
|
||||
explosionShielding = 1;
|
||||
visual = "injury_hands";
|
||||
minimalHit = 0.01;
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_DEFAULT;
|
||||
material = -1;
|
||||
name = "leg_l";
|
||||
passThrough = 1;
|
||||
radius = 0.1;
|
||||
explosionShielding = 1;
|
||||
visual = "injury_legs";
|
||||
minimalHit = 0.01;
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
@ -527,60 +523,42 @@ class CfgVehicles {
|
||||
|
||||
class B_Soldier_04_f: B_Soldier_base_F {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class B_Soldier_05_f: B_Soldier_base_F {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "hand_l";
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r";
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -589,150 +567,105 @@ class CfgVehicles {
|
||||
|
||||
class I_Soldier_03_F: I_Soldier_base_F {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class I_Soldier_04_F: I_Soldier_base_F {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_BETTER;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class O_Soldier_base_F: SoldierEB {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class O_Soldier_02_F: O_Soldier_base_F {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class O_officer_F: O_Soldier_base_F {
|
||||
class HitPoints: HitPoints {
|
||||
class HitFace;
|
||||
class HitNeck;
|
||||
class HitHead;
|
||||
class HitPelvis;
|
||||
class HitAbdomen;
|
||||
class HitDiaphragm;
|
||||
class HitChest;
|
||||
class HitBody;
|
||||
class HitArms;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = ARM_LEG_ARMOR_CSAT; // @todo is that suppossed to be the case?
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
armor = ARM_LEG_ARMOR_CSAT; // @todo is that suppossed to be the case?
|
||||
name = "leg_l";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = ARM_LEG_ARMOR_CSAT;
|
||||
};
|
||||
};
|
||||
};
|
||||
@ -743,19 +676,17 @@ class CfgVehicles {
|
||||
class HitBody;
|
||||
class HitHands;
|
||||
class HitLegs;
|
||||
class HitLeftArm: HitHands {
|
||||
class HitLeftArm: HitLeftArm {
|
||||
armor = 2;
|
||||
name = "hand_l"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitRightArm: HitLeftArm {
|
||||
name = "hand_r"; // @todo hopefully these still include the whole arm + hands
|
||||
};
|
||||
class HitLeftLeg: HitLegs {
|
||||
class HitRightArm: HitRightArm {
|
||||
armor = 2;
|
||||
name = "leg_l";
|
||||
};
|
||||
class HitRightLeg: HitLeftLeg {
|
||||
name = "leg_r";
|
||||
class HitLeftLeg: HitLeftLeg {
|
||||
armor = 2;
|
||||
};
|
||||
class HitRightLeg: HitRightLeg {
|
||||
armor = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -2,8 +2,7 @@
|
||||
|
||||
params ["_unit"];
|
||||
|
||||
if !(local _unit) exitWith {};
|
||||
|
||||
// reset all variables. @todo GROUP respawn?
|
||||
[_unit] call FUNC(init);
|
||||
|
||||
// Reset captive status for respawning unit
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Author: KoffeinFlummi, Glowbal
|
||||
* Author: KoffeinFlummi, Glowbal, commy2
|
||||
* Main HandleDamage EH function.
|
||||
*
|
||||
* Arguments:
|
||||
@ -14,28 +14,39 @@
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex", "_preventDeath"];
|
||||
params ["_unit", "_selection", "_damage", "_shooter", "_projectile"];
|
||||
|
||||
if !(local _unit) exitWith {nil};
|
||||
|
||||
if (typeName _projectile == "OBJECT") then {
|
||||
_projectile = typeOf _projectile;
|
||||
_this set [4, _projectile];
|
||||
// bug, apparently can fire for remote units in special cases
|
||||
if !(local _unit) exitWith {
|
||||
#ifdef DEBUG_ENABLED_MEDICAL
|
||||
ACE_LOGDEBUG_3("HandleDamage on remote unit! - %1 - %2 - %3",diag_frameno,_unit,isServer);
|
||||
#endif
|
||||
nil
|
||||
};
|
||||
|
||||
// If the damage is being weird, we just tell it to fuck off.
|
||||
if !(_selection in (GVAR(SELECTIONS) + [""])) exitWith {0};
|
||||
private ["_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex", "_preventDeath"];
|
||||
|
||||
// bug, assumed fixed, @todo excessive testing, if nothing happens remove
|
||||
/*if (typeName _projectile == "OBJECT") then {
|
||||
_projectile = typeOf _projectile;
|
||||
_this set [4, _projectile];
|
||||
};*/
|
||||
|
||||
#ifdef DEBUG_ENABLED_MEDICAL
|
||||
ACE_LOGDEBUG_3("HandleDamage - %1 - %2 - %3",diag_frameno,_selection,_damage);
|
||||
#endif
|
||||
|
||||
// If the damage is being weird, we just tell it to fuck off. Ignore: "hands", "legs", "?"
|
||||
if (_selection != "" && {!(_selection in GVAR(SELECTIONS))}) exitWith {0}; //@todo "neck", "pelvis", "spine1", "spine2", "spine3"
|
||||
|
||||
// Exit if we disable damage temporarily
|
||||
if !(_unit getVariable [QGVAR(allowDamage), true]) exitWith {
|
||||
if (_selection in GVAR(SELECTIONS)) then {
|
||||
_unit getHit _selection
|
||||
} else {
|
||||
if (_selection == "") then {
|
||||
damage _unit
|
||||
} else {
|
||||
_unit getHit _selection
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Author: KoffeinFlummi
|
||||
* Author: KoffeinFlummi, commy2
|
||||
* Initializes unit variables.
|
||||
*
|
||||
* Arguments:
|
||||
@ -10,73 +10,77 @@
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_allUsedMedication", "_logs"];
|
||||
params ["_unit"];
|
||||
|
||||
// basic
|
||||
_unit setVariable [QGVAR(pain), 0, true];
|
||||
_unit setVariable [QGVAR(morphine), 0, true];
|
||||
_unit setVariable [QGVAR(bloodVolume), 100, true];
|
||||
|
||||
// tourniquets
|
||||
_unit setvariable [QGVAR(tourniquets), [0,0,0,0,0,0], true];
|
||||
|
||||
// wounds and injuries
|
||||
_unit setvariable [QGVAR(openWounds), [], true];
|
||||
_unit setvariable [QGVAR(bandagedWounds), [], true];
|
||||
_unit setVariable [QGVAR(internalWounds), [], true];
|
||||
_unit setvariable [QGVAR(lastUniqueWoundID), 1, true];
|
||||
|
||||
// vitals
|
||||
_unit setVariable [QGVAR(heartRate), 80];
|
||||
_unit setvariable [QGVAR(heartRateAdjustments), []];
|
||||
_unit setvariable [QGVAR(bloodPressure), [80, 120]];
|
||||
_unit setVariable [QGVAR(peripheralResistance), 100];
|
||||
|
||||
// fractures
|
||||
_unit setVariable [QGVAR(fractures), [], true];
|
||||
|
||||
// triage card and logs
|
||||
_unit setvariable [QGVAR(triageLevel), 0, true];
|
||||
_unit setvariable [QGVAR(triageCard), [], true];
|
||||
|
||||
// IVs
|
||||
_unit setVariable [QGVAR(salineIVVolume), 0, true];
|
||||
_unit setVariable [QGVAR(plasmaIVVolume), 0, true];
|
||||
_unit setVariable [QGVAR(bloodIVVolume), 0, true];
|
||||
|
||||
// damage storage
|
||||
_unit setvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0], true];
|
||||
|
||||
// airway
|
||||
_unit setvariable [QGVAR(airwayStatus), 100];
|
||||
_unit setVariable [QGVAR(airwayOccluded), false];
|
||||
_unit setvariable [QGVAR(airwayCollapsed), false];
|
||||
|
||||
// generic medical admin
|
||||
_unit setvariable [QGVAR(addedToUnitLoop), false, true];
|
||||
_unit setvariable [QGVAR(inCardiacArrest), false, true];
|
||||
_unit setVariable ["ACE_isUnconscious", false, true];
|
||||
_unit setvariable [QGVAR(hasLostBlood), 0, true];
|
||||
_unit setvariable [QGVAR(isBleeding), false, true];
|
||||
_unit setvariable [QGVAR(hasPain), false, true];
|
||||
_unit setvariable [QGVAR(amountOfReviveLives), GVAR(amountOfReviveLives), true];
|
||||
_unit setvariable [QGVAR(painSuppress), 0, true];
|
||||
|
||||
// medication
|
||||
_allUsedMedication = _unit getVariable [QGVAR(allUsedMedication), []];
|
||||
{
|
||||
_unit setvariable [_x select 0, nil];
|
||||
} foreach _allUsedMedication;
|
||||
_unit setVariable [QGVAR(allUsedMedication), [], true];
|
||||
// advanced
|
||||
if (GVAR(level) > 1) then {
|
||||
// tourniquets
|
||||
_unit setvariable [QGVAR(tourniquets), [0,0,0,0,0,0], true];
|
||||
|
||||
_logs = _unit getvariable [QGVAR(allLogs), []];
|
||||
{
|
||||
_unit setvariable [_x, nil];
|
||||
} foreach _logs;
|
||||
_unit setvariable [QGVAR(allLogs), [], true];
|
||||
// wounds and injuries
|
||||
_unit setvariable [QGVAR(openWounds), [], true];
|
||||
_unit setvariable [QGVAR(bandagedWounds), [], true];
|
||||
_unit setVariable [QGVAR(internalWounds), [], true];
|
||||
_unit setvariable [QGVAR(lastUniqueWoundID), 1, true];
|
||||
|
||||
// vitals
|
||||
_unit setVariable [QGVAR(heartRate), 80];
|
||||
_unit setvariable [QGVAR(heartRateAdjustments), []];
|
||||
_unit setvariable [QGVAR(bloodPressure), [80, 120]];
|
||||
_unit setVariable [QGVAR(peripheralResistance), 100];
|
||||
|
||||
// fractures
|
||||
_unit setVariable [QGVAR(fractures), [], true];
|
||||
|
||||
// triage card and logs
|
||||
_unit setvariable [QGVAR(triageLevel), 0, true];
|
||||
_unit setvariable [QGVAR(triageCard), [], true];
|
||||
|
||||
// IVs
|
||||
_unit setVariable [QGVAR(salineIVVolume), 0, true];
|
||||
_unit setVariable [QGVAR(plasmaIVVolume), 0, true];
|
||||
_unit setVariable [QGVAR(bloodIVVolume), 0, true];
|
||||
|
||||
// damage storage
|
||||
_unit setvariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0], true];
|
||||
|
||||
// airway
|
||||
_unit setvariable [QGVAR(airwayStatus), 100];
|
||||
_unit setVariable [QGVAR(airwayOccluded), false];
|
||||
_unit setvariable [QGVAR(airwayCollapsed), false];
|
||||
|
||||
// generic medical admin
|
||||
_unit setvariable [QGVAR(addedToUnitLoop), false, true];
|
||||
_unit setvariable [QGVAR(inCardiacArrest), false, true];
|
||||
_unit setvariable [QGVAR(hasLostBlood), 0, true];
|
||||
_unit setvariable [QGVAR(isBleeding), false, true];
|
||||
_unit setvariable [QGVAR(hasPain), false, true];
|
||||
_unit setvariable [QGVAR(amountOfReviveLives), GVAR(amountOfReviveLives), true];
|
||||
_unit setvariable [QGVAR(painSuppress), 0, true];
|
||||
|
||||
private ["_allUsedMedication", "_logs"];
|
||||
|
||||
// medication
|
||||
_allUsedMedication = _unit getVariable [QGVAR(allUsedMedication), []];
|
||||
{
|
||||
_unit setvariable [_x select 0, nil];
|
||||
} foreach _allUsedMedication;
|
||||
_unit setVariable [QGVAR(allUsedMedication), [], true];
|
||||
|
||||
_logs = _unit getvariable [QGVAR(allLogs), []];
|
||||
{
|
||||
_unit setvariable [_x, nil];
|
||||
} foreach _logs;
|
||||
_unit setvariable [QGVAR(allLogs), [], true];
|
||||
};
|
||||
|
||||
// items
|
||||
[{
|
||||
|
@ -1,6 +1,8 @@
|
||||
#define COMPONENT medical
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
#define DEBUG_ENABLED_MEDICAL true
|
||||
|
||||
#ifdef DEBUG_ENABLED_MEDICAL
|
||||
#define DEBUG_MODE_FULL
|
||||
#endif
|
||||
|
@ -1 +0,0 @@
|
||||
z\ace\addons\protection
|
@ -1,5 +0,0 @@
|
||||
|
||||
class CfgVehicles {
|
||||
#include <FixUniforms.hpp>
|
||||
#include <FixHelmets.hpp>
|
||||
};
|
@ -1,4 +0,0 @@
|
||||
|
||||
class CfgWeapons {
|
||||
#include <FixVests.hpp>
|
||||
};
|
@ -1,230 +0,0 @@
|
||||
|
||||
// INTEGER
|
||||
#define HELMET_ARMOR_NO_PROTECTION 0
|
||||
|
||||
// FLOAT, 0-1
|
||||
#define HELMET_PASSTHROUGH_NO_PROTECTION 1
|
||||
|
||||
/*class InventoryItem_Base_F;
|
||||
class HeadgearItem: InventoryItem_Base_F {
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
|
||||
class H_HelmetB: ItemCore {
|
||||
class ItemInfo: HeadgearItem {
|
||||
//mass = 40;
|
||||
armor = 4;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetB_camo: H_HelmetB {
|
||||
class ItemInfo: HeadgearItem {
|
||||
//mass = 40;
|
||||
armor = 4;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetB_light: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 30;
|
||||
armor = 3;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Booniehat_khk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 10;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetB_plain_mcamo: H_HelmetB {};
|
||||
|
||||
class H_HelmetSpecB: H_HelmetB_plain_mcamo {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 50;
|
||||
armor = 5;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetIA: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 40;
|
||||
armor = 4;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Cap_red: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 4;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Cap_headphones: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 8;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetCrew_B: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 40;
|
||||
armor = 4;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_PilotHelmetFighter_B: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 50;
|
||||
armor = 5;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_PilotHelmetHeli_B: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 30;
|
||||
armor = 3;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_CrewHelmetHeli_B: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 30;
|
||||
armor = 3;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetO_ocamo: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 50;
|
||||
armor = 5;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetLeaderO_ocamo: H_HelmetO_ocamo {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 60;
|
||||
armor = 6;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_MilCap_ocamo: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_BandMask_blk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 8;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_HelmetSpecO_ocamo: H_HelmetO_ocamo {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 40;
|
||||
armor = 4;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Bandanna_surfer: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 8;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Shemag_khk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_ShemagOpen_khk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Beret_blk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Beret_02: H_Beret_blk {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Watchcap_blk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_TurbanO_blk: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 8;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_StrawHat: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_Hat_blue: H_HelmetB {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 6;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
|
||||
class H_RacingHelmet_1_F: H_HelmetB_camo {
|
||||
class ItemInfo: ItemInfo {
|
||||
//mass = 50;
|
||||
armor = 5;
|
||||
passThrough = 0.5;
|
||||
};
|
||||
};*/
|
@ -1,303 +0,0 @@
|
||||
|
||||
class ItemCore;
|
||||
class VestItem;
|
||||
|
||||
class Vest_Camo_Base: ItemCore {
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply0";
|
||||
mass = 0;
|
||||
armor = 0;
|
||||
passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
class Vest_NoCamo_Base: ItemCore {
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply0";
|
||||
mass = 0;
|
||||
armor = 0;
|
||||
passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
|
||||
// belts
|
||||
class V_Rangemaster_belt: Vest_NoCamo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply40";
|
||||
mass = 10;
|
||||
armor = 0;
|
||||
passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
|
||||
// bandolliers
|
||||
class V_BandollierB_khk: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply80";
|
||||
mass = 15;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //1;
|
||||
};
|
||||
};
|
||||
/*class V_BandollierB_cbr: V_BandollierB_khk {
|
||||
class ItemInfo: ItemInfo {};
|
||||
};
|
||||
class V_BandollierB_rgr: V_BandollierB_khk {
|
||||
class ItemInfo: ItemInfo {};
|
||||
};
|
||||
class V_BandollierB_blk: V_BandollierB_khk {
|
||||
class ItemInfo: ItemInfo {};
|
||||
};
|
||||
class V_BandollierB_oli: V_BandollierB_khk {
|
||||
class ItemInfo: ItemInfo {};
|
||||
};*/
|
||||
|
||||
// plate carriers
|
||||
class V_PlateCarrier1_rgr: Vest_NoCamo_Base { // lite
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";
|
||||
mass = 80;*/
|
||||
armor = 8; //20;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrier2_rgr: V_PlateCarrier1_rgr { // heavy
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";
|
||||
mass = 100;*/
|
||||
armor = 12; //30;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrier3_rgr: Vest_NoCamo_Base { // heavy (us)
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";
|
||||
mass = 100;*/
|
||||
armor = 12; //30;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrierGL_rgr: Vest_NoCamo_Base { // lite (gl)
|
||||
class ItemInfo: ItemInfo {
|
||||
containerClass = "Supply160"; //"Supply140";
|
||||
/*mass = 100;*/
|
||||
armor = 8; //100;
|
||||
passThrough = 0.75; //0.7;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrier1_blk: Vest_Camo_Base { // heavy (black)
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";*/
|
||||
mass = 100; //80;
|
||||
armor = 12; //20;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrierSpec_rgr: Vest_NoCamo_Base { // lite (special)
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply100";
|
||||
mass = 120;*/
|
||||
armor = 16; //40;
|
||||
passThrough = 0.75; //0.1;
|
||||
};
|
||||
};
|
||||
|
||||
// chestrigs
|
||||
/*class V_Chestrig_khk: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
containerClass = "Supply140";
|
||||
mass = 20;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
class V_Chestrig_rgr: V_Chestrig_khk {};
|
||||
class V_Chestrig_blk: V_Chestrig_khk {};
|
||||
class V_Chestrig_oli: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
containerClass = "Supply140";
|
||||
mass = 20;
|
||||
armor = 0;
|
||||
passThrough = 1;
|
||||
};
|
||||
};*/
|
||||
|
||||
// tactical vests
|
||||
class V_TacVest_khk: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply100";
|
||||
mass = 40;*/
|
||||
armor = 8; //20;
|
||||
/*passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
class V_TacVest_brn: V_TacVest_khk {};
|
||||
class V_TacVest_oli: V_TacVest_khk {};
|
||||
class V_TacVest_blk: V_TacVest_khk {};
|
||||
class V_TacVest_camo: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply100";
|
||||
mass = 40;*/
|
||||
armor = 8; //20;
|
||||
/*passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
class V_TacVest_blk_POLICE: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply100";*/
|
||||
mass = 40; //60;
|
||||
armor = 8; //100;
|
||||
passThrough = 1; //0.7;
|
||||
};
|
||||
};
|
||||
class V_TacVestIR_blk: Vest_NoCamo_Base { // raven vest
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply100";
|
||||
mass = 50;*/
|
||||
armor = 8; //20;
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
class V_TacVestCamo_khk: Vest_Camo_Base {
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply100";
|
||||
mass = 40;*/
|
||||
armor = 8; //20;
|
||||
/*passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
|
||||
// harnesses
|
||||
class V_HarnessO_brn: Vest_NoCamo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply160";
|
||||
mass = 30;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
class V_HarnessOGL_brn: Vest_NoCamo_Base { // gl
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply120";
|
||||
mass = 20;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
class V_HarnessO_gry: V_HarnessO_brn {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply160";
|
||||
mass = 30;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
class V_HarnessOGL_gry: V_HarnessO_gry { // gl
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply120";
|
||||
mass = 20;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
class V_HarnessOSpec_brn: V_HarnessO_brn {
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply160";
|
||||
mass = 30;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
class V_HarnessOSpec_gry: V_HarnessO_gry {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply160";
|
||||
mass = 30;
|
||||
armor = 0;*/
|
||||
passThrough = 0.85; //0.5;
|
||||
};
|
||||
};
|
||||
|
||||
// indep plate carriers
|
||||
class V_PlateCarrierIA1_dgtl: Vest_NoCamo_Base { // lite
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply120";
|
||||
mass = 60;*/
|
||||
armor = 8; //20;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrierIA2_dgtl: V_PlateCarrierIA1_dgtl { // heavy
|
||||
class ItemInfo: VestItem {
|
||||
/*containerClass = "Supply120";
|
||||
mass = 80;*/
|
||||
armor = 12; //30;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrierIAGL_dgtl: V_PlateCarrierIA2_dgtl { // heavy (gl)
|
||||
class ItemInfo: VestItem {
|
||||
containerClass = "Supply140"; //"Supply120";
|
||||
mass = 100; //80;
|
||||
armor = 12; //100;
|
||||
passThrough = 0.75; //0.7;
|
||||
};
|
||||
};
|
||||
|
||||
// rebreather
|
||||
/*class V_RebreatherB: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
containerClass = "Supply0";
|
||||
mass = 80;
|
||||
armor = 20;
|
||||
passThrough = 1;
|
||||
};
|
||||
};
|
||||
class V_RebreatherIR: V_RebreatherB {};
|
||||
class V_RebreatherIA: V_RebreatherB {};*/
|
||||
|
||||
// more plate carriers
|
||||
class V_PlateCarrier_Kerry: V_PlateCarrier1_rgr { // lighter
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";
|
||||
mass = 80;*/
|
||||
armor = 8; //30;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrierL_CTRG: V_PlateCarrier1_rgr { // lite
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";
|
||||
mass = 80;*/
|
||||
armor = 8; //20;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
class V_PlateCarrierH_CTRG: V_PlateCarrier2_rgr { // heavy
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply140";
|
||||
mass = 100;*/
|
||||
armor = 12; //30;
|
||||
passThrough = 0.75; //0.5;
|
||||
};
|
||||
};
|
||||
|
||||
// another tactical vest
|
||||
class V_I_G_resistanceLeader_F: V_TacVest_camo {
|
||||
class ItemInfo: ItemInfo {};
|
||||
};
|
||||
|
||||
// press vest
|
||||
class V_Press_F: Vest_Camo_Base {
|
||||
class ItemInfo: ItemInfo {
|
||||
/*containerClass = "Supply40";
|
||||
mass = 20;*/
|
||||
armor = 8; //0; ?
|
||||
/*passThrough = 1;*/
|
||||
};
|
||||
};
|
||||
|
||||
// marksman dlc
|
||||
/*class V_PlateCarrierGL_blk: V_PlateCarrierGL_rgr {};
|
||||
class V_PlateCarrierGL_mtp: V_PlateCarrierGL_rgr {};
|
||||
class V_PlateCarrierSpec_blk: V_PlateCarrierSpec_rgr {};
|
||||
class V_PlateCarrierSpec_mtp: V_PlateCarrierSpec_rgr {};
|
||||
class V_PlateCarrierIAGL_oli: V_PlateCarrierIAGL_dgtl {};*/
|
@ -1,12 +0,0 @@
|
||||
ace_protection
|
||||
==============
|
||||
|
||||
Fixes and tweaks the protection values of body armour.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
The people responsible for merging changes to this component or answering potential questions.
|
||||
|
||||
- [KoffeinFlummi](https://github.com/KoffeinFlummi)
|
||||
- [commy2](https://github.com/commy2)
|
@ -1,16 +0,0 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_common"};
|
||||
author[] = {"commy2"};
|
||||
authorUrl = "https://github.com/commy2";
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "CfgWeapons.hpp"
|
@ -1,12 +0,0 @@
|
||||
#define COMPONENT protection
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
#ifdef DEBUG_ENABLED_PROTECTION
|
||||
#define DEBUG_MODE_FULL
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_ENABLED_PROTECTION
|
||||
#define DEBUG_SETTINGS DEBUG_ENABLED_PROTECTION
|
||||
#endif
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
Loading…
Reference in New Issue
Block a user