mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
0.3.7.011
This commit is contained in:
parent
b8dac3481e
commit
f7f5d25af4
@ -14,9 +14,13 @@
|
|||||||
[ADDED-WIP] Tin Bars (ItemTinBar,ItemTinBar10oz).
|
[ADDED-WIP] Tin Bars (ItemTinBar,ItemTinBar10oz).
|
||||||
[ADDED-WIP] Plywood sheets in small and large stacks (ItemPlywood,ItemPlywoodPack).
|
[ADDED-WIP] Plywood sheets in small and large stacks (ItemPlywood,ItemPlywoodPack).
|
||||||
[Changed] Change all publicVariableServer calls to use remoteExec calls for better performance.
|
[Changed] Change all publicVariableServer calls to use remoteExec calls for better performance.
|
||||||
|
[Fixed] Incorrectly being able to sell/buy items from a dead trader.
|
||||||
|
[Fixed] Snakes now require line of sight to bite player.
|
||||||
[Fixed] Custom epoch swing animations for Hatchet and sledge now work correctly.
|
[Fixed] Custom epoch swing animations for Hatchet and sledge now work correctly.
|
||||||
|
[Fixed] Boss Sapper incorrectly cleaned up before detonation.
|
||||||
**Server**
|
**Server**
|
||||||
[Added] Setting to control random magazine ammo counts in loot spawner. CfgEpochClient -> randomizeMagazineAmmoCount (default: true)
|
[Added] Setting to control random magazine ammo counts in loot spawner. CfgEpochClient -> randomizeMagazineAmmoCount (default: true)
|
||||||
|
[Changed] Earthquakes with mineral veins spawn chances increased with less players.
|
||||||
[Changed] Driver or passengers of a driverless can now control vehicle locks. Also only the owner can control locks from outside of a occupied vehicle.
|
[Changed] Driver or passengers of a driverless can now control vehicle locks. Also only the owner can control locks from outside of a occupied vehicle.
|
||||||
[Changed] Commented out Halloween masks from loot tables.
|
[Changed] Commented out Halloween masks from loot tables.
|
||||||
[Updated] New Battleye remoteExec.txt for added remoteExec calls.
|
[Updated] New Battleye remoteExec.txt for added remoteExec calls.
|
||||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
/*%FSM<COMPILE "C:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, sapperAlt">*/
|
/*%FSM<COMPILE "F:\Program Files (x86)\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, sapperAlt">*/
|
||||||
/*%FSM<HEAD>*/
|
/*%FSM<HEAD>*/
|
||||||
/*
|
/*
|
||||||
item0[] = {"sapper",0,250,-225.000000,-325.000000,-125.000000,-275.000000,0.000000,"sapper"};
|
item0[] = {"sapper",0,250,-225.000000,-325.000000,-125.000000,-275.000000,0.000000,"sapper"};
|
||||||
@ -35,12 +35,12 @@ item30[] = {"stalking",4,218,-50.000000,50.000000,50.000000,100.000000,5.000000,
|
|||||||
item31[] = {"Wait_random",4,218,-225.000000,-200.000000,-125.000000,-150.000000,10.000000,"Wait random"};
|
item31[] = {"Wait_random",4,218,-225.000000,-200.000000,-125.000000,-150.000000,10.000000,"Wait random"};
|
||||||
item32[] = {"groan",4,218,200.000000,375.000000,300.000000,425.000000,5.000000,"groan"};
|
item32[] = {"groan",4,218,200.000000,375.000000,300.000000,425.000000,5.000000,"groan"};
|
||||||
item33[] = {"detonate",4,218,125.000000,-350.000000,225.000000,-300.000000,70.000000,"detonate"};
|
item33[] = {"detonate",4,218,125.000000,-350.000000,225.000000,-300.000000,70.000000,"detonate"};
|
||||||
item34[] = {"end",1,250,975.000000,0.000000,1075.000000,50.000000,0.000000,"end"};
|
item34[] = {"end",1,250,1050.000000,-25.000000,1150.000000,25.000000,0.000000,"end"};
|
||||||
item35[] = {"Wait_to_delete",4,218,975.000000,150.000000,1075.000000,200.000000,10.000000,"Wait to delete"};
|
item35[] = {"Wait_to_delete",4,218,1050.000000,125.000000,1150.000000,175.000000,10.000000,"Wait to delete"};
|
||||||
item36[] = {"handle_dispose",2,250,525.000000,125.000000,625.000000,175.000000,0.000000,"handle dispose"};
|
item36[] = {"handle_dispose",2,250,525.000000,125.000000,625.000000,175.000000,0.000000,"handle dispose"};
|
||||||
item37[] = {"Wait_1_5_sec",4,218,650.000000,300.000000,750.000000,350.000000,0.000000,"Wait" \n "1.5 sec"};
|
item37[] = {"Wait_1_5_sec",4,218,525.000000,350.000000,625.000000,400.000000,0.000000,"Wait" \n "1.5 sec"};
|
||||||
item38[] = {"do_boom",2,4346,650.000000,225.000000,750.000000,275.000000,0.000000,"do boom"};
|
item38[] = {"do_boom",2,250,650.000000,225.000000,750.000000,275.000000,0.000000,"do boom"};
|
||||||
item39[] = {"_",8,218,800.000000,300.000000,850.000000,325.000000,0.000000,""};
|
item39[] = {"_",8,218,800.000000,225.000000,875.000000,275.000000,0.000000,""};
|
||||||
item40[] = {"do_groan",2,250,225.000000,500.000000,325.000000,550.000000,0.000000,"do groan"};
|
item40[] = {"do_groan",2,250,225.000000,500.000000,325.000000,550.000000,0.000000,"do groan"};
|
||||||
item41[] = {"do_stalk",2,250,-200.000000,50.000000,-100.000000,100.000000,0.000000,"do stalk"};
|
item41[] = {"do_stalk",2,250,-200.000000,50.000000,-100.000000,100.000000,0.000000,"do stalk"};
|
||||||
item42[] = {"do_loiter_big",2,250,350.000000,500.000000,450.000000,550.000000,0.000000,"do loiter big"};
|
item42[] = {"do_loiter_big",2,250,350.000000,500.000000,450.000000,550.000000,0.000000,"do loiter big"};
|
||||||
@ -63,7 +63,9 @@ item58[] = {"feeling",4,218,775.000000,-50.000000,875.000000,0.000000,50.000000,
|
|||||||
item59[] = {"charging",4,218,-50.000000,225.000000,50.000000,275.000000,5.000000,"charging"};
|
item59[] = {"charging",4,218,-50.000000,225.000000,50.000000,275.000000,5.000000,"charging"};
|
||||||
item60[] = {"stalk",4,218,375.000000,-275.000000,475.000000,-225.000000,20.000000,"stalk"};
|
item60[] = {"stalk",4,218,375.000000,-275.000000,475.000000,-225.000000,20.000000,"stalk"};
|
||||||
item61[] = {"not_shot",4,218,900.000000,125.000000,1000.000000,175.000000,10.000000,"not shot"};
|
item61[] = {"not_shot",4,218,900.000000,125.000000,1000.000000,175.000000,10.000000,"not shot"};
|
||||||
item62[] = {"finished_boom",2,250,900.000000,225.000000,1000.000000,275.000000,0.000000,"finished boom"};
|
item62[] = {"finished_boom",2,250,900.000000,300.000000,1000.000000,350.000000,0.000000,"finished boom"};
|
||||||
|
item63[] = {"Wait_for_Explosi",4,218,650.000000,350.000000,750.000000,400.000000,0.000000,"Wait for Explosion"};
|
||||||
|
item64[] = {"Remove_corpse",2,4346,775.000000,300.000000,875.000000,350.000000,0.000000,"Remove corpse"};
|
||||||
link0[] = {0,31};
|
link0[] = {0,31};
|
||||||
link1[] = {1,2};
|
link1[] = {1,2};
|
||||||
link2[] = {2,3};
|
link2[] = {2,3};
|
||||||
@ -126,7 +128,7 @@ link58[] = {35,34};
|
|||||||
link59[] = {36,57};
|
link59[] = {36,57};
|
||||||
link60[] = {36,61};
|
link60[] = {36,61};
|
||||||
link61[] = {37,38};
|
link61[] = {37,38};
|
||||||
link62[] = {38,39};
|
link62[] = {38,63};
|
||||||
link63[] = {39,62};
|
link63[] = {39,62};
|
||||||
link64[] = {40,6};
|
link64[] = {40,6};
|
||||||
link65[] = {41,30};
|
link65[] = {41,30};
|
||||||
@ -154,8 +156,10 @@ link86[] = {59,4};
|
|||||||
link87[] = {60,2};
|
link87[] = {60,2};
|
||||||
link88[] = {61,62};
|
link88[] = {61,62};
|
||||||
link89[] = {62,35};
|
link89[] = {62,35};
|
||||||
globals[] = {25.000000,1,0,0,16777215,640,480,1,248,6316128,1,-343.543304,1069.998291,679.913574,-353.385406,1000,731,1};
|
link90[] = {63,64};
|
||||||
window[] = {2,-1,-1,-1,-1,542,56,1081,17,3,1018};
|
link91[] = {64,39};
|
||||||
|
globals[] = {25.000000,1,0,0,16777215,640,480,1,253,6316128,1,-209.204178,1204.337524,679.913574,-353.385406,1000,880,1};
|
||||||
|
window[] = {2,-1,-1,-1,-1,655,130,1155,130,3,1018};
|
||||||
*//*%FSM</HEAD>*/
|
*//*%FSM</HEAD>*/
|
||||||
class FSM
|
class FSM
|
||||||
{
|
{
|
||||||
@ -1040,25 +1044,19 @@ class FSM
|
|||||||
class do_boom
|
class do_boom
|
||||||
{
|
{
|
||||||
name = "do_boom";
|
name = "do_boom";
|
||||||
init = /*%FSM<STATEINIT""">*/"" \n
|
init = /*%FSM<STATEINIT""">*/"[_sBomb, player, Epoch_personalToken,_sapper,_sapper] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n
|
||||||
"[_sBomb, player, Epoch_personalToken,_sapper,_sapper] remoteExec [""EPOCH_server_handle_sapperObjs"",2];" \n
|
|
||||||
"" \n
|
|
||||||
"_sBomb = objNull;" \n
|
|
||||||
"" \n
|
|
||||||
"deleteVehicle _sapper;" \n
|
|
||||||
"" \n
|
|
||||||
"_doneBoom = true;" \n
|
"_doneBoom = true;" \n
|
||||||
""/*%FSM</STATEINIT""">*/;
|
""/*%FSM</STATEINIT""">*/;
|
||||||
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
class Links
|
class Links
|
||||||
{
|
{
|
||||||
/*%FSM<LINK "_">*/
|
/*%FSM<LINK "Wait_for_Explosi">*/
|
||||||
class _
|
class Wait_for_Explosi
|
||||||
{
|
{
|
||||||
priority = 0.000000;
|
priority = 0.000000;
|
||||||
to="finished_boom";
|
to="Remove_corpse";
|
||||||
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
condition=/*%FSM<CONDITION""">*/"isNull(_sBomb)"/*%FSM</CONDITION""">*/;
|
||||||
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
};
|
};
|
||||||
/*%FSM</LINK>*/
|
/*%FSM</LINK>*/
|
||||||
@ -1409,11 +1407,32 @@ class FSM
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
/*%FSM</STATE>*/
|
/*%FSM</STATE>*/
|
||||||
|
/*%FSM<STATE "Remove_corpse">*/
|
||||||
|
class Remove_corpse
|
||||||
|
{
|
||||||
|
name = "Remove_corpse";
|
||||||
|
init = /*%FSM<STATEINIT""">*/"deleteVehicle _sapper;"/*%FSM</STATEINIT""">*/;
|
||||||
|
precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
|
||||||
|
class Links
|
||||||
|
{
|
||||||
|
/*%FSM<LINK "_">*/
|
||||||
|
class _
|
||||||
|
{
|
||||||
|
priority = 0.000000;
|
||||||
|
to="finished_boom";
|
||||||
|
precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
|
||||||
|
condition=/*%FSM<CONDITION""">*/""/*%FSM</CONDITION""">*/;
|
||||||
|
action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
|
||||||
|
};
|
||||||
|
/*%FSM</LINK>*/
|
||||||
|
};
|
||||||
|
};
|
||||||
|
/*%FSM</STATE>*/
|
||||||
};
|
};
|
||||||
initState="sapper";
|
initState="sapper";
|
||||||
finalStates[] =
|
finalStates[] =
|
||||||
{
|
{
|
||||||
"end"
|
"end",
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/*%FSM</COMPILE>*/
|
/*%FSM</COMPILE>*/
|
@ -101,21 +101,20 @@ _unifiedInteract = {
|
|||||||
|
|
||||||
switch _interactOption do {
|
switch _interactOption do {
|
||||||
case 0: {
|
case 0: {
|
||||||
_magCount = getNumber (_config >> "count");
|
_magazineSizeMax = getNumber (_config >> "count");
|
||||||
// allow repack for all magazines with greater than 1 bullet
|
// allow repack for all magazines with greater than 1 bullet
|
||||||
if (_magCount > 1) then {
|
if (_magazineSizeMax > 1) then {
|
||||||
|
|
||||||
_ammoTotal = 0;
|
_magazineSize = 0;
|
||||||
_magazinesAmmoFull = magazinesAmmoFull player;
|
_magazinesAmmoFull = magazinesAmmoFull player;
|
||||||
{
|
{
|
||||||
if (_item isEqualTo (_x select 0)) then {
|
if (_item isEqualTo (_x select 0)) then {
|
||||||
_ammoTotal = _ammoTotal + (_x select 1);
|
if (!(_x select 2)) then {
|
||||||
|
_magazineSize = _magazineSize + (_x select 1);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
} forEach _magazinesAmmoFull;
|
} forEach _magazinesAmmoFull;
|
||||||
|
|
||||||
_magazineSize = _ammoTotal;
|
|
||||||
_magazineSizeMax = _magCount;
|
|
||||||
|
|
||||||
// remove all
|
// remove all
|
||||||
player removeMagazines _item;
|
player removeMagazines _item;
|
||||||
|
|
||||||
@ -123,12 +122,14 @@ switch _interactOption do {
|
|||||||
for "_i" from 1 to floor (_magazineSize / _magazineSizeMax) do
|
for "_i" from 1 to floor (_magazineSize / _magazineSizeMax) do
|
||||||
{
|
{
|
||||||
player addMagazine [_item, _magazineSizeMax];
|
player addMagazine [_item, _magazineSizeMax];
|
||||||
|
//diag_log format ["DEBUG: added full mag %1", _magazineSizeMax];
|
||||||
};
|
};
|
||||||
// Add last non full magazine
|
// Add last non full magazine
|
||||||
if ((_magazineSize % _magazineSizeMax) > 0) then {
|
if ((_magazineSize % _magazineSizeMax) > 0) then {
|
||||||
player addMagazine [_item, floor (_magazineSize % _magazineSizeMax)];
|
player addMagazine [_item, floor (_magazineSize % _magazineSizeMax)];
|
||||||
|
//diag_log format ["DEBUG: added remainder %1", floor (_magazineSize % _magazineSizeMax)];
|
||||||
};
|
};
|
||||||
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Ammo Repacked</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
_dt = ["<t size='0.8' shadow='0' color='#99ffffff'>Ammo Repacked</t>", 0, 1, 5, 2, 0, 1] spawn bis_fnc_dynamictext;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
case 1: _unifiedInteract; // Eat 1
|
case 1: _unifiedInteract; // Eat 1
|
||||||
|
@ -53,7 +53,7 @@ if (!isNull EPOCH_currentTarget && vehicle player == player) then {
|
|||||||
case 0: {
|
case 0: {
|
||||||
_stability = 100 - round(damage _currentTarget * 100);
|
_stability = 100 - round(damage _currentTarget * 100);
|
||||||
_icon = "\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa";
|
_icon = "\x\addons\a3_epoch_code\Data\UI\loading_bar_%1.paa";
|
||||||
_text = "Press (Inventory)";
|
_text = "";
|
||||||
|
|
||||||
if (_stability < 50) then {
|
if (_stability < 50) then {
|
||||||
_color = [1, 0.5, 0, 0.7];
|
_color = [1, 0.5, 0, 0.7];
|
||||||
|
@ -46,7 +46,7 @@ if !(isNull _this && alive _this) then {
|
|||||||
_bleedAmount = 30;
|
_bleedAmount = 30;
|
||||||
_bloodpAmount = 3;
|
_bloodpAmount = 3;
|
||||||
_soundEffect = "snake_bite0";
|
_soundEffect = "snake_bite0";
|
||||||
_canSee = true;
|
_canSee = !(lineIntersects[eyePos _this, aimPos player, _this, player]);
|
||||||
_ppEffect = 0;
|
_ppEffect = 0;
|
||||||
};
|
};
|
||||||
case "Snake2_random_EPOCH": {
|
case "Snake2_random_EPOCH": {
|
||||||
@ -57,7 +57,7 @@ if !(isNull _this && alive _this) then {
|
|||||||
_bleedAmount = 30;
|
_bleedAmount = 30;
|
||||||
_bloodpAmount = 3;
|
_bloodpAmount = 3;
|
||||||
_soundEffect = "snake_bite0";
|
_soundEffect = "snake_bite0";
|
||||||
_canSee = true;
|
_canSee = !(lineIntersects[eyePos _this, aimPos player, _this, player]);
|
||||||
_ppEffect = 0;
|
_ppEffect = 0;
|
||||||
};
|
};
|
||||||
case "GreatWhite_F": {
|
case "GreatWhite_F": {
|
||||||
|
@ -21,32 +21,6 @@ if (isNull _target) then {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (!isNull _target) then {
|
if (!isNull _target) then {
|
||||||
|
|
||||||
if (alive _target) then {
|
|
||||||
/*
|
|
||||||
if ((_target isKindOf "LandVehicle") || (_target isKindOf "Air") || (_target isKindOf "Ship") || (_target isKindOf "Tank")) then {
|
|
||||||
_dialog = "InteractVehicle";
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_ctrl) then {
|
|
||||||
if (_target isKindOf "Constructions_static_F" || _target isKindOf "Constructions_foundation_F") then {
|
|
||||||
_dialog = "InteractBaseBuilding";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
if (_target isKindOf "Man") then {
|
|
||||||
if (_target != player) then {
|
|
||||||
if (!isPlayer _target) then {
|
|
||||||
if ((_target getVariable["AI_SLOT", -1]) != -1) then {
|
|
||||||
_dialog = "InteractNPC";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
|
|
||||||
if (_forceGear) then {
|
if (_forceGear) then {
|
||||||
player action ["Gear", _target];
|
player action ["Gear", _target];
|
||||||
_handled = true;
|
_handled = true;
|
||||||
@ -57,4 +31,4 @@ if (!isNull _target) then {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_handled
|
_handled
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
private["_ok"];
|
private["_ok"];
|
||||||
|
if (isNull _this) exitWith {};
|
||||||
|
if !(alive _this) exitWith {};
|
||||||
_ok = createdialog "MissionSelect";
|
_ok = createdialog "MissionSelect";
|
||||||
if (!_ok) exitWith {};
|
if (!_ok) exitWith {};
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
private ["_index","_type","_config","_name","_picture","_qty","_items","_qtys","_ok","_vehicles","_aiItems","_target","_slot"];
|
private ["_index","_type","_config","_name","_picture","_qty","_items","_qtys","_ok","_vehicles","_aiItems","_target","_slot"];
|
||||||
_target = cursorTarget;
|
_target = cursorTarget;
|
||||||
_slot = _target getVariable ["AI_SLOT",-1];
|
if (alive _target) then {
|
||||||
if (_slot != -1) then {
|
_slot = _target getVariable ["AI_SLOT",-1];
|
||||||
EPOCH_lastNPCtradeTarget = _target;
|
if (_slot != -1) then {
|
||||||
closeDialog 0;
|
EPOCH_lastNPCtradeTarget = _target;
|
||||||
_ok = createdialog "TradeNPCMenu";
|
closeDialog 0;
|
||||||
if (!_ok) exitWith {};
|
_ok = createdialog "TradeNPCMenu";
|
||||||
9992 cutRsc["EpochGameUI2", "PLAIN", 2, false];
|
if (!_ok) exitWith {};
|
||||||
((uiNamespace getVariable "EPOCH_EpochGameUI2") displayCtrl 21208) ctrlSetText format["%1", EPOCH_playerCrypto];
|
9992 cutRsc["EpochGameUI2", "PLAIN", 2, false];
|
||||||
{lbAdd[42100,_x];lbAdd[42101,_x]} forEach ["All","Magazines","Items","Vehicles"];
|
((uiNamespace getVariable "EPOCH_EpochGameUI2") displayCtrl 21208) ctrlSetText format["%1", EPOCH_playerCrypto];
|
||||||
lbSetCurSel[42100, 0];
|
{lbAdd[42100,_x];lbAdd[42101,_x]} forEach ["All","Magazines","Items","Vehicles"];
|
||||||
lbSetCurSel[42101, 0];
|
lbSetCurSel[42100, 0];
|
||||||
};
|
lbSetCurSel[42101, 0];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
@ -25,9 +25,9 @@ private["_item", "_currQty", "_tradeType", "_itemWorth", "_aiItems", "_itemClass
|
|||||||
|
|
||||||
if (!isNil "EPOCH_TRADE_COMPLETE") exitWith {};
|
if (!isNil "EPOCH_TRADE_COMPLETE") exitWith {};
|
||||||
if (!isNil "EPOCH_TRADE_STARTED") exitWith{};
|
if (!isNil "EPOCH_TRADE_STARTED") exitWith{};
|
||||||
|
if (!isNull _this) exitWith{};
|
||||||
|
|
||||||
if (!isNull _this) then {
|
if (alive _this) then {
|
||||||
|
|
||||||
|
|
||||||
_config = 'CfgPricing' call EPOCH_returnConfig;
|
_config = 'CfgPricing' call EPOCH_returnConfig;
|
||||||
|
|
||||||
|
@ -24,8 +24,8 @@ class CfgActionMenu
|
|||||||
dyna_distance = "(player distance dyna_cursorTarget) < 5";
|
dyna_distance = "(player distance dyna_cursorTarget) < 5";
|
||||||
|
|
||||||
dyna_buildMode = "([10] call EPOCH_fnc_cursorTarget) call EPOCH_checkBuild;";
|
dyna_buildMode = "([10] call EPOCH_fnc_cursorTarget) call EPOCH_checkBuild;";
|
||||||
dyna_isVehicle = "if !(isNull dyna_cursorTarget && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'LandVehicle') || (dyna_cursorTarget isKindOf 'Air') || (dyna_cursorTarget isKindOf 'Ship') || (dyna_cursorTarget isKindOf 'Tank'))} else {false}";
|
dyna_isVehicle = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'LandVehicle') || (dyna_cursorTarget isKindOf 'Air') || (dyna_cursorTarget isKindOf 'Ship') || (dyna_cursorTarget isKindOf 'Tank'))} else {false}";
|
||||||
dyna_isTrader = "if !(isNull dyna_cursorTarget && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'Man') && (dyna_cursorTarget != player) && (!isPlayer dyna_cursorTarget) && ((dyna_cursorTarget getVariable['AI_SLOT', -1]) != -1))} else {false}";
|
dyna_isTrader = "if (!(isNull dyna_cursorTarget) && alive dyna_cursorTarget) then {((dyna_cursorTarget isKindOf 'Man') && (dyna_cursorTarget != player) && (!isPlayer dyna_cursorTarget) && ((dyna_cursorTarget getVariable['AI_SLOT', -1]) != -1))} else {false}";
|
||||||
dyna_locked = "locked dyna_cursorTarget in [2,3]";
|
dyna_locked = "locked dyna_cursorTarget in [2,3]";
|
||||||
dyna_lockedInVehicle = "locked vehicle player in [2,3]";
|
dyna_lockedInVehicle = "locked vehicle player in [2,3]";
|
||||||
};
|
};
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -513,6 +513,13 @@ class Epoch_Sapper_F: Epoch_Sapper_base_F
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
class Epoch_SapperG_F : Epoch_Sapper_F {
|
||||||
|
scope = 2;
|
||||||
|
displayName = "Sapper (Toxic)";
|
||||||
|
moves = "CfgMovesMaleSdr3";
|
||||||
|
hiddenSelections[] = {"camo","remains"};
|
||||||
|
hiddenSelectionsTextures[] = {"x\addons\a3_epoch_assets\textures\sapper\sapper_green_eco.paa",""};
|
||||||
|
};
|
||||||
class Epoch_SapperB_F : Epoch_Sapper_base_F
|
class Epoch_SapperB_F : Epoch_Sapper_base_F
|
||||||
{
|
{
|
||||||
scope = 2;
|
scope = 2;
|
||||||
|
@ -115,10 +115,10 @@ class CfgAnimationSourceSounds
|
|||||||
|
|
||||||
class CfgCommands
|
class CfgCommands
|
||||||
{
|
{
|
||||||
// allowedHTMLLoadURIs[] += // think this adds to an existing array
|
// allowedHTMLLoadURIs[] += // think this adds to an existing array?
|
||||||
allowedHTMLLoadURIs[] =
|
allowedHTMLLoadURIs[] +=
|
||||||
{
|
{
|
||||||
"https://raw.githubusercontent.com/epochmodteam/epoch/test/changelog.html" //there are some issues with capitalization used in github links
|
"http://epochmod.com*"
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -6,19 +6,23 @@
|
|||||||
Improvements and or bugfixes and other contributions are welcome via the github:
|
Improvements and or bugfixes and other contributions are welcome via the github:
|
||||||
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settings/EpochEvents/Earthquake.sqf
|
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_server_settings/EpochEvents/Earthquake.sqf
|
||||||
*/
|
*/
|
||||||
private ["_marker","_minerals","_randomIndex","_item","_plyrsNearEpicenter","_position"];
|
private ["_marker","_minerals","_randomIndex","_item","_plyrsNearEpicenter","_position","_chance"];
|
||||||
_position = [epoch_centerMarkerPosition, 0, EPOCH_dynamicVehicleArea, 10, 0, 1000, 0] call BIS_fnc_findSafePos;
|
_position = [epoch_centerMarkerPosition, 0, EPOCH_dynamicVehicleArea, 10, 0, 1000, 0] call BIS_fnc_findSafePos;
|
||||||
if ((count _position) == 2) then{
|
if ((count _position) == 2) then{
|
||||||
_plyrsNearEpicenter = _position nearEntities[["Epoch_Male_F", "Epoch_Female_F"], 1000];
|
_plyrsNearEpicenter = _position nearEntities[["Epoch_Male_F", "Epoch_Female_F"], 1000];
|
||||||
if !(_plyrsNearEpicenter isEqualTo[]) then{
|
if !(_plyrsNearEpicenter isEqualTo[]) then{
|
||||||
|
|
||||||
if ((random 1) > 0.5) then{
|
// decrease chance with more players
|
||||||
|
_chance = linearConversion [1, 100, (count allPlayers), 0, 0.5, true];
|
||||||
|
if ((random 1) > _chance) then {
|
||||||
// send earthquake to each player in zone
|
// send earthquake to each player in zone
|
||||||
{
|
{
|
||||||
[["earthQuake", _position], (owner _x)] call EPOCH_sendPublicVariableClient;
|
[["earthQuake", _position], (owner _x)] call EPOCH_sendPublicVariableClient;
|
||||||
}forEach _plyrsNearEpicenter;
|
}forEach _plyrsNearEpicenter;
|
||||||
|
|
||||||
_minerals = ["MineralDepositCopper_EPOCH", "MineralDepositGold_EPOCH", "MineralDepositSilver_EPOCH"];
|
_minerals = ["MineralDepositCopper_EPOCH", "MineralDepositGold_EPOCH", "MineralDepositSilver_EPOCH"];
|
||||||
_randomIndex = floor(random(count _minerals));
|
_randomIndex = floor(random(count _minerals));
|
||||||
|
|
||||||
_item = createVehicle[(_minerals select _randomIndex), _position, [], 0.0, "CAN_COLLIDE"];
|
_item = createVehicle[(_minerals select _randomIndex), _position, [], 0.0, "CAN_COLLIDE"];
|
||||||
if (EPOCH_showEarthQuakes) then{
|
if (EPOCH_showEarthQuakes) then{
|
||||||
_marker = createMarker[str(_position), _position];
|
_marker = createMarker[str(_position), _position];
|
||||||
|
Loading…
Reference in New Issue
Block a user