mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge remote-tracking branch 'refs/remotes/acemod/master' into refuel
This commit is contained in:
commit
8fc52a4dfb
@ -183,13 +183,13 @@ class CfgGlasses {
|
|||||||
ACE_Resistance = 1;
|
ACE_Resistance = 1;
|
||||||
ACE_Protection = 1;
|
ACE_Protection = 1;
|
||||||
};
|
};
|
||||||
class G_Bandanna_sport:G_Bandanna_blk {
|
class G_Bandanna_sport: G_Bandanna_shades {
|
||||||
ACE_Color[] = {1,0,0};
|
ACE_Color[] = {1,0,0};
|
||||||
ACE_TintAmount=COLOUR;
|
ACE_TintAmount=COLOUR;
|
||||||
ACE_Resistance = 1;
|
ACE_Resistance = 1;
|
||||||
ACE_Protection = 1;
|
ACE_Protection = 1;
|
||||||
};
|
};
|
||||||
class G_Bandanna_aviator:G_Bandanna_blk {
|
class G_Bandanna_aviator: G_Bandanna_shades {
|
||||||
ACE_Color[] = {0,0,-1};
|
ACE_Color[] = {0,0,-1};
|
||||||
ACE_TintAmount=COLOUR;
|
ACE_TintAmount=COLOUR;
|
||||||
ACE_Resistance = 1;
|
ACE_Resistance = 1;
|
||||||
|
@ -25,4 +25,10 @@ class ACE_Settings {
|
|||||||
displayName = CSTRING(enabledForZeusUnits_DisplayName);
|
displayName = CSTRING(enabledForZeusUnits_DisplayName);
|
||||||
description = CSTRING(enabledForZeusUnits_Description);
|
description = CSTRING(enabledForZeusUnits_Description);
|
||||||
};
|
};
|
||||||
|
class GVAR(autoAddEarplugsToUnits) {
|
||||||
|
value = 1;
|
||||||
|
typeName = "BOOL";
|
||||||
|
displayName = CSTRING(autoAddEarplugsToUnits_DisplayName);
|
||||||
|
description = CSTRING(autoAddEarplugsToUnits_Description);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
@ -13,7 +13,7 @@ class Extended_PostInit_EventHandlers {
|
|||||||
class Extended_Init_EventHandlers {
|
class Extended_Init_EventHandlers {
|
||||||
class CAManBase {
|
class CAManBase {
|
||||||
class GVAR(AddEarPlugs) {
|
class GVAR(AddEarPlugs) {
|
||||||
init = QUOTE( if (local (_this select 0)) then {_this call FUNC(addEarPlugs)}; );
|
serverInit = QUOTE( _this call FUNC(addEarPlugs) );
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -33,3 +33,11 @@ class Extended_Explosion_EventHandlers {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Extended_Respawn_EventHandlers {
|
||||||
|
class CAManBase {
|
||||||
|
class ADDON {
|
||||||
|
respawn = QUOTE(_this call FUNC(handleRespawn));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
@ -137,6 +137,12 @@ class CfgVehicles {
|
|||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
defaultValue = 1;
|
defaultValue = 1;
|
||||||
};
|
};
|
||||||
|
class autoAddEarplugsToUnits {
|
||||||
|
displayName = CSTRING(autoAddEarplugsToUnits_DisplayName);
|
||||||
|
description = CSTRING(autoAddEarplugsToUnits_Description);
|
||||||
|
typeName = "BOOL";
|
||||||
|
defaultValue = 1;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription {
|
class ModuleDescription {
|
||||||
description = CSTRING(Module_Description);
|
description = CSTRING(Module_Description);
|
||||||
|
@ -42,7 +42,8 @@ class CfgWeapons {
|
|||||||
class H_PilotHelmetFighter_O: H_PilotHelmetFighter_B {};
|
class H_PilotHelmetFighter_O: H_PilotHelmetFighter_B {};
|
||||||
class H_PilotHelmetFighter_I: H_PilotHelmetFighter_B {};
|
class H_PilotHelmetFighter_I: H_PilotHelmetFighter_B {};
|
||||||
|
|
||||||
class H_Cap_headphones: H_HelmetB {
|
class HelmetBase;
|
||||||
|
class H_Cap_headphones: HelmetBase {
|
||||||
GVAR(protection) = 0.5;
|
GVAR(protection) = 0.5;
|
||||||
GVAR(lowerVolume) = 0.60;
|
GVAR(lowerVolume) = 0.60;
|
||||||
};
|
};
|
||||||
|
@ -6,6 +6,7 @@ PREP(addEarPlugs);
|
|||||||
PREP(earRinging);
|
PREP(earRinging);
|
||||||
PREP(explosionNear);
|
PREP(explosionNear);
|
||||||
PREP(firedNear);
|
PREP(firedNear);
|
||||||
|
PREP(handleRespawn);
|
||||||
PREP(hasEarPlugsIn);
|
PREP(hasEarPlugsIn);
|
||||||
PREP(moduleHearing);
|
PREP(moduleHearing);
|
||||||
PREP(putInEarPlugs);
|
PREP(putInEarPlugs);
|
||||||
|
@ -14,29 +14,50 @@
|
|||||||
* Public: No
|
* Public: No
|
||||||
*/
|
*/
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
params ["_unit"];
|
params ["_unit"];
|
||||||
|
TRACE_2("params",_unit,typeOf _unit);
|
||||||
|
|
||||||
// Exit if hearing is disabled or soldier has earplugs already in (persistence scenarios)
|
// only run this after the settings are initialized
|
||||||
if (!GVAR(enableCombatDeafness) || {[_unit] call FUNC(hasEarPlugsIn)}) exitWith {};
|
if !(EGVAR(common,settingsInitFinished)) exitWith {
|
||||||
|
EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(addEarPlugs), _this];
|
||||||
|
};
|
||||||
|
|
||||||
private ["_launcher"];
|
// Exit if hearing is disabled OR autoAdd is disabled OR soldier has earplugs already in (persistence scenarios)
|
||||||
|
if (!GVAR(enableCombatDeafness) || {!GVAR(autoAddEarplugsToUnits)} || {[_unit] call FUNC(hasEarPlugsIn)}) exitWith {};
|
||||||
|
|
||||||
// add earplugs if the soldier has a rocket launcher
|
// add earplugs if the soldier has a rocket launcher
|
||||||
_launcher = secondaryWeapon _unit;
|
if ((secondaryWeapon _unit) != "") exitWith {
|
||||||
|
TRACE_1("has launcher - adding",_unit);
|
||||||
if (_launcher != "") exitWith {
|
|
||||||
_unit addItem "ACE_EarPlugs";
|
_unit addItem "ACE_EarPlugs";
|
||||||
};
|
};
|
||||||
|
|
||||||
// otherwise add earplugs if the soldier has a big rifle
|
// otherwise add earplugs if the soldier has a big rifle
|
||||||
private ["_magazine", "_ammo"];
|
if ((primaryWeapon _unit) == "") exitWith {};
|
||||||
|
|
||||||
_magazine = primaryWeaponMagazine _unit select 0;
|
(primaryWeaponMagazine _unit) params [["_magazine", ""]];
|
||||||
|
if (_magazine == "") exitWith {};
|
||||||
|
|
||||||
if (isNil "_magazine") exitWith {};
|
private _initSpeed = getNumber (configFile >> "CfgMagazines" >> _magazine >> "initSpeed");
|
||||||
|
private _ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo");
|
||||||
|
private _count = getNumber (configFile >> "CfgMagazines" >> _magazine >> "count");
|
||||||
|
|
||||||
_ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo");
|
private _caliber = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_caliber");
|
||||||
|
_caliber = call {
|
||||||
|
if (_ammo isKindOf ["ShellBase", (configFile >> "CfgAmmo")]) exitWith { 80 };
|
||||||
|
if (_ammo isKindOf ["RocketBase", (configFile >> "CfgAmmo")]) exitWith { 200 };
|
||||||
|
if (_ammo isKindOf ["MissileBase", (configFile >> "CfgAmmo")]) exitWith { 600 };
|
||||||
|
if (_ammo isKindOf ["SubmunitionBase", (configFile >> "CfgAmmo")]) exitWith { 80 };
|
||||||
|
if (_caliber <= 0) then { 6.5 } else { _caliber };
|
||||||
|
};
|
||||||
|
private _loudness = (_caliber ^ 1.25 / 10) * (_initspeed / 1000) / 5;
|
||||||
|
|
||||||
if (getNumber (configFile >> "CfgAmmo" >> _ammo >> "audiblefire") > 8) then {
|
//If unit has a machine gun boost effective loudness 50%
|
||||||
|
if (_count >= 50) then {_loudness = _loudness * 1.5};
|
||||||
|
|
||||||
|
TRACE_2("primaryWeapon",_unit,_loudness);
|
||||||
|
|
||||||
|
if (_loudness > 0.2) then {
|
||||||
|
TRACE_1("loud gun - adding",_unit);
|
||||||
_unit addItem "ACE_EarPlugs";
|
_unit addItem "ACE_EarPlugs";
|
||||||
};
|
};
|
||||||
|
35
addons/hearing/functions/fnc_handleRespawn.sqf
Normal file
35
addons/hearing/functions/fnc_handleRespawn.sqf
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Author: PabstMirror
|
||||||
|
* Reset earplugs on respawn, and then re-add if appropriate
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: Unit <OBJECT>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* Nothing
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [player] call ACE_hearing_fnc_handleRespawn;
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
params ["_unit"];
|
||||||
|
TRACE_2("params",_unit,typeOf _unit);
|
||||||
|
|
||||||
|
if (!local _unit) exitWith {}; //XEH should only be called on local units
|
||||||
|
|
||||||
|
private _respawn = [0] call BIS_fnc_missionRespawnType;
|
||||||
|
|
||||||
|
//if respawn is not Group or side:
|
||||||
|
if (_respawn <= 3) then {
|
||||||
|
//Remove earplugs if they have them:
|
||||||
|
if (_unit getVariable ["ACE_hasEarPlugsin", false]) then {
|
||||||
|
TRACE_1("had EarPlugs in - removing",_unit);
|
||||||
|
_unit setVariable ["ACE_hasEarPlugsin", false, true];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
//Re-add if they need them:
|
||||||
|
[_unit] call FUNC(addEarPlugs);
|
@ -20,4 +20,5 @@ if ((_logic getVariable "DisableEarRinging") != -1) then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
[_logic, QGVAR(enabledForZeusUnits), "enabledForZeusUnits"] call EFUNC(common,readSettingFromModule);
|
[_logic, QGVAR(enabledForZeusUnits), "enabledForZeusUnits"] call EFUNC(common,readSettingFromModule);
|
||||||
|
[_logic, QGVAR(autoAddEarplugsToUnits), "autoAddEarplugsToUnits"] call EFUNC(common,readSettingFromModule);
|
||||||
ACE_LOGINFO("Hearing Module Initialized.");
|
ACE_LOGINFO("Hearing Module Initialized.");
|
||||||
|
@ -165,5 +165,11 @@
|
|||||||
<Portuguese>Permite que unidades remotamente controladas pelo Zeus sejam atingidas por danos auditivos.</Portuguese>
|
<Portuguese>Permite que unidades remotamente controladas pelo Zeus sejam atingidas por danos auditivos.</Portuguese>
|
||||||
<Spanish>Permitir a las unidades por control remoto de zeus que puedan tener daños auditivos.</Spanish>
|
<Spanish>Permitir a las unidades por control remoto de zeus que puedan tener daños auditivos.</Spanish>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Hearing_autoAddEarplugsToUnits_DisplayName">
|
||||||
|
<English>Add earplugs to units</English>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Hearing_autoAddEarplugsToUnits_Description">
|
||||||
|
<English>Add the `ACE_EarPlugs` item to all units that have loud weapons. Can disable if using custom loadouts.</English>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -87,31 +87,37 @@ class RscDisplayInventory {
|
|||||||
class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary {
|
class BackgroundSlotPrimaryMuzzle: BackgroundSlotPrimary {
|
||||||
x = X_PART(26.6);
|
x = X_PART(26.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class BackgroundSlotPrimaryUnderBarrel: BackgroundSlotPrimary {
|
class BackgroundSlotPrimaryUnderBarrel: BackgroundSlotPrimary {
|
||||||
x = X_PART(29);
|
x = X_PART(28.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary {
|
class BackgroundSlotPrimaryFlashlight: BackgroundSlotPrimary {
|
||||||
x = X_PART(31.4);
|
x = X_PART(30.6);
|
||||||
y = Y_PART(9.2); //not sure why different (double check release)
|
y = Y_PART(9.2); //not sure why different (double check release)
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary {
|
class BackgroundSlotPrimaryOptics: BackgroundSlotPrimary {
|
||||||
x = X_PART(33.8);
|
x = X_PART(32.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
|
h = H_PART(2);
|
||||||
|
};
|
||||||
|
class BackgroundSlotPrimaryMagazineGL: BackgroundSlotPrimary {
|
||||||
|
x = X_PART(34.6);
|
||||||
|
y = Y_PART(9.1);
|
||||||
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary {
|
class BackgroundSlotPrimaryMagazine: BackgroundSlotPrimary {
|
||||||
x = X_PART(36.2);
|
x = X_PART(36.2);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class BackgroundSlotSecondary: BackgroundSlotPrimary {
|
class BackgroundSlotSecondary: BackgroundSlotPrimary {
|
||||||
@ -292,31 +298,37 @@ class RscDisplayInventory {
|
|||||||
class SlotPrimaryMuzzle: SlotPrimary {
|
class SlotPrimaryMuzzle: SlotPrimary {
|
||||||
x = X_PART(26.6);
|
x = X_PART(26.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class SlotPrimaryUnderBarrel: SlotPrimary {
|
class SlotPrimaryUnderBarrel: SlotPrimary {
|
||||||
x = X_PART(29);
|
x = X_PART(28.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class SlotPrimaryFlashlight: SlotPrimary {
|
class SlotPrimaryFlashlight: SlotPrimary {
|
||||||
x = X_PART(31.4);
|
x = X_PART(30.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class SlotPrimaryOptics: SlotPrimary {
|
class SlotPrimaryOptics: SlotPrimary {
|
||||||
x = X_PART(33.8);
|
x = X_PART(32.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
|
h = H_PART(2);
|
||||||
|
};
|
||||||
|
class SlotPrimaryMagazineGL: SlotPrimary {
|
||||||
|
x = X_PART(34.6);
|
||||||
|
y = Y_PART(9.1);
|
||||||
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class SlotPrimaryMagazine: SlotPrimary {
|
class SlotPrimaryMagazine: SlotPrimary {
|
||||||
x = X_PART(36.2);
|
x = X_PART(36.6);
|
||||||
y = Y_PART(9.1);
|
y = Y_PART(9.1);
|
||||||
w = W_PART(2.3);
|
w = W_PART(1.9);
|
||||||
h = H_PART(2);
|
h = H_PART(2);
|
||||||
};
|
};
|
||||||
class SlotSecondary: SlotPrimary {
|
class SlotSecondary: SlotPrimary {
|
||||||
|
@ -433,39 +433,38 @@ class CfgVehicles {
|
|||||||
#define ARM_LEG_ARMOR_BETTER 5
|
#define ARM_LEG_ARMOR_BETTER 5
|
||||||
#define ARM_LEG_ARMOR_CSAT 4
|
#define ARM_LEG_ARMOR_CSAT 4
|
||||||
|
|
||||||
class Land;
|
#define ADD_ACE_HITPOINTS(ARM_ARMOR,LEG_ARMOR) \
|
||||||
class Man: Land {
|
class HitLeftArm { \
|
||||||
class HitPoints;
|
armor = ARM_ARMOR; \
|
||||||
};
|
material = -1; \
|
||||||
|
name = "hand_l"; \
|
||||||
|
passThrough = 1; \
|
||||||
|
radius = 0.08; \
|
||||||
|
explosionShielding = 1; \
|
||||||
|
visual = "injury_hands"; \
|
||||||
|
minimalHit = 0.01; \
|
||||||
|
}; \
|
||||||
|
class HitRightArm: HitLeftArm { \
|
||||||
|
name = "hand_r"; \
|
||||||
|
}; \
|
||||||
|
class HitLeftLeg { \
|
||||||
|
armor = LEG_ARMOR; \
|
||||||
|
material = -1; \
|
||||||
|
name = "leg_l"; \
|
||||||
|
passThrough = 1; \
|
||||||
|
radius = 0.1; \
|
||||||
|
explosionShielding = 1; \
|
||||||
|
visual = "injury_legs"; \
|
||||||
|
minimalHit = 0.01; \
|
||||||
|
}; \
|
||||||
|
class HitRightLeg: HitLeftLeg { \
|
||||||
|
name = "leg_r"; \
|
||||||
|
}; \
|
||||||
|
|
||||||
|
class Man;
|
||||||
class CAManBase: Man {
|
class CAManBase: Man {
|
||||||
class HitPoints: HitPoints { // custom hitpoints. addons might want to adjust these accordingly
|
class HitPoints {
|
||||||
class HitLeftArm {
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_DEFAULT,ARM_LEG_ARMOR_DEFAULT);
|
||||||
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 {
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_SelfActions {
|
class ACE_SelfActions {
|
||||||
@ -525,174 +524,82 @@ class CfgVehicles {
|
|||||||
class B_Soldier_base_F: SoldierWB {};
|
class B_Soldier_base_F: SoldierWB {};
|
||||||
|
|
||||||
class B_Soldier_04_f: B_Soldier_base_F {
|
class B_Soldier_04_f: B_Soldier_base_F {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_BETTER,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
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 B_Soldier_05_f: B_Soldier_base_F {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_BETTER,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitLeftLeg: HitLeftLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitRightLeg: HitRightLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class I_Soldier_base_F: SoldierGB {};
|
class I_Soldier_base_F: SoldierGB {};
|
||||||
|
|
||||||
class I_Soldier_03_F: I_Soldier_base_F {
|
class I_Soldier_03_F: I_Soldier_base_F {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_BETTER,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
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 I_Soldier_04_F: I_Soldier_base_F {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_BETTER,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitLeftLeg: HitLeftLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
class HitRightLeg: HitRightLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_BETTER;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class O_Soldier_base_F: SoldierEB {
|
class O_Soldier_base_F: SoldierEB {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_CSAT,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
class HitLeftLeg: HitLeftLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
class HitRightLeg: HitRightLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class O_Soldier_diver_base_F: O_Soldier_base_F {
|
||||||
|
class HitPoints {
|
||||||
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_CSAT,ARM_LEG_ARMOR_BETTER);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
class O_Soldier_02_F: O_Soldier_base_F {
|
class O_Soldier_02_F: O_Soldier_base_F {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_CSAT,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
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 O_officer_F: O_Soldier_base_F {
|
||||||
class HitPoints: HitPoints {
|
class HitPoints {
|
||||||
class HitHead;
|
ADD_ACE_HITPOINTS(ARM_LEG_ARMOR_CSAT,ARM_LEG_ARMOR_BETTER);
|
||||||
class HitBody;
|
|
||||||
class HitHands;
|
|
||||||
class HitLegs;
|
|
||||||
class HitLeftArm: HitLeftArm {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT; // @todo is that suppossed to be the case?
|
|
||||||
};
|
|
||||||
class HitRightArm: HitRightArm {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
class HitLeftLeg: HitLeftLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
class HitRightLeg: HitRightLeg {
|
|
||||||
armor = ARM_LEG_ARMOR_CSAT;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class O_Protagonist_VR_F: O_Soldier_base_F {
|
//These VR guys already have limb hitpoints that we should be able to use
|
||||||
class HitPoints: HitPoints {
|
//Note: the selections are a little weird, eg: class leg_l {name = "leg_l";};
|
||||||
class HitHead;
|
// class B_Soldier_VR_F: B_Soldier_base_F { {
|
||||||
class HitBody;
|
// class HitPoints {
|
||||||
class HitHands;
|
//Has class hand_l, hand_r, leg_l, leg_r Hitpoints already
|
||||||
class HitLegs;
|
// };
|
||||||
class HitLeftArm: HitLeftArm {
|
// };
|
||||||
armor = 2;
|
// class O_Soldier_VR_F: O_Soldier_base_F { {
|
||||||
};
|
// class HitPoints {
|
||||||
class HitRightArm: HitRightArm {
|
//Has class hand_l, hand_r, leg_l, leg_r Hitpoints already
|
||||||
armor = 2;
|
// };
|
||||||
};
|
// };
|
||||||
class HitLeftLeg: HitLeftLeg {
|
// class I_Soldier_VR_F: I_Soldier_base_F { {
|
||||||
armor = 2;
|
// class HitPoints {
|
||||||
};
|
//Has class hand_l, hand_r, leg_l, leg_r Hitpoints already
|
||||||
class HitRightLeg: HitRightLeg {
|
// };
|
||||||
armor = 2;
|
// };
|
||||||
};
|
// class C_Soldier_VR_F: C_man_1 {
|
||||||
};
|
// class HitPoints {
|
||||||
};
|
//Has class hand_l, hand_r, leg_l, leg_r Hitpoints already
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
// class O_Protagonist_VR_F: O_Soldier_base_F {
|
||||||
|
// class HitPoints {
|
||||||
|
//Has class hand_l, hand_r, leg_l, leg_r Hitpoints already
|
||||||
|
// };
|
||||||
|
// };
|
||||||
|
|
||||||
class MapBoard_altis_F;
|
class MapBoard_altis_F;
|
||||||
class ACE_bodyBagObject: MapBoard_altis_F {
|
class ACE_bodyBagObject: MapBoard_altis_F {
|
||||||
|
Loading…
Reference in New Issue
Block a user