mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Medical - Finish splint/fracture (#7045)
* Medical - Finish splint/fracture - Add replacement items * Add splint models * Add fracture sound effects * Add treatment interaction icon
This commit is contained in:
parent
d26fcb6f1a
commit
f04b26b93e
@ -142,7 +142,6 @@ private _bodyPartVisParams = [_unit, false, false, false, false]; // params arra
|
|||||||
};
|
};
|
||||||
case (_causeFracture && {EGVAR(medical,fractures) > 0} && {_bodyPartNToAdd > 1} && {_woundDamage > FRACTURE_DAMAGE_THRESHOLD}): {
|
case (_causeFracture && {EGVAR(medical,fractures) > 0} && {_bodyPartNToAdd > 1} && {_woundDamage > FRACTURE_DAMAGE_THRESHOLD}): {
|
||||||
TRACE_1("limb fracture",_bodyPartNToAdd);
|
TRACE_1("limb fracture",_bodyPartNToAdd);
|
||||||
// todo: play sound?
|
|
||||||
private _fractures = GET_FRACTURES(_unit);
|
private _fractures = GET_FRACTURES(_unit);
|
||||||
_fractures set [_bodyPartNToAdd, 1];
|
_fractures set [_bodyPartNToAdd, 1];
|
||||||
_unit setVariable [VAR_FRACTURES, _fractures, true];
|
_unit setVariable [VAR_FRACTURES, _fractures, true];
|
||||||
|
@ -34,4 +34,24 @@ class CfgSounds {
|
|||||||
sound[] = {QPATHTOF(sounds\slow_2.wav), "db+1", 1};
|
sound[] = {QPATHTOF(sounds\slow_2.wav), "db+1", 1};
|
||||||
titles[] = {};
|
titles[] = {};
|
||||||
};
|
};
|
||||||
|
class ACE_fracture_1 {
|
||||||
|
name = "ACE_fracture_1";
|
||||||
|
sound[] = {QPATHTOF(sounds\fracture_1.wav), "db+1", 1};
|
||||||
|
titles[] = {};
|
||||||
|
};
|
||||||
|
class ACE_fracture_2 {
|
||||||
|
name = "ACE_fracture_2";
|
||||||
|
sound[] = {QPATHTOF(sounds\fracture_2.wav), "db+1", 1};
|
||||||
|
titles[] = {};
|
||||||
|
};
|
||||||
|
class ACE_fracture_3 {
|
||||||
|
name = "ACE_fracture_3";
|
||||||
|
sound[] = {QPATHTOF(sounds\fracture_3.wav), "db+1", 1};
|
||||||
|
titles[] = {};
|
||||||
|
};
|
||||||
|
class ACE_fracture_4 {
|
||||||
|
name = "ACE_fracture_4";
|
||||||
|
sound[] = {QPATHTOF(sounds\fracture_4.wav), "db+1", 1};
|
||||||
|
titles[] = {};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -10,6 +10,14 @@
|
|||||||
[_unit, "moan", PAIN_TO_MOAN(_painLevel)] call FUNC(playInjuredSound);
|
[_unit, "moan", PAIN_TO_MOAN(_painLevel)] call FUNC(playInjuredSound);
|
||||||
}] call CBA_fnc_addEventHandler;
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
|
[QEGVAR(medical,fracture), {
|
||||||
|
params ["_unit"];
|
||||||
|
|
||||||
|
if (_unit == ACE_player) then {
|
||||||
|
playSound SND_FRACTURE;
|
||||||
|
};
|
||||||
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
if (!hasInterface) exitWith {};
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
GVAR(nextFadeIn) = 0;
|
GVAR(nextFadeIn) = 0;
|
||||||
|
@ -34,5 +34,6 @@
|
|||||||
#define SND_HEARBEAT_FAST (selectRandom ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "ACE_heartbeat_fast_3"])
|
#define SND_HEARBEAT_FAST (selectRandom ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "ACE_heartbeat_fast_3"])
|
||||||
#define SND_HEARBEAT_NORMAL (selectRandom ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"])
|
#define SND_HEARBEAT_NORMAL (selectRandom ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"])
|
||||||
#define SND_HEARBEAT_SLOW (selectRandom ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"])
|
#define SND_HEARBEAT_SLOW (selectRandom ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"])
|
||||||
|
#define SND_FRACTURE (selectRandom ["ACE_fracture_1", "ACE_fracture_2", "ACE_fracture_3", "ACE_fracture_4"])
|
||||||
|
|
||||||
#define VOL_UNCONSCIOUS 0.25
|
#define VOL_UNCONSCIOUS 0.25
|
||||||
|
BIN
addons/medical_feedback/sounds/fracture_1.wav
Normal file
BIN
addons/medical_feedback/sounds/fracture_1.wav
Normal file
Binary file not shown.
BIN
addons/medical_feedback/sounds/fracture_2.wav
Normal file
BIN
addons/medical_feedback/sounds/fracture_2.wav
Normal file
Binary file not shown.
BIN
addons/medical_feedback/sounds/fracture_3.wav
Normal file
BIN
addons/medical_feedback/sounds/fracture_3.wav
Normal file
Binary file not shown.
BIN
addons/medical_feedback/sounds/fracture_4.wav
Normal file
BIN
addons/medical_feedback/sounds/fracture_4.wav
Normal file
Binary file not shown.
Binary file not shown.
@ -103,7 +103,9 @@ class GVAR(actions) {
|
|||||||
treatmentTime = 7;
|
treatmentTime = 7;
|
||||||
callbackSuccess = QFUNC(splint);
|
callbackSuccess = QFUNC(splint);
|
||||||
condition = QFUNC(canSplint);
|
condition = QFUNC(canSplint);
|
||||||
litter[] = {};
|
litter[] = {
|
||||||
|
{"ACE_MedicalLitter_splint"}, {}, {}
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
// - Syringes -------------------------------------------------------------
|
// - Syringes -------------------------------------------------------------
|
||||||
|
@ -11,7 +11,8 @@ class EGVAR(medical,replacementItems) {
|
|||||||
{"ACE_epinephrine", 1},
|
{"ACE_epinephrine", 1},
|
||||||
{"ACE_morphine", 1},
|
{"ACE_morphine", 1},
|
||||||
{"ACE_salineIV_250", 1},
|
{"ACE_salineIV_250", 1},
|
||||||
{"ACE_tourniquet", 1}
|
{"ACE_tourniquet", 1},
|
||||||
|
{"ACE_splint", 2}
|
||||||
};
|
};
|
||||||
// todo: add GM medical items
|
// todo: add GM medical items
|
||||||
};
|
};
|
||||||
|
@ -74,6 +74,9 @@ class CfgVehicles {
|
|||||||
class ACE_MedicalLitter_QuickClot: ACE_MedicalLitterBase {
|
class ACE_MedicalLitter_QuickClot: ACE_MedicalLitterBase {
|
||||||
model = QPATHTOF(data\littergeneric_Quikclot.p3d);
|
model = QPATHTOF(data\littergeneric_Quikclot.p3d);
|
||||||
};
|
};
|
||||||
|
class ACE_MedicalLitter_splint: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_splint.p3d);
|
||||||
|
};
|
||||||
|
|
||||||
// Treatment items
|
// Treatment items
|
||||||
class Item_Base_F;
|
class Item_Base_F;
|
||||||
@ -117,6 +120,16 @@ class CfgVehicles {
|
|||||||
MACRO_ADDITEM(ACE_tourniquet,1);
|
MACRO_ADDITEM(ACE_tourniquet,1);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
class ACE_splintItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(splint_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_splint,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
class ACE_morphineItem: Item_Base_F {
|
class ACE_morphineItem: Item_Base_F {
|
||||||
scope = 2;
|
scope = 2;
|
||||||
scopeCurator = 2;
|
scopeCurator = 2;
|
||||||
@ -292,6 +305,7 @@ class CfgVehicles {
|
|||||||
MACRO_ADDITEM(ACE_packingBandage,25);
|
MACRO_ADDITEM(ACE_packingBandage,25);
|
||||||
MACRO_ADDITEM(ACE_elasticBandage,25);
|
MACRO_ADDITEM(ACE_elasticBandage,25);
|
||||||
MACRO_ADDITEM(ACE_tourniquet,15);
|
MACRO_ADDITEM(ACE_tourniquet,15);
|
||||||
|
MACRO_ADDITEM(ACE_splint,15);
|
||||||
MACRO_ADDITEM(ACE_morphine,15);
|
MACRO_ADDITEM(ACE_morphine,15);
|
||||||
MACRO_ADDITEM(ACE_adenosine,15);
|
MACRO_ADDITEM(ACE_adenosine,15);
|
||||||
MACRO_ADDITEM(ACE_atropine,15);
|
MACRO_ADDITEM(ACE_atropine,15);
|
||||||
|
@ -71,8 +71,8 @@ class CfgWeapons {
|
|||||||
scope = 2;
|
scope = 2;
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
displayName = CSTRING(splint_Display);
|
displayName = CSTRING(splint_Display);
|
||||||
picture = QPATHTOF(ui\tourniquet_ca.paa);
|
picture = QPATHTOF(ui\splint_ca.paa);
|
||||||
model = QPATHTOF(data\tourniquet.p3d);
|
model = QPATHTOF(data\splint.p3d);
|
||||||
descriptionShort = CSTRING(splint_Desc_Short);
|
descriptionShort = CSTRING(splint_Desc_Short);
|
||||||
class ItemInfo: CBA_MiscItem_ItemInfo {
|
class ItemInfo: CBA_MiscItem_ItemInfo {
|
||||||
mass = 2;
|
mass = 2;
|
||||||
|
BIN
addons/medical_treatment/data/littergeneric_splint.p3d
Normal file
BIN
addons/medical_treatment/data/littergeneric_splint.p3d
Normal file
Binary file not shown.
@ -47,6 +47,7 @@ class CfgModels {
|
|||||||
class bandage: Default {};
|
class bandage: Default {};
|
||||||
class bodybagItem: Default {};
|
class bodybagItem: Default {};
|
||||||
class epinephrine: Default {};
|
class epinephrine: Default {};
|
||||||
|
class splint: Default {};
|
||||||
|
|
||||||
class IVBagBase: Default {
|
class IVBagBase: Default {
|
||||||
sectionsInherit = "";
|
sectionsInherit = "";
|
||||||
@ -69,6 +70,7 @@ class CfgModels {
|
|||||||
class littergeneric_morphine: Default {};
|
class littergeneric_morphine: Default {};
|
||||||
class littergeneric_packingbandage: Default {};
|
class littergeneric_packingbandage: Default {};
|
||||||
class littergeneric_Quikclot: Default {};
|
class littergeneric_Quikclot: Default {};
|
||||||
|
class littergeneric_splint: Default {};
|
||||||
class morphine: Default {};
|
class morphine: Default {};
|
||||||
class packingbandage: Default {};
|
class packingbandage: Default {};
|
||||||
class QuikClot: Default {};
|
class QuikClot: Default {};
|
||||||
|
BIN
addons/medical_treatment/data/splint.p3d
Normal file
BIN
addons/medical_treatment/data/splint.p3d
Normal file
Binary file not shown.
92
addons/medical_treatment/data/splint.rvmat
Normal file
92
addons/medical_treatment/data/splint.rvmat
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
ambient[]={1,1,1,1};
|
||||||
|
diffuse[]={1,1,1,1};
|
||||||
|
forcedDiffuse[]={0,0,0,0};
|
||||||
|
emmisive[]={0,0,0,1};
|
||||||
|
specular[]={1,1,1,0};
|
||||||
|
specularPower=50;
|
||||||
|
PixelShaderID="Super";
|
||||||
|
VertexShaderID="Super";
|
||||||
|
class Stage1
|
||||||
|
{
|
||||||
|
texture="z\ace\addons\medical_treatment\data\splint_nohq.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage2
|
||||||
|
{
|
||||||
|
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage3
|
||||||
|
{
|
||||||
|
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage4
|
||||||
|
{
|
||||||
|
texture="z\ace\addons\medical_treatment\data\splint_as.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage5
|
||||||
|
{
|
||||||
|
texture="z\ace\addons\medical_treatment\data\splint_smdi.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage6
|
||||||
|
{
|
||||||
|
texture="#(ai,64,64,1)fresnel(2,0.1)";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class Stage7
|
||||||
|
{
|
||||||
|
texture="a3\data_f\env_land_co.paa";
|
||||||
|
uvSource="tex";
|
||||||
|
class uvTransform
|
||||||
|
{
|
||||||
|
aside[]={1,0,0};
|
||||||
|
up[]={0,1,0};
|
||||||
|
dir[]={0,0,0};
|
||||||
|
pos[]={0,0,0};
|
||||||
|
};
|
||||||
|
};
|
BIN
addons/medical_treatment/data/splint_as.paa
Normal file
BIN
addons/medical_treatment/data/splint_as.paa
Normal file
Binary file not shown.
BIN
addons/medical_treatment/data/splint_ca.paa
Normal file
BIN
addons/medical_treatment/data/splint_ca.paa
Normal file
Binary file not shown.
BIN
addons/medical_treatment/data/splint_nohq.paa
Normal file
BIN
addons/medical_treatment/data/splint_nohq.paa
Normal file
Binary file not shown.
BIN
addons/medical_treatment/data/splint_smdi.paa
Normal file
BIN
addons/medical_treatment/data/splint_smdi.paa
Normal file
Binary file not shown.
BIN
addons/medical_treatment/ui/splint_ca.paa
Normal file
BIN
addons/medical_treatment/ui/splint_ca.paa
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user