diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo index 0d003460..74be73a5 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo index 8efa94b1..5893ab06 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_core.pbo differ diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo index f4f11ba2..c5c41e64 100644 Binary files a/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo and b/Server_Install_Pack/@epochhive/addons/epoch_server_settings.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Altis.pbo b/Server_Install_Pack/mpmissions/epoch.Altis.pbo index 2c329f8f..76bd62e9 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Altis.pbo and b/Server_Install_Pack/mpmissions/epoch.Altis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Australia.pbo b/Server_Install_Pack/mpmissions/epoch.Australia.pbo index cefd40c1..91f4ec0d 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Australia.pbo and b/Server_Install_Pack/mpmissions/epoch.Australia.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo index 75b77a39..f5686de7 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Bootcamp_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo index 8f4aec26..619ad6cb 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo and b/Server_Install_Pack/mpmissions/epoch.Bornholm.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo index 839982a7..d13af812 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo index b82364fc..c5f57bac 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo and b/Server_Install_Pack/mpmissions/epoch.Chernarus_Summer.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo index ab93a4f2..19858c6c 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo and b/Server_Install_Pack/mpmissions/epoch.Desert_E.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo index a42f5f29..28860673 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Esseker.pbo and b/Server_Install_Pack/mpmissions/epoch.Esseker.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo index a82edf8a..f60c645e 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Mountains_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Napf.pbo b/Server_Install_Pack/mpmissions/epoch.Napf.pbo index 2d4297f1..38c5f080 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Napf.pbo and b/Server_Install_Pack/mpmissions/epoch.Napf.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Porto.pbo b/Server_Install_Pack/mpmissions/epoch.Porto.pbo index fd20f85c..ae400370 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Porto.pbo and b/Server_Install_Pack/mpmissions/epoch.Porto.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo index 0e125ebb..790d9f26 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo and b/Server_Install_Pack/mpmissions/epoch.ProvingGrounds_PMC.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara.pbo b/Server_Install_Pack/mpmissions/epoch.Sara.pbo index 28b37e7e..d2bbba6d 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo index 345b3829..97ac87ec 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo and b/Server_Install_Pack/mpmissions/epoch.SaraLite.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo index c7abbc30..96e0f7f7 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo and b/Server_Install_Pack/mpmissions/epoch.Sara_dbe1.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo index 8ce8014f..fa5c3141 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo and b/Server_Install_Pack/mpmissions/epoch.Shapur_BAF.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo index f657e1c0..9dfd7d72 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Stratis.pbo and b/Server_Install_Pack/mpmissions/epoch.Stratis.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo index 8174d61a..558029c6 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Takistan.pbo and b/Server_Install_Pack/mpmissions/epoch.Takistan.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo index a4a744c2..37fa5a41 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo and b/Server_Install_Pack/mpmissions/epoch.Tanoa.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo index 9892e9b6..10a78b1b 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.VR.pbo and b/Server_Install_Pack/mpmissions/epoch.VR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo index f308ebc3..293293e3 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo and b/Server_Install_Pack/mpmissions/epoch.Woodland_ACR.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo index aaf58866..65f5bc3a 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo and b/Server_Install_Pack/mpmissions/epoch.Zargabad.pbo differ diff --git a/Server_Install_Pack/mpmissions/epoch.utes.pbo b/Server_Install_Pack/mpmissions/epoch.utes.pbo index 634d8e35..a0f3f39a 100644 Binary files a/Server_Install_Pack/mpmissions/epoch.utes.pbo and b/Server_Install_Pack/mpmissions/epoch.utes.pbo differ diff --git a/Server_Install_Pack/sc/BattlEye/remoteexec.txt b/Server_Install_Pack/sc/BattlEye/remoteexec.txt index 9d2ee094..6b221962 100644 --- a/Server_Install_Pack/sc/BattlEye/remoteexec.txt +++ b/Server_Install_Pack/sc/BattlEye/remoteexec.txt @@ -1 +1 @@ -5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_checkplayer \[[A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3}( \(.+\)|) REMOTE\]" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer) \[.+\]" +5 "" !="bis_fnc_execvm \[\[.+\],\"initPlayerServer.sqf\"]" !="bis_fnc_effectkilled(airdestruction|secondaries) \[.+\]" !="epoch_server_checkplayer \[[A-Z]{1} [A-Za-z]{4,10} [0-9]{1,3}-[0-9]{1,3}:[0-9]{1,3}( \(.+\)|) REMOTE\]" !="epoch_server_(save(_vehicles|building)|(lock|pack)Storage|(upgrade|remove|paint|maint)build) \[.+\]" !="epoch_server_((load|respawn|dead|invite|revive|teleport)Player|(upgrade|updateplayer|create|delete)Group) \[.+\]" !="epoch_server_(deadplayerdetonate|triggerantagonist|playersetvariable|missioncomms) \[.+\]" !="epoch_server_(knockDownTree|mineRocks|lootAnimal|handle_(say3d|switchmove|sapperObjs)) \[.+\]" !="epoch_server_((repair|fill|lock)Vehicle|(loot|fill)Container|(store|take)Crypto|make(NPC|)Trade) \[.+\]" !="epoch_server_(tradeRequest|equippeditem|packJack|create(object|AirDrop)|airDropCrate|destroytrash|unpackBackpack) \[.+\]" !="epoch_(localcleanup|fnc_saveplayer|client_bitePlayer) \[.+\]" diff --git a/Server_Install_Pack/sc/BattlEye/scripts.txt b/Server_Install_Pack/sc/BattlEye/scripts.txt index 0524ba53..ae50ec7d 100644 --- a/Server_Install_Pack/sc/BattlEye/scripts.txt +++ b/Server_Install_Pack/sc/BattlEye/scripts.txt @@ -13,7 +13,7 @@ 7 attachTo !="EP_light attachTo [player];" !="_bomb attachTo [_unit, [0,0,0],\"Pelvis\"];" !="_dogHolder attachTo [_dog, [-0.2,1.2,0.7]];" !="EPOCH_target attachTo[player];" !="_sapperSmoke attachTo [_sapper,[0,0,-0.4]];"" !="_cage attachTo [_cage2,[0,1.3,0]];" 7 enableCollisionWith 7 hideObject !="_dogHolder hideobject true;" !="_dogHolder hideobject false;" !="player hideobject true;" !="_ship hideobject true;\n_ship hideobjectglobal true;" -7 setvelocity !="setVelocityTarget" !="_bolt setPosATL _pos;\n_bolt setVelocity [0, 0, -10];" !="EPOCH_target setvelocitytransformation" !="_currentTarget setVelocity [0,0,-0.01];" !="_head setVelocity [\n(sin _dir * _speed), \n(cos _dir * _speed)" !="_vel = velocity this; _dir = getDir player; this setVelocity[(_vel select 0)+(sin _dir * 2),(_vel select 1)+(cos _dir * 2),(_vel select 2)];" !="_head setVelocity [random 2,random 2,10];" !="_bobber setVelocity [0,-1,-1];" !="_bobber setVelocity [0,-1,-10];" !="_x setvelocity [0,0,0.1];" !="_veh setVelocity [0,0,0];" !="_this select 0 setvelocity (_this select 1)" +7 setvelocity !="setVelocityTarget" !="_bolt setPosATL _pos;\n_bolt setVelocity [0, 0, -10];" !="EPOCH_target setvelocitytransformation" !="_currentTarget setVelocity [0,0,-0.01];" !="_head setVelocity [\n(sin _dir * _speed), \n(cos _dir * _speed)" !="_vel = velocity this; _dir = getDir player; this setVelocity[(_vel select 0)+(sin _dir * 2),(_vel select 1)+(cos _dir * 2),(_vel select 2)];" !="_head setVelocity [random 2,random 2,10];" !="_bobber setVelocity [0,-1,-1];" !="_bobber setVelocity [0,-1,-10];" !="_x setvelocity [0,0,0.1];" !="_veh setVelocity [0,0,0];" !="_this select 0 setvelocity (_this select 1)" !="_zombie setVelocityTransformation [_aslPos,_aslPos,_unitV,_unitV,_unitvDir,_vDir,_unitvUp,_unitvUp,2];" 7 assignAs !="assignAsCargo" !="_unit assignAsGunner _axeCopter;" !="_driver assignAsDriver _axeCopter;" !="axeVIP assignAsDriver vehicle axeVIP;" 7 assignAsCargo !="_x assignAsCargo axeGeneralsBoat;" !="axeVIP assignAsCargo vehicle player;" !="axeVIP assignAsCargo vehicle axeVIP;" 7 allowDamage !="_unit allowDamage false;" !="_unit allowDamage true;" !="player allowDamage true;" !="vehicle player allowDamage true;" !="player allowDamage false;" !="_target allowDamage true;" !="_cargo allowDamage false;" @@ -50,7 +50,7 @@ 7 addEventHandler !"displayAddEventHandler" !"ctrlAddEventHandler" !"[\"FiredNear"\" !"[\"EpeContactStart"\" !"[\"GetOut"\" !"[\"local"\" !"[\"PostReset"\" !"[\"TaskSetAsCurrent"\" !="player addEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="\"CBA_fnc_addEventHandler\"" !="\\fnc_addEventHandler" !="\"addEventHandler" !="_eventFunc = _eventFunc + \"(_this select 0) addEventHandler ['Respawn', \" + str _eventFunc + \"];\";" !="_unit addEventHandler [\"hitpart\"," !="CBA_fnc_addEventHandler" !="_ship addEventHandler [\"AttributesChanged3DEN\"" 7 displayAddEventHandler !="(findDisplay 46) displayAddEventHandler [\"KeyDown\",\"true\"];" !="_display displayAddEventHandler [_x,([\"CfgEpochClient\", _x, \"\"] call EPOCH_fnc_returnConfigEntryV2)];" !="_display displayaddeventhandler\n[\n\"mousemoving\"," !="_display displayaddeventhandler [\"unload\",\"uinamespace setvariable ['BIS_fnc_guiMess" !="findDisplay -1337 displayAddEventHandler ['Unload'" !="_display displayaddeventhandler [\"keydown\",\"with uinamespace do {['keyDown'" !="_display displayaddeventhandler [_x,_fnc_animate];" !="Development\") then\n{\n_display displayaddeventhandler [\n\"keydown\"" !="_display displayaddeventhandler [\"mousemoving\",\"with uinamespace do {['watchFields'" !="/"CBA_fnc_addDisplayHandler/"" 7 ctrlAddEventHandler !"rCfg >> \"refreshDelay\");" !" [\n\"draw\"," !" [\"buttonclick\"," !="(uiNamespace getVariable 'ESP_map') ctrlAddEventHandler['Draw', '_esp_targets = EPOCH_ESPMAP_TARGETS;" !="ctrlAddEventHandler ['MouseButtonDown'" !="(_display displayctrl _idc) ctrlAddEventHandler [\"LBSelChanged\"," !="_ctrl ctrlSetEventHandler [\"mouseEnter\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseExit\", (format [\"_c = _this select 0;" !="_ctrl ctrlSetEventHandler [\"mouseButtonDown\", (format [\"call %1;\",(_buttonSettings select _e select 2)])];" !="_prevButton ctrlAddEventHandler [\"MouseButtonUp\", {_this call cba_diagnostic_fnc_debug" !="BIS_RscRespawnControlsMap_ctrlHeaderRespawnButton ctrlAddEventhandler [/"ButtonDown/"" -7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" +7 removeAllEventHandlers !="ctrlRemoveAllEventHandlers" !="displayRemoveAllEventHandlers" !="_vehicle removeAllEventHandlers \"GetOut\";" !="_sapper removeAllEventHandlers \"Hit\";\n_sapper removeAllEventHandlers \"FiredNear\";" !="_unit removeAllEventHandlers \"Hit\";\n_unit removeAllEventHandlers \"FiredNear\";" !="{_ship removeAllEventHandlers _x;} forEach [\"AttributesChanged3DEN\"" !="_zombie removeAllEventHandlers \"Hit\";" !="_zombie removeAllEventHandlers \"FiredNear\";" 7 displayRemoveAllEventHandlers !="_display displayRemoveAllEventHandlers _x;" !="if !(isMultiplayer) then { { (findDisplay 46) displayRemoveAllEventHandlers _x } forEach [\"KeyUp\", \"KeyDown\"] };" 7 removeAllMissionEventHandlers 7 ctrlRemoveAllEventHandlers !="(uiNamespace getVariable 'ESP_map') ctrlRemoveAllEventHandlers 'Draw';" !="ctrlAddEventHandler ['MouseButtonDown'" diff --git a/Sources/epoch_code/System/EPOCH_zombie_brain.fsm b/Sources/epoch_code/System/EPOCH_zombie_brain.fsm index b68620f1..855a0346 100644 --- a/Sources/epoch_code/System/EPOCH_zombie_brain.fsm +++ b/Sources/epoch_code/System/EPOCH_zombie_brain.fsm @@ -684,7 +684,7 @@ class FSM to="instinct"; precondition = ""; condition="diag_tickTime - _t > 0.6;"; - action="_zombie switchMove ""AwopPercMstpSgthWnonDnon_throw"";"; + action="[_zombie,_trgt] call EPOCH_client_bitePlayer;"; }; }; }; diff --git a/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf b/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf index e6329675..93e2bb38 100644 --- a/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf +++ b/Sources/epoch_code/compile/EPOCH_UnisexCheck.sqf @@ -17,7 +17,7 @@ params ["_unit","_container","_item"]; // check for access of a locked container if (_container getVariable['EPOCH_Locked', false]) then { - // kick player + // kick player, TODO: temp ban? EPOCH_kicked = format ["%1 attempted to access a locked %2 with %3",_unit,_container,_item]; publicVariableServer "EPOCH_kicked"; }; diff --git a/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf b/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf index b6880e60..9a773621 100644 --- a/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf +++ b/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf @@ -12,12 +12,12 @@ Github: https://github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_code/compile/EPOCH_unitSpawn.sqf */ -private ["_unit","_sapperNum","_config","_targetPos","_grp","_driver","_index","_nonJammer","_nonTrader","_jammers","_jammerRange","_restricted","_disableAI"]; -params ["_unitClass","_trgt","_doVariable"]; +private ["_loop","_unit","_sapperNum","_config","_targetPos","_grp","_driver","_index","_nonJammer","_nonTrader","_jammers","_jammerRange","_restricted","_disableAI"]; +params ["_unitClass",["_trgt",player],["_doVariable",false]]; private _bomb = objNull; -if(isNil "_doVariable")then{_doVariable=false;}; -if(isNil "_trgt")then{_trgt=player;}; -diag_log format["Epoch: ADMIN: Antagonist %1 Spawning on %2. Do variable: %3.", _unitClass, _trgt, _doVariable]; + +diag_log format["DEBUG: Antagonist %1 Spawning on %2. Do variable: %3.", _unitClass, _trgt, _doVariable]; + if(random 100 < 6)then{ [] execFSM "\x\addons\a3_epoch_code\System\Event_Air_Drop.fsm"; }; @@ -25,12 +25,15 @@ if(_doVariable)then{_unitClass call EPOCH_unitSpawnIncrease;};//Assumes Antagoni _index = EPOCH_spawnIndex find _unitClass; _spawnLimit = EPOCH_playerSpawnArray select _index; -if (!_doVariable && (count(_trgt nearEntities[_unitClass, 800]) >= _spawnLimit)) exitWith{}; +_currentLimit = count(_trgt nearEntities[_unitClass, 800]); +if (!_doVariable && (_currentLimit >= _spawnLimit)) exitWith { + diag_log format["DEBUG: too many %1 exiting unitspawn",_unitClass]; +}; _nonJammer = ["CfgEpochClient", "nonJammerAI", ["B_Heli_Transport_01_F","PHANTOM","Epoch_Cloak_F"]] call EPOCH_fnc_returnConfigEntryV2; _nonTrader = ["CfgEpochClient", "nonTraderAI", ["B_Heli_Transport_01_F","PHANTOM","Epoch_Cloak_F","GreatWhite_F"]] call EPOCH_fnc_returnConfigEntryV2; _nonTraderAIRange = ["CfgEpochClient", "nonTraderAIRange", 150] call EPOCH_fnc_returnConfigEntryV2; - +_loop = false; _unit = objNull; _targetPos = getPosATL _trgt; @@ -53,10 +56,11 @@ if(count _restricted > 0 && (_unitClass in _nonTrader))exitWith{ _disableAI = { {_this disableAI _x}forEach["TARGET","AUTOTARGET","FSM"]; }; - +_units = []; switch _unitClass do { case "Epoch_Cloak_F": { _unit = createAgent[_unitClass, _targetPos, [], 256, "FORM"]; + _units pushBack _unit; _unit call _disableAI; [_unit,_trgt] execFSM "\x\addons\a3_epoch_code\System\cloak.fsm"; }; @@ -64,6 +68,7 @@ switch _unitClass do { if (surfaceIsWater _targetPos) then{ if (((_targetPos vectorDiff getPosASL _trgt) select 2) > 25) then{ _unit = createAgent[_unitClass, _targetPos, [], 120, "FORM"]; + _units pushBack _unit; _unit call _disableAI; [_unit] execFSM "\x\addons\a3_epoch_code\System\Shark_Brain.fsm"; }; @@ -79,6 +84,7 @@ switch _unitClass do { [_trgt,_sapperNum] execVM "epoch_code\compile\EPOCH_callSapperMigration.sqf"; }else{ _unit = createAgent[_unitClass, _targetPos, [], 256, "FORM"]; + _units pushBack _unit; _bomb = createVehicle ["Sapper_Charge_Ammo", _targetPos, [], 0, "CAN_COLLIDE"]; _bomb attachTo [_unit, [0,0,0],"Pelvis"]; _unit call _disableAI; @@ -89,6 +95,7 @@ switch _unitClass do { }; case "Epoch_SapperB_F": { _unit = createAgent[_unitClass, _targetPos, [], 256, "FORM"]; + _units pushBack _unit; _bomb = createVehicle["SapperB_Charge_Ammo", _targetPos, [], 0, "CAN_COLLIDE"]; _bomb attachTo[_unit, [0, 0, 0], "Pelvis"]; _unit call _disableAI; @@ -101,6 +108,7 @@ switch _unitClass do { _targetPos = [_targetPos, 600, 1200, 5, 0, 400, 0] call BIS_fnc_findSafePos; _targetPos set[2, 600]; _unit = createVehicle["I_UAV_01_F", _targetPos, [], 0, "FLY"]; + _units pushBack _unit; addToRemainsCollector[_unit]; _unit flyInHeight 600; _grp = createGroup RESISTANCE; @@ -115,9 +123,11 @@ switch _unitClass do { [] execFSM "\x\addons\a3_epoch_code\System\Event_Air_Drop.fsm"; }; case "EPOCH_RyanZombie_1": { - _unit = [] call EPOCH_zombieSpawn; - // spawn more zeds up to limit max spawn limit. - "EPOCH_RyanZombie_1" call EPOCH_unitSpawn; + for "_i" from 1 to (_spawnLimit - _currentLimit) do + { + _unit = [] call EPOCH_zombieSpawn; + _units pushBack _unit; + }; }; }; @@ -127,7 +137,7 @@ if(_doVariable && (!isNull _unit) && (!isNull _trgt))then{ _trgt setVariable ["EPOCH_antagBomb", _bomb, true]; }; }; -if !(isNull _unit) then { - // send to server - [_unit] remoteExec ["EPOCH_localCleanup",2]; + +if !(_units isEqualTo []) then { + _units remoteExec ["EPOCH_localCleanup",2]; }; diff --git a/Sources/epoch_code/compile/EPOCH_zombieSpawn.sqf b/Sources/epoch_code/compile/EPOCH_zombieSpawn.sqf index b90fd195..e62367dc 100644 --- a/Sources/epoch_code/compile/EPOCH_zombieSpawn.sqf +++ b/Sources/epoch_code/compile/EPOCH_zombieSpawn.sqf @@ -32,6 +32,8 @@ if!(isOnRoad _unit)then{ }; _unit call _disableAI; _unit switchMove "AmovPercMstpSnonWnonDnon_SaluteOut"; +[[_unit,player], 4, Epoch_personalToken] remoteExec ["EPOCH_server_handle_switchMove",2]; + _unit setmimic "dead"; _unit setface (selectRandom ["RyanZombieFace1", "RyanZombieFace2", "RyanZombieFace3", "RyanZombieFace4", "RyanZombieFace5"]); removegoggles _unit; diff --git a/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf b/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf index 910b02f0..c2132dab 100644 --- a/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf +++ b/Sources/epoch_code/compile/environment/EPOCH_client_bitePlayer.sqf @@ -16,107 +16,119 @@ _dog call EPOCH_client_bitePlayer; Parameter(s): - _this: OBJECT - attacker + _unit: OBJECT - attacker Returns: NOTHING */ private ["_distance","_toxicChance","_bloodpChance","_fatigueChance","_bleedAmount","_bloodpAmount","_soundEffect","_canSee","_ppEffect","_bleedChance","_soundEffectIndex","_soundEffectGlobal","_animationEffect","_animationEffectGlobal","_cfgObjectInteraction"]; -if !(isNull _this && alive _this) then { +params [["_unit",objNull],["_target",player]]; +if (isNull _unit && isNull _target) exitWith {}; +if !(_target isEqualTo player) then { + // re to other player + [_unit,_target] remoteExec ["EPOCH_client_bitePlayer", _target]; +} else { - _distance = 5; - _toxicChance = 0.1; - _bleedChance = 1; - _bloodpChance = 0; - _fatigueChance = 0.1; - _bleedAmount = 30; - _bloodpAmount = 2; - _soundEffect = ""; - _soundEffectGlobal = -1; - _animationEffect = ""; - _animationEffectGlobal = -1; - _canSee = false; - _ppEffect = 0; + if !(isNull _unit && alive _unit) then { + _distance = 5; + _toxicChance = 0.1; + _bleedChance = 1; + _bloodpChance = 0; + _fatigueChance = 0.1; + _bleedAmount = 30; + _bloodpAmount = 2; + _soundEffect = ""; + _soundEffectGlobal = -1; + _animationEffect = ""; + _animationEffectGlobal = -1; + _canSee = false; + _ppEffect = 0; - _cfgObjectInteraction = (('CfgObjectInteractions' call EPOCH_returnConfig) >> (typeOf _this)); - if (isClass _cfgObjectInteraction) then { - _distance = getNumber (_cfgObjectInteraction >> "distance"); - _toxicChance = getNumber (_cfgObjectInteraction >> "toxicChance"); - _bloodpChance = getNumber (_cfgObjectInteraction >> "bloodpChance"); - _fatigueChance = getNumber (_cfgObjectInteraction >> "fatigueChance"); - _bleedAmount = getNumber (_cfgObjectInteraction >> "bleedAmount"); - _bloodpAmount = getNumber (_cfgObjectInteraction >> "bloodpAmount"); - _soundConfigArray = getArray (_cfgObjectInteraction >> "soundEffect"); - if !(_soundConfigArray isEqualTo []) then { - _soundEffect = selectRandom _soundConfigArray; - }; - _soundEffectGlobal = getNumber (_cfgObjectInteraction >> "soundEffectGlobal"); - _animConfigArray = getArray (_cfgObjectInteraction >> "animationEffect"); - if !(_animConfigArray isEqualTo []) then { - _animationEffect = selectRandom _animConfigArray; - }; - _animationEffectGlobal = getNumber (_cfgObjectInteraction >> "animationEffectGlobal"); - _canSee = call compile (getText (_cfgObjectInteraction >> "canSee")); - _ppEffect = getNumber (_cfgObjectInteraction >> "ppEffect"); - }; - - if ((_this distance player) < _distance && _canSee) then { - - _soundEffectIndex = EPOCH_sounds find _soundEffect; - if (_soundEffectIndex != -1) then { - _this say3D _soundEffect; - if (_soundEffectGlobal != -1) then { - [player, _this, _soundEffectIndex, Epoch_personalToken] remoteExec ["EPOCH_server_handle_say3D",2]; + _cfgObjectInteraction = (('CfgObjectInteractions' call EPOCH_returnConfig) >> (typeOf _unit)); + if (isClass _cfgObjectInteraction) then { + _distance = getNumber (_cfgObjectInteraction >> "distance"); + _toxicChance = getNumber (_cfgObjectInteraction >> "toxicChance"); + _bloodpChance = getNumber (_cfgObjectInteraction >> "bloodpChance"); + _fatigueChance = getNumber (_cfgObjectInteraction >> "fatigueChance"); + _bleedAmount = getNumber (_cfgObjectInteraction >> "bleedAmount"); + _bloodpAmount = getNumber (_cfgObjectInteraction >> "bloodpAmount"); + _soundConfigArray = getArray (_cfgObjectInteraction >> "soundEffect"); + if !(_soundConfigArray isEqualTo []) then { + _soundEffect = selectRandom _soundConfigArray; }; - }; - - if (_animationEffect != "") then { - _this switchMove _animationEffect; - if (_animationEffectGlobal != -1) then { - [[_this,player], _animationEffectGlobal, Epoch_personalToken] remoteExec ["EPOCH_server_handle_switchMove",2]; + _soundEffectGlobal = getNumber (_cfgObjectInteraction >> "soundEffectGlobal"); + _animConfigArray = getArray (_cfgObjectInteraction >> "animationEffect"); + if !(_animConfigArray isEqualTo []) then { + _animationEffect = selectRandom _animConfigArray; }; + _animationEffectGlobal = getNumber (_cfgObjectInteraction >> "animationEffectGlobal"); + _canSee = call compile (getText (_cfgObjectInteraction >> "canSee")); + _ppEffect = getNumber (_cfgObjectInteraction >> "ppEffect"); }; - if (random 1 < _toxicChance) then { - EPOCH_playerToxicity = (EPOCH_playerToxicity + (random(100 - EPOCH_playerImmunity))) min 100; - }; - if (random 1 < _bleedChance) then { - player setBleedingRemaining((getBleedingRemaining player) + _bleedAmount); - }; - if (random 1 < _bloodpChance) then { - EPOCH_playerBloodP = (EPOCH_playerBloodP + (_bloodpAmount + (EPOCH_playerBloodP - 100))) min 190; - if (_ppEffect == 1) then { - [] spawn{ - _ppGrain = ppEffectCreate["filmGrain", 2005]; - _ppChrom = ppEffectCreate["chromAberration", 2006]; - _ppColor = ppEffectCreate["colorCorrections", 2007]; - _ppBlur = ppEffectCreate["radialBlur", 2008]; - _ppColor ppEffectAdjust[1, 1, 0, [1.5, -1, -1.5, 0.5], [5, 3.5, -5, -0.5], [-3, 5, -5, -0.5]]; - _ppColor ppEffectCommit 5; - _ppChrom ppEffectAdjust[0.01, 0.01, true]; - _ppChrom ppEffectCommit 5; - _ppBlur ppEffectAdjust[0.02, 0.02, 0.15, 0.15]; - _ppBlur ppEffectCommit 5; - _ppGrain ppEffectAdjust[0.1, -1, 0.05, 0.05, 2, false]; - _ppGrain ppEffectCommit 1; - _ppGrain ppEffectEnable true; - _ppChrom ppEffectEnable true; - _ppColor ppEffectEnable true; - _ppBlur ppEffectEnable true; - uiSleep 2; - _ppColor ppEffectAdjust[1, 1, -0.01, [0.0, 0.0, 0.0, 0.0], [1.5, 1, 1.2, 0.6], [0.199, 0.587, 0.114, 0.20]]; - _ppColor ppEffectCommit 5; - _ppChrom ppEffectAdjust[0, 0, true]; - _ppChrom ppEffectCommit 5; - _ppBlur ppEffectAdjust[0, 0, 0, 0]; - _ppBlur ppEffectCommit 5; - uiSleep 5; - ppEffectDestroy[_ppGrain, _ppChrom, _ppColor, _ppBlur]; + if ((_unit distance player) < _distance && _canSee) then { + + if (_soundEffect isEqualType []) then { + _soundEffect params ["_soundEffectFinal",["_soundEffectRange",0]]; + playSound3D [_soundEffectFinal, _unit, false, getPosASL _unit, 1, 1, _soundEffectRange]; + } else { + _soundEffectIndex = EPOCH_sounds find _soundEffect; + if (_soundEffectIndex != -1) then { + _unit say3D _soundEffect; + if (_soundEffectGlobal != -1) then { + [player, _unit, _soundEffectIndex, Epoch_personalToken] remoteExec ["EPOCH_server_handle_say3D",2]; + }; }; }; - }; - if (random 1 < _fatigueChance) then { - player setFatigue 1; + + if (_animationEffect != "") then { + _unit switchMove _animationEffect; + if (_animationEffectGlobal != -1) then { + [[_unit,player], _animationEffectGlobal, Epoch_personalToken] remoteExec ["EPOCH_server_handle_switchMove",2]; + }; + }; + + if (random 1 < _toxicChance) then { + EPOCH_playerToxicity = (EPOCH_playerToxicity + (random(100 - EPOCH_playerImmunity))) min 100; + }; + if (random 1 < _bleedChance) then { + player setBleedingRemaining((getBleedingRemaining player) + _bleedAmount); + }; + if (random 1 < _bloodpChance) then { + EPOCH_playerBloodP = (EPOCH_playerBloodP + (_bloodpAmount + (EPOCH_playerBloodP - 100))) min 190; + if (_ppEffect == 1) then { + [] spawn{ + _ppGrain = ppEffectCreate["filmGrain", 2005]; + _ppChrom = ppEffectCreate["chromAberration", 2006]; + _ppColor = ppEffectCreate["colorCorrections", 2007]; + _ppBlur = ppEffectCreate["radialBlur", 2008]; + _ppColor ppEffectAdjust[1, 1, 0, [1.5, -1, -1.5, 0.5], [5, 3.5, -5, -0.5], [-3, 5, -5, -0.5]]; + _ppColor ppEffectCommit 5; + _ppChrom ppEffectAdjust[0.01, 0.01, true]; + _ppChrom ppEffectCommit 5; + _ppBlur ppEffectAdjust[0.02, 0.02, 0.15, 0.15]; + _ppBlur ppEffectCommit 5; + _ppGrain ppEffectAdjust[0.1, -1, 0.05, 0.05, 2, false]; + _ppGrain ppEffectCommit 1; + _ppGrain ppEffectEnable true; + _ppChrom ppEffectEnable true; + _ppColor ppEffectEnable true; + _ppBlur ppEffectEnable true; + uiSleep 2; + _ppColor ppEffectAdjust[1, 1, -0.01, [0.0, 0.0, 0.0, 0.0], [1.5, 1, 1.2, 0.6], [0.199, 0.587, 0.114, 0.20]]; + _ppColor ppEffectCommit 5; + _ppChrom ppEffectAdjust[0, 0, true]; + _ppChrom ppEffectCommit 5; + _ppBlur ppEffectAdjust[0, 0, 0, 0]; + _ppBlur ppEffectCommit 5; + uiSleep 5; + ppEffectDestroy[_ppGrain, _ppChrom, _ppColor, _ppBlur]; + }; + }; + }; + if (random 1 < _fatigueChance) then { + player setFatigue 1; + }; }; }; }; diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf index 5362c25d..30d1fc56 100644 --- a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf +++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf @@ -109,7 +109,7 @@ switch true do { _nuisanceLevel = _nuisanceLevel / 2; }; // Nuisance System 0.1 - (EPOCH_customVarLimits select (EPOCH_customVars find "Nuisance")) params [["_playerLimitMax",100],["_playerLimitMin",0]]; + (EPOCH_customVarLimits select (EPOCH_customVars find "Nuisance")) params [["_playerLimitMax",100],["_playerLimitMin",0]]; EPOCH_playerNuisance = ((EPOCH_playerNuisance + _nuisanceLevel) min _playerLimitMax) max _playerLimitMin; }; }; diff --git a/Sources/epoch_code/compile/setup/masterLoop/Event2.sqf b/Sources/epoch_code/compile/setup/masterLoop/Event2.sqf index a0b094f3..66ca1a48 100644 --- a/Sources/epoch_code/compile/setup/masterLoop/Event2.sqf +++ b/Sources/epoch_code/compile/setup/masterLoop/Event2.sqf @@ -61,7 +61,7 @@ if (EPOCH_playerEnergy == 0) then { }; }; -_attackers = player nearEntities[["Snake_random_EPOCH", "GreatWhite_F", "Epoch_Cloak_F","EPOCH_RyanZombie_1"], 30]; +_attackers = player nearEntities[["Snake_random_EPOCH", "GreatWhite_F", "Epoch_Cloak_F"], 30]; if !(_attackers isEqualTo[]) then { (_attackers select 0) call EPOCH_client_bitePlayer; _panic = true; diff --git a/Sources/epoch_code/compile/setup/masterLoop/Event7.sqf b/Sources/epoch_code/compile/setup/masterLoop/Event7.sqf index e238d48e..be9c3d98 100644 --- a/Sources/epoch_code/compile/setup/masterLoop/Event7.sqf +++ b/Sources/epoch_code/compile/setup/masterLoop/Event7.sqf @@ -10,6 +10,7 @@ if (EPOCH_mod_Ryanzombies_Enabled) then { if (random EPOCH_sapperRndChance < _spawnChance) then { "Epoch_Sapper_F" call EPOCH_unitSpawnIncrease; }; +diag_log format["DEBUG: _spawnChance %1",_spawnChance]; _spawnUnits = []; { diff --git a/Sources/epoch_code/init/both_init.sqf b/Sources/epoch_code/init/both_init.sqf index fd312cde..3e2c82f2 100644 --- a/Sources/epoch_code/init/both_init.sqf +++ b/Sources/epoch_code/init/both_init.sqf @@ -63,7 +63,7 @@ _antagonistSpawnDefaults = [ ["I_UAV_01_F",2], ["PHANTOM",1], ["B_Heli_Transport_01_F",1], - ["EPOCH_RyanZombie_1",10] + ["EPOCH_RyanZombie_1",12] ]; _spawnLimits = ["CfgEpochClient", "antagonistSpawnIndex", _antagonistSpawnDefaults] call EPOCH_fnc_returnConfigEntryV2; { diff --git a/Sources/epoch_code/init/client_init.sqf b/Sources/epoch_code/init/client_init.sqf index 41736b09..c1151e81 100644 --- a/Sources/epoch_code/init/client_init.sqf +++ b/Sources/epoch_code/init/client_init.sqf @@ -66,7 +66,7 @@ if(EPOCH_AirDropChance < 0)then{EPOCH_AirDropChance = 101;EPOCH_AirDropCheck = 9 EPOCH_droneRndChance = 100; EPOCH_sapperRndChance = 100; -EPOCH_zombieRndChance = 100; +EPOCH_zombieRndChance = 30; // Custom Keys EPOCH_keysActionPressed = false; //prevents EH spam diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index 9efb6e79..94a0a2fd 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -32,7 +32,7 @@ class CfgEpochClient {"I_UAV_01_F",2}, {"PHANTOM",1}, {"B_Heli_Transport_01_F",1}, - {"EPOCH_RyanZombie_1",10} + {"EPOCH_RyanZombie_1",12} }; customVarsDefaults[] = { // EPOCH_player + varName, default value, {max,min} diff --git a/Sources/epoch_config/Configs/CfgObjectInteractions.hpp b/Sources/epoch_config/Configs/CfgObjectInteractions.hpp index f2716c4d..e485c8ab 100644 --- a/Sources/epoch_config/Configs/CfgObjectInteractions.hpp +++ b/Sources/epoch_config/Configs/CfgObjectInteractions.hpp @@ -35,7 +35,7 @@ class CfgObjectInteractions { class SapperCorpse_SIM_EPOCH : Default { interactMode = 0; }; - + class Snake_random_EPOCH : Default { distance = 3; toxicChance = 0.2; @@ -44,7 +44,7 @@ class CfgObjectInteractions { bleedAmount = 30; bloodpAmount = 3; soundEffect[] = {"snake_bite0"}; - canSee = "!(lineIntersects[eyePos _this, aimPos player, _this, player])"; + canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 0; }; class Snake2_random_EPOCH : Default { @@ -55,7 +55,7 @@ class CfgObjectInteractions { bleedAmount = 30; bloodpAmount = 3; soundEffect[] = {"snake_bite0"}; - canSee = "!(lineIntersects[eyePos _this, aimPos player, _this, player])"; + canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 0; }; class GreatWhite_F : Default { @@ -88,21 +88,21 @@ class CfgObjectInteractions { bleedAmount = 66; bloodpAmount = 3; soundEffect[] = {"cultist_nearby"}; - canSee = "!(lineIntersects[eyePos _this, aimPos player, _this, player])"; + canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 1; }; class EPOCH_RyanZombie_1 : Default { distance = 3; - toxicChance = 0.2; - bloodpChance = 1; - fatigueChance = 0.5; + toxicChance = 0.1; + bloodpChance = 0.9; + fatigueChance = 0.4; bleedAmount = 30; bloodpAmount = 3; - soundEffect[] = {"ryanzombiesattack1", "ryanzombiesattack2", "ryanzombiesattack3", "ryanzombiesattack4", "ryanzombiesattack5"}; + soundEffect[] = {{"ryanzombies\sounds\attack1.ogg",400}, {"ryanzombies\sounds\attack2.ogg",400}, {"ryanzombies\sounds\attack3.ogg",400}, {"ryanzombies\sounds\attack4.ogg",400}, {"ryanzombies\sounds\attack5.ogg",400}}; soundEffectGlobal = 1; animationEffect[] = {"AwopPercMstpSgthWnonDnon_throw"}; animationEffectGlobal = 3; - canSee = "!(lineIntersects[eyePos _this, aimPos player, _this, player])"; + canSee = "!(lineIntersects[eyePos _unit, aimPos _target, _unit, _target])"; ppEffect = 0; }; class EPOCH_RyanZombie_2 : EPOCH_RyanZombie_1 {}; diff --git a/Sources/epoch_config/Configs/CfgRemoteExec.hpp b/Sources/epoch_config/Configs/CfgRemoteExec.hpp index 1836fd0b..4439e1d2 100644 --- a/Sources/epoch_config/Configs/CfgRemoteExec.hpp +++ b/Sources/epoch_config/Configs/CfgRemoteExec.hpp @@ -84,6 +84,10 @@ class CfgRemoteExec class EPOCH_server_handle_switchMove { allowedTargets=2; jip = 0; + }; + class EPOCH_client_bitePlayer { + allowedTargets=1; + jip = 0; }; class EPOCH_server_upgradeGroup { allowedTargets=2; @@ -225,7 +229,7 @@ class CfgRemoteExec allowedTargets=2; jip = 0; }; - + }; class Commands {mode=0;}; }; diff --git a/Sources/epoch_config/build.hpp b/Sources/epoch_config/build.hpp index afa3410b..3bd0920e 100644 --- a/Sources/epoch_config/build.hpp +++ b/Sources/epoch_config/build.hpp @@ -1 +1 @@ -build=515; +build=524; diff --git a/Sources/epoch_config/sandbox_config.hpp b/Sources/epoch_config/sandbox_config.hpp index 81de1862..043a8341 100644 --- a/Sources/epoch_config/sandbox_config.hpp +++ b/Sources/epoch_config/sandbox_config.hpp @@ -57,7 +57,9 @@ disableRandomization[] = {"All"}; #include "Configs\CfgMissionsTasks.hpp" #include "Configs\cfgCrafting.hpp" #include "Configs\cfgPricing.hpp" + #include "Configs\CfgEpochClient.hpp" + #include "Configs\CfgMasterLoop.hpp" #include "Configs\CfgBaseBuilding.hpp" #include "Configs\CfgSnapChecks.hpp" diff --git a/Sources/epoch_server/build.hpp b/Sources/epoch_server/build.hpp index afa3410b..3bd0920e 100644 --- a/Sources/epoch_server/build.hpp +++ b/Sources/epoch_server/build.hpp @@ -1 +1 @@ -build=515; +build=524; diff --git a/Sources/epoch_server/compile/epoch_antagonists/EPOCH_server_handle_switchMove.sqf b/Sources/epoch_server/compile/epoch_antagonists/EPOCH_server_handle_switchMove.sqf index 41ec2680..63556444 100644 --- a/Sources/epoch_server/compile/epoch_antagonists/EPOCH_server_handle_switchMove.sqf +++ b/Sources/epoch_server/compile/epoch_antagonists/EPOCH_server_handle_switchMove.sqf @@ -33,9 +33,13 @@ switch (_moveCase) do { _move = "epoch_unarmed_jump"; }; case 3: { - _range = 400; + _range = 1000; _move = "AwopPercMstpSgthWnonDnon_throw"; } + case 4: { + _range = 1000; + _move = "AmovPercMstpSnonWnonDnon_SaluteOut"; + } }; if (_range > 0 && _move != "") then { diff --git a/Sources/epoch_server/compile/epoch_server/EPOCH_localCleanup.sqf b/Sources/epoch_server/compile/epoch_server/EPOCH_localCleanup.sqf index c679a3ee..c3c32ab3 100644 --- a/Sources/epoch_server/compile/epoch_server/EPOCH_localCleanup.sqf +++ b/Sources/epoch_server/compile/epoch_server/EPOCH_localCleanup.sqf @@ -43,3 +43,4 @@ if !(_this isEqualType []) then { }]; }; }forEach _this; +addToRemainsCollector _this; diff --git a/Sources/epoch_server_core/build.hpp b/Sources/epoch_server_core/build.hpp index afa3410b..3bd0920e 100644 --- a/Sources/epoch_server_core/build.hpp +++ b/Sources/epoch_server_core/build.hpp @@ -1 +1 @@ -build=515; +build=524; diff --git a/Sources/epoch_server_settings/build.hpp b/Sources/epoch_server_settings/build.hpp index afa3410b..3bd0920e 100644 --- a/Sources/epoch_server_settings/build.hpp +++ b/Sources/epoch_server_settings/build.hpp @@ -1 +1 @@ -build=515; +build=524; diff --git a/build.txt b/build.txt index 2c4ebf51..a82e832a 100644 --- a/build.txt +++ b/build.txt @@ -1 +1 @@ -515 +524