Reorder/Rewrite of some advanced ballistics module options:

* alwaysSimulateForSnipers -> simulateForSnipers
* alwaysSimulateForGroupMembers -> simulateForGroupMembers
* onlyActiveForLocalPlayers -> simulateForEveryone
This commit is contained in:
ulteq 2015-05-19 20:46:13 +02:00
parent ac04ee1a43
commit 57c37ecb9a
5 changed files with 45 additions and 49 deletions

View File

@ -5,30 +5,30 @@ class ACE_Settings {
typeName = "BOOL";
value = 0;
};
class GVAR(alwaysSimulateForSnipers) {
displayName = "Always Enabled For Snipers";
description = "Always enables advanced ballistics when high power optics are used";
class GVAR(simulateForSnipers) {
displayName = "Enabled For Snipers";
description = "Enables advanced ballistics for non local snipers (when using high power optics)";
typeName = "BOOL";
value = 1;
};
class GVAR(alwaysSimulateForGroupMembers) {
displayName = "Always Enabled For Group Members";
description = "Always enables advanced ballistics when a group member fires";
class GVAR(simulateForGroupMembers) {
displayName = "Enabled For Group Members";
description = "Enables advanced ballistics for non local group members";
typeName = "BOOL";
value = 0;
};
class GVAR(simulateForEveryone) {
displayName = "Enabled For Everyone";
description = "Enables advanced ballistics for all non local players (keep this disabled if you encounter frame drops during heavy firefights in multiplayer)";
typeName = "BOOL";
value = 0;
};
class GVAR(disabledInFullAutoMode) {
displayName = "Disabled In FullAuto Mode";
description = "Disables the advanced ballistics during full auto fire";
description = "Disables advanced ballistics during full auto fire";
typeName = "BOOL";
value = 0;
};
class GVAR(onlyActiveForLocalPlayers) {
displayName = "Disabled For Non Local Players";
description = "Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer)";
typeName = "BOOL";
value = 1;
};
/* // TODO: We currently do not have firedEHs on vehicles
class GVAR(vehicleGunnerEnabled) {
displayName = "Enabled For Vehicle Gunners";

View File

@ -17,15 +17,21 @@ class CfgVehicles {
typeName = "BOOL";
defaultValue = 0;
};
class alwaysSimulateForSnipers {
displayName = "$STR_ACE_AdvancedBallistics_alwaysSimulateForSnipers_DisplayName";
description = "$STR_ACE_AdvancedBallistics_alwaysSimulateForSnipers_Description";
class simulateForSnipers {
displayName = "$STR_ACE_AdvancedBallistics_simulateForSnipers_DisplayName";
description = "$STR_ACE_AdvancedBallistics_simulateForSnipers_Description";
typeName = "BOOL";
defaultValue = 1;
};
class alwaysSimulateForGroupMembers {
displayName = "$STR_ACE_AdvancedBallistics_alwaysSimulateForGroupMembers_DisplayName";
description = "$STR_ACE_AdvancedBallistics_alwaysSimulateForGroupMembers_Description";
class simulateForGroupMembers {
displayName = "$STR_ACE_AdvancedBallistics_simulateForGroupMembers_DisplayName";
description = "$STR_ACE_AdvancedBallistics_simulateForGroupMembers_Description";
typeName = "BOOL";
defaultValue = 0;
};
class simulateForEveryone {
displayName = "$STR_ACE_AdvancedBallistics_simulateForEveryone_DisplayName";
description = "$STR_ACE_AdvancedBallistics_simulateForEveryone_Description";
typeName = "BOOL";
defaultValue = 0;
};
@ -35,12 +41,6 @@ class CfgVehicles {
typeName = "BOOL";
defaultValue = 0;
};
class onlyActiveForLocalPlayers {
displayName = "$STR_ACE_AdvancedBallistics_onlyActiveForLocalPlayers_DisplayName";
description = "$STR_ACE_AdvancedBallistics_onlyActiveForLocalPlayers_Description";
typeName = "BOOL";
defaultValue = 1;
};
/* // TODO: We currently do not have firedEHs on vehicles
class vehicleGunnerEnabled {
displayName = "Enabled For Vehicle Gunners";

View File

@ -35,17 +35,17 @@ if (!([_unit] call EFUNC(common,isPlayer))) exitWith {};
if (underwater _unit) exitWith {};
if (!(_ammo isKindOf "BulletBase")) exitWith {};
if (_unit distance ACE_player > GVAR(simulationRadius)) exitWith {};
if (GVAR(onlyActiveForLocalPlayers) && !(local _unit)) then {
if (GVAR(simulateForEveryone) && !(local _unit)) then {
// The shooter is non local
_abort = true;
if (GVAR(alwaysSimulateForSnipers)) then {
if (GVAR(simulateForSnipers)) then {
if (currentWeapon _unit == primaryWeapon _unit && count primaryWeaponItems _unit > 2) then {
_opticsName = (primaryWeaponItems _unit) select 2;
_opticType = getNumber(configFile >> "CfgWeapons" >> _opticsName >> "ItemInfo" >> "opticType");
_abort = _opticType != 2; // We only abort if the non local shooter is not a sniper
};
};
if (GVAR(alwaysSimulateForGroupMembers) && _abort) then {
if (GVAR(simulateForGroupMembers) && _abort) then {
_abort = (group ACE_player) != (group _unit);
};
};

View File

@ -26,10 +26,10 @@ if !(_activated) exitWith {};
[_logic, QGVAR(ammoTemperatureEnabled), "ammoTemperatureEnabled"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(barrelLengthInfluenceEnabled), "barrelLengthInfluenceEnabled"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(bulletTraceEnabled), "bulletTraceEnabled"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(onlyActiveForLocalPlayers), "onlyActiveForLocalPlayers"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(simulateForEveryone), "simulateForEveryone"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(disabledInFullAutoMode), "disabledInFullAutoMode"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(alwaysSimulateForSnipers), "alwaysSimulateForSnipers"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(alwaysSimulateForGroupMembers), "alwaysSimulateForGroupMembers"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(simulateForSnipers), "simulateForSnipers"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(simulateForGroupMembers), "simulateForGroupMembers"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(simulationInterval), "simulationInterval"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(simulationRadius), "simulationRadius"] call EFUNC(common,readSettingFromModule);

View File

@ -37,19 +37,23 @@
<English>Enables advanced ballistics</English>
<Polish>Aktywuje zaawansowaną balistykę</Polish>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_alwaysSimulateForSnipers_DisplayName">
<English>Always Enabled For Snipers</English>
<Polish>Zawsze akt. dla snajp.</Polish>
<Key ID="STR_ACE_AdvancedBallistics_simulateForSnipers_DisplayName">
<English>Enabled For Snipers</English>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_alwaysSimulateForSnipers_Description">
<English>Always enables advanced ballistics when high power optics are used</English>
<Polish>Aktywuje zaawansowaną balistykę zawsze, kiedy używana jest optyka</Polish>
<Key ID="STR_ACE_AdvancedBallistics_simulateForSnipers_Description">
<English>Enables advanced ballistics for non local snipers (when using high power optics)</English>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_alwaysSimulateForGroupMembers_DisplayName">
<English>Always Enabled For Group Members</English>
<Key ID="STR_ACE_AdvancedBallistics_simulateForGroupMembers_DisplayName">
<English>Enabled For Group Members</English>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_alwaysSimulateForGroupMembers_Description">
<English>Always enables advanced ballistics when a group member fires</English>
<Key ID="STR_ACE_AdvancedBallistics_simulateForGroupMembers_Description">
<English>Enables advanced ballistics for non local group members</English>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_simulateForEveryone_DisplayName">
<English>Enabled For Everyone</English>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_simulateForEveryone_Description">
<English>Enables advanced ballistics for all non local players (keep this disabled if you encounter frame drops during heavy firefights in multiplayer)</English>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_disabledInFullAutoMod_DisplayName">
<English>Disabled In FullAuto Mode</English>
@ -59,14 +63,6 @@
<English>Disables the advanced ballistics during full auto fire</English>
<Polish>Dezaktywuje zaawansowaną balistykę podczas ognia automatycznego</Polish>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_onlyActiveForLocalPlayers_DisplayName">
<English>Disabled For Non Local Players</English>
<Polish>Wyłącz dla nielok. graczy</Polish>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_onlyActiveForLocalPlayers_Description">
<English>Disables the advanced ballistics for bullets coming from other players (enable this if you encounter frame drops during heavy firefights in multiplayer)</English>
<Polish>Dezaktywuje zaawansowaną balistykę dla pocisków pochodzących od innych graczy(aktywuj tą opcję jeżeli odczuwasz spadki FPS podczas sporych strzelanin w MP)</Polish>
</Key>
<Key ID="STR_ACE_AdvancedBallistics_ammoTemperatureEnabled_DisplayName">
<English>Enable Ammo Temperature Simulation</English>
<Polish>Symulacja temp. amunicji</Polish>