Permalink
Browse files

v1.4 - must update to DB 2.06 with SQL and INI, BE filters, antihack …

…payload

[Added] Laws of War DLC
[Added] Killfeed HUD
[Changed] Improved revive system
[Changed] Improved kill attribution
[Changed] Improved antihack
[Fixed] Prone reload freeze
[Fixed] Many minor changes and fixes
  • Loading branch information...
AgentRev committed Sep 11, 2017
1 parent c3b7e25 commit f8b67e77e4d000c79ef7a020df67ed9e97cb0c98
Showing with 2,146 additions and 785 deletions.
  1. +8 −8 addons/CHVD/fn_init.sqf
  2. +1 −1 addons/CHVD/fn_onEBterrainInput.sqf
  3. +6 −6 addons/CHVD/fn_onLBSelChanged.sqf
  4. +9 −9 addons/CHVD/fn_openDialog.sqf
  5. +3 −3 addons/CHVD/fn_selTerrainQuality.sqf
  6. +4 −0 addons/R3F_ARTY_AND_LOG/R3F_LOG/config.sqf
  7. +16 −8 addons/UAV_Control/functions.sqf
  8. +8 −12 addons/far_revive/FAR_HandleDamage_EH.sqf
  9. +67 −62 addons/far_revive/FAR_Player_Unconscious.sqf
  10. +11 −4 addons/far_revive/FAR_defines.sqf
  11. +6 −110 addons/far_revive/FAR_findKiller.sqf
  12. +2 −2 addons/far_revive/FAR_handleAction.sqf
  13. +4 −2 addons/far_revive/FAR_headshotHitPartEH.sqf
  14. +1 −1 addons/far_revive/FAR_lastResort.sqf
  15. +120 −76 addons/far_revive/FAR_revive_funcs.sqf
  16. +25 −9 addons/far_revive/FAR_revive_init.sqf
  17. +158 −27 addons/far_revive/FAR_setKillerInfo.sqf
  18. +1 −1 addons/far_revive/gui_defines.hpp
  19. +14 −0 addons/far_revive/reviveBlank_gui.hpp
  20. +44 −23 addons/far_revive/revive_gui.hpp
  21. +2 −0 client/CfgRemoteExec_fnc.hpp
  22. +36 −6 client/clientEvents/onKeyPress.sqf
  23. +33 −26 client/clientEvents/onKilled.sqf
  24. +2 −2 client/clientEvents/onPause.sqf
  25. +2 −0 client/functions/clientCompile.sqf
  26. +1 −1 client/functions/confirmSuicide.sqf
  27. +1 −1 client/functions/createLegendMarkers.sqf
  28. +17 −6 client/functions/drawPlayerIcons.sqf
  29. +1 −1 client/functions/drawPlayerMarkers.sqf
  30. +8 −3 client/functions/firstSpawn.sqf
  31. +80 −0 client/functions/fn_compatibleWeapons.sqf
  32. +3 −21 client/functions/fn_encodeText.sqf
  33. +64 −0 client/functions/fn_findTurretShooter.sqf
  34. +1 −1 client/functions/fn_resupplyTruck.sqf
  35. +20 −12 client/functions/getItemInfo.sqf
  36. +0 −139 client/functions/groupMarkers.sqf
  37. +1 −1 client/functions/playerSetupEnd.sqf
  38. +2 −2 client/functions/playerSpawn.sqf
  39. +24 −10 client/functions/quit.sqf
  40. +1 −1 client/functions/uniformConverter.sqf
  41. +10 −16 client/functions/unitHandleDamage.sqf
  42. +1 −1 client/functions/weaponDisassembledEvent.sqf
  43. BIN client/icons/whitebar.paa
  44. +1 −0 client/init.sqf
  45. +1 −1 client/systems/adminPanel/toggleGodMode.sqf
  46. +22 −0 client/systems/common.hpp
  47. +1 −1 client/systems/generalStore/populateGenStore.sqf
  48. +1 −1 client/systems/hud/playerHud.sqf
  49. +148 −0 client/systems/killFeed/fn_killBroadcast.sqf
  50. +85 −0 client/systems/killFeed/fn_killFeedEntry.sqf
  51. +15 −0 client/systems/killFeed/fn_killFeedMenuCheckbox.sqf
  52. +20 −0 client/systems/killFeed/fn_killFeedMenuEditbox.sqf
  53. +45 −0 client/systems/killFeed/fn_killFeedMenuRefresh.sqf
  54. +19 −0 client/systems/killFeed/fn_killFeedMenuSlider.sqf
  55. +52 −0 client/systems/killFeed/fn_killFeedRefresh.sqf
  56. +14 −0 client/systems/killFeed/killFeed.sqf
  57. +76 −0 client/systems/killFeed/killFeedMenu.sqf
  58. +30 −0 client/systems/killFeed/killFeedMenuReset.sqf
  59. +454 −0 client/systems/killFeed/killFeedMenu_gui.hpp
  60. +44 −0 client/systems/killFeed/killFeed_defines.hpp
  61. +44 −0 client/systems/killFeed/killFeed_gui.hpp
  62. +8 −0 client/systems/playerMenu/dialog/player_settings.hpp
  63. +19 −4 client/systems/playerMenu/dialog/respawn_dialog.hpp
  64. +1 −1 client/systems/ui_toolkit.hpp
  65. +1 −0 client/systems/vehicleStore/applyVehicleTexture.sqf
  66. +5 −1 config.sqf
  67. +4 −2 description.ext
  68. +5 −0 globalCompile.sqf
  69. +3 −7 init.sqf
  70. +16 −4 modConfig/vehicleLoadouts.sqf
  71. +1 −1 persistence/client/players/applyPlayerData.sqf
  72. +1 −1 persistence/server/players/setupPlayerDB.sqf
  73. +1 −1 persistence/server/world/fn_restoreSavedVehicle.sqf
  74. +1 −1 persistence/server/world/oLoad.sqf
  75. +2 −2 server/WastelandServClean.sqf
  76. +7 −3 server/antihack/clientFlagHandler.sqf
  77. +8 −2 server/functions/fn_boundingBoxReal.sqf
  78. +22 −62 server/functions/fn_deathMessage.sqf
  79. +16 −18 server/functions/fn_findString.sqf
  80. +26 −19 server/functions/fn_registerKillScore.sqf
  81. +25 −0 server/functions/fn_setVarServer.sqf
  82. +1 −2 server/functions/fn_setupResupplyTruck.sqf
  83. +3 −8 server/functions/vehicleHandleDamage.sqf
  84. +8 −21 server/functions/vehicleHitTracking.sqf
  85. +5 −0 server/functions/vehicleSetup.sqf
  86. +4 −1 server/init.sqf
  87. +63 −7 storeConfig.sqf
View
@@ -9,8 +9,8 @@
CHVD_allowTerrain = false; // disabled because too many issues
//Define variables, load from profileNamespace
if (isNil "CHVD_allowNoGrass") then { CHVD_allowNoGrass = true };
if (isNil "CHVD_allowTerrain") then { CHVD_allowTerrain = true };
CHVD_allowNoGrass = false; // deprecated // if (isNil "CHVD_allowNoGrass") then { CHVD_allowNoGrass = false };
if (isNil "CHVD_allowTerrain") then { CHVD_allowTerrain = false };
if (isNil "CHVD_maxView") then { CHVD_maxView = 12000 };
if (isNil "CHVD_maxObj") then { CHVD_maxObj = 12000};
@@ -22,9 +22,9 @@
CHVD_car = (profileNamespace getVariable ["CHVD_car", viewDistance]) min CHVD_maxView max 200;
CHVD_air = (profileNamespace getVariable ["CHVD_air", viewDistance]) min CHVD_maxView max 200;
CHVD_footObj = (profileNamespace getVariable ["CHVD_footObj", viewDistance]) min CHVD_maxObj max 0;
CHVD_carObj = (profileNamespace getVariable ["CHVD_carObj", viewDistance]) min CHVD_maxObj max 0;
CHVD_airObj = (profileNamespace getVariable ["CHVD_airObj", viewDistance]) min CHVD_maxObj max 0;
CHVD_footObj = (profileNamespace getVariable ["CHVD_footObj", getObjectViewDistance param [0,viewDistance,[0]]]) min CHVD_maxObj max 0;
CHVD_carObj = (profileNamespace getVariable ["CHVD_carObj", getObjectViewDistance param [0,viewDistance,[0]]]) min CHVD_maxObj max 0;
CHVD_airObj = (profileNamespace getVariable ["CHVD_airObj", getObjectViewDistance param [0,viewDistance,[0]]]) min CHVD_maxObj max 0;
/*if (CHVD_allowTerrain) then
{
@@ -34,9 +34,9 @@
if (!CHVD_allowNoGrass) then
{
CHVD_footTerrain = CHVD_footTerrain min 48.99 max 3.125;
CHVD_carTerrain = CHVD_carTerrain min 48.99 max 3.125;
CHVD_airTerrain = CHVD_airTerrain min 48.99 max 3.125;
CHVD_footTerrain = CHVD_footTerrain min 10 max 3.125;
CHVD_carTerrain = CHVD_carTerrain min 10 max 3.125;
CHVD_airTerrain = CHVD_airTerrain min 10 max 3.125;
};
}
else
@@ -8,7 +8,7 @@ _textValue = if (_textValue == "") then {50} else {call compile _textValue min 5
if (!CHVD_allowNoGrass) then {
_textValue = _textValue min 48.99;
_textValue = _textValue min 10;
};
//update listbox
@@ -3,19 +3,19 @@ _index = _this select 0;
_varType = _this select 1;
_text = _this select 2;
if (!CHVD_allowNoGrass) then {
/*if (!CHVD_allowNoGrass) then {
_index = _index + 1;
};
};*/
switch (_index) do {
case 0: {_terrainGrid = 50};
case 1: {_terrainGrid = 25};
case 2: {_terrainGrid = 12.5};
case 0: {_terrainGrid = 10};
case 1: {_terrainGrid = 7.708};
case 2: {_terrainGrid = 5.417};
case 3: {_terrainGrid = 3.125};
};
if (!CHVD_allowNoGrass) then {
_terrainGrid = _terrainGrid min 48.99;
_terrainGrid = _terrainGrid min 10;
};
ctrlSetText [_text, str _terrainGrid];
call compile format ["%1 = %2",_varType, _terrainGrid];
@@ -31,23 +31,23 @@ disableSerialization;
if (!CHVD_allowTerrain) then {
_ctrl ctrlEnable false;
};
if (CHVD_allowNoGrass) then {
_textLow = if (isLocalized "STR_chvd_low") then {localize "STR_chvd_low"} else {"Low"};
//if (CHVD_allowNoGrass) then {
_textLow = if (isLocalized "STR_chvd_low") then {localize "STR_chvd_low"} else {"Standard"};
_ctrl lbAdd _textLow;
};
_textStandard = if (isLocalized "STR_chvd_standard") then {localize "STR_chvd_standard"} else {"Standard"};
//};
_textStandard = if (isLocalized "STR_chvd_standard") then {localize "STR_chvd_standard"} else {"High"};
_ctrl lbAdd _textStandard;
_textHigh = if (isLocalized "STR_chvd_high") then {localize "STR_chvd_high"} else {"High"};
_textHigh = if (isLocalized "STR_chvd_high") then {localize "STR_chvd_high"} else {"Very High"};
_ctrl lbAdd _textHigh;
_textVeryHigh = if (isLocalized "STR_chvd_veryHigh") then {localize "STR_chvd_veryHigh"} else {"Very High"};
_textVeryHigh = if (isLocalized "STR_chvd_veryHigh") then {localize "STR_chvd_veryHigh"} else {"Ultra"};
_ctrl lbAdd _textVeryHigh;
_sel = [_x select 1] call CHVD_fnc_selTerrainQuality;
if (CHVD_allowNoGrass) then {
//if (CHVD_allowNoGrass) then {
_ctrl lbSetCurSel _sel;
} else {
/*} else {
_ctrl lbSetCurSel (_sel - 1);
};
};*/
} forEach [[1500,CHVD_footTerrain],[1501,CHVD_carTerrain],[1502,CHVD_airTerrain]];
{
@@ -1,13 +1,13 @@
private ["_output"];
_terrainGrid = _this select 0;
switch (true) do {
case (_terrainGrid >= 49): {
case (_terrainGrid >= 10): {
_output = 0;
};
case (_terrainGrid >= 25): {
case (_terrainGrid >= 7.708): {
_output = 1;
};
case (_terrainGrid >= 12.5): {
case (_terrainGrid >= 5.417): {
_output = 2;
};
case (_terrainGrid >= 3.125): {
@@ -9,6 +9,7 @@ R3F_LOG_CFG_remorqueurs =
"Offroad_01_base_F",
"Offroad_02_base_F",
"Van_01_base_F",
"Van_02_base_F",
"LSV_01_base_F",
"LSV_02_base_F",
"MRAP_01_base_F",
@@ -150,6 +151,7 @@ R3F_LOG_CFG_transporteurs =
["Offroad_01_base_F", 30],
["Offroad_02_base_F", 20],
["Van_01_base_F", 40],
["Van_02_base_F", 50],
["LSV_01_base_F", 15],
["LSV_02_base_F", 15],
["MRAP_01_base_F", 20],
@@ -191,6 +193,7 @@ R3F_LOG_CFG_objets_transportables =
["Quadbike_01_base_F", 10],
["Rubber_duck_base_F", 10],
["UAV_01_base_F", 2],
["UAV_06_base_F", 2],
["Land_PierLadder_F", 3],
["Land_BagBunker_Large_F", 10],
["Land_BagBunker_Small_F", 5],
@@ -249,6 +252,7 @@ R3F_LOG_CFG_objets_deplacables =
"Rubber_duck_base_F",
"SDV_01_base_F",
"UAV_01_base_F",
"UAV_06_base_F",
"Land_PierLadder_F",
"Land_BagBunker_Large_F",
"Land_BagBunker_Small_F",
@@ -1,24 +1,31 @@
// @file Name: functions.sqf
// @file Author: IvanMMM, micovery, AgentRev
scopeName "UAV_Control";
private ["_perm", "_uav", "_currUav"];
_perm = ["A3W_uavControl", "side"] call getPublicVar;
if (_perm == "side") then
if (_perm == "side" && !(playerSide in [BLUFOR,OPFOR])) then
{
if (playerSide in [BLUFOR,OPFOR]) exitWith
{
breakOut "UAV_Control";
};
_perm = "group"; // always enforce group-only for indies if A3W_uavControl is side
};
while {true} do
{
waitUntil {_uav = getConnectedUAV player; !isNull _uav};
// medical UAV setup
if (isNil {_uav getVariable "FAR_uavReviveAction"}) then
{
if (round getNumber (configFile >> "CfgVehicles" >> typeOf _uav >> "attendant") > 0 && !isNil "FAR_Check_Revive") then
{
_uav setVariable ["FAR_uavReviveAction", _uav addAction ["<t color='#00FF00'>" + "Revive" + "</t>", "addons\FAR_revive\FAR_handleAction.sqf", ["action_revive"], 100, true, true, "", "_target == vehicle _this && FAR_Check_Revive"]]; // _target = UAV, _this = UAV_AI
}
else
{
_uav setVariable ["FAR_uavReviveAction", -1];
};
};
// ignore remote designators and autoturrets unless indie
if (!(_uav isKindOf "StaticWeapon") || !(playerSide in [BLUFOR,OPFOR])) then
{
@@ -28,7 +35,7 @@ while {true} do
_ownerGroup = _uav getVariable ["ownerGroupUAV", grpNull];
if (getPlayerUID player == _ownerUID) exitWith
if (getPlayerUID player isEqualTo _ownerUID) exitWith
{
if (_ownerGroup != group player) then
{
@@ -56,4 +63,5 @@ while {true} do
};
waitUntil {_uav != getConnectedUAV player};
_uav removeAction (_uav getVariable ["FAR_uavReviveAction", -1]);
};
@@ -9,22 +9,17 @@
//private ["_unit", "_selection", "_damage", "_source", "_fatalHit", "_killerVehicle", "_oldDamage"];
_unit = _this select 0;
//_selection = _this select 1;
//_damage = _this select 2;
_source = _this select 3;
_ammo = _this select 4;
params ["_unit", "", "", "_source", "_ammo", "", "_instigator"];
// a critical hit is if this type of selection can trigger death upon suffering damage >= 1 (usually all of them except "hands", "arms", and "legs")
// this is intercepted to prevent engine-triggered death and put the unit in revive mode instead; behavior and selections can change with game updates
_criticalHit = (_selection in ["","body","head","spine1","spine2","spine3","pelvis","neck","face_hub"]);
_fatalHit = (_damage >= 1 && alive _unit && _criticalHit);
// Find suspects
if (_fatalHit && !isNull _source && isNil {_unit getVariable "FAR_killerVehicle"}) then
if (_fatalHit && (!isNull _source || !isNull _instigator) && isNil {_unit getVariable "FAR_killerUnit"}) then
{
[_unit, _source, _ammo] call FAR_setKillerInfo;
[_unit, _source, _ammo, _instigator] call FAR_setKillerInfo;
};
//diag_log format ["FAR_HandleDamage_EH %1 - alive: %2", [_unit, _selection, _damage, _source, _ammo], alive _unit];
@@ -48,7 +43,7 @@ if (UNCONSCIOUS(_unit) && !_skipRevive) then
_oldDamage = _damage min 0.5;
};
_damage = ((_damage - _oldDamage) min 10) * FAR_DamageMultiplier + _oldDamage; // max damage inflicted per hit is capped (via min 10) to prevent insta-bleedout
_damage = ((_damage - _oldDamage) * FAR_DamageMultiplier) min 0.2 + _oldDamage; // max damage inflicted per hit is capped (via min 0.2) to prevent insta-bleedout - 0.2 is 40% of 0.5
};
//};
}
@@ -71,7 +66,8 @@ else
if (_unit == player) then
{
(findDisplay ReviveBlankGUI_IDD) closeDisplay 0;
(findDisplay ReviveGUI_IDD) closeDisplay 0;
//(findDisplay ReviveGUI_IDD) closeDisplay 0;
(uiNamespace getVariable ["ReviveGUI", displayNull]) closeDisplay 0;
};
if (_skipRevive) exitWith {};
@@ -87,7 +83,7 @@ else
};
};
if (UNCONSCIOUS(_unit) && !_reviveReady) then
/*if (UNCONSCIOUS(_unit) && !_reviveReady) then
{
_headshotQueue = _unit getVariable "FAR_headshotHitPartEH_queued";
@@ -102,6 +98,6 @@ if (UNCONSCIOUS(_unit) && !_reviveReady) then
_unit setVariable ["FAR_headshotHitPartEH_queued", nil];
};
};
};*/
//_damage
Oops, something went wrong.

0 comments on commit f8b67e7

Please sign in to comment.