Reorganize AI unconsciousness

This commit is contained in:
KoffeinFlummi 2015-04-30 22:16:45 +02:00
parent f28a806938
commit 965a976daf
4 changed files with 11 additions and 8 deletions

View File

@ -54,7 +54,7 @@ class ACE_Settings {
typeName = "SCALAR"; typeName = "SCALAR";
value = 1; value = 1;
}; };
class GVAR(enableUnsconsiousnessAI) { class GVAR(enableUnconsiousnessAI) {
value = 1; value = 1;
typeName = "SCALAR"; typeName = "SCALAR";
values[] = {"Disabled", "Enabled", "50/50"}; values[] = {"Disabled", "Enabled", "50/50"};

View File

@ -87,7 +87,7 @@ class CfgVehicles {
typeName = "NUMBER"; typeName = "NUMBER";
defaultValue = 1; defaultValue = 1;
}; };
class enableUnsconsiousnessAI { class enableUnconsiousnessAI {
displayName = "AI Unconsciousness"; displayName = "AI Unconsciousness";
description = "Allow AI to go unconscious"; description = "Allow AI to go unconscious";
typeName = "NUMBER"; typeName = "NUMBER";
@ -97,12 +97,12 @@ class CfgVehicles {
value = 0; value = 0;
}; };
class normal { class normal {
name = "Enabled"; name = "50/50";
value = 1; value = 1;
default = 1; default = 1;
}; };
class full { class full {
name = "50/50"; name = "Enabled";
value = 2; value = 2;
}; };
}; };

View File

@ -29,7 +29,7 @@ if !(_activated) exitWith {};
[_logic, QGVAR(enableScreams), "enableScreams"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(enableScreams), "enableScreams"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(playerDamageThreshold), "playerDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(playerDamageThreshold), "playerDamageThreshold"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(AIDamageThreshold), "AIDamageThreshold"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(enableUnsconsiousnessAI), "enableUnsconsiousnessAI"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(enableUnconsiousnessAI), "enableUnconsiousnessAI"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(preventInstaDeath), "preventInstaDeath"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(bleedingCoefficient), "bleedingCoefficient"] call EFUNC(common,readSettingFromModule);
[_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule); [_logic, QGVAR(painCoefficient), "painCoefficient"] call EFUNC(common,readSettingFromModule);

View File

@ -46,8 +46,11 @@ if (_unit == ACE_player) then {
}; };
// if we have unconsciousness for AI disabled, we will kill the unit instead // if we have unconsciousness for AI disabled, we will kill the unit instead
if (!([_unit] call EFUNC(common,IsPlayer)) && (GVAR(enableUnsconsiousnessAI) == 0 || (GVAR(enableUnsconsiousnessAI) == 2 && random(1) <= 0.5))) exitwith { if !([_unit] call EFUNC(common,isPlayer)) then {
[_unit, true] call FUNC(setDead); // force, to avoid getting into a loop in case revive is enabled. _enableUncon = _unit getVariable [QGVAR(enableUnconsciousnessAI), GVAR(enableUnconsciousnessAI)];
if (_enableUncon == 0 or {_enableUncon == 1 and (random 1) < 0.5}) exitWith {
[_unit, true] call FUNC(setDead);
};
}; };
// If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious, // If a unit has the launcher out, it will sometimes start selecting the primairy weapon while unconscious,