diff --git a/Server_Install_Pack/@epochhive/addons/epoch_server.pbo b/Server_Install_Pack/@epochhive/addons/epoch_server.pbo
index 96073ce9..5a92999f 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 c21319a3..24f7eb27 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 df69385b..9cca7531 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 42a70689..e43df9eb 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 ba061bf1..e67f3919 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 b738dc65..7c8c5f72 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 65fe3c6f..0ced131d 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 5e4ac469..5208d21f 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 ff9b3e99..a9f28cda 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 f4809d98..1734bab9 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 c0ffafc3..2d681bfc 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 d5669bee..e2971823 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 a27776dd..a748a4c1 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 5c6c9757..1812e3ea 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 1cf0737c..5d4f6072 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 7357ae9d..e70a21fb 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 f2257130..94cd70ad 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 06e7bf49..50cd1a90 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 cbbd6ead..1fe62167 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 49c73c56..24fa4659 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 1804aced..fc9a1be1 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.VR.pbo b/Server_Install_Pack/mpmissions/epoch.VR.pbo
index 188204bc..b9f48227 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 162ba10c..747e3485 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 605eaff8..2394dc0d 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 8355d4bf..4efac0c8 100644
Binary files a/Server_Install_Pack/mpmissions/epoch.utes.pbo and b/Server_Install_Pack/mpmissions/epoch.utes.pbo differ
diff --git a/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf b/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
index 678e4100..976fbd6e 100644
--- a/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
@@ -1,149 +1,123 @@
/*
- Author: Aaron Clark - EpochMod.com
+Author: Aaron Clark - EpochMod.com
- Contributors:
+Contributors:
- Description:
- Epoch Change wall state
+Description:
+Epoch Change wall state
- Licence:
- Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
+Licence:
+Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
- Github:
- https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
+Github:
+https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/compile/building/EPOCH_changeWallState.sqf
- Example:
- [_this,"NWall",1] call EPOCH_changeWallState;
+Example:
+[_this,"NWall",1] call EPOCH_changeWallState;
- Parameter(s):
- _this select 0: OBJECT - Base building object
- _this select 1: STRING - Name of animation
- _this select 1: SCALAR - state
- 0: true = add wall
- 1: false = remove wall
+Parameter(s):
+_this select 0: OBJECT - Base building object
+_this select 1: STRING - Name of animation
+_this select 1: SCALAR - state
+0: true = add wall
+1: false = remove wall
- Returns:
- NOTHING
+Returns:
+NOTHING
*/
-private ["_recipeItem","_recipeQty","_hasRecipeItems","_msg","_recipeCount","_currentCount","_numRemoved","_items","_mags","_recipe","_craftItem","_craftQty","_config","_objClass"];
-params [
- ["_object",objNull],
- ["_anim",""],
- ["_state",0]
+private["_recipeItem", "_recipeQty", "_hasRecipeItems", "_msg", "_recipeCount", "_currentCount", "_numRemoved", "_items", "_mags", "_recipe", "_craftItem", "_craftQty", "_config", "_objClass"];
+params[
+ ["_object", objNull],
+ ["_anim", ""],
+ ["_state", 0]
];
-
-if !(isNull _object) then {
-
- _msg = "Missing Items";
- // Get config
- _config = 'CfgBaseBuilding' call EPOCH_returnConfig;
-
- // upgradeBuildingPart
- _objClass = typeOf _object;
-
- // Add part
- if (_state == 1) then {
- _recipe = getArray(_config >> _objClass >> "upgradeBuildingPart");
-
- _mags = magazines player;
-
- _recipeCount = 0;
- _numRemoved = 0;
- _hasRecipeItems = true;
-
- // Dry Run
- {
- _recipeItem = _x;
- _recipeQty = 1;
- if (_x isEqualType []) then {
- _recipeItem = _x select 0;
- _recipeQty = _x select 1;
- };
- _recipeCount = _recipeCount + _recipeQty;
- _currentCount = { _x == _recipeItem } count _mags;
- if (_currentCount < _recipeQty) exitWith {
- _hasRecipeItems = false;
- _msg = format["Need %2 %1 Have %3", _recipeItem call EPOCH_itemDisplayName,_recipeCount ,_currentCount];
- };
- }forEach _recipe;
-
- // remove item
- if (_hasRecipeItems) then {
- {
- _recipeItem = _x;
- _recipeQty = 1;
- if (_x isEqualType []) then {
- _recipeItem = _x select 0;
- _recipeQty = _x select 1;
- };
- if ([_recipeItem, "CfgWeapons"] call EPOCH_fnc_isAny) then {
- _items = items player;
- _currentCount = { _x == _recipeItem } count _items;
- if (_currentCount >= _recipeQty) then {
- for "_i" from 1 to _recipeQty do {
- if (_recipeItem in _items) then {
- player removeItem _recipeItem;
- _numRemoved = _numRemoved + 1;
- };
- };
- };
-
- } else {
-
- _mags = magazines player;
- _currentCount = { _x == _recipeItem } count _mags;
- if (_currentCount >= _recipeQty) then {
- for "_i" from 1 to _recipeQty do {
- if (_recipeItem in _mags) then {
- player removeMagazine _recipeItem;
- _numRemoved = _numRemoved + 1;
- };
- };
- };
- };
-
- }forEach _recipe;
- };
-
- if (_numRemoved == _recipeCount) then {
- _object animate [_anim, _state, true];
-
- // push interacted object to queue to save later
- EPOCH_arr_interactedObjs pushBackUnique _object;
-
- [format["%1 part on %2","Added",_objClass call EPOCH_itemDisplayName],5] call Epoch_dynamicText;
-
- [format["%1 part on %2","Added",_objClass call EPOCH_itemDisplayName], 5] call Epoch_dynamicText;
-
- } else {
- [format["%1", _msg], 5] call Epoch_dynamicText;
- };
-
-
-
- } else {
-
- // Remove part
- _recipe = getArray(_config >> _objClass >> "removeBuildingPart");
-
- _object animate [_anim, _state, true];
-
- // push interacted object to save queue to save later
- EPOCH_arr_interactedObjs pushBackUnique _object;
-
- {
- _craftItem = _x;
- _craftQty = 1;
- if (_x isEqualType []) then {
- _craftItem = _x select 0;
- _craftQty = _x select 1;
- };
- for "_i" from 1 to _craftQty do {
- _craftItem call EPOCH_fnc_addItemOverflow;
- };
- }forEach _recipe;
-
- [format["%1 part on %2","Removed",_objClass call EPOCH_itemDisplayName], 5] call Epoch_dynamicText;
- };
-
+if !(isNull _object) then{
+ _msg = "Missing Items";
+ // Get config
+ _config = 'CfgBaseBuilding' call EPOCH_returnConfig;
+ // upgradeBuildingPart
+ _objClass = typeOf _object;
+ // Add part
+ if (_state == 1) then{
+ _recipe = getArray(_config >> _objClass >> "upgradeBuildingPart");
+ _mags = magazines player;
+ _recipeCount = 0;
+ _numRemoved = 0;
+ _hasRecipeItems = true;
+ // Dry Run
+ {
+ _recipeItem = _x;
+ _recipeQty = 1;
+ if (_x isEqualType[]) then{
+ _recipeItem = _x select 0;
+ _recipeQty = _x select 1;
+ };
+ _recipeCount = _recipeCount + _recipeQty;
+ _currentCount = { _x == _recipeItem } count _mags;
+ if (_currentCount < _recipeQty) exitWith{
+ _hasRecipeItems = false;
+ _msg = format["Need %2 %1 Have %3", _recipeItem call EPOCH_itemDisplayName, _recipeCount, _currentCount];
+ };
+ }forEach _recipe;
+ // remove item
+ if (_hasRecipeItems) then{
+ {
+ _recipeItem = _x;
+ _recipeQty = 1;
+ if (_x isEqualType[]) then{
+ _recipeItem = _x select 0;
+ _recipeQty = _x select 1;
+ };
+ if ([_recipeItem, "CfgWeapons"] call EPOCH_fnc_isAny) then{
+ _items = items player;
+ _currentCount = { _x == _recipeItem } count _items;
+ if (_currentCount >= _recipeQty) then{
+ for "_i" from 1 to _recipeQty do {
+ if (_recipeItem in _items) then{
+ player removeItem _recipeItem;
+ _numRemoved = _numRemoved + 1;
+ };
+ };
+ };
+ } else {
+ _mags = magazines player;
+ _currentCount = { _x == _recipeItem } count _mags;
+ if (_currentCount >= _recipeQty) then{
+ for "_i" from 1 to _recipeQty do {
+ if (_recipeItem in _mags) then{
+ player removeMagazine _recipeItem;
+ _numRemoved = _numRemoved + 1;
+ };
+ };
+ };
+ };
+ }forEach _recipe;
+ };
+ if (_numRemoved == _recipeCount) then{
+ _object animate[_anim, _state, true];
+ // push interacted object to queue to save later
+ EPOCH_arr_interactedObjs pushBackUnique _object;
+ [format["%1 part on %2", "Added", _objClass call EPOCH_itemDisplayName], 5] call Epoch_dynamicText;
+ } else {
+ [format["%1", _msg], 5] call Epoch_dynamicText;
+ };
+ } else {
+ // Remove part
+ _recipe = getArray(_config >> _objClass >> "removeBuildingPart");
+ _object animate[_anim, _state, true];
+ // push interacted object to save queue to save later
+ EPOCH_arr_interactedObjs pushBackUnique _object;
+ {
+ _craftItem = _x;
+ _craftQty = 1;
+ if (_x isEqualType[]) then{
+ _craftItem = _x select 0;
+ _craftQty = _x select 1;
+ };
+ for "_i" from 1 to _craftQty do {
+ _craftItem call EPOCH_fnc_addItemOverflow;
+ };
+ }forEach _recipe;
+ [format["%1 part on %2", "Removed", _objClass call EPOCH_itemDisplayName], 5] call Epoch_dynamicText;
+ };
};
diff --git a/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf b/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf
index 13da89b9..bb100be3 100644
--- a/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf
+++ b/Sources/epoch_code/compile/building/EPOCH_simulSwap.sqf
@@ -174,10 +174,7 @@ if (isText(_simulClassConfig)) then {
} forEach _snapArrayPerp;
};
if (_isSnap && _distance < 5) then {
- _pos2 = _snapPosition;
- if (!surfaceIsWater _pos2) then {
- _pos2 = ATLtoASL _pos2;
- };
+ _pos2 = AGLToASL _snapPosition;
_vel2 = (velocity _nearestObject);
_direction = getDir _nearestObject;
if (_snapType == "perp") then {
diff --git a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
index d5b0902c..21a78ff7 100644
--- a/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
+++ b/Sources/epoch_code/compile/functions/EPOCH_fnc_playerFired.sqf
@@ -27,23 +27,21 @@
Returns:
NOTHING
*/
-private ["_heal","_highestDMG","_currentHIT","_currentDMG","_newDMG","_attachments","_cursorTarget","_repaired","_gesture","_droneChance"];
+private ["_heal","_highestDMG","_currentHIT","_currentDMG","_newDMG","_attachments","_cursorTarget","_repaired","_gesture","_nuisanceLevel"];
params ["_unit","_weapon","_muzzle","_mode","_ammo","_magazine","_projectile"];
+EPOCH_lastFiredLocation = getPosATL player;
switch true do {
case (_ammo isKindOf "B_EnergyPack"): {
if (!isNull cursorTarget) then {
_cursorTarget = cursorTarget;
_repaired = false;
if ((player distance _cursorTarget) <= 6) then {
-
_attachments = handgunItems player;
_heal = false;
-
if (_cursorTarget isKindOf "Man") then {
if ("Heal_EPOCH" in _attachments) then {
_heal = true;
};
-
if ("Defib_EPOCH" in _attachments) then {
if (!alive _cursorTarget) then {
[_cursorTarget,player,Epoch_personalToken] remoteExec ["EPOCH_server_revivePlayer",2];
@@ -65,11 +63,8 @@ switch true do {
_currentHIT = _forEachIndex;
};
}forEach((getAllHitPointsDamage _cursorTarget) param[2,[]]);
-
if (_highestDMG > 0) then {
-
_newDMG = ((_highestDMG - 0.5) max 0);
-
if (local _cursorTarget) then {
[_cursorTarget,[_currentHIT,_newDMG]] call EPOCH_client_repairVehicle;
} else {
@@ -84,13 +79,11 @@ switch true do {
};
};
};
-
case (_ammo isKindOf "B_Hatchet"): {
_gesture = selectRandom ["GestureSwing0", "GestureSwing1", "GestureSwing2"];
player playActionNow _gesture;
call EPOCH_chopWood;
};
-
case (_ammo isKindOf "B_Swing" || _ammo isKindOf "B_Stick") : {
player playActionNow "SledgeSwing";
call EPOCH_mineRocks;
@@ -101,23 +94,26 @@ switch true do {
call EPOCH_fish;
};
};
-
case (_ammo isKindOf "ChainSaw_Bullet"): {
call EPOCH_chopWood;
};
-
default {
- _droneChance = 2;
- if !(EPOCH_nearestLocations isEqualTo[]) then{
- _droneChance = _droneChance * 2;
+ _ammoConfig = (configFile >> "CfgAmmo" >> _ammo);
+ _nuisanceLevel = ceil(getNumber (_ammoConfig >> "audibleFire") * getNumber (_ammoConfig >> "caliber"));
+ // reduce when not in a city or town
+ if (EPOCH_nearestLocations isEqualTo[]) then{
+ _nuisanceLevel = _nuisanceLevel / 2;
};
- // reduce chance to spawn by 50% if weapon has silencer
+ // reduce if using a silencer
if (((player weaponAccessories _muzzle) select 0) != "") then{
- _droneChance = _droneChance / 2;
+ _nuisanceLevel = _nuisanceLevel / 2;
};
- // 2% chance (+ 4% chance if in city) to spawn drone if shot fired (1% - 2% Half if using silencer)
- if (random EPOCH_droneRndChance < _droneChance) then{
- "I_UAV_01_F" call EPOCH_unitSpawnIncrease;
+ // force spawn increase once player has become a Nuisance
+ if (EPOCH_playerNuisance >= 50 && {random EPOCH_droneRndChance < EPOCH_playerNuisance}) then{
+ (selectRandom ["I_UAV_01_F","Epoch_Sapper_F"]) call EPOCH_unitSpawnIncrease;
};
+ // Nuisance System 0.1
+ (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 cfd491bd..66ca1a48 100644
--- a/Sources/epoch_code/compile/setup/masterLoop/Event2.sqf
+++ b/Sources/epoch_code/compile/setup/masterLoop/Event2.sqf
@@ -20,7 +20,7 @@ if (damage player != _damagePlayer) then {
_energyValue = EPOCH_chargeRate min _energyRegenMax;
_vehicle = vehicle player;
if (_vehicle != player && isEngineOn _vehicle) then {
- _energyValue = _energyValue + 5;
+ _energyValue = _energyValue + 5;
};
if (currentVisionMode player == 1) then { //NV enabled
@@ -45,7 +45,6 @@ if !(EPOCH_playerEnergy isEqualTo _prevEnergy) then {
_display3 = uiNamespace getVariable "EPOCH_EpochGameUI3";
_energyDiff = round(EPOCH_playerEnergy - _prevEnergy);
_diffText = if (_energyDiff > 0) then {format["+%1",_energyDiff]} else {format["%1",_energyDiff]};
- // hint str [_energyValue,_prevEnergy,EPOCH_playerEnergy];
(_display3 displayCtrl 21210) ctrlSetText format["%1/%2 %3", round(EPOCH_playerEnergy), EPOCH_playerEnergyMax, _diffText];
_prevEnergy = EPOCH_playerEnergy;
};
@@ -67,7 +66,6 @@ if !(_attackers isEqualTo[]) then {
(_attackers select 0) call EPOCH_client_bitePlayer;
_panic = true;
} else {
- // custom poision
_toxicObjs = player nearobjects["SmokeShellCustom", 6];
if!(_toxicObjs IsEqualTo[]) then {
(_toxicObjs select 0) call EPOCH_client_bitePlayer;
@@ -95,3 +93,7 @@ EPOCH_playerThirst = (EPOCH_playerThirst - _HTlossRate) max 0;
call _lootBubble;
EPOCH_playerStaminaMax = (100 * (round(EPOCH_playerAliveTime/360)/10)) min 2500;
+
+// downtick Nuisance
+(EPOCH_customVarLimits select (EPOCH_customVars find "Nuisance")) params [["_playerLimitMax",100],["_playerLimitMin",0]];
+EPOCH_playerNuisance = ((EPOCH_playerNuisance - 1) min _playerLimitMax) max _playerLimitMin;
diff --git a/Sources/epoch_code/compile/setup/masterLoop/Event4.sqf b/Sources/epoch_code/compile/setup/masterLoop/Event4.sqf
index b6cca8d8..450c9f5e 100644
--- a/Sources/epoch_code/compile/setup/masterLoop/Event4.sqf
+++ b/Sources/epoch_code/compile/setup/masterLoop/Event4.sqf
@@ -1,11 +1,4 @@
-_nearByBobbersLocal = [];
-_nearByBobbers = player nearEntities[["Bobber_EPOCH"], 12];
-{
- if (local _x) then {
- _nearByBobbersLocal pushBack _x
- }
-} forEach _nearByBobbers;
-
+_nearByBobbersLocal = (player nearEntities[["Bobber_EPOCH"], 12]) select {local _x};
if !(_nearByBobbersLocal isEqualTo []) then {
if ((random 100) < 50) then {
_bobber = selectRandom _nearByBobbersLocal;
diff --git a/Sources/epoch_code/init/client_init.sqf b/Sources/epoch_code/init/client_init.sqf
index a7fca266..534f3ab5 100644
--- a/Sources/epoch_code/init/client_init.sqf
+++ b/Sources/epoch_code/init/client_init.sqf
@@ -54,6 +54,7 @@ EPOCH_soundLevel = 1;
EPOCH_arr_interactedObjs = [];
EPOCH_buildOption = 0;
EPOCH_nearestLocations = [];
+EPOCH_lastFiredLocation = [];
["EPOCH_onEachFrame", "onEachFrame", EPOCH_onEachFrame] call BIS_fnc_addStackedEventHandler;
diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp
index 6624ac21..2a8031b3 100644
--- a/Sources/epoch_config/Configs/CfgEpochClient.hpp
+++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp
@@ -51,7 +51,8 @@ class CfgEpochClient
{"SpawnArray",{},{}},
{"Karma",0,{50000,-50000}},
{"Alcohol",0,{100,0}},
- {"Radiation",0,{100,0}}
+ {"Radiation",0,{100,0}},
+ {"Nuisance",0,{100,0}}
};
// controls max group limit and cost
group_upgrade_lvl[] = {4,"100",6,"300",8,"500",10,"1000",12,"1500",13,"1750",14,"2000",15,"3000",16,"5000"};
diff --git a/Sources/epoch_config/build.hpp b/Sources/epoch_config/build.hpp
index 20993ce7..11031b84 100644
--- a/Sources/epoch_config/build.hpp
+++ b/Sources/epoch_config/build.hpp
@@ -1 +1 @@
-build=456;
+build=465;
diff --git a/Sources/epoch_server/build.hpp b/Sources/epoch_server/build.hpp
index 20993ce7..11031b84 100644
--- a/Sources/epoch_server/build.hpp
+++ b/Sources/epoch_server/build.hpp
@@ -1 +1 @@
-build=456;
+build=465;
diff --git a/Sources/epoch_server/init/server_init.sqf b/Sources/epoch_server/init/server_init.sqf
index 91d33783..dc769c2e 100644
--- a/Sources/epoch_server/init/server_init.sqf
+++ b/Sources/epoch_server/init/server_init.sqf
@@ -54,6 +54,7 @@ if (isNil "_instanceID") exitWith{
EPOCH_modCUPWeaponsEnabled = (getNumber (configFile >> "CfgPatches" >> "CUP_WheeledVehicles_Core" >> "requiredVersion") > 0);
EPOCH_modCUPVehiclesEnabled = (getNumber (configFile >> "CfgPatches" >> "CUP_Weapons_WeaponsCore" >> "requiredVersion") > 0);
+EPOCH_mod_Ryanzombies_Enabled = (parseNumber (getText (configFile >> "CfgPatches" >> "Ryanzombies" >> "version")) >= 4.2);
if (EPOCH_modCUPWeaponsEnabled) then {
diag_log "Epoch: CUP Weapons detected";
@@ -61,6 +62,9 @@ if (EPOCH_modCUPWeaponsEnabled) then {
if (EPOCH_modCUPVehiclesEnabled) then {
diag_log "Epoch: CUP Vehicles detected";
};
+if (EPOCH_mod_Ryanzombies_Enabled) then {
+ diag_log "Epoch: Ryanzombies detected";
+};
diag_log "Epoch: Init Variables";
call compile preprocessFileLineNumbers "\epoch_server\init\server_variables.sqf";
diff --git a/Sources/epoch_server_core/build.hpp b/Sources/epoch_server_core/build.hpp
index 20993ce7..11031b84 100644
--- a/Sources/epoch_server_core/build.hpp
+++ b/Sources/epoch_server_core/build.hpp
@@ -1 +1 @@
-build=456;
+build=465;
diff --git a/Sources/epoch_server_settings/build.hpp b/Sources/epoch_server_settings/build.hpp
index 20993ce7..11031b84 100644
--- a/Sources/epoch_server_settings/build.hpp
+++ b/Sources/epoch_server_settings/build.hpp
@@ -1 +1 @@
-build=456;
+build=465;
diff --git a/Tools/PowerShell/PBO_packaging_tool_GUI.exe b/Tools/PowerShell/PBO_packaging_tool_GUI.exe
new file mode 100644
index 00000000..a951e04f
Binary files /dev/null and b/Tools/PowerShell/PBO_packaging_tool_GUI.exe differ
diff --git a/Tools/PowerShell/PBO_packaging_tool_GUI.ps1 b/Tools/PowerShell/PBO_packaging_tool_GUI.ps1
index ed7b161d..c78634b0 100644
--- a/Tools/PowerShell/PBO_packaging_tool_GUI.ps1
+++ b/Tools/PowerShell/PBO_packaging_tool_GUI.ps1
@@ -5,18 +5,22 @@
#
# %TEMP%
#
-# true
+# false
+# F:\ARCHIVE\Downloads\logo_only_1024.ico
# false
+# Epoch Mod PBO Packer
# false
# true
# true
# false
# true
-#
+# Epoch PBO Packing Tool
+# Epoch PBO Packing Tool
# 1.0.0.1
-#
-#
-#
+# 1.0
+# Tool to aid in the packing of Epoch Mod source files
+# By Raimonds Virtoss and Aaron Clark
+# EpochMod.com
# false
# false
# false
@@ -65,7 +69,7 @@ $Label4.Anchor = ([System.Windows.Forms.AnchorStyles]([System.Windows.Forms.Anch
$Label4.Location = New-Object System.Drawing.Point(12, 9)
$Label4.Size = New-Object System.Drawing.Size(808, 18)
$Label4.TabIndex = 1
-$Label4.Text = "Why do farts smell? So deaf people can enjoy them too."
+$Label4.Text = ""
$Label4.TextAlign = [System.Drawing.ContentAlignment]::MiddleCenter
$Label4.add_Click({Label4Click($Label4)})
#~~< TabControl1 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -158,11 +162,25 @@ $TabPage2.Size = New-Object System.Drawing.Size(800, 503)
$TabPage2.TabIndex = 1
$TabPage2.Text = "Settings"
$TabPage2.BackColor = [System.Drawing.SystemColors]::Control
+#~~< Label19 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+$Label19 = New-Object System.Windows.Forms.Label
+$Label19.Location = New-Object System.Drawing.Point(7, 372)
+$Label19.Size = New-Object System.Drawing.Size(145, 14)
+$Label19.TabIndex = 38
+$Label19.Text = "BIPrivatekey Location:"
+#~~< TextBox13 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+$TextBox13 = New-Object System.Windows.Forms.TextBox
+$TextBox13.Location = New-Object System.Drawing.Point(139, 349)
+$TextBox13.ReadOnly = $true
+$TextBox13.Size = New-Object System.Drawing.Size(96, 20)
+$TextBox13.TabIndex = 33
+$TextBox13.Text = ""
+$TextBox13.add_TextChanged({TextBox13TextChanged($TextBox13)})
#~~< Label18 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$Label18 = New-Object System.Windows.Forms.Label
-$Label18.Font = New-Object System.Drawing.Font("Microsoft Sans Serif", 14.25, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
-$Label18.Location = New-Object System.Drawing.Point(270, 225)
-$Label18.Size = New-Object System.Drawing.Size(179, 29)
+$Label18.Font = New-Object System.Drawing.Font("Stencil Std", 12.0, [System.Drawing.FontStyle]::Bold, [System.Drawing.GraphicsUnit]::Point, ([System.Byte](0)))
+$Label18.Location = New-Object System.Drawing.Point(6, 223)
+$Label18.Size = New-Object System.Drawing.Size(235, 29)
$Label18.TabIndex = 37
$Label18.Text = "Sign File Settings"
$Label18.add_Click({Label18Click($Label18)})
@@ -171,8 +189,22 @@ $Label16 = New-Object System.Windows.Forms.Label
$Label16.Location = New-Object System.Drawing.Point(6, 292)
$Label16.Size = New-Object System.Drawing.Size(643, 14)
$Label16.TabIndex = 34
-$Label16.Text = "Path to Arma 3 Tools (DSSignFile) biprivatekey:"
+$Label16.Text = "Path to Arma 3 Tools (DSCreateKey):"
$Label16.add_Click({Label16Click($Label16)})
+#~~< Label15 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+$Label15 = New-Object System.Windows.Forms.Label
+$Label15.Location = New-Object System.Drawing.Point(139, 332)
+$Label15.Size = New-Object System.Drawing.Size(145, 14)
+$Label15.TabIndex = 32
+$Label15.Text = "Sign Version:"
+$Label15.add_Click({Label15Click($Label15)})
+#~~< Label13 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+$Label13 = New-Object System.Windows.Forms.Label
+$Label13.Location = New-Object System.Drawing.Point(6, 386)
+$Label13.Size = New-Object System.Drawing.Size(785, 15)
+$Label13.TabIndex = 29
+$Label13.Text = ""
+$Label13.add_Click({Label13Click($Label13)})
#~~< Label17 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$Label17 = New-Object System.Windows.Forms.Label
$Label17.Location = New-Object System.Drawing.Point(6, 252)
@@ -349,8 +381,12 @@ $TextBox1.Location = New-Object System.Drawing.Point(6, 21)
$TextBox1.Size = New-Object System.Drawing.Size(726, 20)
$TextBox1.TabIndex = 0
$TextBox1.Text = ""
+$TabPage2.Controls.Add($Label19)
+$TabPage2.Controls.Add($TextBox13)
$TabPage2.Controls.Add($Label18)
$TabPage2.Controls.Add($Label16)
+$TabPage2.Controls.Add($Label15)
+$TabPage2.Controls.Add($Label13)
$TabPage2.Controls.Add($Label17)
$TabPage2.Controls.Add($Button17)
$TabPage2.Controls.Add($Label14)
@@ -385,27 +421,6 @@ $TabPage3.Size = New-Object System.Drawing.Size(800, 503)
$TabPage3.TabIndex = 2
$TabPage3.Text = "Developers"
$TabPage3.BackColor = [System.Drawing.SystemColors]::Control
-#~~< TextBox13 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-$TextBox13 = New-Object System.Windows.Forms.TextBox
-$TextBox13.Location = New-Object System.Drawing.Point(6, 133)
-$TextBox13.Size = New-Object System.Drawing.Size(96, 20)
-$TextBox13.TabIndex = 33
-$TextBox13.Text = ""
-$TextBox13.add_TextChanged({TextBox13TextChanged($TextBox13)})
-#~~< Label15 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-$Label15 = New-Object System.Windows.Forms.Label
-$Label15.Location = New-Object System.Drawing.Point(6, 115)
-$Label15.Size = New-Object System.Drawing.Size(145, 14)
-$Label15.TabIndex = 32
-$Label15.Text = "Sign Version:"
-$Label15.add_Click({Label15Click($Label15)})
-#~~< Label13 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-$Label13 = New-Object System.Windows.Forms.Label
-$Label13.Location = New-Object System.Drawing.Point(6, 397)
-$Label13.Size = New-Object System.Drawing.Size(785, 15)
-$Label13.TabIndex = 29
-$Label13.Text = ""
-$Label13.add_Click({Label13Click($Label13)})
#~~< Button15 >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$Button15 = New-Object System.Windows.Forms.Button
$Button15.Location = New-Object System.Drawing.Point(6, 240)
@@ -503,9 +518,6 @@ $Button4.Size = New-Object System.Drawing.Size(54, 21)
$Button4.TabIndex = 13
$Button4.Text = "Browse"
$Button4.UseVisualStyleBackColor = $true
-$TabPage3.Controls.Add($TextBox13)
-$TabPage3.Controls.Add($Label15)
-$TabPage3.Controls.Add($Label13)
$TabPage3.Controls.Add($Button15)
$TabPage3.Controls.Add($Button12)
$TabPage3.Controls.Add($Label6)
@@ -563,6 +575,8 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
#region Custom Code
# Defines
+
+ $Label4.Text = Get-Random -InputObject "Bug? That's not a bug, that's a feature.", "A bug in the code is worth two in the documentation."
$ListView1.CheckBoxes = $true
$FolderBrowserDialog1.ShowNewFolderButton = $false
@@ -694,11 +708,34 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
$p6 = Join-Path $Textbox4.Text "\version.txt"
$p7 = Join-Path $Textbox4.Text "\build.txt"
$p8 = Join-Path $Textbox2.Text "\build.txt"
- $p9 = Join-Path $Textbox4.Text "\version_int.txt"
$Textbox6.Text = if (Test-Path $p6) { Get-Content $p6 } else { "Path not set" }
$Textbox7.Text = if (Test-Path $p7) { Get-Content $p7 } else { "Path not set" }
$Textbox8.Text = if (Test-Path $p8) { Get-Content $p8 } else { "Path not set" }
- $Textbox13.Text = if (Test-Path $p9) { Get-Content $p9 } else { "Path not set" }
+ $Textbox13.Text = if (Test-Path $p6) { (Get-Content $p6) -replace '[.]','' } else { "" }
+ }
+
+ function fnc_updateBuildNumber($inpath, $outpath, $increment)
+ {
+ if ($Checkbox1.Checked)
+ {
+ $path = Join-Path $inpath "\build.txt"
+ if (Test-Path $path)
+ {
+ $in = Get-Content $path
+
+ $newBuild = [int]$in + $increment
+ $Out = @(
+ 'build=' + [string]$newBuild + ';'
+ )
+
+ $Out | Out-File(Join-Path $outpath "\build.hpp") -Encoding "UTF8"
+ $newBuild | Out-File $path -Encoding "UTF8"
+ if ($increment -eq 1)
+ {
+ fnc_reloadVersions
+ }
+ }
+ }
}
function fnc_updateVersions
@@ -706,7 +743,6 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
$p6 = Join-Path $Textbox4.Text "\version.txt"
$p7 = Join-Path $Textbox4.Text "\build.txt"
$p8 = Join-Path $Textbox2.Text "\build.txt"
- $p9 = Join-Path $Textbox4.Text "\version_int.txt"
if (($Textbox6.Text -ne "Path not set") -and (Test-Path $p6))
{
@@ -720,10 +756,6 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
{
$TextBox8.Text | Out-File $p8 -Encoding "UTF8"
}
- if (($Textbox9.Text -ne "Path not set") -and (Test-Path $p9))
- {
- $TextBox9.Text | Out-File $p9 -Encoding "UTF8"
- }
}
function fnc_getSetPath($switch)
@@ -836,22 +868,41 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
function fnc_devEnableDisable
{
$cbstate = $CheckBox1.Checked
-
+
$TextBox4.Enabled = $cbstate
$TextBox6.Enabled = $cbstate
$TextBox7.Enabled = $cbstate
$TextBox8.Enabled = $cbstate
- $TextBox13.Enabled = $cbstate
+ $TextBox13.Enabled = $cbstate
+ $TextBox11.Enabled = $cbstate
+ $TextBoxPboPrefix.Enabled = $cbstate
+ $TextBoxBISignPrefix.Enabled = $cbstate
$Button4.Enabled = $cbstate
$Button15.Enabled = $cbstate
$Button12.Enabled = $cbstate
-
+ $Button17.Enabled = $cbstate
+
$ComboBox1.Enabled = $cbstate
-
+
$ListView1.Items.Clear()
fnc_populateListView
}
+
+ function fnc_outputmodcpp
+ {
+ $Output = Join-Path $TextBox1.Text $ComboBox1.SelectedItem
+ $Out = @(
+ 'dir = "@Epoch";'
+ 'name = "Epoch Mod ' + $Textbox6.Text + '";'
+ 'actionName = "Website";'
+ 'picture = "mod.paa";'
+ 'action = "http://www.epochmod.com";'
+ 'overview = "Open world survival mod set in the year 2035, Just two years after the mass extinction of billions of people. Those that remain are left with remnants of a once technological society. Try to survive, build, or explore your way through the harsh dynamic environment.";'
+ )
+
+ $Out | Out-File (Join-Path $Output "mod.cpp")
+ }
function fnc_settingsSave
{
@@ -903,19 +954,28 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
function fnc_CreatePBO
{
+
#
- $signName = ($TextBox12.Text + $TextBox13.Text)
+ $signName = ($TextBoxBISignPrefix.Text + $TextBox13.Text)
$signFileName = ($signName + ".biprivatekey")
$signfile = Join-Path $TextBox11.Text $signFileName
# make privatekey if it does not exist
- if (!(Test-Path $signfile)) {
+ if (!(Test-Path $signfile))
+ {
$createKeyExecutable = Join-Path $TextBox11.Text "DSCreateKey.exe"
$argz = @($signName)
Start-Process -FilePath $createKeyExecutable -WorkingDirectory $TextBox11.Text -ArgumentList $argz -WindowStyle Minimized -Wait
$Label4.Text = "Making Private Key... Please wait"
$Label4.Refresh()
}
+
+ fnc_outputmodcpp
+ # increase build numbers
+
+ $incrementClientBuild = 1
+ $incrementServerBuild = 1
+
$Bob = Join-Path $TextBox3.Text "\AddonBuilder.exe"
$includes = "P:\includes.txt"
@@ -943,33 +1003,47 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
$Output = $TextBox10.Text
if (Test-Path $tmp) { Remove-Item -Path $tmp -Recurse }
Copy-Item -Path $x.subitems[1].Text -Destination $tmp -Recurse
+
+ fnc_updateBuildNumber $TextBox2.Text ($x.subitems[1].Text) $incrementServerBuild
+ $incrementServerBuild = 0
- $argz = @($tmp, ( '"' + $Output + '"' ), "-packonly", "-clear", "-prefix=$name", "-project=$tmp", "-include=$includes")
-
+ $argz = @($tmp, ( '"' + $Output + '"' ), "-packonly", "-clear", "-prefix=$name", "-project=P:\", "-include=$includes")
+
+ $Label4.Text = "Building Server PBO (" + $x.subitems[0].Text + ".pbo) ... Please wait"
+ $Label4.Refresh()
+
Start-Process -FilePath $Bob -ArgumentList $argz -WindowStyle Minimized -Wait
}
"Client"
{
$name = Join-Path $TextBoxPboPrefix.Text $name
- $tmp = "P:\$name"
+ $tmp = "P:\$name"
+ fnc_updateBuildNumber $TextBox4.Text ($x.subitems[1].Text) $incrementClientBuild
+ $incrementClientBuild = 0
+
$Output = $TextBox1.Text + "\" + $ComboBox1.SelectedItem + "\Addons"
if (Test-Path $tmp) { Remove-Item -Path $tmp -Recurse }
Copy-Item -Path $x.subitems[1].Text -Destination $tmp -Recurse
$signFlag = ""
if (Test-Path $signfile) { $signFlag = ('-sign="' + $signfile + '"') }
-
- $argz = @($tmp, ( '"' + $Output + '"' ), "-clear", "-prefix=$name", "-project=$tmp", "-include=$includes", $signFlag)
+ $argz = @($tmp, ( '"' + $Output + '"' ), "-clear", "-prefix=$name", "-project=P:\", "-include=$includes", $signFlag)
+ $Label4.Text = "Building Client PBO (" + $x.subitems[0].Text + ".pbo) ... Please wait"
+ $Label4.Refresh()
+
Start-Process -FilePath $Bob -ArgumentList $argz -WindowStyle Minimized -Wait
}
"Missions"
{
$Output = $TextBox9.Text
$src = $TextBox2.Text + "\Sources\"
-
+
+ fnc_updateBuildNumber $TextBox2.Text ($src + "epoch_config") $incrementServerBuild
+ $incrementServerBuild = 0
+
if (Test-Path $tmp) { Remove-Item -Path $tmp -Recurse }
Copy-Item -Path $x.subitems[1].Text -Destination $tmp -Recurse
Copy-Item($src + "epoch_code") -Destination $tmp -Recurse
@@ -977,7 +1051,10 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
Copy-Item($src + "description.ext") -Destination $tmp
$argz = @($tmp, ( '"' + $Output + '"' ), "-clear", "-prefix=\", "-project=P:\", "-include=$includes")
-
+
+ $Label4.Text = "Building MPMission PBO (" + $x.subitems[0].Text + ".pbo) ... Please wait"
+ $Label4.Refresh()
+
Start-Process -FilePath $Bob -ArgumentList $argz -WindowStyle Minimized -Wait
}
}
@@ -1041,12 +1118,20 @@ $Timer1 = New-Object System.Windows.Forms.Timer($components)
fnc_reloadVersions
- $signName = ($TextBox12.Text + $TextBox13.Text)
+ $signName = ($TextBoxBISignPrefix.Text + $TextBox13.Text)
$signFileName = ($signName + ".biprivatekey")
$signfile = Join-Path $TextBox11.Text $signFileName
$signFlag = ""
- if (Test-Path $signfile) { $signFlag = "-sign= '$signfile'" }
- $Label13.Text = $signFlag;
+ if (Test-Path $signfile) {
+ $Label13.Text = $signfile
+ $signFlag = ('-sign="' + $signfile + '"')
+ }
+ else
+ {
+ $Label13.Text = "Path Not Found!"
+ }
+
+
#endregion
@@ -1114,8 +1199,9 @@ Main # This call must remain below all other event functions
#
# Script Information
#
-# Title: Epoch PBO Packing Tool
+# Title: Epoch PBO Packing Tool - EpochMod.com
# Author: Raimonds Virtoss - Raymix @ Epoch UI code
+# Contributors: Aaron Clark - [VB]AWOL
# Originally created: 4/24/2016 - 17:56:19
# Description: Form based (GUI) Tool to Pack or binarize Epoch PBOs. Scans your github repos and automatically creates a list of relevant folders for packaging
# Usage: .EXE file will be provided when script is done, for now simply right click it and run with powershell.
diff --git a/build.txt b/build.txt
index c06d81c1..0b142214 100644
--- a/build.txt
+++ b/build.txt
@@ -1 +1 @@
-456
+465