Hi all,
Didn't see any other threads addressing this, so thought I might share my knowledge!
There's 4 new ini files that all effect various training areas. The main ones I've looked at are training_drill_attributes_list.ini, training_progress.ini and training_result_converter.ini.
training_progress.ini contains a list of all trainable attributes and their respective IDs. The only 2 attributes that aren't trainable are sprint speed and acceleration, but these can be added in by following the format in these files, and adding their respective lines. My training_progress.ini file looks like below:
[TRAINING_PROGRESS]
SESSIONS_PER_WEEK = 5
NR_OF_ATTRS_FOR_TRAINING = 28 // self explanatory
ATTR_ID_FOR_TRAINING_1 = 2
ATTR_ID_FOR_TRAINING_26 = 5
ATTR_ID_FOR_TRAINING_23 = 9
ATTR_ID_FOR_TRAINING_22 = 10
ATTR_ID_FOR_TRAINING_24 = 11
ATTR_ID_FOR_TRAINING_2 = 12
ATTR_ID_FOR_TRAINING_3 = 13
ATTR_ID_FOR_TRAINING_4 = 14
ATTR_ID_FOR_TRAINING_5 = 15
ATTR_ID_FOR_TRAINING_6 = 16
ATTR_ID_FOR_TRAINING_7 = 17
ATTR_ID_FOR_TRAINING_8 = 18
ATTR_ID_FOR_TRAINING_9 = 19
ATTR_ID_FOR_TRAINING_21 = 20
ATTR_ID_FOR_TRAINING_10 = 21
ATTR_ID_FOR_TRAINING_11 = 22
ATTR_ID_FOR_TRAINING_12 = 23
ATTR_ID_FOR_TRAINING_13 = 24
ATTR_ID_FOR_TRAINING_14 = 25
ATTR_ID_FOR_TRAINING_25 = 26
ATTR_ID_FOR_TRAINING_15 = 27
ATTR_ID_FOR_TRAINING_16 = 28 // this is the id of the attribute; see bellow the list
ATTR_ID_FOR_TRAINING_17 = 29
ATTR_ID_FOR_TRAINING_18 = 30
ATTR_ID_FOR_TRAINING_19 = 31
ATTR_ID_FOR_TRAINING_20 = 32
ATTR_ID_FOR_TRAINING_27 = 0
ATTR_ID_FOR_TRAINING_28 = 1
//PLAYER_ATTRIBUTE_ACCELERATION, // 0
//PLAYER_ATTRIBUTE_SPRINT_SPEED, // 1
//PLAYER_ATTRIBUTE_AGILITY, // 2
//PLAYER_ATTRIBUTE_BALANCE, // 3
//PLAYER_ATTRIBUTE_JUMPING, // 4
//PLAYER_ATTRIBUTE_STAMINA, // 5
//PLAYER_ATTRIBUTE_STRENGTH, // 6
//PLAYER_ATTRIBUTE_REACTIONS, // 7 -- Mental or Physical? Physical in VPro, Mental in rest
//PLAYER_ATTRIBUTE_AGGRESSION, // 8
//PLAYER_ATTRIBUTE_INTERCEPTIONS, // 9 - Note: This still corresponds to Gameplay::PLAYER_ATTRIBUTE_TACTICAL_AWARENESS; Please remove this comment once Gameplay has changed their attribute!
//PLAYER_ATTRIBUTE_POSITIONING, // 10
//PLAYER_ATTRIBUTE_VISION, // 11
//PLAYER_ATTRIBUTE_BALL_CONTROL, // 12
//PLAYER_ATTRIBUTE_CROSSING, // 13
//PLAYER_ATTRIBUTE_DRIBBLING, // 14
//PLAYER_ATTRIBUTE_FINISHING, // 15
//PLAYER_ATTRIBUTE_FREE_KICK_ACCURACY, // 16
//PLAYER_ATTRIBUTE_HEADING_ACCURACY, // 17
//PLAYER_ATTRIBUTE_LONG_PASSING, // 18
//PLAYER_ATTRIBUTE_SHORT_PASSING, // 19
//PLAYER_ATTRIBUTE_MARKING, // 20
//PLAYER_ATTRIBUTE_SHOT_POWER, // 21
//PLAYER_ATTRIBUTE_POWER_SHOT_ACCURACY, // 22 - long shots
//PLAYER_ATTRIBUTE_STANDING_TACKLE, // 23
//PLAYER_ATTRIBUTE_SLIDING_TACKLE, // 24
//PLAYER_ATTRIBUTE_VOLLEYS, // 25
//PLAYER_ATTRIBUTE_CURVE, // 26
//PLAYER_ATTRIBUTE_PENALTIES, // 27
//PLAYER_ATTRIBUTE_GK_DIVING, // 28
//PLAYER_ATTRIBUTE_GK_HANDLING, // 29
//PLAYER_ATTRIBUTE_GK_KICKING, // 30
//PLAYER_ATTRIBUTE_GK_REFLEXES, // 31
//PLAYER_ATTRIBUTE_GK_POSITIONING, // 32
training_drill_attributes_list.ini lists all the training options, and their relative attributes. It looks like you can only do a max of 4 attributes per training, otherwise the game decides to chuck a hissy when levelling your player.
For reference, my file looks like the below (I added sprint speed, acceleration, finishing and shot power to penalties training as an experiment):
[DRILL_SUGGESTIONS]
MIN_PRIMARY_ATTRS_FOR_SUGGESTION = 2
// Penalty bronze, silver, gold
[CM_TRAINING_DRILL_78]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 0
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 21
ATTRIBUTE_4 = 1
//ATTRIBUTE_7 = 6
//ATTRIBUTE_8 = 7
//ATTRIBUTE_9 = 8
//ATTRIBUTE_10 = 9
//ATTRIBUTE_11 = 10
//ATTRIBUTE_12 = 11
//ATTRIBUTE_13 = 12
//ATTRIBUTE_14 = 13
//ATTRIBUTE_15 = 14
//ATTRIBUTE_16 = 15
//ATTRIBUTE_17 = 16
//ATTRIBUTE_18 = 17
//ATTRIBUTE_19 = 18
//ATTRIBUTE_20 = 19
//ATTRIBUTE_21 = 20
//ATTRIBUTE_22 = 21
//ATTRIBUTE_23 = 22
//ATTRIBUTE_24 = 23
//ATTRIBUTE_25 = 24
//ATTRIBUTE_26 = 25
//ATTRIBUTE_27 = 26
//ATTRIBUTE_28 = 27
[CM_TRAINING_DRILL_79]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 0
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 21
ATTRIBUTE_4 = 1
//ATTRIBUTE_7 = 6
//ATTRIBUTE_8 = 7
//ATTRIBUTE_9 = 8
//ATTRIBUTE_10 = 9
//ATTRIBUTE_11 = 10
//ATTRIBUTE_12 = 11
//ATTRIBUTE_13 = 12
//ATTRIBUTE_14 = 13
//ATTRIBUTE_15 = 14
//ATTRIBUTE_16 = 15
//ATTRIBUTE_17 = 16
//ATTRIBUTE_18 = 17
//ATTRIBUTE_19 = 18
//ATTRIBUTE_20 = 19
//ATTRIBUTE_21 = 20
//ATTRIBUTE_22 = 21
//ATTRIBUTE_23 = 22
//ATTRIBUTE_24 = 23
//ATTRIBUTE_25 = 24
//ATTRIBUTE_26 = 25
//ATTRIBUTE_27 = 26
//ATTRIBUTE_28 = 27
[CM_TRAINING_DRILL_80]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 0
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 21
ATTRIBUTE_4 = 1
//ATTRIBUTE_7 = 6
//ATTRIBUTE_8 = 7
//ATTRIBUTE_9 = 8
//ATTRIBUTE_10 = 9
//ATTRIBUTE_11 = 10
//ATTRIBUTE_12 = 11
//ATTRIBUTE_13 = 12
//ATTRIBUTE_14 = 13
//ATTRIBUTE_15 = 14
//ATTRIBUTE_16 = 15
//ATTRIBUTE_17 = 16
//ATTRIBUTE_18 = 17
//ATTRIBUTE_19 = 18
//ATTRIBUTE_20 = 19
//ATTRIBUTE_21 = 20
//ATTRIBUTE_22 = 21
//ATTRIBUTE_23 = 22
//ATTRIBUTE_24 = 23
//ATTRIBUTE_25 = 24
//ATTRIBUTE_26 = 25
//ATTRIBUTE_27 = 26
//ATTRIBUTE_28 = 27
// GK
[CM_TRAINING_DRILL_81]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 28
ATTRIBUTE_2 = 31
ATTRIBUTE_3 = 32
[CM_TRAINING_DRILL_82]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 30
ATTRIBUTE_2 = 29
[CM_TRAINING_DRILL_83]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 28
ATTRIBUTE_2 = 31
ATTRIBUTE_3 = 32
// Freekick
[CM_TRAINING_DRILL_75]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 16
ATTRIBUTE_2 = 22
ATTRIBUTE_3 = 26
[CM_TRAINING_DRILL_76]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 16
ATTRIBUTE_2 = 21
ATTRIBUTE_3 = 22
ATTRIBUTE_4 = 26
[CM_TRAINING_DRILL_77]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 16
ATTRIBUTE_2 = 22
ATTRIBUTE_3 = 26
//Dribbling
[CM_TRAINING_DRILL_93]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
[CM_TRAINING_DRILL_94]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 5
ATTRIBUTE_3 = 12
ATTRIBUTE_4 = 14
[CM_TRAINING_DRILL_95]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 5
ATTRIBUTE_3 = 12
ATTRIBUTE_4 = 14
//Advanced dribbling
[CM_TRAINING_DRILL_90]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 5
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
[CM_TRAINING_DRILL_91]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 5
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
[CM_TRAINING_DRILL_92]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
//Defending
[CM_TRAINING_DRILL_69]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 24
ATTRIBUTE_2 = 9
[CM_TRAINING_DRILL_70]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 9
[CM_TRAINING_DRILL_71]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 20
ATTRIBUTE_4 = 9
// Advanced defending
[CM_TRAINING_DRILL_84]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 20
ATTRIBUTE_4 = 9
[CM_TRAINING_DRILL_85]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 9
[CM_TRAINING_DRILL_86]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 20
ATTRIBUTE_4 = 9
// Advanced Shooting
[CM_TRAINING_DRILL_66]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
[CM_TRAINING_DRILL_67]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 25
ATTRIBUTE_2 = 22
ATTRIBUTE_3 = 21
[CM_TRAINING_DRILL_68]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 10
// Shooting
[CM_TRAINING_DRILL_63]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
[CM_TRAINING_DRILL_64]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 17
ATTRIBUTE_2 = 25
ATTRIBUTE_3 = 10
[CM_TRAINING_DRILL_65]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
// Passing
[CM_TRAINING_DRILL_60]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 19
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_61]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 19
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_62]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 19
ATTRIBUTE_2 = 11
// Lob passing
[CM_TRAINING_DRILL_72]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 18
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_73]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 18
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_74]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 18
ATTRIBUTE_2 = 11
//Crossing
[CM_TRAINING_DRILL_87]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 13
ATTRIBUTE_2 = 18
[CM_TRAINING_DRILL_88]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 13
ATTRIBUTE_2 = 18
[CM_TRAINING_DRILL_89]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 13
ATTRIBUTE_2 = 18
//PLAYER_ATTRIBUTE_ACCELERATION, // 0
//PLAYER_ATTRIBUTE_SPRINT_SPEED, // 1
//PLAYER_ATTRIBUTE_AGILITY, // 2
//PLAYER_ATTRIBUTE_BALANCE, // 3
//PLAYER_ATTRIBUTE_JUMPING, // 4
//PLAYER_ATTRIBUTE_STAMINA, // 5
//PLAYER_ATTRIBUTE_STRENGTH, // 6
//PLAYER_ATTRIBUTE_REACTIONS, // 7 -- Mental or Physical? Physical in VPro, Mental in rest
//PLAYER_ATTRIBUTE_AGGRESSION, // 8
//PLAYER_ATTRIBUTE_INTERCEPTIONS, // 9 - Note: This still corresponds to Gameplay::PLAYER_ATTRIBUTE_TACTICAL_AWARENESS; Please remove this comment once Gameplay has changed their attribute!
//PLAYER_ATTRIBUTE_POSITIONING, // 10
//PLAYER_ATTRIBUTE_VISION, // 11
//PLAYER_ATTRIBUTE_BALL_CONTROL, // 12
//PLAYER_ATTRIBUTE_CROSSING, // 13
//PLAYER_ATTRIBUTE_DRIBBLING, // 14
//PLAYER_ATTRIBUTE_FINISHING, // 15
//PLAYER_ATTRIBUTE_FREE_KICK_ACCURACY, // 16
//PLAYER_ATTRIBUTE_HEADING_ACCURACY, // 17
//PLAYER_ATTRIBUTE_LONG_PASSING, // 18
//PLAYER_ATTRIBUTE_SHORT_PASSING, // 19
//PLAYER_ATTRIBUTE_MARKING, // 20
//PLAYER_ATTRIBUTE_SHOT_POWER, // 21
//PLAYER_ATTRIBUTE_POWER_SHOT_ACCURACY, // 22 - long shots
//PLAYER_ATTRIBUTE_STANDING_TACKLE, // 23
//PLAYER_ATTRIBUTE_SLIDING_TACKLE, // 24
//PLAYER_ATTRIBUTE_VOLLEYS, // 25
//PLAYER_ATTRIBUTE_CURVE, // 26
//PLAYER_ATTRIBUTE_PENALTIES, // 27
//PLAYER_ATTRIBUTE_GK_DIVING, // 28
//PLAYER_ATTRIBUTE_GK_HANDLING, // 29
//PLAYER_ATTRIBUTE_GK_KICKING, // 30
//PLAYER_ATTRIBUTE_GK_REFLEXES, // 31
//PLAYER_ATTRIBUTE_GK_POSITIONING, // 32
Finally, training_result_converter.ini controls how much a player will level from the training, and the expected variables around this. I've modified the default modifiers for the training, so people like Rooney will still level up each attribute when you train them. My file looks like below:
[CM_TRAINING]
//XP GRAPH FORMULA
BASE_CALC_VALUE = 3500
BASE_GROWTH_SCALE_VALUE = 100
BASE_GROWTH_SCALE_MODIFIER = 5.5
GROWTH_SCALE_PROGRESSION = 0.01
SECONDARY_ATTRIBUTE_TRESHOLD = 20
ATTRIBUTE_GROWTH_CAP = 3000 // in percents, 120 will mean the attribute will grow by 1.2
// for some edge cases (like created players with low attribute values) the xp graph will generate huge attribute growth values, this value will be used to cap the result
// so we don't get large increase in attributes
PERFORMANCE_GRADE_A_MODIFIER = 5
PERFORMANCE_GRADE_B_MODIFIER = 5
PERFORMANCE_GRADE_C_MODIFIER = 5
PERFORMANCE_GRADE_D_MODIFIER = 5
PERFORMANCE_GRADE_F_MODIFIER = 5
PRIMARY_MODIFIER = 5
SECONDARY_MODIFIER = 5
TERTIARY_MODIFIER = 5
BRONZE_MODIFIER = 5
SILVER_MODIFIER = 5
GOLD_MODIFIER = 5
NUMBER_OF_AGE_WR_BANDS = 5
AGE_WR_AGE_MIN_1 = 15
AGE_WR_AGE_MAX_1 = 20
AGE_WR_BAND_MODIFIER_1 = 1.5
AGE_WR_AGE_MIN_2 = 20
AGE_WR_AGE_MAX_2 = 24
AGE_WR_BAND_MODIFIER_2 = 1.3
AGE_WR_AGE_MIN_3 = 24
AGE_WR_AGE_MAX_3 = 28
AGE_WR_BAND_MODIFIER_3 = 1.1
AGE_WR_AGE_MIN_4 = 28
AGE_WR_AGE_MAX_4 = 31
AGE_WR_BAND_MODIFIER_4 = 1
AGE_WR_AGE_MIN_5 = 31
AGE_WR_BAND_MODIFIER_5 = 0.75
NUMBER_OF_POTENTIAL_WR_BANDS = 5 // The operator values defined in POTENTIAL_WR are defined like this: 0 = Equals, 1 = less or equal, 2 = greater
POTENTIAL_WR_RATIO_1 = 1
POTENTIAL_WR_RATIO_OPERATOR_1 = 0
POTENTIAL_WR_POTENTIAL_LIMIT_1 = 99
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_1 = 1
POTENTIAL_WR_MODIFIER_1 = 0.8
POTENTIAL_WR_RATIO_2 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_2 = 1
POTENTIAL_WR_POTENTIAL_LIMIT_2 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_2 = 2
POTENTIAL_WR_MODIFIER_2 = 1
POTENTIAL_WR_RATIO_3 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_3 = 1
POTENTIAL_WR_POTENTIAL_LIMIT_3 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_3 = 1
POTENTIAL_WR_MODIFIER_3 = 0.9
POTENTIAL_WR_RATIO_4 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_4 = 2
POTENTIAL_WR_POTENTIAL_LIMIT_4 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_4 = 1
POTENTIAL_WR_MODIFIER_4 = 1.1
POTENTIAL_WR_RATIO_5 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_5 = 2
POTENTIAL_WR_POTENTIAL_LIMIT_5 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_5 = 2
POTENTIAL_WR_MODIFIER_5 = 1.2
ATTRIBUTE_BONUS_1 = 30 // for 2 trained attributes
ATTRIBUTE_BONUS_2 = 18 // for 3 trained attributes
ATTRIBUTE_BONUS_3 = 0 // for 4 trained attributes
[CM_TRAINING_SIMULATION]
// Difficulty: 0 = Bronze, 1 = Silver, 2 = Gold, the sum of the values for a given difficulty must be 100
// Grade: 0 = A, 1 = B, 2 = C, 3 = D, 4 = F
DIFFICULTY_0_GRADE_0 = 20
DIFFICULTY_0_GRADE_1 = 25
DIFFICULTY_0_GRADE_2 = 25
DIFFICULTY_0_GRADE_3 = 25
DIFFICULTY_0_GRADE_4 = 5
DIFFICULTY_1_GRADE_0 = 15
DIFFICULTY_1_GRADE_1 = 30
DIFFICULTY_1_GRADE_2 = 30
DIFFICULTY_1_GRADE_3 = 20
DIFFICULTY_1_GRADE_4 = 5
DIFFICULTY_2_GRADE_0 = 10
DIFFICULTY_2_GRADE_1 = 20
DIFFICULTY_2_GRADE_2 = 35
DIFFICULTY_2_GRADE_3 = 30
DIFFICULTY_2_GRADE_4 = 5
// 0 = no primary attributes, 1 = 1 primary attributes, 2 = 2 primary attributes, 3 = 3 or 4 primary attributes
// the values for other grades are calculated by linear interpolation between values for A and F
PRIMARY_ATTRIBUTES_0_BONUS_A = -15
PRIMARY_ATTRIBUTES_0_BONUS_F = 15
PRIMARY_ATTRIBUTES_1_BONUS_A = -5
PRIMARY_ATTRIBUTES_1_BONUS_F = 5
PRIMARY_ATTRIBUTES_2_BONUS_A = -5
PRIMARY_ATTRIBUTES_2_BONUS_F = 0
PRIMARY_ATTRIBUTES_3_BONUS_A = -10
PRIMARY_ATTRIBUTES_3_BONUS_F = 10
// potential entries count must match the ones from the previous section
// the values for other grades are calculated by linear interpolation between values for A and F
POTENTIAL_1_BONUS_A = -5
POTENTIAL_1_BONUS_F = 10
POTENTIAL_2_BONUS_A = 0
POTENTIAL_2_BONUS_F = 0
POTENTIAL_3_BONUS_A = -5
POTENTIAL_3_BONUS_F = 5
POTENTIAL_4_BONUS_A = 10
POTENTIAL_4_BONUS_F = 5
POTENTIAL_5_BONUS_A = 10
POTENTIAL_5_BONUS_F = 0
I hope this has helped anyone looking to alter training effects! Credit must go to shawminator for releasing the CG File Explorer 16 tool, which allows you to extract these files.
The link to his tool is here: http://www.soccergaming.com/forums/showthread.php?t=192915
Didn't see any other threads addressing this, so thought I might share my knowledge!
There's 4 new ini files that all effect various training areas. The main ones I've looked at are training_drill_attributes_list.ini, training_progress.ini and training_result_converter.ini.
training_progress.ini contains a list of all trainable attributes and their respective IDs. The only 2 attributes that aren't trainable are sprint speed and acceleration, but these can be added in by following the format in these files, and adding their respective lines. My training_progress.ini file looks like below:
[TRAINING_PROGRESS]
SESSIONS_PER_WEEK = 5
NR_OF_ATTRS_FOR_TRAINING = 28 // self explanatory
ATTR_ID_FOR_TRAINING_1 = 2
ATTR_ID_FOR_TRAINING_26 = 5
ATTR_ID_FOR_TRAINING_23 = 9
ATTR_ID_FOR_TRAINING_22 = 10
ATTR_ID_FOR_TRAINING_24 = 11
ATTR_ID_FOR_TRAINING_2 = 12
ATTR_ID_FOR_TRAINING_3 = 13
ATTR_ID_FOR_TRAINING_4 = 14
ATTR_ID_FOR_TRAINING_5 = 15
ATTR_ID_FOR_TRAINING_6 = 16
ATTR_ID_FOR_TRAINING_7 = 17
ATTR_ID_FOR_TRAINING_8 = 18
ATTR_ID_FOR_TRAINING_9 = 19
ATTR_ID_FOR_TRAINING_21 = 20
ATTR_ID_FOR_TRAINING_10 = 21
ATTR_ID_FOR_TRAINING_11 = 22
ATTR_ID_FOR_TRAINING_12 = 23
ATTR_ID_FOR_TRAINING_13 = 24
ATTR_ID_FOR_TRAINING_14 = 25
ATTR_ID_FOR_TRAINING_25 = 26
ATTR_ID_FOR_TRAINING_15 = 27
ATTR_ID_FOR_TRAINING_16 = 28 // this is the id of the attribute; see bellow the list
ATTR_ID_FOR_TRAINING_17 = 29
ATTR_ID_FOR_TRAINING_18 = 30
ATTR_ID_FOR_TRAINING_19 = 31
ATTR_ID_FOR_TRAINING_20 = 32
ATTR_ID_FOR_TRAINING_27 = 0
ATTR_ID_FOR_TRAINING_28 = 1
//PLAYER_ATTRIBUTE_ACCELERATION, // 0
//PLAYER_ATTRIBUTE_SPRINT_SPEED, // 1
//PLAYER_ATTRIBUTE_AGILITY, // 2
//PLAYER_ATTRIBUTE_BALANCE, // 3
//PLAYER_ATTRIBUTE_JUMPING, // 4
//PLAYER_ATTRIBUTE_STAMINA, // 5
//PLAYER_ATTRIBUTE_STRENGTH, // 6
//PLAYER_ATTRIBUTE_REACTIONS, // 7 -- Mental or Physical? Physical in VPro, Mental in rest
//PLAYER_ATTRIBUTE_AGGRESSION, // 8
//PLAYER_ATTRIBUTE_INTERCEPTIONS, // 9 - Note: This still corresponds to Gameplay::PLAYER_ATTRIBUTE_TACTICAL_AWARENESS; Please remove this comment once Gameplay has changed their attribute!
//PLAYER_ATTRIBUTE_POSITIONING, // 10
//PLAYER_ATTRIBUTE_VISION, // 11
//PLAYER_ATTRIBUTE_BALL_CONTROL, // 12
//PLAYER_ATTRIBUTE_CROSSING, // 13
//PLAYER_ATTRIBUTE_DRIBBLING, // 14
//PLAYER_ATTRIBUTE_FINISHING, // 15
//PLAYER_ATTRIBUTE_FREE_KICK_ACCURACY, // 16
//PLAYER_ATTRIBUTE_HEADING_ACCURACY, // 17
//PLAYER_ATTRIBUTE_LONG_PASSING, // 18
//PLAYER_ATTRIBUTE_SHORT_PASSING, // 19
//PLAYER_ATTRIBUTE_MARKING, // 20
//PLAYER_ATTRIBUTE_SHOT_POWER, // 21
//PLAYER_ATTRIBUTE_POWER_SHOT_ACCURACY, // 22 - long shots
//PLAYER_ATTRIBUTE_STANDING_TACKLE, // 23
//PLAYER_ATTRIBUTE_SLIDING_TACKLE, // 24
//PLAYER_ATTRIBUTE_VOLLEYS, // 25
//PLAYER_ATTRIBUTE_CURVE, // 26
//PLAYER_ATTRIBUTE_PENALTIES, // 27
//PLAYER_ATTRIBUTE_GK_DIVING, // 28
//PLAYER_ATTRIBUTE_GK_HANDLING, // 29
//PLAYER_ATTRIBUTE_GK_KICKING, // 30
//PLAYER_ATTRIBUTE_GK_REFLEXES, // 31
//PLAYER_ATTRIBUTE_GK_POSITIONING, // 32
training_drill_attributes_list.ini lists all the training options, and their relative attributes. It looks like you can only do a max of 4 attributes per training, otherwise the game decides to chuck a hissy when levelling your player.
For reference, my file looks like the below (I added sprint speed, acceleration, finishing and shot power to penalties training as an experiment):
[DRILL_SUGGESTIONS]
MIN_PRIMARY_ATTRS_FOR_SUGGESTION = 2
// Penalty bronze, silver, gold
[CM_TRAINING_DRILL_78]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 0
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 21
ATTRIBUTE_4 = 1
//ATTRIBUTE_7 = 6
//ATTRIBUTE_8 = 7
//ATTRIBUTE_9 = 8
//ATTRIBUTE_10 = 9
//ATTRIBUTE_11 = 10
//ATTRIBUTE_12 = 11
//ATTRIBUTE_13 = 12
//ATTRIBUTE_14 = 13
//ATTRIBUTE_15 = 14
//ATTRIBUTE_16 = 15
//ATTRIBUTE_17 = 16
//ATTRIBUTE_18 = 17
//ATTRIBUTE_19 = 18
//ATTRIBUTE_20 = 19
//ATTRIBUTE_21 = 20
//ATTRIBUTE_22 = 21
//ATTRIBUTE_23 = 22
//ATTRIBUTE_24 = 23
//ATTRIBUTE_25 = 24
//ATTRIBUTE_26 = 25
//ATTRIBUTE_27 = 26
//ATTRIBUTE_28 = 27
[CM_TRAINING_DRILL_79]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 0
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 21
ATTRIBUTE_4 = 1
//ATTRIBUTE_7 = 6
//ATTRIBUTE_8 = 7
//ATTRIBUTE_9 = 8
//ATTRIBUTE_10 = 9
//ATTRIBUTE_11 = 10
//ATTRIBUTE_12 = 11
//ATTRIBUTE_13 = 12
//ATTRIBUTE_14 = 13
//ATTRIBUTE_15 = 14
//ATTRIBUTE_16 = 15
//ATTRIBUTE_17 = 16
//ATTRIBUTE_18 = 17
//ATTRIBUTE_19 = 18
//ATTRIBUTE_20 = 19
//ATTRIBUTE_21 = 20
//ATTRIBUTE_22 = 21
//ATTRIBUTE_23 = 22
//ATTRIBUTE_24 = 23
//ATTRIBUTE_25 = 24
//ATTRIBUTE_26 = 25
//ATTRIBUTE_27 = 26
//ATTRIBUTE_28 = 27
[CM_TRAINING_DRILL_80]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 0
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 21
ATTRIBUTE_4 = 1
//ATTRIBUTE_7 = 6
//ATTRIBUTE_8 = 7
//ATTRIBUTE_9 = 8
//ATTRIBUTE_10 = 9
//ATTRIBUTE_11 = 10
//ATTRIBUTE_12 = 11
//ATTRIBUTE_13 = 12
//ATTRIBUTE_14 = 13
//ATTRIBUTE_15 = 14
//ATTRIBUTE_16 = 15
//ATTRIBUTE_17 = 16
//ATTRIBUTE_18 = 17
//ATTRIBUTE_19 = 18
//ATTRIBUTE_20 = 19
//ATTRIBUTE_21 = 20
//ATTRIBUTE_22 = 21
//ATTRIBUTE_23 = 22
//ATTRIBUTE_24 = 23
//ATTRIBUTE_25 = 24
//ATTRIBUTE_26 = 25
//ATTRIBUTE_27 = 26
//ATTRIBUTE_28 = 27
// GK
[CM_TRAINING_DRILL_81]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 28
ATTRIBUTE_2 = 31
ATTRIBUTE_3 = 32
[CM_TRAINING_DRILL_82]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 30
ATTRIBUTE_2 = 29
[CM_TRAINING_DRILL_83]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 28
ATTRIBUTE_2 = 31
ATTRIBUTE_3 = 32
// Freekick
[CM_TRAINING_DRILL_75]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 16
ATTRIBUTE_2 = 22
ATTRIBUTE_3 = 26
[CM_TRAINING_DRILL_76]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 16
ATTRIBUTE_2 = 21
ATTRIBUTE_3 = 22
ATTRIBUTE_4 = 26
[CM_TRAINING_DRILL_77]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 16
ATTRIBUTE_2 = 22
ATTRIBUTE_3 = 26
//Dribbling
[CM_TRAINING_DRILL_93]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
[CM_TRAINING_DRILL_94]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 5
ATTRIBUTE_3 = 12
ATTRIBUTE_4 = 14
[CM_TRAINING_DRILL_95]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 5
ATTRIBUTE_3 = 12
ATTRIBUTE_4 = 14
//Advanced dribbling
[CM_TRAINING_DRILL_90]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 5
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
[CM_TRAINING_DRILL_91]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 5
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
[CM_TRAINING_DRILL_92]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 2
ATTRIBUTE_2 = 12
ATTRIBUTE_3 = 14
//Defending
[CM_TRAINING_DRILL_69]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 24
ATTRIBUTE_2 = 9
[CM_TRAINING_DRILL_70]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 9
[CM_TRAINING_DRILL_71]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 20
ATTRIBUTE_4 = 9
// Advanced defending
[CM_TRAINING_DRILL_84]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 20
ATTRIBUTE_4 = 9
[CM_TRAINING_DRILL_85]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 9
[CM_TRAINING_DRILL_86]
NUMBER_OF_ATTRIBUTES = 4
ATTRIBUTE_1 = 23
ATTRIBUTE_2 = 24
ATTRIBUTE_3 = 20
ATTRIBUTE_4 = 9
// Advanced Shooting
[CM_TRAINING_DRILL_66]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
[CM_TRAINING_DRILL_67]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 25
ATTRIBUTE_2 = 22
ATTRIBUTE_3 = 21
[CM_TRAINING_DRILL_68]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
ATTRIBUTE_3 = 10
// Shooting
[CM_TRAINING_DRILL_63]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
[CM_TRAINING_DRILL_64]
NUMBER_OF_ATTRIBUTES = 3
ATTRIBUTE_1 = 17
ATTRIBUTE_2 = 25
ATTRIBUTE_3 = 10
[CM_TRAINING_DRILL_65]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 21
ATTRIBUTE_2 = 15
// Passing
[CM_TRAINING_DRILL_60]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 19
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_61]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 19
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_62]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 19
ATTRIBUTE_2 = 11
// Lob passing
[CM_TRAINING_DRILL_72]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 18
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_73]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 18
ATTRIBUTE_2 = 11
[CM_TRAINING_DRILL_74]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 18
ATTRIBUTE_2 = 11
//Crossing
[CM_TRAINING_DRILL_87]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 13
ATTRIBUTE_2 = 18
[CM_TRAINING_DRILL_88]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 13
ATTRIBUTE_2 = 18
[CM_TRAINING_DRILL_89]
NUMBER_OF_ATTRIBUTES = 2
ATTRIBUTE_1 = 13
ATTRIBUTE_2 = 18
//PLAYER_ATTRIBUTE_ACCELERATION, // 0
//PLAYER_ATTRIBUTE_SPRINT_SPEED, // 1
//PLAYER_ATTRIBUTE_AGILITY, // 2
//PLAYER_ATTRIBUTE_BALANCE, // 3
//PLAYER_ATTRIBUTE_JUMPING, // 4
//PLAYER_ATTRIBUTE_STAMINA, // 5
//PLAYER_ATTRIBUTE_STRENGTH, // 6
//PLAYER_ATTRIBUTE_REACTIONS, // 7 -- Mental or Physical? Physical in VPro, Mental in rest
//PLAYER_ATTRIBUTE_AGGRESSION, // 8
//PLAYER_ATTRIBUTE_INTERCEPTIONS, // 9 - Note: This still corresponds to Gameplay::PLAYER_ATTRIBUTE_TACTICAL_AWARENESS; Please remove this comment once Gameplay has changed their attribute!
//PLAYER_ATTRIBUTE_POSITIONING, // 10
//PLAYER_ATTRIBUTE_VISION, // 11
//PLAYER_ATTRIBUTE_BALL_CONTROL, // 12
//PLAYER_ATTRIBUTE_CROSSING, // 13
//PLAYER_ATTRIBUTE_DRIBBLING, // 14
//PLAYER_ATTRIBUTE_FINISHING, // 15
//PLAYER_ATTRIBUTE_FREE_KICK_ACCURACY, // 16
//PLAYER_ATTRIBUTE_HEADING_ACCURACY, // 17
//PLAYER_ATTRIBUTE_LONG_PASSING, // 18
//PLAYER_ATTRIBUTE_SHORT_PASSING, // 19
//PLAYER_ATTRIBUTE_MARKING, // 20
//PLAYER_ATTRIBUTE_SHOT_POWER, // 21
//PLAYER_ATTRIBUTE_POWER_SHOT_ACCURACY, // 22 - long shots
//PLAYER_ATTRIBUTE_STANDING_TACKLE, // 23
//PLAYER_ATTRIBUTE_SLIDING_TACKLE, // 24
//PLAYER_ATTRIBUTE_VOLLEYS, // 25
//PLAYER_ATTRIBUTE_CURVE, // 26
//PLAYER_ATTRIBUTE_PENALTIES, // 27
//PLAYER_ATTRIBUTE_GK_DIVING, // 28
//PLAYER_ATTRIBUTE_GK_HANDLING, // 29
//PLAYER_ATTRIBUTE_GK_KICKING, // 30
//PLAYER_ATTRIBUTE_GK_REFLEXES, // 31
//PLAYER_ATTRIBUTE_GK_POSITIONING, // 32
Finally, training_result_converter.ini controls how much a player will level from the training, and the expected variables around this. I've modified the default modifiers for the training, so people like Rooney will still level up each attribute when you train them. My file looks like below:
[CM_TRAINING]
//XP GRAPH FORMULA
BASE_CALC_VALUE = 3500
BASE_GROWTH_SCALE_VALUE = 100
BASE_GROWTH_SCALE_MODIFIER = 5.5
GROWTH_SCALE_PROGRESSION = 0.01
SECONDARY_ATTRIBUTE_TRESHOLD = 20
ATTRIBUTE_GROWTH_CAP = 3000 // in percents, 120 will mean the attribute will grow by 1.2
// for some edge cases (like created players with low attribute values) the xp graph will generate huge attribute growth values, this value will be used to cap the result
// so we don't get large increase in attributes
PERFORMANCE_GRADE_A_MODIFIER = 5
PERFORMANCE_GRADE_B_MODIFIER = 5
PERFORMANCE_GRADE_C_MODIFIER = 5
PERFORMANCE_GRADE_D_MODIFIER = 5
PERFORMANCE_GRADE_F_MODIFIER = 5
PRIMARY_MODIFIER = 5
SECONDARY_MODIFIER = 5
TERTIARY_MODIFIER = 5
BRONZE_MODIFIER = 5
SILVER_MODIFIER = 5
GOLD_MODIFIER = 5
NUMBER_OF_AGE_WR_BANDS = 5
AGE_WR_AGE_MIN_1 = 15
AGE_WR_AGE_MAX_1 = 20
AGE_WR_BAND_MODIFIER_1 = 1.5
AGE_WR_AGE_MIN_2 = 20
AGE_WR_AGE_MAX_2 = 24
AGE_WR_BAND_MODIFIER_2 = 1.3
AGE_WR_AGE_MIN_3 = 24
AGE_WR_AGE_MAX_3 = 28
AGE_WR_BAND_MODIFIER_3 = 1.1
AGE_WR_AGE_MIN_4 = 28
AGE_WR_AGE_MAX_4 = 31
AGE_WR_BAND_MODIFIER_4 = 1
AGE_WR_AGE_MIN_5 = 31
AGE_WR_BAND_MODIFIER_5 = 0.75
NUMBER_OF_POTENTIAL_WR_BANDS = 5 // The operator values defined in POTENTIAL_WR are defined like this: 0 = Equals, 1 = less or equal, 2 = greater
POTENTIAL_WR_RATIO_1 = 1
POTENTIAL_WR_RATIO_OPERATOR_1 = 0
POTENTIAL_WR_POTENTIAL_LIMIT_1 = 99
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_1 = 1
POTENTIAL_WR_MODIFIER_1 = 0.8
POTENTIAL_WR_RATIO_2 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_2 = 1
POTENTIAL_WR_POTENTIAL_LIMIT_2 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_2 = 2
POTENTIAL_WR_MODIFIER_2 = 1
POTENTIAL_WR_RATIO_3 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_3 = 1
POTENTIAL_WR_POTENTIAL_LIMIT_3 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_3 = 1
POTENTIAL_WR_MODIFIER_3 = 0.9
POTENTIAL_WR_RATIO_4 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_4 = 2
POTENTIAL_WR_POTENTIAL_LIMIT_4 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_4 = 1
POTENTIAL_WR_MODIFIER_4 = 1.1
POTENTIAL_WR_RATIO_5 = 1.05
POTENTIAL_WR_RATIO_OPERATOR_5 = 2
POTENTIAL_WR_POTENTIAL_LIMIT_5 = 75
POTENTIAL_WR_POTENTIAL_LIMIT_OPERATOR_5 = 2
POTENTIAL_WR_MODIFIER_5 = 1.2
ATTRIBUTE_BONUS_1 = 30 // for 2 trained attributes
ATTRIBUTE_BONUS_2 = 18 // for 3 trained attributes
ATTRIBUTE_BONUS_3 = 0 // for 4 trained attributes
[CM_TRAINING_SIMULATION]
// Difficulty: 0 = Bronze, 1 = Silver, 2 = Gold, the sum of the values for a given difficulty must be 100
// Grade: 0 = A, 1 = B, 2 = C, 3 = D, 4 = F
DIFFICULTY_0_GRADE_0 = 20
DIFFICULTY_0_GRADE_1 = 25
DIFFICULTY_0_GRADE_2 = 25
DIFFICULTY_0_GRADE_3 = 25
DIFFICULTY_0_GRADE_4 = 5
DIFFICULTY_1_GRADE_0 = 15
DIFFICULTY_1_GRADE_1 = 30
DIFFICULTY_1_GRADE_2 = 30
DIFFICULTY_1_GRADE_3 = 20
DIFFICULTY_1_GRADE_4 = 5
DIFFICULTY_2_GRADE_0 = 10
DIFFICULTY_2_GRADE_1 = 20
DIFFICULTY_2_GRADE_2 = 35
DIFFICULTY_2_GRADE_3 = 30
DIFFICULTY_2_GRADE_4 = 5
// 0 = no primary attributes, 1 = 1 primary attributes, 2 = 2 primary attributes, 3 = 3 or 4 primary attributes
// the values for other grades are calculated by linear interpolation between values for A and F
PRIMARY_ATTRIBUTES_0_BONUS_A = -15
PRIMARY_ATTRIBUTES_0_BONUS_F = 15
PRIMARY_ATTRIBUTES_1_BONUS_A = -5
PRIMARY_ATTRIBUTES_1_BONUS_F = 5
PRIMARY_ATTRIBUTES_2_BONUS_A = -5
PRIMARY_ATTRIBUTES_2_BONUS_F = 0
PRIMARY_ATTRIBUTES_3_BONUS_A = -10
PRIMARY_ATTRIBUTES_3_BONUS_F = 10
// potential entries count must match the ones from the previous section
// the values for other grades are calculated by linear interpolation between values for A and F
POTENTIAL_1_BONUS_A = -5
POTENTIAL_1_BONUS_F = 10
POTENTIAL_2_BONUS_A = 0
POTENTIAL_2_BONUS_F = 0
POTENTIAL_3_BONUS_A = -5
POTENTIAL_3_BONUS_F = 5
POTENTIAL_4_BONUS_A = 10
POTENTIAL_4_BONUS_F = 5
POTENTIAL_5_BONUS_A = 10
POTENTIAL_5_BONUS_F = 0
I hope this has helped anyone looking to alter training effects! Credit must go to shawminator for releasing the CG File Explorer 16 tool, which allows you to extract these files.
The link to his tool is here: http://www.soccergaming.com/forums/showthread.php?t=192915