2015-12-07 16:24:52 +00:00
/*
Author : Aaron Clark - EpochMod . com
2016-04-25 12:38:16 +00:00
Contributors : Andrew Gregory
2015-12-07 16:24:52 +00:00
Description :
Main Client side configs for the Epoch gamemode
Licence :
Arma Public License Share Alike ( APL - SA ) - https : //www.bistudio.com/community/licenses/arma-public-license-share-alike
Github :
2016-06-13 16:54:19 +00:00
https : //github.com/EpochModTeam/Epoch/tree/release/Sources/epoch_config/Configs/CfgEpochClient.hpp
2015-12-07 16:24:52 +00:00
*/
2016-10-14 20:31:01 +00:00
/*[[[cog from arma_config_tools import *; json_to_arma()]]]*/
2015-09-14 20:45:27 +00:00
class CfgEpochClient
{
2016-10-24 04:52:25 +00:00
epochVersion = " 0.4.0.0 " ;
sapperRngChance = 100 ;
droneRngChance = 100 ;
2016-11-14 01:04:08 +00:00
buildingNearbyMilitary = 0 ;
2016-10-24 04:52:25 +00:00
buildingNearbyMilitaryRange = 300 ;
buildingNearbyMilitaryClasses [ ] = { " Cargo_Tower_base_F " , " Cargo_HQ_base_F " , " Cargo_Patrol_base_F " , " Cargo_House_base_F " } ;
restrictedLocations [ ] = { " NameCityCapital " } ;
restrictedLocationsRange = 300 ;
2016-11-14 01:04:08 +00:00
buildingRequireJammer = 1 ; //1 = require jammer to build
buildingJammerRange = 75 ;
jammerPerGroup = 1 ;
2016-10-24 04:52:25 +00:00
minJammerDistance = 650 ;
2016-11-14 01:04:08 +00:00
maxBuildingHeight = 33 ;
buildingCountLimit = 200 ; //overall building limit in range of jammer (overridden if "useGroupCountLimits=1")
2016-12-01 23:44:43 +00:00
storageCountLimit = 100 ; //overall storage limit in range of jammer (triggers only if "splitCountLimits=1" & "useGroupCountLimits=0")
2016-11-14 01:04:08 +00:00
splitCountLimits = 0 ; //1 = distinguish buildingCountLimit from storageCountLimit (ex.: buildingCountLimit=100, storageCountLimit=100 >> you can build 100 baseparts AND additional 100 storage objects like safes, lockboxes...)
useGroupCountLimits = 1 ; //1 = enable leader and member counts (doesn´ t affect "splitCountLimits")
buildingCountLeader = 125 ; //ignore if "useGroupCountLimits=0"
buildingCountPerMember = 5 ; //ignore if "useGroupCountLimits=0"
storageCountLeader = 10 ; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
storageCountPerMember = 5 ; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
maxdoors = 8 ;
2016-10-24 04:52:25 +00:00
maxgates = 5 ;
2016-11-09 23:23:16 +00:00
disableRemoteSensors = true ;
2016-10-24 04:52:25 +00:00
EPOCH_news [ ] = { " Word is that Sappers have a new boss. " , " Dogs will often lure them monsters away. " , " My dog was blown up. I miss him.. " } ;
deathMorphClass [ ] = { " Epoch_Sapper_F " , " Epoch_SapperB_F " , " I_UAV_01_F " , " Epoch_Cloak_F " } ;
niteLight [ ] = { 1 , 1.88 , 22 } ;
2016-11-09 23:23:16 +00:00
ryanZombiesEnabled = true ;
2016-10-24 04:52:25 +00:00
antagonistSpawnIndex [ ] = { { " Epoch_Cloak_F " , 1 } , { " GreatWhite_F " , 2 } , { " Epoch_Sapper_F " , 2 } , { " Epoch_SapperB_F " , 1 } , { " I_UAV_01_F " , 2 } , { " PHANTOM " , 1 } , { " B_Heli_Transport_01_F " , 1 } , { " EPOCH_RyanZombie_1 " , 12 } } ;
2016-10-26 20:59:38 +00:00
customVarsDefaults [ ] = { { " Temp " , 98.6 , { 106.7 , 95 , 102 , 105 , 96 , 95 } } , { " Hunger " , 1500 , { 5000 , 0 , 5001 , 5001 , 1250 , 0 } } , { " Thirst " , 750 , { 2500 , 0 , 2501 , 2501 , 625 , 0 } } , { " AliveTime " , 0 , { - 2 , 0 } } , { " Energy " , 0 , { 2500 , 0 } } , { " Wet " , 0 , { 100 , 0 , 35 , 55 , - 1 , - 1 } } , { " Soiled " , 0 , { 100 , 0 , 35 , 55 , - 1 , - 1 } } , { " Immunity " , 0 , { 100 , 0 } } , { " Toxicity " , 0 , { 100 , 0 , 35 , 55 , - 1 , - 1 } } , { " Stamina " , 100 , { " EPOCH_playerStaminaMax " , 0 } } , { " Crypto " , 0 , { 250000 , 0 } } , { " HitPoints " , { 0 , 0 , 0 , 0 } , { 1 , 0 , 0.5 , 1 , - 1 , - 1 } } , { " BloodP " , 100 , { 190 , 0 , 120 , 140 , 70 , 50 } } , { " SpawnArray " , { } , { } } , { " Karma " , 0 , { 50000 , - 50000 } } , { " Alcohol " , 0 , { 100 , 0 , 35 , 55 , - 1 , - 1 } } , { " Radiation " , 0 , { 100 , 0 , 35 , 55 , - 1 , - 1 } } , { " Nuisance " , 0 , { 100 , 0 } } , { " MissionArray " , { } , { } } } ;
2016-11-09 21:21:02 +00:00
hudConfigs [ ] = { { { " BloodP " , " " , " " , { " getPlayerDamage " , " >= " , 0.7 } } , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \b leeding_ca.paa " , { " forceUpdate " } } , { { " Oxygen " , " getPlayerOxygenRemaining " , " " , { } , { 1 , 0 , 2 , 2 , 1 , 0.55 } } , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \ oxygen_ca.paa " } , { " Hunger " , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \ hunger_ca.paa " , { " forceBloodRise " } } , { " Thirst " , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \t hirst_ca.paa " , { " forceBloodRise " } } , { " Temp " , " topRight " , { " x \a ddons \a 3_epoch_code \ Data \ UI \ hot_ca.paa " , " x \a ddons \a 3_epoch_code \ Data \ UI \ cold_ca.paa " } , { " forceFatigue " } } , { " Toxicity " , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \ hazzard_ca.paa " } , { " Alcohol " , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \ drunk_ca.paa " } , { " Soiled " , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \ soiled_ca.paa " } , { " Radiation " , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \r ads_ca.paa " } , { { " HitPoints " , " getPlayerHitPointDamage " , " HitLegs " } , " topRight " , " x \a ddons \a 3_epoch_code \ Data \ UI \b roken_ca.paa " } } ;
2016-10-24 04:52:25 +00:00
group_upgrade_lvl [ ] = { 4 , " 1000 " , 6 , " 1500 " , 8 , " 2000 " , 10 , " 2500 " , 12 , " 3000 " , 14 , " 3500 " , 16 , " 4000 " , 32 , " 8000 " , 64 , " 16000 " } ;
displayAddEventHandler [ ] = { " keyDown " , " keyUp " } ;
keyDown = " (_this call EPOCH_KeyDown) " ;
keyUp = " (_this call EPOCH_KeyUp) " ;
addEventHandler [ ] = { " Respawn " , " Put " , " Take " , " InventoryClosed " , " InventoryOpened " , " Fired " , " Killed " , " HandleRating " , " GetInMan " , " GetOutMan " } ;
Respawn = " (_this select 0) call EPOCH_clientRespawn " ;
Put = " (_this select 1) call EPOCH_interact;_this call EPOCH_PutHandler " ;
Take = " (_this select 1) call EPOCH_interact;_this call EPOCH_UnisexCheck " ;
Fired = " _this call EPOCH_fnc_playerFired; " ;
InventoryClosed = " if !(EPOCH_arr_interactedObjs isEqualTo[]) then {[EPOCH_arr_interactedObjs] remoteExec['EPOCH_server_save_vehicles', 2]; EPOCH_arr_interactedObjs = [];}; " ;
2016-12-01 23:44:43 +00:00
InventoryOpened = " setMousePosition[0.5, 0.5];call EPOCH_showStats;_this spawn EPOCH_initUI;params ['_unit','_container','_sec'];_containerlocked = (locked _container in [2, 3] || _container getVariable['EPOCH_Locked', false]);_seclocked = false;if !(isNull _sec) then {_seclocked = (locked _sec in [2, 3] || _sec getVariable['EPOCH_Locked', false]);};if (_containerlocked || _seclocked) then {[] spawn {disableSerialization;waitUntil {!isNull findDisplay 602};_d = findDisplay 602;_cargo = _d displayCtrl 6401;_ground = _d displayCtrl 6321;_cargo ctrlEnable false;ctrlSetFocus _ground;ctrlActivate _ground;};}; " ;
2016-10-24 04:52:25 +00:00
Killed = " _this call EPOCH_fnc_playerDeath; " ;
HandleRating = " EPOCH_playerKarma = EPOCH_playerKarma + (_this select 1);0 " ;
HandleDamage = " " ;
HandleHeal = " " ;
Dammaged = " " ;
Hit = " " ;
HitPart = " " ;
GetInMan = " _this call EPOCH_getInMan " ;
GetOutMan = " _this call EPOCH_getOutMan; " ;
nonJammerAI [ ] = { " B_Heli_Transport_01_F " , " PHANTOM " , " EPOCH_Sapper_F " , " Epoch_SapperB_F " , " I_UAV_01_F " , " EPOCH_RyanZombie_1 " } ;
nonTraderAI [ ] = { " B_Heli_Transport_01_F " , " PHANTOM " , " EPOCH_Sapper_F " , " Epoch_SapperB_F " , " I_UAV_01_F " , " Epoch_Cloak_F " , " GreatWhite_F " , " EPOCH_RyanZombie_1 " } ;
nonTraderAIRange = 50 ;
fishLoots [ ] = { " ItemTuna " , " ItemSeaBass " , " ItemSeaBass " , " ItemSeaBass " , " ItemTrout " , " ItemTrout " , " ItemTrout " , " ItemTrout " , " ItemTrout " , " ItemTrout " } ;
animalAiTables [ ] = { " Sheep_random_EPOCH " , " Sheep_random_EPOCH " , " Goat_random_EPOCH " , " Goat_random_EPOCH " , " Goat_random_EPOCH " , { " Cock_random_EPOCH " , " Hen_random_EPOCH " } , { " Cock_random_EPOCH " , " Hen_random_EPOCH " } , " Rabbit_EPOCH " , " Rabbit_EPOCH " , " Rabbit_EPOCH " , " Snake_random_EPOCH " , " Snake2_random_EPOCH " , { " Fin_random_EPOCH " , " Alsatian_Random_EPOCH " } } ;
playerDeathScreen = " TapOut " ;
playerKilledScreen = " TapOut2 " ;
playerDisableRevenge = 0 ;
playerRevengeMinAliveTime = 900 ;
bankTransferTime [ ] = { 0.0006 , 1.2 , 0.06 } ;
2016-04-08 20:21:46 +00:00
# include "CfgEpochClient\Altis.hpp"
# include "CfgEpochClient\australia.hpp"
# include "CfgEpochClient\Bornholm.hpp"
# include "CfgEpochClient\Chernarus_Summer.hpp"
2016-10-24 04:52:25 +00:00
# include "CfgEpochClient\Chernarus.hpp"
2016-04-08 20:21:46 +00:00
# include "CfgEpochClient\Esseker.hpp"
# include "CfgEpochClient\ProvingGrounds_PMC.hpp"
# include "CfgEpochClient\Sara_dbe1.hpp"
# include "CfgEpochClient\Sara.hpp"
# include "CfgEpochClient\SaraLite.hpp"
# include "CfgEpochClient\Stratis.hpp"
# include "CfgEpochClient\takistan.hpp"
2016-10-24 04:52:25 +00:00
# include "CfgEpochClient\utes.hpp"
# include "CfgEpochClient\vr.hpp"
2016-04-08 20:21:46 +00:00
# include "CfgEpochClient\Zargabad.hpp"
2016-10-24 04:52:25 +00:00
# include "CfgEpochClient\Tanoa.hpp"
# include "CfgEpochClient\WorldInteractions.hpp"
2015-09-14 20:45:27 +00:00
} ;
class CfgEpochSapper
{
2016-10-24 04:52:25 +00:00
detonateDistMax = 8 ;
groanTrig = 16 ;
sRange = 300 ;
smellDist = 24 ;
reflexSpeed = 0.25 ;
nestChance = 2 ;
hideLevel = 72 ;
2016-10-26 14:57:49 +00:00
chargeLevel = 62 ;
2015-09-14 20:45:27 +00:00
} ;
class CfgEpochUAV
{
2016-10-24 04:52:25 +00:00
UAVMinDist = 48 ;
UAVMaxDist = 180 ;
UAVHeight = 100 ;
2015-09-14 20:45:27 +00:00
} ;
2016-04-25 12:38:16 +00:00
class CfgEpochUAVSupport
{
2016-10-24 04:52:25 +00:00
unitTypes [ ] = { " I_Soldier_EPOCH " , " I_Soldier2_EPOCH " , " I_Soldier3_EPOCH " } ;
maxUnitNum = 2 ;
minAISkill = 0.2 ;
maxAimingAccuracy = 0.7 ;
maxAimingShake = 0.9 ;
maxAimingSpeed = 0.6 ;
maxEndurance = 0.4 ;
maxSpotDistance = 0.4 ;
maxSpotTime = 0.3 ;
maxCourage = 0.3 ;
maxReloadSpeed = 0.5 ;
maxCommanding = 0.4 ;
maxGeneral = 0.4 ;
2016-04-25 12:38:16 +00:00
} ;
2015-09-14 20:45:27 +00:00
class CfgEpochAirDrop
{
2016-10-24 04:52:25 +00:00
AirDropFreq = 1200 ;
AirDropChance = 6 ;
2015-09-14 20:45:27 +00:00
} ;
class CfgEpochCloak
{
2016-10-24 04:52:25 +00:00
cRange = 300 ;
cAggression = 75 ;
attackFrequency = 120 ;
attackDistance = 38 ;
targetChangeFrequency = 42 ;
teleportChance = 66 ;
hoverFrequency = 1280 ;
2015-09-14 20:45:27 +00:00
} ;
2016-06-14 11:50:53 +00:00
class CfgEpochRyanZombie
{
2016-10-24 04:52:25 +00:00
zeds [ ] = { " EPOCH_RyanZombie_1 " , " EPOCH_RyanZombie_2 " , " EPOCH_RyanZombie_3 " , " EPOCH_RyanZombie_4 " , " EPOCH_RyanZombie_5 " } ;
attackDist = 1.6 ;
range = 45 ;
disposeRange = 800 ;
smell [ ] = { 38 , 0.42 } ;
sight [ ] = { 28 , 0.72 } ;
hearing [ ] = { 108 , 0.68 } ;
memory [ ] = { 480 , 0.8 } ;
reflexSpeed = 0.25 ;
moans [ ] = { " ryanzombiesmoan1 " , " ryanzombiesmoan2 " , " ryanzombiesmoan3 " , " ryanzombiesmoan4 " } ;
screams [ ] = { " ryanzombiesscream1 " , " ryanzombiesscream2 " , " ryanzombiesscream3 " , " ryanzombiesscream4 " , " ryanzombiesscream5 " , " ryanzombiesscream6 " , " ryanzombiesscream7 " , " ryanzombiesscream8 " , " ryanzombiesscream9 " } ;
2016-06-14 11:50:53 +00:00
} ;
2016-10-24 04:52:25 +00:00
/*[[[end]]]*/