Jump to content

Combat/Mechanics

From Stardew Valley Wiki
Revision as of 15:58, 19 March 2026 by imported>Margotbean
This article is about combat mechanics. For information about the combat skill, see Combat.

Damage

In Stardew Valley, damage dealt to monsters is determined by a combination of weapon stats, rings, professions, and Luck.

Formula overview

FinalDamage = (BaseDamage × CritMultiplier (if crit)
    + Attack (stat) × 3)
    × FighterBonus (×1.1 if active)
    × BruteBonus (×1.15 if active)
    × DesperadoBonus (×2 if crit and active)
    → Modified by enchantments
    → Reduced by monster defense

Base damage roll

  • A random value is rolled between the weapon’s minDamage and maxDamage.
  • Ruby forging increases a weapon's minDamage and maxDamage by 10% per Ruby (up to 3)[1]. Three Ruby forges would increase minDamage and maxDamage by 30% total.
  • Ruby Rings and Iridium Bands affect minDamage and maxDamage by 10% per ring. These effects are multiplicative with the Ruby forging increase[2].
  • This makes the effective minDamage and maxDamage formula minDamage = weaponMinDamage × (100% + rubyForgeCount × 10%) × (100% + ringBonusPercent), where ringBonusPercent is the sum of all equipped ring effects which increase Attack by a percentage. If a player equipped two combined rings of Iridium Band and Ruby Ring, ringBonusPercent would be 10% (Ruby Ring) + 10% (Iridium Band) + 10% (Ruby Ring) + 10% (Iridium Band) = 40%.

Critical Hit Check

  • If a crit occurs, the base damage is multiplied by critMultiplier, which is calculated as: critMultiplier = (3 + CritPower / 50) × (1 + CriticalPowerMultiplier)
  • CritPower is the total of the Crit. Power stat from Weapons and Jade forging.
  • CriticalPowerMultiplier is the effects of buffs: Innate enchantments and Jade Ring

Attack Stat Bonus

  • The player’s Attack stat (from food, gear, and +Attack Innate enchantments) adds: +3 damage per Attack point

Profession Bonuses

  • Fighter: +10% damage
  • Brute: +15% damage
  • These are applied multiplicatively and stack, so if both Fighter and Brute are active, the effective damage increase is 110% × 115% = 127%.

Desperado Profession

  • If the hit is a critical strike and the player has the Desperado profession, damage is doubled.

Enchantments

If a weapon is enchanted with Bug Slayer or Crusader and the damaged monster type matches the enchantment effect, damage is increased by 50%.

Monster defense

Monster defense is subtracted from the damage roll. Damage is always at least 1, even after defense reduction.

Critical hit chance

Calculation

Critical hit chance is computed in the following order:

Calculate weapon crit chance

In 1.5, the Aquamarine forging increases weapon critical hit chance by 4.6%[3]. CritChance = Base weapon crit. chance[4] + (4.6% × number of Aquamarine forges)

If weapon type is dagger, CritChance = (CritChance + 0.5%) × 1.12[5]

Apply Aquamarine Ring and innate enchantments

Each aquamarine ring equipped gives a 10% bonus.[2] If the weapon has a "+X Crit. Chance" innate enchantment, then each enchantment level adds a 2% bonus (up to 6% for a level 3 enchantment). (The tooltip displays "+1 Crit. Chance" for a level 1 enchantment.) CritChance = (CritChance × (1 + number of Aquamarine rings × 10% + Innate enchantment level × 2%)

Apply Blessing of Fangs bonus

If the Blessing of Fangs buff from Statue Of Blessings is active, Critical hit chance gets an additive increase of 10%. CritChance = CritChance + 10%

Apply Scout profession

If the player has the Scout Profession, critical hit chance is increased by 50%.[6] CritChance = CritChance × 150%

Apply Luck

Critical hit chance is increased based on the player's Luck[7]. CritChance = LuckLevel * CritChance / 40

Examples

Galaxy Sword build

  • Aquamarine forging x3
  • Aquamarine ring x2
  • Blessing of Fangs
  • Scout profession
  • 2 Luck

Calculation:

  1. Weapon crit chance: 2% + (4.6% × 3 (Aquamarine forging)) = 15.8%
  2. Rings & innate enchantment: 15.8% × (1 + 10% × 2 (Aquamarine rings)) = 15.8% × 120% = 19.0%
  3. Blessing of Fangs: 19% + 10% = 29%
  4. Scout profession: 29% × 150% = 43.4%
  5. Luck: 43.4% + 2 (Luck) × 43.4% / 40 = 43.4% + 2.2 = 45.6%

Critical hit damage

Calculation

A critical strike does additional damage to an enemy. A special sound plays when hitting a critical strike, and the damage numbers that pop up show the greater damage amount. A critical strike effectively multiplies the damage roll by a calculated value called CritMultiplier in this article, calculated as follows: CritMultiplier = (3 + Crit. Power (stat) / 50) × (1 + Crit. Power Bonus)

The Desperado Profession also affects the damage dealt by a Critical strike, doubling damage after bonus Attack damage has been added. (Attack stat is otherwise a "flat" bonus which is not increased by Critical strike bonuses.)

Crit. Power (stat) can be found on:

Crit. Power Bonus is increased by:

  • Jade Ring: +10% per ring
  • Innate enchantments: +50% per enchantment level. A Crit. Power Innate enchantment shows as +25 "Crit. Power" per level, so a "+75 Crit. Power" tooltip represents a level 3 enchantment and thus increases Crit. Power Bonus by 150%.

Example

  • A normal attack using the Lava Katana can do 55-64 damage. Assume an attack rolls 60 damage.
  • A Lava Katana has 25 Crit. Power, so CritMultiplier = 3 + 25 / 50 = 3.5
  • If the Lava Katana was forged with 3 Jades, Crit. Power would be increased by 15, for a total of 40 (though it shows up as +39 ingame due to rounding errors). This means the damage would instead be CritMultiplier = 3 + (25 + 15) / 50 = 3 + 40 / 50 = 3.8.
  • With 2 Jade Rings and a +75 Crit. Power (level 3) innate enchantment, Crit. Power Bonus would equal 10% (Jade Ring) x 2 + 150% (Innate enchantment) = 170%, making CritMultiplier = 3.8 × (100% + 170%) = 10.26.
  • A base damage roll of 60 damage that was a critical strike with this setup would deal 60 × 10.26 = 615.6 damage.
  • The Desperado effectively doubles the damage again (after the Attack stat is applied), so the resulting damage would be 615.6 × 2 = 1231.2.

Player defense

Damage variance

Monster damage varies by a random fluctuation between 7/8ths and just below 9/8ths of the Monster's base damage[8]. The formula can be expressed as follows: minDamage <= actualDamage < maxDamage, where fluctuationDamage = int(monsterBaseDamage / 8) and minDamage = monsterBaseDamage - fluctuationDamage and maxDamage = monsterBaseDamage + fluctuationDamage.

Example: A Shadow Brute has a base damage of 18, so fluctationDamage = 18 / 8 = 2.25 => 2, meaning the actual damage ranges between 16 and 19, because 18 - 2 = 16 and 18 + 2 = 20, but the upper bound is less than 20 (not less than or equal).

Determining player defense

Applicable defense is the player's Defense stat total from among Boots, Weapons, Rings, Food buffs plus 1 if the player has read Jack Be Nimble, Jack Be Thick[8]. If defense is greater than or equal to half the actual damage being dealt, defense is reduced by up to 20% [8]. This causes a slight dampening of the defense stat in low-damage scenarios. If defense >= damage / 2, defense is reduced by either 0%, 10%, or 20% (randomly determined), using the following formula: defenseReduction = int(defense × reductionPercent), defense = defense - defenseReduction.

Example: A Duggy has a base damage of 6. If 6 damage would be dealt to a player with a Defense of 5, half of 6 damage is 3. Since 5 (Defense) >= 3 (half damage), defense could be lowered by up to 20%. 5 (Defense) × 20% = 1, so in this scenario a player's effective defense could be reduced by up to 1.

Damage is applied

Incoming damage is reduced by the applicable defense, to a minimum of 1[8].

Example: 10 damage is dealt to a player with 6 defense. The player would take 4 damage, because 10 - 6 = 4.

References

  1. ↑ See StardewValley::RubyEnchantment.
  2. ↑ 2.0 2.1 See StardewValley::Tools::MeleeWeapon.DoDamage and StardewValley::Objects::Ring.
  3. ↑ See StardewValley::AquamarineEnchantment.
  4. ↑ See weapons.xnb file in the game data.
  5. ↑ See StardewValley::Tools::MeleeWeapon.DoDamage; the dagger weapon type is 1.
  6. ↑ See StardewValley::GameLocation.damageMonster.
  7. ↑ See StardewValley::GameLocation.damageMonster; the formula does not edit the crit chance but luck level is added in the if statement to check for a crit.
  8. ↑ 8.0 8.1 8.2 8.3 See StardewValley::StardewValley::Farmer.takeDamage().