1. We have just migrated to Xenforo forum platform. Few things to remember:
    - You will need to reset your password in order to login. Reset your pass here: Click here. Be sure to check SPAM folder!
    - Avatars were not migrated. You will need to upload your new avatar

    Regards,
    Soccer Gaming Admin

Modding player growth

Discussion in 'FIFA 17 Forum' started by jamiemgr, Dec 22, 2017.

  1. jamiemgr

    jamiemgr Club Supporter

    Joined:
    Jan 25, 2010
    Messages:
    41
    Likes Received:
    0
    Hello all,

    I have been creating a mod for Fifa 17 which I have just got back to because Fifa 18 is a broken mess.

    I have changed a lot of things in the mod, such as more transfer activity, 100% of money at end of season is transferred to the next, player sales now get you 100% of the money, minimum retirement age increased to 34 .........

    Here are the mod files:
    Frosty Mod Manager: https://drive.google.com/open?id=1JFCLLLZlB3sdxeJydSLfUld34ceasZej
    Frosty Editor: https://drive.google.com/open?id=1h_SdHYJmz5GJ7b9dAeey2lsCLfqM5hW2

    The only thing that I am having trouble with is player growth (loss of stats for older players). Anyone know what needs changing in the player growth (playergrowth.ini) to stop players from losing their stats so quickly because of age?


    Playergrowth.ini:
    Code:
    [PLAYER_GROWTH]
    EXPERIENCE_MAX = 100                // Experience needed by the player to grow
    EXPERIENCE_MIN = 0
    
    // in which month should the growth be applied, max 3 entries (0 = not used)
    MONTH_TO_APPLY_GROWTH_1 = 4
    MONTH_TO_APPLY_GROWTH_2 = 8
    MONTH_TO_APPLY_GROWTH_3 = 12
    
    CURVES = 7
    
    // at each growth the player will grow its overall by x. This is the overall points available. Each attribute has an overall points cost to be increased by +1.
    // When the overall points are depleted some attributes cannot be grown. This factor is applied in that case (i.e. only when the attribute cost is greater than the remaining overall points)
    // to allow an attribute to be grown even if the overall points cost is not met (but it is within the factor limit - hence overgrowth)
    // I.e. if the player has only 0.25 overall points left of x that he had grown (the other points were used to grow attributes based on their full cost) and to grow Ball Controll he needs 0.50.
    // If this factor is 1 then he cannot grow Ball controll (he needs 0.50 * 1 > 0.25)
    // If this factor is 0.5 then he can grow Ball controll by +1 (0.50 * 0.50 = 0.25 and no other overall points remain)
    // if this factor is 0.25 then he can grow Ball controll by +1 (0.50 * 0.25 = 0.125 and he still has 0.125 overall points remaining so he can grow another attribute that costs 0.50 or less)
    // This should not be 0 or greater than 1
    ATTRIBUTE_GROWTH_COST_FACTOR_FOR_OVERGROWTH = 0.5
    
    // percentage of the growth that will be added/removed to the actual growth (a random value between -value,+value is selected) so basically the growth will vary by a random degree
    // (it will be randomly between 100-value %, 100+value % of the calculated growth)
    GROWTH_VARIATION_PERCENTAGE = 10
    
    // match rating & play time modifier (used for user players since the for CPU players we don't store the necessary information)
    MATCHRATING_MIN_VALUE = 5
    MATCHRATING_MAX_VALUE = 10
    // bonus added to the calculated growth for bad/good match rating (as percentage of the calculated growth)
    MATCH_RATING_PERCENTAGE_BONUS_BAD = -10  // can be negative
    MATCH_RATING_PERCENTAGE_BONUS_GOOD = 10
    // number of minutes to award the maximum bonus percentage
    MATCH_PLAY_TIME_FOR_MAX_BONUS = 270
    // bonus added to the calculated growth when the player plays the max play time set above
    // linear interpolation based on player's actual match play time
    MATCH_PLAY_TIME_PERCENTAGE_BONUS = 10
    
    // growth/decrease attenuation/multiplication in case of the injury
    // the calculated growth contains all modifiers above, this modifier is applied last
    // percentage of the calculated growth that will be applied while the player is injured (i.e. if this is 5% and the player is injured for half of the growth period then half of the growth will be added normally while the other
    // half - the injured part - will be reduced to 5% of its value)
    // used for player increase stage
    INJURY_GROWTH_PERCENTAGE_MODIFIER = 5
    // same as above only that this is applied in the decrease stage, for the injury period, the decrease will be amplified to the value of the calculated decrease with the modifier applied
    // 100% will not amplify anythin, 200% will decrease the player twice as normal for the injured period
    // i.e. if this is 150, for the injured period, the decrease will be 150% of what it should be
    // should be >= 100
    INJURY_DECREASE_PERCENTAGE_MODIFIER = 150
    
    // a modifier that will be applied based on how many training sessions the player took part in (Career training feature)
    // a value of 1 will leave the growth unchanged, below one will reduce the growth/decrease, above 1 will accelerate the growth/decrease (a value of 2 will double it)
    TRAINING_MODIFIER_GROWTH = 1
    TRAINING_MODIFIER_DECREASE = 1
    // number of training sessions to have in order to receive the maximum modifier. Values lower than this will get a linear interpolated modifier between 1 and the values above
    TRAINING_SESSIONS_FOR_MAX_MODIFIER = 5
    
    // PLAYER_POSITION_GK = 0
    // PLAYER_POSITION_SW = 1
    // PLAYER_POSITION_RWB = 2
    // PLAYER_POSITION_RB = 3
    // PLAYER_POSITION_RCB = 4
    // PLAYER_POSITION_CB = 5
    // PLAYER_POSITION_LCB = 6
    // PLAYER_POSITION_LB = 7
    // PLAYER_POSITION_LWB = 8
    // PLAYER_POSITION_RDM = 9
    // PLAYER_POSITION_CDM = 10
    // PLAYER_POSITION_LDM = 11
    // PLAYER_POSITION_RM = 12
    // PLAYER_POSITION_RCM = 13
    // PLAYER_POSITION_CM = 14
    // PLAYER_POSITION_LCM = 15
    // PLAYER_POSITION_LM = 16
    // PLAYER_POSITION_RAM = 17
    // PLAYER_POSITION_CAM = 18
    // PLAYER_POSITION_LAM = 19
    // PLAYER_POSITION_RF = 20
    // PLAYER_POSITION_CF = 21
    // PLAYER_POSITION_LF = 22
    // PLAYER_POSITION_RW = 23
    // PLAYER_POSITION_RS = 24
    // PLAYER_POSITION_ST = 25
    // PLAYER_POSITION_LS = 26
    // PLAYER_POSITION_LW = 27
    
    [CURVE_1]
    // how much will the curve be attenuated, percentage of the calculated attenuation (this percentage is not the actual value that will be used for attenuation it will be multiplied with the calculated attenuation and the result will be applied)
    // if 100 the full attenuation will be applied, if 50, half of the calculated attenuation will be applied
    CURVE_ATTENUATION_PERCENTAGE = 90
    
    // a modifier that will be applied for players that are above or below the curve. The modifier will be set by linear interpolation of MIN_MODIFIER and MAX_MODIFIER based on where the player is between MIN_RATIO and MAX_RATIO
    // above or below curve. A modifier of 0 will cause no growth, 1 will not affect the growth, 2 will double the growth gain of the player. Values outside MIN_RATIO and MAX_RATIO will be capped to these values.
    // MIN_RATIO is closer to the curve, MAX_RATIO is farther from the curve (in both cases, above and below)
    ABOVE_CURVE_MAX_RATIO = 0.3
    ABOVE_CURVE_MODIFIER_FOR_MAX_RATIO = 0
    ABOVE_CURVE_MIN_RATIO = 0.05
    ABOVE_CURVE_MODIFIER_FOR_MIN_RATIO = 1
    BELOW_CURVE_MAX_RATIO = 0.3
    BELOW_CURVE_MODIFIER_FOR_MAX_RATIO = 1.5
    BELOW_CURVE_MIN_RATIO = 0.05
    BELOW_CURVE_MODIFIER_FOR_MIN_RATIO = 1
    
    // factor multiplied to the overall points the player gains to get the overall points used to grow secondary attributes
    // I.e. if the player grows with 2 overall points, and the factor is 0.5 for secondary attributes he will have only 1 overall point available
    SECONDARY_ATTRIBUTES_FACTOR = 0.2
    
    POINTS = 10
    
    // ratio values should not be limited to 1 (i.e. have a stagnation period) but should grow above 1. The code will cap it to 1 where needed but this overflow will allow for players that are below the curve to reach the potential
    // (the curve is translated to the current value of the player, which will make the values above 1 to decrease). This value should be approximated based on how low can a player be below the curve.
    AGE_1 = 16
    AGE_2 = 18
    AGE_3 = 20
    AGE_4 = 21
    AGE_5 = 25
    AGE_6 = 31
    AGE_7 = 33
    AGE_8 = 35
    AGE_9 = 38
    AGE_10 = 40
    RATIO_1 = 0.56
    RATIO_2 = 0.71
    RATIO_3 = 0.82
    RATIO_4 = 0.86
    RATIO_5 = 0.94
    RATIO_6 = 1
    RATIO_7 = 1
    RATIO_8 = 0.97
    RATIO_9 = 0.87
    RATIO_10 = 0.77
    
    
    // weight values can be anything from rations (i.e. 1:2:1) to percentages (i.e. 25%:50%:25%), the code will rescale them. For better range you should use percentages, summing up to 100 per age group
    WEIGHTS = 13
    
    WEIGHT_AGE_1 = 16
    WEIGHT_AGE_2 = 17
    WEIGHT_AGE_3 = 18
    WEIGHT_AGE_4 = 19
    WEIGHT_AGE_5 = 23
    WEIGHT_AGE_6 = 24
    WEIGHT_AGE_7 = 28
    WEIGHT_AGE_8 = 29
    WEIGHT_AGE_9 = 30
    WEIGHT_AGE_10 = 35
    WEIGHT_AGE_11 = 36
    WEIGHT_AGE_12 = 38
    WEIGHT_AGE_13 = 40
    WEIGHT_MENTAL_1 = 17
    WEIGHT_MENTAL_2 = 17
    WEIGHT_MENTAL_3 = 20
    WEIGHT_MENTAL_4 = 40
    WEIGHT_MENTAL_5 = 40
    WEIGHT_MENTAL_6 = 60
    WEIGHT_MENTAL_7 = 60
    WEIGHT_MENTAL_8 = 80
    WEIGHT_MENTAL_9 = 80
    WEIGHT_MENTAL_10 = 0
    WEIGHT_MENTAL_11 = 6
    WEIGHT_MENTAL_12 = 6
    WEIGHT_MENTAL_13 = 6
    WEIGHT_PHYSICAL_1 = 66
    WEIGHT_PHYSICAL_2 = 66
    WEIGHT_PHYSICAL_3 = 60
    WEIGHT_PHYSICAL_4 = 40
    WEIGHT_PHYSICAL_5 = 40
    WEIGHT_PHYSICAL_6 = 20
    WEIGHT_PHYSICAL_7 = 20
    WEIGHT_PHYSICAL_8 = 0
    WEIGHT_PHYSICAL_9 = 0
    WEIGHT_PHYSICAL_10 = 88
    WEIGHT_PHYSICAL_11 = 88
    WEIGHT_PHYSICAL_12 = 82
    WEIGHT_PHYSICAL_13 = 80
    WEIGHT_SKILL_1 = 17
    WEIGHT_SKILL_2 = 17
    WEIGHT_SKILL_3 = 20
    WEIGHT_SKILL_4 = 20
    WEIGHT_SKILL_5 = 20
    WEIGHT_SKILL_6 = 20
    WEIGHT_SKILL_7 = 20
    WEIGHT_SKILL_8 = 20
    WEIGHT_SKILL_9 = 20
    WEIGHT_SKILL_10 = 12
    WEIGHT_SKILL_11 = 6
    WEIGHT_SKILL_12 = 12
    WEIGHT_SKILL_13 = 14
    
    POSITIONS = 1
    POSITION_1 = 0
    
    
     
    Last edited: Dec 22, 2017
  2. msrajjc2

    msrajjc2 Club Supporter

    Joined:
    Nov 4, 2015
    Messages:
    73
    Likes Received:
    18
      

Share This Page