Exercise is a gameplay mechanic in which the player can raise their passive skills, fitness, and strength. Players open the Exercise menu in the Health Tab to choose what exercises to do. Exercising will exert the player which will reduce endurance.
Exercises
Squats
Improves Fitness when performed regularly.
- Stiffness location
- Legs.
- Benefit
- Provides 4 fitness XP per squat.
Push-ups
Improves strength when performed regularly.
- Stiffness location
- Arms and Chest.
- Benefit
- Provides 6 strength XP per push-up.
- Provides 9 strength XP per push-up with Protein Boost.
Sit-ups
Improves fitness when performed regularly.
- Stiffness location
- Abs.
- Benefit
- Provides 2 fitness XP per sit-up.
Burpees
Improves strength and fitness when performed regularly. Will drain endurance a lot.
- Stiffness location
- Legs, Arms, and Chest.
- Benefit
- Provides 3.2 fitness and 4.8 strength XP per burpee.
- Provides 3.2 fitness and 7.2 strength XP per burpee with Protein Boost.
Barbell curls
Improves strength when performed regularly.
A barbell is required to perform this exercise.
- Stiffness location
- Arms and Chest.
- Benefit
- Provides 7.2 strength XP per barbell curl.
- Provides 10.8 strength XP per barbell curl with Protein Boost.
Dumbbell presses
Improves strength when performed regularly.
A dumbbell is required to perform this exercise.
- Stiffness location
- Arms.
- Benefit
- Provides 7.2 strength XP per dumbbell press.
- Provides 10.8 strength XP per dumbbell press with Protein Boost.
Bicep curls
A dumbbell is required to perform this exercise.
- Stiffness location
- Arms.
- Benefit
- Provides 7.2 strength XP per bicep curl.
- Provides 10.8 strength XP per bicep curl with Protein Boost.
Summary
This table shows approximate experience per hour given by each exercise. These values were obtained in-game by performing each exercise for 30 in-game minutes (10 for dumbbell presses and bicep curls) uninterrupted, recording the total difference in experience, then doubling that difference (sextupling for dumbbell presses and bicep curls) and dividing by experience per rep; could use verification via source code analysis.
Exercise | Fitness per repetition | Strength per repetition | Repetitions per hour | Fitness per hour | Strength per hour |
---|---|---|---|---|---|
Squats | 4.0 | 0.0 | 52 | 208 | 0 |
Push-ups | 0.0 | 6.0 | 96 | 0 | 576 |
Sit-ups | 2.0 | 0.0 | 72 | 144 | 0 |
Burpees | 3.2 | 4.8 | 60 | 192 | 288 |
Barbell curls | 0.0 | 7.2 | ? | ? | ? |
Dumbbell presses | 0.0 | 7.2 | 138 | 0 | 994 |
Bicep curls | 0.0 | 7.2 | 108 | 0 | 778 |
The time it takes to make one repetition will increase as exertion level goes up. Anything higher than moderate exertion will add time to a repetition.
Stiffness (Exercise Fatigue)
Doing exercises will build up Stiffness, which eventually causes Exercise Fatigue. Exercise Fatigue will inflict pain. It will occur on some body parts, which depend on the exercise the player has done. The severity of the pain depend on a few things:
- Time spent doing exercises.
- Regularity of the exercise.
Having Exercise Fatigue on the arms will lower Melee Damage, and Attack Speed. Having Exercise Fatigue on the legs will make the player clumsier and slower.
Regularity
In the exercise menu, there's a bar called "Regularity" under every exercise, which increases as the player does more of that kind of exercise. Having high regularity will decrease the severity of muscle fatigue caused by that exercise.
- Some professions start with a boost to regularity. fitness instructors start with between 40-59% regularity for each exercise, fire officers start with 10-19%, and security guards start with 7-11%.
Code
Source: ProjectZomboid\media\lua\shared\Definitions\FitnessExercise.lua
squats = {
type = "squats",
name = getText("IGUI_Squats"),
tooltip = getText("IGUI_Squats_Tooltip"),
stiffness = "legs", -- where we gonna build stiffness (can be a list separated by "," can be legs, arms or abs)
metabolics = Metabolics.Fitness,
xpMod = 1,
};
pushups = {
type = "pushups",
name = getText("IGUI_PushUps"),
tooltip = getText("IGUI_PushUps_Tooltip"),
stiffness = "arms,chest",
metabolics = Metabolics.Fitness,
xpMod = 1,
};
situp = {
type = "situp",
name = getText("IGUI_SitUps"),
tooltip = getText("IGUI_SitUps_Tooltip"),
stiffness = "abs",
metabolics = Metabolics.Fitness,
xpMod = 1,
};
burpees = {
type = "burpees",
name = getText("IGUI_Burpees"),
tooltip = getText("IGUI_Burpees_Tooltip"),
stiffness = "legs,arms,chest", -- where we gonna build stiffness (can be a list separated by "," can be legs, arms or abs)
metabolics = Metabolics.FitnessHeavy,
xpMod = 0.8, -- few less xp as it gives xp for 3 body parts
};
barbellcurl = {
type = "barbellcurl",
name = getText("IGUI_BarbellCurl"),
tooltip = getText("IGUI_BarbellCurl_Tooltip"),
item = "Base.BarBell",
prop = "twohands", -- prop is where we gonna put our item, 2 hand, primary or switch (one hand, then the other every X times)
stiffness = "arms,chest",
metabolics = Metabolics.FitnessHeavy,
xpMod = 1.2,
};
dumbbellpress = {
type = "dumbbellpress",
name = getText("IGUI_DumbbellPress"),
tooltip = getText("IGUI_PushUps_Tooltip"),
item = "Base.DumbBell",
prop = "switch",
stiffness = "arms",
metabolics = Metabolics.FitnessHeavy,
xpMod = 1.8,
};
bicepscurl = {
type = "bicepscurl",
name = getText("IGUI_BicepsCurl"),
tooltip = getText("IGUI_PushUps_Tooltip"),
item = "Base.DumbBell",
prop = "switch", -- switch is special, as i have 2 anim, one for left hand and one for right, i'll switch every X repeat the hand used
stiffness = "arms",
metabolics = Metabolics.FitnessHeavy,
xpMod = 1.8,
};