diff --git a/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf b/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf index 98b5aa31..6918357b 100644 --- a/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf +++ b/Sources/epoch_code/compile/functions/EPOCH_giveAttributes.sqf @@ -1,4 +1,28 @@ -// EPOCH_giveAttributes +/* + Author: Aaron Clark - EpochMod.com + + Contributors: + + Description: + Controls attributes given digest system, and returns text based on these changes. + + 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/release/Sources/epoch_code/epoch_code/compile/functions/EPOCH_giveAttributes.sqf + + Example: + _color = _x call EPOCH_giveAttributes + + Parameter(s): + _this select 0: STRING - Player Stat Name + _this select 1: NUMBER - Input + _this select 2: NUMBER - 1 = randomize input, 0 = normal + Returns: + STRING +*/ + //[[[cog import generate_private_arrays ]]] private ["_addPlus","_celcuis","_currentVal","_customVarIndex","_customVarLimits","_customVarNames","_customVarsInit","_data","_defaultVarValues","_limits","_max","_min","_newValue","_return","_varName"]; //[[[end]]] @@ -13,8 +37,8 @@ _customVarLimits = _customVarsInit apply {_x param [2,[]]}; _customVarIndex = _customVarNames find _selectedVarName; if (_customVarIndex != -1) then { - _varName = format["EPOCH_digest%1",_selectedVarName]; - _limits = _customVarLimits select _customVarIndex; + _varName = format["EPOCH_digest%1",_selectedVarName]; + _limits = _customVarLimits select _customVarIndex; _limits params [["_max",100],["_min",0]]; if (_max isEqualType "") then { _max = missionNamespace getVariable [_max, 0]; @@ -26,16 +50,16 @@ if (_customVarIndex != -1) then { if (_randomizeData isEqualTo 1) then { _data = round(random _data); }; - if (_data != 0) then { - _newValue = ((_currentVal + _data) min _max) max _min; - missionNamespace setVariable [_varName, _newValue]; - if (_selectedVarName == "Temp") then { - _celcuis = _data call EPOCH_convertTemp; - _return = format["%1: %2%3°F %2%4°C",(localize format["str_epoch_pvar_%1",_selectedVarName]),_addPlus,_data,_celcuis]; - } else { - _return = format["%1: %2%3", (localize format["str_epoch_pvar_%1",_selectedVarName]), _addPlus, _data]; - }; - }; + if (_data != 0) then { + _newValue = ((_currentVal + _data) min _max) max _min; + missionNamespace setVariable [_varName, _newValue]; + if (_selectedVarName == "Temp") then { + _celcuis = _data call EPOCH_convertTemp; + _return = format["%1: %2%3°F %2%4°C",(localize format["str_epoch_pvar_%1",_selectedVarName]),_addPlus,_data,_celcuis]; + } else { + _return = format["%1: %2%3", (localize format["str_epoch_pvar_%1",_selectedVarName]), _addPlus, _data]; + }; + }; }; _return diff --git a/Sources/epoch_config/Configs/CfgEpochClient.hpp b/Sources/epoch_config/Configs/CfgEpochClient.hpp index 211d3b33..3ee45f09 100644 --- a/Sources/epoch_config/Configs/CfgEpochClient.hpp +++ b/Sources/epoch_config/Configs/CfgEpochClient.hpp @@ -97,7 +97,7 @@ class CfgEpochClient {"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}}, // only limits here used for HUD. + {"HitPoints",{0,0,0,0},{1,0,0.5,1,-1,-1}}, // limits here only used for HUD. {"BloodP",100,{190,0,120,140,70,50}}, {"SpawnArray",{},{}}, {"Karma",0,{50000,-50000}}, // TODO remove or replace @@ -106,6 +106,20 @@ class CfgEpochClient {"Nuisance",0,{100,0}}, {"MissionArray",{},{}} }; + // Digest System + hunger[] = { + 0, // default value + 10, // loss rate + 20, // increase rate + 1000 // max + }; + thirst[] = { + 0, // default value + 10, // loss rate + 20, // increase rate + 1000 // max + }; + // add any stats and their starting number here for better community integration and neat stats tracking too! defineCommunityStats[] = {{"Murders",0},{"Deaths",0},{"Suicides",0},{"Revives",0},{"TraderMissions",0},{"AIKills",0},{"AntagonistKills",0},{"ZombieKills",0}}; hudConfigs[] = { diff --git a/changelog.md b/changelog.md index 3558ac4b..47529de7 100644 --- a/changelog.md +++ b/changelog.md @@ -11,17 +11,21 @@ All changes for [Arma 3](https://arma3.com/) [Epoch Mod](https://epochmod.com) a - Vehicle Upgrade System - Upgrade your ride by using one of the new vehicle upgrade documents found in the world. @DirtySanchez - Vector Base Building (uses Arrow keys by default and with SHIFT / ALT you can control the steps). @DirtySanchez & @Ignatz-Heman -- New Base Building Objects: Quarter and Half wood floors @DirtySanchez, Cinder block floor, Cinder wall with a window. @Helion. +- New Base Building Objects: Quarter and Half wood floors @DirtySanchez, Cinder block floor, Cinder wall with a window. Metal and Cinder Towers @Helion. - Medical items: Adrenaline Shot (adrenaline_epoch), Caffeine Pills (caffeinepills_epoch). Orlistat Pills (orlistat_epoch) by @Helion and configs by @DirtySanchez - Food items: ItemCereals, ItemPowderMilk_F, ItemRiceBox, ItemVitamins. @DirtySanchez +- 84 new Female outfits based on 20 top designs and 4 new pairs of jeans(Blue Patched, Arid Brown, Black/Brown, Black). @DirtySanchez, @ComatoseBadger + +- Vehicle Ammo Reloading from Inventory and Vehicle Ammo. @DirtySanchez - Digital Geiger Counter - used to detect Radiation. (Sounds @vbawol, Model @Helion, and UI + digital font @raymix) - Barrel Bomb - large craft-able explosive that can be placed and detonated. @DirtySanchez - Brown Briefcase that contains 100oz Silver. @DirtySanchez - Old "Zombie Parts" Bag (ItemBioHazardBag). - Option to drink directly from water sources. @Ignatz-HeMan +- Karma changes for deaths, suicides, PvP(including hero* and bandit* levels), trader kills, revives, trading sales and purchases. - Epoch Events 3.0: External pbo based events. see epoch_server_vip_event or epoch_server_debris_event for examples. @@ -38,6 +42,7 @@ All changes for [Arma 3](https://arma3.com/) [Epoch Mod](https://epochmod.com) a - Initial support for Malden 2035 map released with A3 1.72+. ### Changed +- Karma now persists death and moved to community stats. - CBA extended event handler and zeus curator support for Epoch Vehicles. @DirtySanchez - Base PlotPole ESP added to Epoch Admin Panel. @SMVampire - Helper arrow to indicate the door-opening direction for Base Building. @Ignatz-Heman