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:
PabstMirror 2019-06-22 16:47:35 -05:00 committed by GitHub
parent d26fcb6f1a
commit f04b26b93e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 144 additions and 5 deletions

View File

@ -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];

View File

@ -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[] = {};
};
}; };

View File

@ -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;

View File

@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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 -------------------------------------------------------------

View File

@ -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
}; };

View File

@ -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);

View File

@ -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;

Binary file not shown.

View File

@ -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 {};

Binary file not shown.

View 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};
};
};

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.