Merge branch 'master' into compatPboWarnings

This commit is contained in:
PabstMirror 2016-03-24 11:23:29 -05:00
commit b0df31783d
34 changed files with 198 additions and 52 deletions

View File

@ -24,6 +24,6 @@ ACE2, AGM and CSE had a lot of features implemented or planned. All of them are
Please refrain from making requests for any planned or existing features from either ACE2, AGM or CSE. Most of them are already being or have been considered for porting or a rewrite. Please refrain from making requests for any planned or existing features from either ACE2, AGM or CSE. Most of them are already being or have been considered for porting or a rewrite.
## Requesting a feature ## Requesting a feature
In order to avoid duplicates and keep the issue tracker organized, we have created a common issue for [ACE3 Feature requests](https://github.com/acemod/ACE3/issues/414). Any and all relevant requests should be submitted there, where they will also get discussed and evaluated. Before adding a new one, make sure to check the previous entries from the thread and do a quick search for similar suggestions; please don't reiterate requests for features that had already been accepted for inclusion, or those which were disregarded earlier. In order to avoid duplicates and keep the issue tracker organized, we have created a common issue for [ACE3 Feature requests](https://github.com/acemod/ACE3/issues/3594). Any and all relevant requests should be submitted there, where they will also get discussed and evaluated. Before adding a new one, make sure to check the previous entries from the thread and do a quick search for similar suggestions; please don't reiterate requests for features that had already been accepted for inclusion, or those which were disregarded earlier.
Following their approval, feature requests may be moved by moderators to a separate issue for further discussion. Following their approval, feature requests may be moved by moderators to a separate issue for further discussion.

View File

@ -4,7 +4,7 @@
<p align="center"> <p align="center">
<a href="https://github.com/acemod/ACE3/releases"> <a href="https://github.com/acemod/ACE3/releases">
<img src="https://img.shields.io/badge/Version-3.5.0-blue.svg?style=flat-square" alt="ACE3 Version"> <img src="https://img.shields.io/badge/Version-3.5.1-blue.svg?style=flat-square" alt="ACE3 Version">
</a> </a>
<a href="https://github.com/acemod/ACE3/issues"> <a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues"> <img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">

View File

@ -1,29 +1,34 @@
class ACE_Settings { class ACE_Settings {
class GVAR(enabled) { class GVAR(enabled) {
category = CSTRING(DisplayName);
displayName = CSTRING(enabled_DisplayName); displayName = CSTRING(enabled_DisplayName);
description = CSTRING(enabled_Description); description = CSTRING(enabled_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(simulateForSnipers) { class GVAR(simulateForSnipers) {
category = CSTRING(DisplayName);
displayName = CSTRING(simulateForSnipers_DisplayName); displayName = CSTRING(simulateForSnipers_DisplayName);
description = CSTRING(simulateForSnipers_Description); description = CSTRING(simulateForSnipers_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(simulateForGroupMembers) { class GVAR(simulateForGroupMembers) {
category = CSTRING(DisplayName);
displayName = CSTRING(simulateForGroupMembers_DisplayName); displayName = CSTRING(simulateForGroupMembers_DisplayName);
description = CSTRING(simulateForGroupMembers_Description); description = CSTRING(simulateForGroupMembers_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(simulateForEveryone) { class GVAR(simulateForEveryone) {
category = CSTRING(DisplayName);
displayName = CSTRING(simulateForEveryone_DisplayName); displayName = CSTRING(simulateForEveryone_DisplayName);
description = CSTRING(simulateForEveryone_Description); description = CSTRING(simulateForEveryone_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(disabledInFullAutoMode) { class GVAR(disabledInFullAutoMode) {
category = CSTRING(DisplayName);
displayName = CSTRING(disabledInFullAutoMod_DisplayName); displayName = CSTRING(disabledInFullAutoMod_DisplayName);
description = CSTRING(disabledInFullAutoMod_Description); description = CSTRING(disabledInFullAutoMod_Description);
typeName = "BOOL"; typeName = "BOOL";
@ -31,6 +36,7 @@ class ACE_Settings {
}; };
/* // TODO: We currently do not have firedEHs on vehicles /* // TODO: We currently do not have firedEHs on vehicles
class GVAR(vehicleGunnerEnabled) { class GVAR(vehicleGunnerEnabled) {
category = CSTRING(DisplayName);
displayName = "Enabled For Vehicle Gunners"; displayName = "Enabled For Vehicle Gunners";
description = "Enables advanced ballistics for vehicle gunners"; description = "Enables advanced ballistics for vehicle gunners";
typeName = "BOOL"; typeName = "BOOL";
@ -38,30 +44,35 @@ class ACE_Settings {
}; };
*/ */
class GVAR(ammoTemperatureEnabled) { class GVAR(ammoTemperatureEnabled) {
category = CSTRING(DisplayName);
displayName = CSTRING(ammoTemperatureEnabled_DisplayName); displayName = CSTRING(ammoTemperatureEnabled_DisplayName);
description = CSTRING(ammoTemperatureEnabled_Description); description = CSTRING(ammoTemperatureEnabled_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(barrelLengthInfluenceEnabled) { class GVAR(barrelLengthInfluenceEnabled) {
category = CSTRING(DisplayName);
displayName = CSTRING(barrelLengthInfluenceEnabled_DisplayName); displayName = CSTRING(barrelLengthInfluenceEnabled_DisplayName);
description = CSTRING(barrelLengthInfluenceEnabled_Description); description = CSTRING(barrelLengthInfluenceEnabled_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(bulletTraceEnabled) { class GVAR(bulletTraceEnabled) {
category = CSTRING(DisplayName);
displayName = CSTRING(bulletTraceEnabled_DisplayName); displayName = CSTRING(bulletTraceEnabled_DisplayName);
description = CSTRING(bulletTraceEnabled_Description); description = CSTRING(bulletTraceEnabled_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(simulationInterval) { class GVAR(simulationInterval) {
category = CSTRING(DisplayName);
displayName = CSTRING(simulationInterval_DisplayName); displayName = CSTRING(simulationInterval_DisplayName);
description = CSTRING(simulationInterval_Description); description = CSTRING(simulationInterval_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0.0; value = 0.0;
}; };
class GVAR(simulationRadius) { class GVAR(simulationRadius) {
category = CSTRING(DisplayName);
displayName = CSTRING(simulationRadius_DisplayName); displayName = CSTRING(simulationRadius_DisplayName);
description = CSTRING(simulationRadius_Description); description = CSTRING(simulationRadius_Description);
typeName = "SCALAR"; typeName = "SCALAR";

View File

@ -47,7 +47,7 @@ GVAR(Protractor) = true;
__ctrl1 ctrlSetTextColor [1, 1, 1, 1]; __ctrl1 ctrlSetTextColor [1, 1, 1, 1];
__ctrl2 ctrlSetScale 1; __ctrl2 ctrlSetScale 1;
__ctrl2 ctrlSetPosition [SafeZoneX + 0.001, SafeZoneY + 0.001 - 0.0012 * (-58 max (asin((ACE_player weaponDirection currentWeapon ACE_player) select 2)) min 58), 0.2, 0.2 * 4/3]; __ctrl2 ctrlSetPosition [SafeZoneX + 0.001, SafeZoneY - 0.001 - 0.1074 * (-0.86 max ((ACE_player weaponDirection currentWeapon ACE_player) select 2) min 0.86), 0.2, 0.2 * 4/3];
__ctrl2 ctrlCommit 0; __ctrl2 ctrlCommit 0;
__ctrl2 ctrlSetText QUOTE(PATHTOF(UI\protractor_marker.paa)); __ctrl2 ctrlSetText QUOTE(PATHTOF(UI\protractor_marker.paa));
__ctrl2 ctrlSetTextColor [1, 1, 1, 1]; __ctrl2 ctrlSetTextColor [1, 1, 1, 1];

View File

@ -444,6 +444,11 @@ if (!isNil QGVAR(PreInit_playerChanged_PFHID)) then {
// Add various canInteractWith conditions // Add various canInteractWith conditions
////////////////////////////////////////////////// //////////////////////////////////////////////////
["isNotDead", {
params ["_unit", "_target"];
alive _unit
}] call FUNC(addCanInteractWithCondition);
["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition); ["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition);
["isNotInside", { ["isNotInside", {

View File

@ -1,9 +1,13 @@
class ACE_Settings { class ACE_Settings {
class GVAR(RequireSpecialist) { class GVAR(RequireSpecialist) {
displayName = CSTRING(RequireSpecialist_DisplayName);
description = CSTRING(RequireSpecialist_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(PunishNonSpecialists) { class GVAR(PunishNonSpecialists) {
displayName = CSTRING(PunishNonSpecialists_DisplayName);
description = CSTRING(PunishNonSpecialists_Description);
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
}; };

View File

@ -35,8 +35,8 @@ class CfgVehicles {
}; };
}; };
class Helicopter; class Air;
class Helicopter_Base_F: Helicopter { class Helicopter: Air {
class ACE_SelfActions { class ACE_SelfActions {
class ACE_prepareFRIES { class ACE_prepareFRIES {
displayName = CSTRING(Interaction_prepareFRIES); displayName = CSTRING(Interaction_prepareFRIES);
@ -68,6 +68,8 @@ class CfgVehicles {
}; };
}; };
}; };
class Helicopter_Base_F;
class ACE_friesBase: Helicopter_Base_F { class ACE_friesBase: Helicopter_Base_F {
destrType = ""; destrType = "";
class Turrets {}; class Turrets {};

View File

@ -32,10 +32,11 @@ _deployedRopes = _vehicle getVariable [QGVAR(deployedRopes), []];
}; };
}; };
detach _dummy; //Destroy rope
deleteVehicle _ropeTop; //Only delete the hook first so the rope falls down.
//Note: ropeDetach was used here before, but the command seems a bit broken.
deleteVehicle _hook; deleteVehicle _hook;
[{{deleteVehicle _x} count _this}, [_ropeBottom, _dummy], 60] call EFUNC(common,waitAndExecute); [{{deleteVehicle _x} count _this}, [_ropeTop, _ropeBottom, _dummy], 60] call EFUNC(common,waitAndExecute);
} count _deployedRopes; } count _deployedRopes;
_vehicle setVariable [QGVAR(deployedRopes), [], true]; _vehicle setVariable [QGVAR(deployedRopes), [], true];

View File

@ -35,14 +35,13 @@ _hookAttachment = _vehicle getVariable [QGVAR(FRIES), _vehicle];
_origin = getPosATL _hook; _origin = getPosATL _hook;
_dummy = createVehicle [QGVAR(helper), _origin, [], 0, "CAN_COLLIDE"]; _dummy = createVehicle [QGVAR(helper), _origin vectorAdd [0, 0, -1], [], 0, "CAN_COLLIDE"];
_dummy allowDamage false; _dummy allowDamage false;
_dummy disableCollisionWith _vehicle; _dummy disableCollisionWith _vehicle;
_dummy attachTo [_hook, [0, 0, 0]];
_ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5]; _ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5];
_ropeBottom = ropeCreate [_dummy, [0, 0, 0], 1]; _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 1];
ropeUnwind [_ropeBottom, 30, 35, false]; ropeUnwind [_ropeBottom, 30, 34.5, false];
_ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}];
_ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}];

View File

@ -26,7 +26,6 @@ if (vehicle _unit != _unit) exitWith {};
//Start fast roping //Start fast roping
if (animationState _unit != "ACE_FastRoping") exitWith { if (animationState _unit != "ACE_FastRoping") exitWith {
detach _dummy;
_unit disableCollisionWith _dummy; _unit disableCollisionWith _dummy;
_unit attachTo [_dummy, [0, 0, -1.45]]; _unit attachTo [_dummy, [0, 0, -1.45]];
[_unit, "ACE_FastRoping", 2] call EFUNC(common,doAnimation); [_unit, "ACE_FastRoping", 2] call EFUNC(common,doAnimation);

View File

@ -25,7 +25,7 @@ private ["_vectorUp", "_vectorDir", "_origin"];
if (vehicle _unit != _unit) exitWith {}; if (vehicle _unit != _unit) exitWith {};
//Start fast roping //Start fast roping
if (animationState _unit != "ACE_FastRoping") exitWith { if (getMass _dummy != 80) exitWith {
//Fix for twitchyness //Fix for twitchyness
_dummy setMass 80; _dummy setMass 80;
_dummy setCenterOfMass [0, 0, -2]; _dummy setCenterOfMass [0, 0, -2];
@ -38,7 +38,9 @@ if (animationState _unit != "ACE_FastRoping") exitWith {
}; };
//Check if rope broke and unit is falling //Check if rope broke and unit is falling
if (isNull attachedTo _unit) exitWith { //Make sure this isn't executed before the unit is actually fastroping
//Note: Stretching ropes does not change ropeLength
if ((isNull attachedTo _unit) && {ropeLength _ropeTop > 0.5}) exitWith {
[_pfhHandle] call CBA_fnc_removePerFrameHandler; [_pfhHandle] call CBA_fnc_removePerFrameHandler;
}; };
@ -54,14 +56,14 @@ if (((getPos _unit select 2) < 0.2) || {ropeLength _ropeTop == 34.5} || {vectorM
deleteVehicle _ropeBottom; deleteVehicle _ropeBottom;
_origin = getPosASL _hook; _origin = getPosASL _hook;
_dummy attachTo [_hook, [0, 0, 0]]; _dummy setPosASL (_origin vectorAdd [0, 0, -1]);
//Restore original mass and center of mass //Restore original mass and center of mass
_dummy setMass 40; _dummy setMass 40;
_dummy setCenterOfMass [0.000143227,0.00105986,-0.246147]; _dummy setCenterOfMass [0.000143227,0.00105986,-0.246147];
_ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5]; _ropeTop = ropeCreate [_dummy, [0, 0, 0], _hook, [0, 0, 0], 0.5];
_ropeBottom = ropeCreate [_dummy, [0, 0, 0], 35]; _ropeBottom = ropeCreate [_dummy, [0, 0, 0], 34.5];
_ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}]; _ropeTop addEventHandler ["RopeBreak", {[_this, "top"] call FUNC(onRopeBreak)}];
_ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}]; _ropeBottom addEventHandler ["RopeBreak", {[_this, "bottom"] call FUNC(onRopeBreak)}];

View File

@ -45,6 +45,13 @@ GVAR(expanded) = false;
GVAR(startHoverTime) = ACE_diagTime; GVAR(startHoverTime) = ACE_diagTime;
GVAR(expandedTime) = ACE_diagTime; GVAR(expandedTime) = ACE_diagTime;
// reset on mission load
addMissionEventHandler ["Loaded", {
GVAR(startHoverTime) = 0;
GVAR(expandedTime) = 0;
}];
GVAR(iconCtrls) = []; GVAR(iconCtrls) = [];
GVAR(iconCount) = 0; GVAR(iconCount) = 0;

View File

@ -1,6 +1,8 @@
class ACE_Settings { class ACE_Settings {
class GVAR(EnableTeamManagement) { class GVAR(EnableTeamManagement) {
displayName = CSTRING(EnableTeamManagement_DisplayName);
description = CSTRING(EnableTeamManagement_Description);
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
}; };

View File

@ -5,7 +5,7 @@
#define MAJOR 3 #define MAJOR 3
#define MINOR 5 #define MINOR 5
#define PATCHLVL 0 #define PATCHLVL 1
#define BUILD 0 #define BUILD 0
#define VERSION MAJOR.MINOR.PATCHLVL.BUILD #define VERSION MAJOR.MINOR.PATCHLVL.BUILD

View File

@ -1366,7 +1366,7 @@ class ACE_Medical_Advanced {
timeInSystem = 900; timeInSystem = 900;
maxDose = 4; maxDose = 4;
inCompatableMedication[] = {}; inCompatableMedication[] = {};
viscosityChange = 10; viscosityChange = -10;
}; };
class Epinephrine { class Epinephrine {
painReduce = 0; painReduce = 0;

View File

@ -1,12 +1,16 @@
class ACE_Settings { class ACE_Settings {
class GVAR(level) { class GVAR(level) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_level_DisplayName);
description = CSTRING(MedicalSettings_level_Description);
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
values[] = {"Disabled", "Basic", "Advanced"}; values[] = {"Disabled", "Basic", "Advanced"};
}; };
class GVAR(medicSetting) { class GVAR(medicSetting) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_medicSetting_DisplayName);
description = CSTRING(MedicalSettings_medicSetting_Description);
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
values[] = {"Disabled", "Normal", "Advanced"}; values[] = {"Disabled", "Normal", "Advanced"};
@ -20,6 +24,8 @@ class ACE_Settings {
}; };
class GVAR(enableFor) { class GVAR(enableFor) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_enableFor_DisplayName);
description = CSTRING(AdvancedMedicalSettings_enableFor_Description);
value = 0; value = 0;
typeName = "SCALAR"; typeName = "SCALAR";
values[] = {"Players only", "Players and AI"}; values[] = {"Players only", "Players and AI"};
@ -31,11 +37,15 @@ class ACE_Settings {
}; };
class GVAR(bleedingCoefficient) { class GVAR(bleedingCoefficient) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_bleedingCoefficient_DisplayName);
description = CSTRING(MedicalSettings_bleedingCoefficient_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
}; };
class GVAR(painCoefficient) { class GVAR(painCoefficient) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_painCoefficient_DisplayName);
description = CSTRING(MedicalSettings_painCoefficient_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
}; };
@ -51,58 +61,80 @@ class ACE_Settings {
}; };
class GVAR(enableAdvancedWounds) { class GVAR(enableAdvancedWounds) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_enableAdvancedWounds_DisplayName);
description = CSTRING(AdvancedMedicalSettings_enableAdvancedWounds_Description);
typeName = "BOOL"; typeName = "BOOL";
value = false; value = false;
}; };
class GVAR(enableVehicleCrashes) { class GVAR(enableVehicleCrashes) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_enableVehicleCrashes_DisplayName);
description = CSTRING(AdvancedMedicalSettings_enableVehicleCrashes_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(enableScreams) { class GVAR(enableScreams) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_enableScreams_DisplayName);
description = CSTRING(MedicalSettings_enableScreams_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(playerDamageThreshold) { class GVAR(playerDamageThreshold) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_playerDamageThreshold_DisplayName);
description = CSTRING(MedicalSettings_playerDamageThreshold_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
}; };
class GVAR(AIDamageThreshold) { class GVAR(AIDamageThreshold) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_AIDamageThreshold_DisplayName);
description = CSTRING(MedicalSettings_AIDamageThreshold_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
}; };
class GVAR(enableUnconsciousnessAI) { class GVAR(enableUnconsciousnessAI) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_enableUnconsciousnessAI_DisplayName);
description = CSTRING(MedicalSettings_enableUnconsciousnessAI_Description);
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
values[] = {"Disabled", "50/50", "Enabled"}; values[] = {"Disabled", "50/50", "Enabled"};
}; };
class GVAR(remoteControlledAI) { class GVAR(remoteControlledAI) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_remoteControlledAI_DisplayName);
description = CSTRING(MedicalSettings_remoteControlledAI_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(preventInstaDeath) { class GVAR(preventInstaDeath) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_preventInstaDeath_DisplayName);
description = CSTRING(MedicalSettings_preventInstaDeath_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(enableRevive) { class GVAR(enableRevive) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(ReviveSettings_enableRevive_DisplayName);
description = CSTRING(ReviveSettings_enableRevive_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {"Disabled", "Players only", "Players and AI"}; values[] = {"Disabled", "Players only", "Players and AI"};
}; };
class GVAR(maxReviveTime) { class GVAR(maxReviveTime) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(ReviveSettings_maxReviveTime_DisplayName);
description = CSTRING(ReviveSettings_maxReviveTime_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 120; value = 120;
}; };
class GVAR(amountOfReviveLives) { class GVAR(amountOfReviveLives) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(ReviveSettings_amountOfReviveLives_DisplayName);
description = CSTRING(ReviveSettings_amountOfReviveLives_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = -1; value = -1;
}; };
@ -113,6 +145,8 @@ class ACE_Settings {
}; };
class GVAR(allowLitterCreation) { class GVAR(allowLitterCreation) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_allowLitterCreation_DisplayName);
description = CSTRING(MedicalSettings_allowLitterCreation_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
@ -130,53 +164,71 @@ class ACE_Settings {
}; };
class GVAR(litterCleanUpDelay) { class GVAR(litterCleanUpDelay) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_litterCleanUpDelay_DisplayName);
description = CSTRING(MedicalSettings_litterCleanUpDelay_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
}; };
class GVAR(medicSetting_basicEpi) { class GVAR(medicSetting_basicEpi) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(BasicMedicalSettings_medicSetting_basicEpi_DisplayName);
description = CSTRING(BasicMedicalSettings_medicSetting_basicEpi_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
values[] = {"Anyone", "Medics only", "Doctors only"}; values[] = {"Anyone", "Medics only", "Doctors only"};
}; };
class GVAR(medicSetting_PAK) { class GVAR(medicSetting_PAK) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_medicSetting_PAK_DisplayName);
description = CSTRING(AdvancedMedicalSettings_medicSetting_PAK_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
values[] = {"Anyone", "Medics only", "Doctors only"}; values[] = {"Anyone", "Medics only", "Doctors only"};
}; };
class GVAR(medicSetting_SurgicalKit) { class GVAR(medicSetting_SurgicalKit) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_medicSetting_SurgicalKit_DisplayName);
description = CSTRING(AdvancedMedicalSettings_medicSetting_SurgicalKit_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
values[] = {"Anyone", "Medics only", "Doctors only"}; values[] = {"Anyone", "Medics only", "Doctors only"};
}; };
class GVAR(consumeItem_PAK) { class GVAR(consumeItem_PAK) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_DisplayName);
description = CSTRING(AdvancedMedicalSettings_consumeItem_PAK_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {"No", "Yes"}; values[] = {"No", "Yes"};
}; };
class GVAR(consumeItem_SurgicalKit) { class GVAR(consumeItem_SurgicalKit) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_consumeItem_SurgicalKit_DisplayName);
description = CSTRING(AdvancedMedicalSettings_consumeItem_SurgicalKit_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {"No", "Yes"}; values[] = {"No", "Yes"};
}; };
class GVAR(useLocation_basicEpi) { class GVAR(useLocation_basicEpi) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(BasicMedicalSettings_useLocation_basicEpi_DisplayName);
description = CSTRING(BasicMedicalSettings_useLocation_basicEpi_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)}; values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)};
}; };
class GVAR(useLocation_PAK) { class GVAR(useLocation_PAK) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_useLocation_PAK_DisplayName);
description = CSTRING(AdvancedMedicalSettings_useLocation_PAK_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 3; value = 3;
values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)}; values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)};
}; };
class GVAR(useLocation_SurgicalKit) { class GVAR(useLocation_SurgicalKit) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_DisplayName);
description = CSTRING(AdvancedMedicalSettings_useLocation_SurgicalKit_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 2; value = 2;
values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)}; values[] = {CSTRING(AdvancedMedicalSettings_anywhere), CSTRING(AdvancedMedicalSettings_vehicle), CSTRING(AdvancedMedicalSettings_facility), CSTRING(AdvancedMedicalSettings_vehicleAndFacility), ECSTRING(common,Disabled)};
@ -199,18 +251,22 @@ class ACE_Settings {
}; };
class GVAR(keepLocalSettingsSynced) { class GVAR(keepLocalSettingsSynced) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_keepLocalSettingsSynced_DisplayName);
description = CSTRING(MedicalSettings_keepLocalSettingsSynced_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
class GVAR(healHitPointAfterAdvBandage) { class GVAR(healHitPointAfterAdvBandage) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(healHitPointAfterAdvBandage); displayName = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_DisplayName);
description = CSTRING(AdvancedMedicalSettings_healHitPointAfterAdvBandage_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(painIsOnlySuppressed) { class GVAR(painIsOnlySuppressed) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(painIsOnlySuppressed); displayName = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_DisplayName);
description = CSTRING(AdvancedMedicalSettings_painIsOnlySuppressed_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
}; };
@ -232,7 +288,6 @@ class ACE_Settings {
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(menuTypeStyle) { class GVAR(menuTypeStyle) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(menuTypeDisplay); displayName = CSTRING(menuTypeDisplay);
@ -242,7 +297,6 @@ class ACE_Settings {
values[] = {CSTRING(useSelection), CSTRING(useRadial), "Disabled"}; values[] = {CSTRING(useSelection), CSTRING(useRadial), "Disabled"};
isClientSettable = 1; isClientSettable = 1;
}; };
class GVAR(delayUnconCaptive) { class GVAR(delayUnconCaptive) {
category = CSTRING(Category_Medical); category = CSTRING(Category_Medical);
displayName = CSTRING(MedicalSettings_delayUnconCaptive_DisplayName); displayName = CSTRING(MedicalSettings_delayUnconCaptive_DisplayName);

View File

@ -1,7 +1,10 @@
class ACE_Settings { class ACE_Settings {
class GVAR(MapDataAvailable) { class GVAR(MapDataAvailable) {
displayName = CSTRING(MapDataAvailable_DisplayName);
description = CSTRING(MapDataAvailable_Description);
value = 2; value = 2;
typeName = "SCALAR"; typeName = "SCALAR";
isClientSettable = 0; isClientSettable = 0;
values[] = {CSTRING(MapFill_None), CSTRING(MapFill_OnlyRoads), CSTRING(MapFill_Full)};
}; };
}; };

View File

@ -1,21 +1,29 @@
class ACE_Settings { class ACE_Settings {
//These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla //These settings effect gameplay difficutly: defaults will leave the mortar the same as vanilla
class GVAR(airResistanceEnabled) { class GVAR(airResistanceEnabled) {
displayName = CSTRING(airResistanceEnabled_DisplayName);
description = CSTRING(airResistanceEnabled_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 0; isClientSetable = 0;
}; };
class GVAR(allowComputerRangefinder) { class GVAR(allowComputerRangefinder) {
displayName = CSTRING(allowComputerRangefinder_DisplayName);
description = CSTRING(allowComputerRangefinder_Description);
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 0; isClientSetable = 0;
}; };
class GVAR(allowCompass) { class GVAR(allowCompass) {
displayName = CSTRING(allowCompass_DisplayName);
description = CSTRING(allowCompass_Description);
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 0; isClientSetable = 0;
}; };
class GVAR(useAmmoHandling) { class GVAR(useAmmoHandling) {
displayName = CSTRING(useAmmoHandling_DisplayName);
description = CSTRING(useAmmoHandling_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
isClientSetable = 0; isClientSetable = 0;

View File

@ -15,6 +15,8 @@
_static setMagazineTurretAmmo [_magazine, _ammoCount, [0]]; _static setMagazineTurretAmmo [_magazine, _ammoCount, [0]];
}] call EFUNC(common,addEventHandler); }] call EFUNC(common,addEventHandler);
["initMortar", {_this call FUNC(mortarInit);}] call EFUNC(common,addEventHandler);
if (!hasInterface) exitWith {}; if (!hasInterface) exitWith {};
["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call EFUNC(common,addEventHandler); ["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call EFUNC(common,addEventHandler);

View File

@ -16,31 +16,30 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
PARAMS_2(_player,_newVehicle); params ["_player", "_newVehicle"];
private["_tubeWeaponName" ,"_fireModes", "_lastFireMode"];
if (isNull _newVehicle) exitWith {}; if (isNull _newVehicle) exitWith {};
if (!(_newVehicle isKindOf "Mortar_01_base_F")) exitWith {}; if (!(_newVehicle isKindOf "Mortar_01_base_F")) exitWith {};
// Run magazine handling initialization if enabled // Run magazine handling initialization if enabled
if (!EGVAR(common,settingsInitFinished)) then { if (!(_newVehicle getVariable [QGVAR(initialized),false]) && !(_newVehicle getVariable [QGVAR(exclude),false])) then {
EGVAR(common,runAtSettingsInitialized) pushBack [{ // Make sure that mortar init is executed after settings init
if (GVAR(useAmmoHandling) && {!(_this getVariable [QGVAR(initialized),false]) && !(_this getVariable [QGVAR(exclude),false])}) then { [{
_this call FUNC(mortarInit); params ["_mortar"];
}; if (GVAR(useAmmoHandling) && {!(_mortar getVariable [QGVAR(initialized),false]) && !(_mortar getVariable [QGVAR(exclude),false])}) then {
}, _newVehicle]; //wait for proper turret locality change
} else { [{
if (GVAR(useAmmoHandling) && {!(_newVehicle getVariable [QGVAR(initialized),false]) && !(_newVehicle getVariable [QGVAR(exclude),false])}) then { ["initMortar", [_this], [_this]] call EFUNC(common,globalEvent);
_newVehicle call FUNC(mortarInit); }, _mortar, 0.05] call EFUNC(common,waitAndExecute);
}; };
}, _newVehicle] call EFUNC(common,runAfterSettingsInit);
}; };
_tubeWeaponName = (weapons _newVehicle) select 0; private _tubeWeaponName = (weapons _newVehicle) select 0;
_fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes"); private _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes");
//Restore last firemode: //Restore last firemode:
_lastFireMode = _newVehicle getVariable [QGVAR(lastFireMode), -1]; private _lastFireMode = _newVehicle getVariable [QGVAR(lastFireMode), -1];
if (_lastFireMode != -1) then { if (_lastFireMode != -1) then {
_player action ["SwitchWeapon", _newVehicle, _player, _lastFireMode]; _player action ["SwitchWeapon", _newVehicle, _player, _lastFireMode];
}; };

View File

@ -18,15 +18,16 @@
params ["_mortar"]; params ["_mortar"];
if (_mortar getVariable [QGVAR(initialized),false] || _mortar getVariable [QGVAR(exclude),false]) exitWith {TRACE_1("Exit",_mortar)}; if (_mortar getVariable [QGVAR(initialized),false] || _mortar getVariable [QGVAR(exclude),false]) exitWith {TRACE_1("Exit",_mortar)};
if (!(_mortar turretLocal [0])) exitWith {TRACE_1("Exit - turret not local",_mortar)};
// Remove all magazines // Remove all magazines from turret
if (count magazines _mortar > 0) then { if (count magazines _mortar > 0) then {
{ {
[QGVAR(removeMagazine), [_mortar, _x]] call EFUNC(common,globalEvent); _mortar removeMagazineTurret [_x,[0]];
} forEach magazines _mortar; } forEach magazines _mortar;
}; };
// Replace current weapon with ammo handling weapon // Replace current turret weapon with ammo handling weapon
private _currentWeapon = _mortar weaponsTurret [0] select 0; private _currentWeapon = _mortar weaponsTurret [0] select 0;
private _newWeapon = ""; private _newWeapon = "";
@ -37,8 +38,8 @@ if (_currentWeapon == "mortar_82mm") then {
}; };
if (_newWeapon != "") then { if (_newWeapon != "") then {
_mortar removeWeaponGlobal _currentWeapon; _mortar removeWeaponTurret [_currentWeapon,[0]];
_mortar addWeaponGlobal _newWeapon; _mortar addWeaponTurret [_newWeapon,[0]];
}; };
_mortar setVariable [QGVAR(initialized),true,true]; _mortar setVariable [QGVAR(initialized),true,true];

View File

@ -36,7 +36,7 @@ _fnc_parameters = {
_icon = format [QUOTE(PATHTOF(UI\soundwave%1.paa)), floor random 10]; _icon = format [QUOTE(PATHTOF(UI\soundwave%1.paa)), floor random 10];
_size = 1; _size = 1;
} else { } else {
if (_drawRank) then { if (_drawRank && {rank _target != ""}) then {
_icon = format["\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa", toLower rank _target]; _icon = format["\A3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa", toLower rank _target];
_size = 1; _size = 1;
}; };

View File

@ -1,5 +1,6 @@
class ACE_Settings { class ACE_Settings {
class GVAR(level) { class GVAR(level) {
category = ECSTRING(OptionsMenu,CategoryLogistics);
displayName = CSTRING(RearmSettings_level_DisplayName); displayName = CSTRING(RearmSettings_level_DisplayName);
description = CSTRING(RearmSettings_level_Description); description = CSTRING(RearmSettings_level_Description);
value = 0; value = 0;

View File

@ -1,5 +1,6 @@
class ACE_Settings { class ACE_Settings {
class GVAR(rate) { class GVAR(rate) {
category = ECSTRING(OptionsMenu,CategoryLogistics);
displayName = CSTRING(RefuelSettings_speed_DisplayName); displayName = CSTRING(RefuelSettings_speed_DisplayName);
description = CSTRING(RefuelSettings_speed_Description); description = CSTRING(RefuelSettings_speed_Description);
value = 1; value = 1;

View File

@ -1,10 +1,14 @@
class ACE_Settings { class ACE_Settings {
class GVAR(SavePreDeathGear) { class GVAR(SavePreDeathGear) {
displayName = CSTRING(SavePreDeathGear_DisplayName);
description = CSTRING(SavePreDeathGear_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(RemoveDeadBodiesDisconnected) { class GVAR(RemoveDeadBodiesDisconnected) {
displayName = CSTRING(RemoveDeadBodiesDisconnected_DisplayName);
description = CSTRING(RemoveDeadBodiesDisconnected_Description);
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
}; };

View File

@ -1,20 +1,28 @@
class ACE_Settings { class ACE_Settings {
class GVAR(filterUnits) { class GVAR(filterUnits) {
displayName = CSTRING(units_DisplayName);
description = CSTRING(units_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 2; value = 2;
values[] = {CSTRING(units_none), CSTRING(units_players), CSTRING(units_playable), CSTRING(units_all)}; values[] = {CSTRING(units_none), CSTRING(units_players), CSTRING(units_playable), CSTRING(units_all)};
}; };
class GVAR(filterSides) { class GVAR(filterSides) {
displayName = CSTRING(sides_DisplayName);
description = CSTRING(sides_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {CSTRING(sides_player), CSTRING(sides_friendly), CSTRING(sides_hostile), CSTRING(sides_all)}; values[] = {CSTRING(sides_player), CSTRING(sides_friendly), CSTRING(sides_hostile), CSTRING(sides_all)};
}; };
class GVAR(restrictModes) { class GVAR(restrictModes) {
displayName = CSTRING(modes_DisplayName);
description = CSTRING(modes_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {CSTRING(modes_all), CSTRING(modes_unit), CSTRING(modes_free), CSTRING(modes_internal), CSTRING(modes_external)}; values[] = {CSTRING(modes_all), CSTRING(modes_unit), CSTRING(modes_free), CSTRING(modes_internal), CSTRING(modes_external)};
}; };
class GVAR(restrictVisions) { class GVAR(restrictVisions) {
displayName = CSTRING(visions_DisplayName);
description = CSTRING(visions_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {CSTRING(modes_all), CSTRING(visions_nv), CSTRING(visions_ti), "$STR_Special_None"}; values[] = {CSTRING(modes_all), CSTRING(visions_nv), CSTRING(visions_ti), "$STR_Special_None"};

View File

@ -4,26 +4,38 @@ class ACE_Settings {
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(SwitchToWest) { class GVAR(SwitchToWest) {
displayName = CSTRING(SwitchToWest_DisplayName);
description = CSTRING(SwitchToWest_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(SwitchToEast) { class GVAR(SwitchToEast) {
displayName = CSTRING(SwitchToEast_DisplayName);
description = CSTRING(SwitchToEast_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(SwitchToIndependent) { class GVAR(SwitchToIndependent) {
displayName = CSTRING(SwitchToIndependent_DisplayName);
description = CSTRING(SwitchToIndependent_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(SwitchToCivilian) { class GVAR(SwitchToCivilian) {
displayName = CSTRING(SwitchToCivilian_DisplayName);
description = CSTRING(SwitchToCivilian_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(EnableSafeZone) { class GVAR(EnableSafeZone) {
displayName = CSTRING(EnableSafeZone_DisplayName);
description = CSTRING(EnableSafeZone_Description);
value = 1; value = 1;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(SafeZoneRadius) { class GVAR(SafeZoneRadius) {
displayName = CSTRING(SafeZoneRadius_DisplayName);
description = CSTRING(SafeZoneRadius_Description);
value = 100; value = 100;
typeName = "SCALAR"; typeName = "SCALAR";
}; };

View File

@ -16,7 +16,7 @@
#include "script_component.hpp" #include "script_component.hpp"
_fnc_isLeaning = { GVAR(tagsToTest) = GVAR(tagsToTest) select {
params ["_tag", "_tagPosASL", "_vectorDirAndUp"]; params ["_tag", "_tagPosASL", "_vectorDirAndUp"];
_vectorDirAndUp params ["_v1", "_v2"]; _vectorDirAndUp params ["_v1", "_v2"];
@ -34,7 +34,6 @@ _fnc_isLeaning = {
}; };
true true
}; };
GVAR(tagsToTest) = [GVAR(tagsToTest), _fnc_isLeaning] call EFUNC(common,filter);
// If there's no more tag // If there's no more tag
if (GVAR(tagsToTest) isEqualTo []) exitWith { if (GVAR(tagsToTest) isEqualTo []) exitWith {

View File

@ -1,13 +1,19 @@
class ACE_Settings { class ACE_Settings {
class GVAR(DefaultLockpickStrength) { class GVAR(DefaultLockpickStrength) {
displayName = CSTRING(DefaultLockpickStrength_DisplayName);
description = CSTRING(DefaultLockpickStrength_Description);
value = 10; value = 10;
typeName = "SCALAR"; typeName = "SCALAR";
}; };
class GVAR(LockVehicleInventory) { class GVAR(LockVehicleInventory) {
displayName = CSTRING(LockVehicleInventory_DisplayName);
description = CSTRING(LockVehicleInventory_Description);
value = 0; value = 0;
typeName = "BOOL"; typeName = "BOOL";
}; };
class GVAR(VehicleStartingLockState) { class GVAR(VehicleStartingLockState) {
displayName = CSTRING(VehicleStartingLockState_DisplayName);
description = CSTRING(VehicleStartingLockState_Description);
value = -1; value = -1;
typeName = "SCALAR"; typeName = "SCALAR";
}; };

View File

@ -1,11 +1,13 @@
class ACE_Settings { class ACE_Settings {
class GVAR(enabled) { class GVAR(enabled) {
category = CSTRING(Module_DisplayName);
typeName = "BOOL"; typeName = "BOOL";
value = 1; value = 1;
displayName = CSTRING(enabled_DisplayName); displayName = CSTRING(enabled_DisplayName);
description = CSTRING(enabled_Description); description = CSTRING(enabled_Description);
}; };
class GVAR(viewDistanceOnFoot) { class GVAR(viewDistanceOnFoot) {
category = CSTRING(Module_DisplayName);
typeName = "SCALAR"; typeName = "SCALAR";
isClientSettable = 1; isClientSettable = 1;
value = 0; // index, NOT value // Can set it to client's actual viewdistance in the init function once ACE_Settings supports numbers (if ever). value = 0; // index, NOT value // Can set it to client's actual viewdistance in the init function once ACE_Settings supports numbers (if ever).
@ -14,6 +16,7 @@ class ACE_Settings {
description = CSTRING(onFoot_Description); description = CSTRING(onFoot_Description);
}; };
class GVAR(viewDistanceLandVehicle) { class GVAR(viewDistanceLandVehicle) {
category = CSTRING(Module_DisplayName);
typeName = "SCALAR"; typeName = "SCALAR";
isClientSettable = 1; isClientSettable = 1;
value = 0; // index, NOT value value = 0; // index, NOT value
@ -22,6 +25,7 @@ class ACE_Settings {
description = CSTRING(landVehicle_Description); description = CSTRING(landVehicle_Description);
}; };
class GVAR(viewDistanceAirVehicle) { class GVAR(viewDistanceAirVehicle) {
category = CSTRING(Module_DisplayName);
typeName = "SCALAR"; typeName = "SCALAR";
isClientSettable = 1; isClientSettable = 1;
value = 0; // index, NOT value value = 0; // index, NOT value
@ -30,12 +34,14 @@ class ACE_Settings {
description = CSTRING(airVehicle_Description); description = CSTRING(airVehicle_Description);
}; };
class GVAR(limitViewDistance) { class GVAR(limitViewDistance) {
category = CSTRING(Module_DisplayName);
typeName = "SCALAR"; typeName = "SCALAR";
value = 10000; // Value, NOT index. 10000 is the maximum in A3 value = 10000; // Value, NOT index. 10000 is the maximum in A3
displayName = CSTRING(limit_DisplayName); displayName = CSTRING(limit_DisplayName);
description = CSTRING(limit_setting); description = CSTRING(limit_setting);
}; };
class GVAR(objectViewDistanceCoeff) { class GVAR(objectViewDistanceCoeff) {
category = CSTRING(Module_DisplayName);
typeName = "SCALAR"; typeName = "SCALAR";
isClientSettable = 1; isClientSettable = 1;
value = 0; // index. Actual coefficient is given by functions/fnc_returnObjectCoeff.sqf value = 0; // index. Actual coefficient is given by functions/fnc_returnObjectCoeff.sqf

View File

@ -1,21 +1,31 @@
class ACE_Settings { class ACE_Settings {
class GVAR(zeusAscension) { class GVAR(zeusAscension) {
displayName = CSTRING(ascension_DisplayName);
description = CSTRING(ascension_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(zeusBird) { class GVAR(zeusBird) {
displayName = CSTRING(bird_DisplayName);
description = CSTRING(bird_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(remoteWind) { class GVAR(remoteWind) {
displayName = CSTRING(remoteWind_DisplayName);
description = CSTRING(remoteWind_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(radioOrdnance) { class GVAR(radioOrdnance) {
displayName = CSTRING(radioOrdnance_DisplayName);
description = CSTRING(radioOrdnance_Description);
typeName = "BOOL"; typeName = "BOOL";
value = 0; value = 0;
}; };
class GVAR(revealMines) { class GVAR(revealMines) {
displayName = CSTRING(revealMines_DisplayName);
description = CSTRING(revealMines_Description);
typeName = "SCALAR"; typeName = "SCALAR";
value = 0; value = 0;
values[] = {"$STR_A3_OPTIONS_DISABLED", CSTRING(revealMines_partial), CSTRING(revealMines_full)}; values[] = {"$STR_A3_OPTIONS_DISABLED", CSTRING(revealMines_partial), CSTRING(revealMines_full)};

View File

@ -4,7 +4,7 @@
<p align="center"> <p align="center">
<a href="https://github.com/acemod/ACE3/releases"> <a href="https://github.com/acemod/ACE3/releases">
<img src="https://img.shields.io/badge/Version-3.5.0-blue.svg?style=flat-square" alt="ACE3 Version"> <img src="https://img.shields.io/badge/Version-3.5.1-blue.svg?style=flat-square" alt="ACE3 Version">
</a> </a>
<a href="https://github.com/acemod/ACE3/issues"> <a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Fehlermeldungen"> <img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Fehlermeldungen">

View File

@ -3,7 +3,7 @@
</p> </p>
<p align="center"> <p align="center">
<a href="https://github.com/acemod/ACE3/releases"> <a href="https://github.com/acemod/ACE3/releases">
<img src="https://img.shields.io/badge/Wersja-3.5.0-blue.svg?style=flat-square" alt="ACE3 Wersja"> <img src="https://img.shields.io/badge/Wersja-3.5.1-blue.svg?style=flat-square" alt="ACE3 Wersja">
</a> </a>
<a href="https://github.com/acemod/ACE3/issues"> <a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?label=Zagadnienia&style=flat-square" alt="ACE3 Zagadnienia"> <img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?label=Zagadnienia&style=flat-square" alt="ACE3 Zagadnienia">

View File

@ -1,8 +1,8 @@
name = "Advanced Combat Environment 3.5.0"; name = "Advanced Combat Environment 3.5.1";
picture = "logo_ace3_ca.paa"; picture = "logo_ace3_ca.paa";
actionName = "GitHub"; actionName = "GitHub";
action = "https://github.com/acemod/ACE3"; action = "https://github.com/acemod/ACE3";
description = "ACE3 - Version 3.5.0"; description = "ACE3 - Version 3.5.1";
logo = "logo_ace3_ca.paa"; logo = "logo_ace3_ca.paa";
logoOver = "logo_ace3_ca.paa"; logoOver = "logo_ace3_ca.paa";
tooltip = "ACE3"; tooltip = "ACE3";