Greetings!
I am wondering how do people implement difficulty system into their games
Well, I have one idea :
Create structure “difficulty” ;
add bool array for different difficulties (easy,normal,hard…) ;
create a function for checking current difficulty
Then in the game, for example,every time player picks up health, depending on current difficulty (array bool) picked up health amount =
easy = 25 ; normal = 20, hard = 15 … and the same goes for damage and etc.
How do you implement difficulty in your game/project ? Do you have any suggestions? Thank you 
I haven’t done ant difficulty creation yet, but I think you might be on the right way. Out of nothing I’d start doing a struct, with N variables as you need.
Eg. DiffStruct: HealthGain - DamageSink - YourOtherVars. then create a DataTable for this struct. Create 1 row for each difficulty and fill in the values. At level start set your current difficulty getting the right struct. Then you can always reference your “currentDifficultyStruct”.
There many ways you can do this. In your case i would make something like Milkazar saying, struct with all varbales related to difficulties and then make struct variable in GameMode or GameInstace where you can swap diffculty data in and out and make all you gameplay code check it out when you apply damage and such, where it is needed.
You can store difficulties in defaults in array of some class, mentioned data tables or if you use C++ you can do fancy UDataAsset and store difficulties as assets (then you dont really need to use structs, you just make object variable and reference the diffculty asset). And make Game Mode or Game Instance code load them up depending on what user selects.
Oh and for things like damage and healing, i would use multiplication/scales, so you can still control base damage and heal (or other stats) inside item data and difficulty struct won’t get so big. Later apply difficulty modification by multiplying the value when damage or heal is processed. Normal difficulty would have all multipliers at 1. Ofcorse whatever you use should depend on your game play specifics