mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
87c23b106f
* first build for 0.3.8 * 0.3.8.0190 * 0.3.8.0202 * 0.3.8.0213 * 0.3.7.0214 * 0.3.8.0222 * 0.3.8.0246 * 0.3.8.0247 fixed typo * 0.3.8.0249 more fixes for server compiler * 0.3.8.0256 * add build number and simple batch file for packing * match build number with internal * add build numbers to server pbo's and mission files also reworked build script for more options * 0.3.8.0261 * 0.3.8.0261 * 0.3.8.0283 * 0.3.8.0284 * changelog * 0.3.8.0307 * 0.3.8.0311 * remove old BEC plugin * update redis-server.exe to latest build and full config * 0.3.8.0314 * 0.3.8.0315 * inverse logic This should correctly prevent spawning these units nearby jammer or protection zones * use pushbackUnique here * optimized loot function by using selectRandom instead of slower sqf logic * 0.3.8.0316 * make use of new getDir functionality instead of BIS fnc * add lower disconnect value to server.cfg * use new getpos functionality * 0.3.8.0317 * 0.3.8.0319 * 0.3.8.0327 * 0.3.8.0338 changelog update tba * changelog * 0.3.8.0341 * BE update * 0.3.8.0353 * changelog * removed duplicates * 0.3.8.0355 fixed error in getIDC * 0.3.8.0356 revert to BIS_fnc_param as params threw errors * 0.3.8.0357 fixes for #496 #497 * 0.3.8.0359 fixed #497 fixed #496 * 0.3.8.0365 * 0.3.8.0371 * 0.3.8.0373 * 0.3.8.0379 * 0.3.8.0381 * 0.3.8.0386 * 0.3.8.0393 * 0.3.8.0395 * 0.3.8.0396 * 0.3.8.0397 * 0.3.8.0406 * 0.3.8.0409 * 0.3.8.0410 loot balance suppress error in spawnloot make near object check based on building size * 0.3.8.0412 * 0.3.8.0414 removed classes with scope 0 test remove loot trash on gear for #498 fixed #501 * 0.3.8.0415 * same
141 lines
4.4 KiB
Plaintext
141 lines
4.4 KiB
Plaintext
_currentTarget = objNull;
|
|
_cursorTarget = ([10] call EPOCH_fnc_cursorTarget);
|
|
if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
|
|
if (_cursorTarget isKindOf "ThingX" || _cursorTarget isKindOf "Constructions_static_F" || _cursorTarget isKindOf "Constructions_foundation_F" || _cursorTarget isKindOf "WeaponHolder" || _cursorTarget isKindOf "AllVehicles" || _cursorTarget isKindOf "PlotPole_EPOCH") then{
|
|
if (_cursorTarget isKindOf "Animal_Base_F") then {
|
|
if !(alive _cursorTarget) then {
|
|
_currentTarget = _cursorTarget;
|
|
};
|
|
} else {
|
|
_currentTarget = _cursorTarget;
|
|
};
|
|
};
|
|
};
|
|
EPOCH_currentTarget = _currentTarget;
|
|
|
|
_increaseStamina = false;
|
|
_vehicle = vehicle player;
|
|
if (_vehicle == player) then {
|
|
_val = log(abs(speed player));
|
|
_staminaThreshold = 0.7;
|
|
if (EPOCH_playerIsSwimming) then {_staminaThreshold = 0.3};
|
|
if (_val>_staminaThreshold) then {
|
|
EPOCH_playerStamina = (EPOCH_playerStamina - (_val/4)) max 0;
|
|
} else {
|
|
_increaseStamina = true;
|
|
};
|
|
} else {
|
|
if (EPOCH_buildMode > 0) then {
|
|
EPOCH_buildMode = 0;
|
|
EPOCH_snapDirection = 0;
|
|
hintsilent "BUILD MODE: DISABLED";
|
|
EPOCH_Target = objNull;
|
|
// EPOCH_SURVEY = [];
|
|
};
|
|
_increaseStamina = true;
|
|
// TODO: move to vehicle configs
|
|
switch (typeOf _vehicle) do {
|
|
case "jetski_epoch": {
|
|
_clock_hour10 = floor ((date select 3)/10);
|
|
_clock_minute10 = floor ((date select 4)/10);
|
|
{
|
|
_vehicle setObjectTexture [_forEachIndex,_x];
|
|
}forEach[
|
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_hour10],
|
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 3)-(_clock_hour10*10)],
|
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",_clock_minute10],
|
|
format["\x\addons\a3_epoch_vehicles\data\num%1_ca.paa",(date select 4)-(_clock_minute10*10)],
|
|
format["\x\addons\a3_epoch_vehicles\data\fuel%1_ca.paa",floor(fuel _vehicle*10)]
|
|
];
|
|
};
|
|
case "ebike_epoch": {
|
|
{
|
|
_vehicle setObjectTexture [_forEachIndex,_x];
|
|
}forEach[
|
|
format["\x\addons\a3_epoch_vehicles\data\speed%1_ca.paa",floor(speed _vehicle/9) max 0],
|
|
format["\x\addons\a3_epoch_vehicles\data\energ%1_ca.paa",floor(fuel _vehicle*14)]
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
_envCold = EPOCH_playerTemp <= 95.0;
|
|
_envHot = EPOCH_playerTemp >= 106.7;
|
|
_hungry = EPOCH_playerHunger <= 0;
|
|
_thirsty = EPOCH_playerThirst <= 0;
|
|
_warnbloodPressure = EPOCH_playerBloodP > 120;
|
|
|
|
_thirst ctrlShow (EPOCH_playerThirst <= 625);
|
|
if (ctrlShown _thirst) then {
|
|
[_thirst,_thirsty] call _fadeUI;
|
|
_color = [2500,0,EPOCH_playerThirst,1] call EPOCH_colorRange;
|
|
_thirst ctrlSetTextColor _color;
|
|
};
|
|
|
|
_hunger ctrlShow (EPOCH_playerHunger <= 1250);
|
|
if (ctrlShown _hunger) then {
|
|
[_hunger,_hungry] call _fadeUI;
|
|
_color = [5000,0,EPOCH_playerHunger,1] call EPOCH_colorRange;
|
|
_hunger ctrlSetTextColor _color;
|
|
};
|
|
|
|
_playerOxygen = getOxygenRemaining player;
|
|
_oxygen ctrlShow (_playerOxygen < 1);
|
|
if (ctrlShown _oxygen) then {
|
|
[_oxygen,(_playerOxygen <= 0.55)] call _fadeUI;
|
|
_color = [0,1,_playerOxygen,1] call EPOCH_colorRange;
|
|
_oxygen ctrlSetTextColor _color;
|
|
};
|
|
|
|
_hazzard ctrlShow (EPOCH_playerToxicity > 35);
|
|
if (ctrlShown _hazzard) then {
|
|
[_hazzard,(EPOCH_playerToxicity >= 55)] call _fadeUI;
|
|
_color = [0,100,EPOCH_playerToxicity,1] call EPOCH_colorRange;
|
|
_hazzard ctrlSetTextColor _color;
|
|
};
|
|
|
|
_legDamage = player getHitPointDamage "HitLegs";
|
|
_broken ctrlShow (_legDamage >= 0.5);
|
|
if (ctrlShown _broken) then {
|
|
[_broken,true] call _fadeUI;
|
|
_color = [1,0,_legDamage,1] call EPOCH_colorRange;
|
|
_broken ctrlSetTextColor _color;
|
|
};
|
|
|
|
if (_envCold || _envHot || _hungry || _thirsty) then {
|
|
if (_envHot || _envCold) then {
|
|
player setFatigue 1;
|
|
};
|
|
EPOCH_playerBloodP = (EPOCH_playerBloodP + 0.05) min 190;
|
|
_increaseStamina = false;
|
|
} else {
|
|
if (EPOCH_playerStamina > 0) then {
|
|
if !(_panic) then {
|
|
if (!_warnbloodPressure) then {
|
|
player setFatigue 0;
|
|
};
|
|
EPOCH_playerBloodP = EPOCH_playerBloodP - 1 max 100;
|
|
};
|
|
};
|
|
};
|
|
|
|
_critical = (damage player >= 0.7 || _warnbloodPressure);
|
|
_emergency ctrlShow _critical;
|
|
if (ctrlShown _emergency) then {
|
|
[_emergency,(EPOCH_playerBloodP > 140)] call _fadeUI;
|
|
_color = [180,100,EPOCH_playerBloodP,1] call EPOCH_colorRange;
|
|
_emergency ctrlSetTextColor _color;
|
|
};
|
|
|
|
if (EPOCH_playerBloodP >= 180) then {
|
|
true call EPOCH_pushCustomVar;
|
|
};
|
|
if (_increaseStamina && (getFatigue player) == 0) then {
|
|
EPOCH_playerStamina = (EPOCH_playerStamina + 0.5) min EPOCH_playerStaminaMax;
|
|
};
|
|
if (EPOCH_debugMode) then {
|
|
call EPOCH_debugMonitor;
|
|
};
|
|
|
|
call EPOCH_TradeLoop;
|