mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
0.3.9.0 b552
zombie fixes removed armed vtol prices for APEX vehicles message when NVG disabed due to lack of energy
This commit is contained in:
parent
02761bb4cf
commit
eaf23d4e31
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -125,7 +125,8 @@ switch _unitClass do {
|
||||
case "EPOCH_RyanZombie_1": {
|
||||
for "_i" from 1 to (_spawnLimit - _currentLimit) do
|
||||
{
|
||||
[] call EPOCH_zombieSpawn;
|
||||
_unit = [] call EPOCH_zombieSpawn;
|
||||
_units pushBack _unit;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -23,38 +23,27 @@
|
||||
params [["_justSpawn",false]];
|
||||
private ["_zRange","_disableAI","_unitClass","_unit","_clutterPos","_zedHandle","_zMax"];
|
||||
_disableAI = {{_this disableAI _x}forEach["TARGET","AUTOTARGET","FSM"];};
|
||||
_units = [];
|
||||
|
||||
_zRange = getNumber (getMissionConfig "CfgEpochRyanZombie" >> "range");
|
||||
_zeds = getArray (getMissionConfig "CfgEpochRyanZombie" >> "zeds");
|
||||
_zMax = getNumber (getMissionConfig "CfgEpochRyanZombie" >> "maxNumber");
|
||||
_zDoCnt = 0;
|
||||
//Check for horde
|
||||
_nrZeds = nearestObjects [player,_zeds,_zRange];
|
||||
_currZCount = count _nrZeds;
|
||||
if(_currZCount < _zMax)then{_zDoCnt = _zMax - _currZCount;};
|
||||
for "_i" from 1 to _zDoCnt step 1 do{
|
||||
// _zMax = getNumber (getMissionConfig "CfgEpochRyanZombie" >> "maxNumber");
|
||||
|
||||
_unitClass = selectRandom _zeds;
|
||||
_unit = createAgent[_unitClass, position player, [], _zRange, "FORM"];
|
||||
// todo cleanup this object after some time
|
||||
//_clutterPos = getPosATL _unit;
|
||||
//if!(isOnRoad _unit)then{
|
||||
// _grave = createVehicle ["Land_Grave_dirt_F", _clutterPos, [], 0, "CAN_COLLIDE"];
|
||||
//};
|
||||
_unit call _disableAI;
|
||||
_unit switchMove "AmovPercMstpSnonWnonDnon_SaluteOut";
|
||||
[[_unit,player], 4, Epoch_personalToken] remoteExec ["EPOCH_server_handle_switchMove",2];
|
||||
_unitClass = selectRandom _zeds;
|
||||
_unit = createAgent[_unitClass, position player, [], _zRange, "FORM"];
|
||||
// todo cleanup this object after some time
|
||||
//_clutterPos = getPosATL _unit;
|
||||
//if!(isOnRoad _unit)then{
|
||||
// _grave = createVehicle ["Land_Grave_dirt_F", _clutterPos, [], 0, "CAN_COLLIDE"];
|
||||
//};
|
||||
_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;
|
||||
_zedHandle = [_unit,true] execFSM "epoch_code\system\EPOCH_zombie_brain.fsm";
|
||||
_unit addEventHandler ["FiredNear", "(_this select 0) setVariable [""zFiredNear"",[_this select 1, _this select 2]];"];
|
||||
_unit addEventHandler ["Hit", "(_this select 0) setVariable [""zHit"",[_this select 1, _this select 2]];"];
|
||||
_units pushBack _unit;
|
||||
_unit setmimic "dead";
|
||||
_unit setface (selectRandom ["RyanZombieFace1", "RyanZombieFace2", "RyanZombieFace3", "RyanZombieFace4", "RyanZombieFace5"]);
|
||||
removegoggles _unit;
|
||||
_zedHandle = [_unit,true] execFSM "epoch_code\system\EPOCH_zombie_brain.fsm";
|
||||
_unit addEventHandler ["FiredNear", "(_this select 0) setVariable [""zFiredNear"",[_this select 1, _this select 2]];"];
|
||||
_unit addEventHandler ["Hit", "(_this select 0) setVariable [""zHit"",[_this select 1, _this select 2]];"];
|
||||
|
||||
};
|
||||
|
||||
if !(_units isEqualTo []) then {
|
||||
_units remoteExec ["EPOCH_localCleanup",2];
|
||||
};
|
||||
_unit
|
||||
|
@ -27,6 +27,7 @@ if (currentVisionMode player == 1) then { //NV enabled
|
||||
_energyValue = _energyValue - _energyCostNV;
|
||||
if (EPOCH_playerEnergy == 0) then {
|
||||
player action["nvGogglesOff", player];
|
||||
["Night Vision Goggles: Need Energy", 5] call Epoch_message;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -6,7 +6,7 @@ _prevEnergy = EPOCH_playerEnergy;
|
||||
|
||||
// init config data
|
||||
EPOCH_sapperRndChance = ["CfgEpochClient", "sapperRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
|
||||
EPOCH_zombieRndChance = ["CfgEpochClient", "zombieRndChance", 100] call EPOCH_fnc_returnConfigEntryV2;
|
||||
EPOCH_zombieRndChance = ["CfgEpochClient", "zombieRndChance", 50] call EPOCH_fnc_returnConfigEntryV2;
|
||||
EPOCH_droneRndChance = ["CfgEpochClient", "droneRngChance", 100] call EPOCH_fnc_returnConfigEntryV2;
|
||||
_baseHTLoss = ["CfgEpochClient", "baseHTLoss", 8] call EPOCH_fnc_returnConfigEntryV2;
|
||||
_energyCostNV = ["CfgEpochClient", "energyCostNV", 3] call EPOCH_fnc_returnConfigEntryV2;
|
||||
|
@ -67,7 +67,7 @@ if(EPOCH_AirDropChance < 0)then{EPOCH_AirDropChance = 101;EPOCH_AirDropCheck = 9
|
||||
|
||||
EPOCH_droneRndChance = 100;
|
||||
EPOCH_sapperRndChance = 100;
|
||||
EPOCH_zombieRndChance = 30;
|
||||
EPOCH_zombieRndChance = 50;
|
||||
|
||||
// Custom Keys
|
||||
EPOCH_keysActionPressed = false; //prevents EH spam
|
||||
|
@ -158,11 +158,13 @@ class CfgEpochCloak
|
||||
};
|
||||
class CfgEpochRyanZombie
|
||||
{
|
||||
zeds[] = {"EPOCH_RyanZombie_1","EPOCH_RyanZombie_2","EPOCH_RyanZombie_3","EPOCH_RyanZombie_4","EPOCH_RyanZombie_5"};
|
||||
attackDist = 1.6; //Attack Distance.
|
||||
range = 108; //Range at which to dispose old zombies and spawn new ones within.
|
||||
maxNumber = 12; //Maximum number of zombies within range,
|
||||
smell[] = {28,0.42}; //Distance in metres up to which the zombie can smell a target. | Skill (0 - 1). 0 - Disable
|
||||
sight[] = {18,0.72}; //Zombie sight distance | Skill (0 - 1).
|
||||
range = 45; //Range at which to dispose old zombies and spawn new ones within.
|
||||
// maxNumber = 12; //Maximum number of zombies within range,
|
||||
disposeRange = 800; // distance before zombie is disposed
|
||||
smell[] = {38,0.42}; //Distance in metres up to which the zombie can smell a target. | Skill (0 - 1). 0 - Disable
|
||||
sight[] = {28,0.72}; //Zombie sight distance | Skill (0 - 1).
|
||||
hearing[] = {108,0.68}; //Zombie hearing distance / Skill. Max FiredNear EH Limit ?
|
||||
memory[] = {480,0.8}; //Memory time. / Weighting. WIP - Not Used
|
||||
reflexSpeed = 0.25; //Zombie brain will pause for this time when checking for new stimulus during each thought process. Lower number equals a more reactive zombie. (Guide Min 0.25 - Max 2.5).
|
||||
|
@ -1093,6 +1093,21 @@ class CfgPricing
|
||||
class CUP_B_Ural_Empty_CDF {price = 1000;};
|
||||
class CUP_C_DC3_CIV {price = 2400;};
|
||||
|
||||
// APEX
|
||||
class C_Boat_Transport_02_F {price = 1200;};
|
||||
class C_Scooter_Transport_01_F {price = 1200;};
|
||||
class C_Offroad_02_unarmed_F {price = 3500;};
|
||||
class I_C_Offroad_02_unarmed_F {price = 3500;};
|
||||
class B_T_LSV_01_unarmed_F {price = 4400;};
|
||||
class O_LSV_02_unarmed_F {price = 4300;};
|
||||
class O_T_LSV_02_unarmed_F {price = 4600;};
|
||||
class C_Plane_Civil_01_F {price = 5000;};
|
||||
class C_Plane_Civil_01_racing_F {price = 5000;};
|
||||
class B_CTRG_LSV_01_light_F {price = 4400;};
|
||||
class B_LSV_01_unarmed_F {price = 4400;};
|
||||
class B_T_VTOL_01_infantry_F {price = 10000;};
|
||||
class B_T_VTOL_01_vehicle_F {price = 10000;};
|
||||
|
||||
//Mission Items
|
||||
class B_UavTerminal {price = 10;};
|
||||
class O_UavTerminal {price = 10;};
|
||||
|
@ -1 +1 @@
|
||||
build=547;
|
||||
build=552;
|
||||
|
@ -1 +1 @@
|
||||
build=547;
|
||||
build=552;
|
||||
|
@ -37,8 +37,8 @@ if (!isNull _target) then {
|
||||
case "PHANTOM": {
|
||||
"PHANTOM" remoteExec ['EPOCH_unitSpawnIncrease',_target];
|
||||
};
|
||||
case "EPOCH_RyanZombie_1": {
|
||||
"EPOCH_RyanZombie_1" remoteExec ['EPOCH_unitSpawnIncrease',_target];
|
||||
case "Zombie": {
|
||||
["EPOCH_RyanZombie_1",12] remoteExec ['EPOCH_unitSpawnIncrease',_target];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -20,16 +20,22 @@ if(_return isEqualTo[]) then {
|
||||
_weightedArray = [];
|
||||
{
|
||||
if(_x isEqualType []) then {
|
||||
_lootTableArray pushBack(_x select 0);
|
||||
for "_i" from 1 to(_x select 1) do {
|
||||
_weightedArray pushBack _forEachIndex;
|
||||
_x params ["_tname","_tqty"];
|
||||
if (!(_tname isEqualTo "Zombie") || (_tname isEqualTo "Zombie") && EPOCH_mod_Ryanzombies_Enabled) then {
|
||||
_lootTableArray pushBack _tname;
|
||||
for "_i" from 1 to _tqty do {
|
||||
_weightedArray pushBack _forEachIndex;
|
||||
};
|
||||
};
|
||||
} else {
|
||||
_lootTableArray pushBack _x;
|
||||
_weightedArray pushBack _forEachIndex;
|
||||
if (!(_x isEqualTo "Zombie") || (_x isEqualTo "Zombie") && EPOCH_mod_Ryanzombies_Enabled) then {
|
||||
_lootTableArray pushBack _x;
|
||||
_weightedArray pushBack _forEachIndex;
|
||||
};
|
||||
};
|
||||
}forEach getArray(configFile >> _configName >> _keyName >> _arrayName);
|
||||
_return = [_lootTableArray,_weightedArray];
|
||||
missionNamespace setVariable[format["EPOCH_LT_%1_%2_%3",_configName,_keyName,_arrayName],_return];
|
||||
diag_log format["EPOCH_LT_%1_%2_%3 = %4",_configName,_keyName,_arrayName,_return];
|
||||
};
|
||||
_return
|
||||
|
@ -1 +1 @@
|
||||
build=547;
|
||||
build=552;
|
||||
|
@ -1 +1 @@
|
||||
build=547;
|
||||
build=552;
|
||||
|
@ -21,10 +21,11 @@ class CfgMainTable
|
||||
LootMax = 1;
|
||||
tables[] = { "Food" };
|
||||
antagonists[] = {
|
||||
{ "UAV", 30 },
|
||||
{ "Cloak", 25 }, // Night = Epoch_Cloak_F, Day = Epoch_Sapper_F
|
||||
{ "Sapper", 25 },
|
||||
{ "SapperB", 15 },
|
||||
{ "Zombie", 40 },
|
||||
{ "UAV", 15 },
|
||||
{ "Cloak", 10 }, // Night = Epoch_Cloak_F, Day = Epoch_Sapper_F
|
||||
{ "Sapper", 20 },
|
||||
{ "SapperB", 10 },
|
||||
{ "PHANTOM", 5 }
|
||||
};
|
||||
};
|
||||
@ -61,10 +62,11 @@ class CfgMainTable
|
||||
{ "GenericLarge", 18 }
|
||||
};
|
||||
antagonists[] = {
|
||||
{ "UAV", 30 }, // I_UAV_01_F
|
||||
{ "Cloak", 30 }, // Night = Epoch_Cloak_F, Day = Epoch_Sapper_F
|
||||
{ "Sapper", 25 }, // Epoch_Sapper_F
|
||||
{ "SapperB", 15 } // Epoch_SapperB_F
|
||||
{ "Zombie", 45 },
|
||||
{ "UAV", 15 },
|
||||
{ "Cloak", 10 }, // Night = Epoch_Cloak_F, Day = Epoch_Sapper_F
|
||||
{ "Sapper", 20 },
|
||||
{ "SapperB", 10 }
|
||||
};
|
||||
};
|
||||
class TrashSmall : Default
|
||||
|
@ -81,8 +81,6 @@ class Tanoa : Default
|
||||
{"C_Plane_Civil_01_racing_F",1},
|
||||
{"B_CTRG_LSV_01_light_F",2},
|
||||
{"B_LSV_01_unarmed_F",2},
|
||||
{"O_T_VTOL_02_infantry_F",1},
|
||||
{"O_T_VTOL_02_vehicle_F",1},
|
||||
{"B_T_VTOL_01_infantry_F",1},
|
||||
{"B_T_VTOL_01_vehicle_F",1}
|
||||
};
|
||||
@ -189,8 +187,6 @@ class Tanoa : Default
|
||||
{"C_Plane_Civil_01_racing_F",1},
|
||||
{"B_CTRG_LSV_01_light_F",2},
|
||||
{"B_LSV_01_unarmed_F",2},
|
||||
{"O_T_VTOL_02_infantry_F",1},
|
||||
{"O_T_VTOL_02_vehicle_F",1},
|
||||
{"B_T_VTOL_01_infantry_F",1},
|
||||
{"B_T_VTOL_01_vehicle_F",1}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user