This post is also available in: 日本語 (Japanese)
“How much does your combat stat actually shape the narrative?”
“How brutal does the journey get if your character is bad at fighting?”
“And just how strong do you need to be to punch a truly overwhelming enemy straight in the face—and win?”
To get some concrete answers, I ran 10,000 combat simulations in Python and tried to look at the kind of narratives Ironsworn’s combat system naturally produces—this time, through numbers.
- Even a character with basically no combat ability is still designed to experience those classic “barely survived by the skin of my teeth” fights.
- A combat-focused character is clearly meant to travel toward enemies that feel like “there’s no way a normal human should be fighting this thing,” and that journey itself becomes part of the narrative.
- In pure toe-to-toe brawls, the win rate effectively soft-caps around 60–70%. The combat system is not built as a “the invincible hero always wins” story generator.
Assumptions for the Simulation
Probability Baseline
For the probability math, I reused data from a previous article:
I Simulated Ironsworn’s Success Rates – Kaburanai Games
Pulling out the relevant part, action roll outcomes look like this:
| Total Modifier | Miss (%) | Weak Hit (%) | Strong Hit (%) |
|---|---|---|---|
| 1 | 45.1% | 39.6% | 15.2% |
| 2 | 33.1% | 43.6% | 23.2% |
| 3 | 23.1% | 43.6% | 33.1% |
| 4 | 15.1% | 39.7% | 45.0% |
| 5 | 9.3% | 34.6% | 55.9% |
| 6 | 5.3% | 29.3% | 65.3% |
| 7 | 2.8% | 24.2% | 72.8% |
| 8 | 1.4% | 20.2% | 78.2% |
| 9 | 0.9% | 18.0% | 80.9% |
| 10 | 1.0% | 18.0% | 80.9% |
The Combat Model
To calculate a clean “what happens if you just fight head-on?” win rate, I simplified combat using the following assumptions:
- No assets, no rolls considered
- The character repeatedly attacks using whichever of Iron or Edge they’re better at, alternating between attacking and defending/evading
- Weapons are assumed to be proper combat gear (spear, sword, bow, etc.), dealing 2 Harm
- When you have initiative, you Strike; when you don’t, you Face Danger to try to regain it
- Clash is ignored (even the rulebook doesn’t recommend it)
- Secure an Advantage and Turn the Tide are also omitted to keep things uniform
- Initiative changes from Strong/Weak/Miss on Strike and Face Danger are implemented directly in the algorithm
- Strong Hit on Strike grants +1 Harm, per the standard rules
- All incoming damage is treated as Health damage only
- Momentum changes from Endure Harm, health–momentum exchanges, and initiative shifts triggered by Endure Harm are all ignored
- This is partly to keep conditions consistent, and partly because comparing Iron-based vs Edge-based builds would explode the data size
- Enter the Fray uses a favorable stat (2 or 3), and on a Weak Hit we always choose to take initiative
- In a starting character, at least one of the three stats will always be 2 or higher
- Reaching Health 0 = loss
- Filling progress to 10 boxes = win
- Yes, you could technically endure more by ignoring character loss or lasting penalties, but this assumes ordinary fights, not climactic do-or-die moments
- Progress must fully reach 10
- For example, even if you deal 3 Harm to a Troublesome enemy and hit 9 progress, the fight continues until you actually reach 10
The Code
Here’s the exact code used for the simulation.
(The referenced stat is Iron, but this model works identically for Edge.)
#10000Battles Ironsworn
import random as rand
print('Iron')
Iron = int(input())
print('Enter the Fray' )
EnterTheFray = int(input())
print('EnemyRank')
EnemyRank = int(input())
Progress = 0
Health = 5
Initiative = False
win = 0
lose = 0
def ActionRoll(Modifier):
actiondice = rand.randint(1,6)
actionscore = Modifier + actiondice
if actionscore > 10:
actionscore = 10
challengedice1 = rand.randint(1,10)
challengedice2 = rand.randint(1,10)
if actionscore > challengedice1 and actionscore > challengedice2:
Outcome = 'Stronghit'
elif actionscore <= challengedice1 and actionscore <= challengedice2:
Outcome = 'Miss'
else:
Outcome = 'Weakhit'
return Outcome
def Strike(IronStrike,EnemyRankStrike):
HarmToYou = 0
StrikeSuccess = ActionRoll(IronStrike)
if StrikeSuccess == 'Stronghit':
HarmToEnemy = 3
HarmToYou = 0
StrikeInitiative = True
elif StrikeSuccess == 'Weakhit':
HarmToEnemy = 2
HarmToYou = 0
StrikeInitiative =False
else:
HarmToEnemy = 0
HarmToYou = EnemyRankStrike
StrikeInitiative = False
return HarmToEnemy, HarmToYou,StrikeInitiative
def FaceDanger(IronFaceDanger,EnemyRankFaceDanger):
HarmToYou = 0
FaceDangerSuccess = ActionRoll(IronFaceDanger)
if FaceDangerSuccess == 'Stronghit':
HarmToYou = 0
FaceDangerInitiative = True
elif FaceDangerSuccess == 'Weakhit':
HarmToYou = 0
FaceDangerInitiative = False
else:
HarmToYou = EnemyRankFaceDanger
FaceDangerInitiative = False
return 0, HarmToYou, FaceDangerInitiative
def StartInitiative(EnterTheFraySimulate):
EnterSuccess = ActionRoll(EnterTheFraySimulate)
if EnterSuccess == 'Stronghit' or EnterSuccess == 'Weakhit':
InitiativeStart = True
else:
InitiativeStart = False
return InitiativeStart
def DamageRace(BattleInitiative,BattleIron,BattleEnemyRank):
BattleHarmEnemy = 0
BattleHealthDamage = 0
if BattleInitiative == True:
(BattleHarmEnemy,BattleHealthDamage,BattleInitiative) = Strike(BattleIron,BattleEnemyRank)
else:
(BattleHarmEnemy,BattleHealthDamage,BattleInitiative) = FaceDanger(BattleIron,BattleEnemyRank)
return BattleHarmEnemy,BattleHealthDamage,BattleInitiative
def ProgressByRank(HarmToEnemy,RankOfEnemy):
HarmMultipler = 1
if RankOfEnemy == 1:
HarmMultipler = 12
elif RankOfEnemy == 2:
HarmMultipler = 8
elif RankOfEnemy == 3:
HarmMultipler = 4
elif RankOfEnemy ==4:
HarmMultipler = 2
else:
HarmMultipler = 1
ProgressIncrease = HarmMultipler * HarmToEnemy
return ProgressIncrease
for i in range(0, 10000):
Health = 5
Progress = 0
Start = StartInitiative(EnterTheFray)
while Health > 0 and Progress < 40:
(HarmEnemy,HealthDecrease,Initiative) = DamageRace(Start,Iron,EnemyRank)
Progress += ProgressByRank(HarmEnemy,EnemyRank)
Health -= HealthDecrease
if Health <= 0:
lose += 1
elif Progress >= 40:
win += 1
print('Win ' + str(win))
print('Lose ' + str(lose))Results
For each combination of:
- Iron (or Edge) stat
- Enemy rank
- Stat used for Enter the Fray
…I ran 10,000 simulations and calculated win rates.
A few caveats:
- Percentages are truncated at the second decimal place, so totals won’t add up to exactly 100%
- Because this is Monte Carlo simulation, results will vary slightly run to run
- With random variance, you’ll occasionally see cases where lower stats outperform higher ones
At character creation, Iron and Edge max out at 3, and the stat used for Enter the Fray tops out at 2.
However, with assets like:
- Alchemist (+1)
- Oathbreaker (+1)
- Masked (+2)
- Bind (+2)
…you can push Iron or Edge as high as 9.
(Masked and Bind come with restrictions, so the table isn’t perfectly representative—but it’s still useful as reference.)
| Iron or Edge | Enter the Fray | Troublesome | Dangerous | Formidable | Extreme | Epic |
| 1 | 2 | 62.6% | 44.9% | 13.3% | 1.7% | 0.0% |
| 1 | 3 | 71.5% | 51.6% | 13.9% | 1.7% | 0.0% |
| 2 | 2 | 65.6% | 57.0% | 26.6% | 7.8% | 0.0% |
| 2 | 3 | 75.9% | 65.3% | 31.0% | 8.7% | 0.0% |
| 3 | 2 | 66.5% | 62.3% | 42.4% | 20.6% | 1.0% |
| 3 | 3 | 76.1% | 71.8% | 48.9% | 24.0% | 1.0% |
| 4 | 2 | 65.9% | 63.6% | 54.3% | 38.7% | 4.2% |
| 4 | 3 | 76.3% | 75.5% | 62.4% | 45.5% | 5.2% |
| 5 | 2 | 67.2% | 66.9% | 60.4% | 52.9% | 14.0% |
| 5 | 3 | 77.3% | 77.3% | 70.7% | 60.6% | 17.2% |
| 6 | 2 | 66.7% | 66.8% | 65.1% | 61.3% | 28.3% |
| 6 | 3 | 77.3% | 76.7% | 74.5% | 70.7% | 33.2% |
| 7 | 2 | 66.5% | 67.0% | 66.3% | 64.7% | 43.8% |
| 7 | 3 | 75.9% | 76.9% | 74.9% | 74.4% | 49.8% |
| 8 | 2 | 66.9% | 67.1% | 66.8% | 66.5% | 53.5% |
| 8 | 3 | 77.1% | 76.2% | 76.0% | 76.5% | 62.3% |
| 9 | 2 | 67.1% | 66.9% | 66.9% | 66.0% | 56.7% |
| 9 | 3 | 76.4% | 77.5% | 76.8% | 76.5% | 66.7% |
Yellow cells mark the threshold where “having high Iron/Edge” is outperformed by “having lower combat stats but a higher Enter the Fray value that lets you seize initiative.”
Past this point, prioritizing initiative consistently produces better win rates.
How Enemy Strength Shapes the Narrative (Based on the Simulations)
From a game system perspective, Ironsworn divides enemy strength into five ranks.
One important thing to note:
Ironsworn enemies don’t have “gamey” gimmicks like special attacks or scripted behaviors.
Once you strip away narrative flavor and supernatural lore, an enemy’s combat strength really boils down to just two things:
- How tough they are
- How much damage they deal
That’s it. Simple and clean.
Also worth remembering: Ironsworn’s core rules explicitly say that if you prepare properly—by exploiting an enemy’s weakness, creating obstacles, or fighting alongside brave villagers who come to your aid—you’re allowed to downgrade the enemy’s rank by one step.
Keeping that rule in mind, let’s dig into what each enemy rank looks like in terms of story, based on the simulation results.
Rank 1: Troublesome
Examples include:
- A single common folk
- A “broken” or desperate individual
- Marsh Rat
These are supposed to be the weakest enemies in the Ironlands…
but according to the simulation, win rates barely change whether your combat stat is 1 or 9.
In fact, even a character who has basically mastered the art of war still loses about 23.1% of the time against an ordinary person or a giant rat.
The takeaway?
Even if your character has zero combat ability, you don’t need to panic over small-scale conflicts like a roadside brawl or a pickpocket’s ambush.
Even the weakest player character can survive these encounters.
On the flip side, pure combat monsters need to stay humble.
There’s a very real chance they’ll still lose—and be forced to swallow that bitter defeat—even against the weakest foes.
Rank 2: Dangerous
This is the rank with the largest number of enemies listed in the rulebook.
Typical examples:
- A group of 3–5 common folks
- A lone raider (trained warriors and hunters also fall here)
- A single wolf
- A giant spider
- A wandering skeleton
- A werewolf
These are your classic “reasonably dangerous enemies you meet on the road”.
A starting character with Iron and Edge both at 1, no combat-focused assets, and an exploration-heavy build lands right at about a 50/50 win rate here.
There’s about a 10% difference in win rate between Iron/Edge 1 and 2—but beyond that, higher stats barely move the needle.
Even at this point, you can see Ironsworn’s design philosophy clearly:
“Even a frail, exploration-focused character who normally avoids combat can still survive an unlucky fight on the outskirts of a village.”
The game is built so that bad luck doesn’t automatically mean death.
Rank 3: Formidable
This is where the difficulty curve jumps sharply.
Enemies in this rank include:
- Groups of 3–5 bandits or trained warriors
- A single elite among elites
- Packs of 3–5 wolves
- Groups of 6–10 ordinary people
- Bears
- Restless spirits
- Trolls
For characters with poor combat ability, the win rate drops to around 13%, which is basically hopeless.
Even a character with Iron or Edge at 3 (the unbuffed maximum) only manages around 45%.
Honestly, that lines up perfectly with common sense.
Of course a combat-weak character isn’t going to beat five wolves.
But this is where the enemy-weakening rule really starts to shine.
What if you poison the enemy?
What if you use information, deception, and manipulation to turn a raider group against itself—and then fight the last survivor one-on-one (effectively downgrading them to a Dangerous enemy)?
As the table shows, that alone can boost your win rate from 13% to around 50%.
The story this creates is clear:
“Even the weak can fight stronger foes—if they survive through wit, courage, and cunning.”
From a probability standpoint, Ironsworn naturally supports narratives where underdogs outthink their enemies instead of overpowering them.
Rank 4: Extreme
From here on, the kind of narrative being told changes dramatically.
Enemies at this rank include:
- Groups of 6–10 bandits or warriors
- 3–5 elite-of-the-elite fighters
- Giants
- Basilisks
- Mammoths
- Elder beasts (creatures as ancient as the oldest trees)
- Wyverns
- Powerful spirits that spread curses simply by existing
As you can see, these are well beyond what an ordinary human should be able to deal with.
A weak character has only a 1.7% chance of winning.
Even a highly trained warrior only manages around 20%.
The rulebook itself doesn’t mince words here—phrases like “be prepared to die if you encounter one” or “never touch it under any circumstances” show up regularly.
In other words, staying within “normal human limits” just isn’t enough anymore.
If you want to fight these enemies on equal footing—meaning roughly a 50% win rate—you’ll need to boost Iron or Edge to 5 by some means.
That means things like:
- A combat specialist picking up the relatively accessible Alchemist asset
- Then also qualifying for Masked, which requires forming bonds with elves living deep in forests far from human settlements
Only then do you even get to step into the arena.
Other stat-boosting assets are even harsher:
- Advanced Bind abilities require slaying a Beast (often Extreme rank) and taking its hide
- Oathbreaker demands completing a high-difficulty atonement quest after breaking a Iron vow
The hurdles are intentionally steep.
Unsurprisingly, the example quests tied to these enemies rarely ask you to win by fighting. Instead, they suggest things like:
- Lifting a curse
- Calming an enraged creature
- Returning it to its habitat
- Preventing large-scale conflicts between settlements
At this point, the story clearly forks:
- Transcend humanity itself, or
- Find a way to solve the problem without fighting
The narrative texture is very different from Formidable and below.
Rank 5: Epic
This is the realm of legendary beings.
Under the core rules, there’s essentially only one enemy in this rank:
- Leviathan
Even a character with Iron or Edge at 5 only has a 14% chance of winning.
To reach a true 50/50 fight, you’d need Iron or Edge at 8.
At that point, you’re less “human hero” and more… well, Dragon Ball territory.
If you want to fight head-on, you’ll need brutal, prolonged training and mastery of countless skills.
“Setting out on a distant warrior’s pilgrimage to gain the power to challenge legend itself.”
Even at the end of such a saga, there’s still nearly a coin flip chance of losing.
This is no longer just heroic fantasy—it’s mythology.
Final Thoughts
So, what did you think?
One thing that really stuck with me through all this was:
“Even a combat-specialized character never breaks an 80% win rate?”
I don’t know whether the rules came first or the philosophy did—but the system clearly avoids becoming a generator for “the undefeated hero who steamrolls everything forever.”
To be clear, this simulation ignores burst-damage assets, and that’s important.
Ironsworn has plenty of extremely powerful assets (especially damage boosters), and if you stack them properly, you can theoretically one-shot Formidable enemies or rip half the health off an Extreme foe right at the opening clash.
Still, this article isn’t about optimal builds.
It’s about understanding where pure, honest fistfights.
So grab the rulebook, savor the probability curves that power this narrative engine, and enjoy that quiet grin as everything clicks into place.
Until next time—
Enjoy your gaming life!
Thanks for reading all the way to the end!!
******************************************************************
This work is based on Ironsworn (found at www.ironswornrpg.com), created by Shawn Tomkin, and licensed for our use under the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/).
