diff --git a/CHANGELOG.md b/CHANGELOG.md
index d595c42..a3979e1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,9 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- A character with the discipline Magia Sakralna - Egzorcyzmy (`sacredExorcism`) is now treated as a Sacred Magic caster in the spell discipline gate. Before, it only matched its own id, so exorcists failed the requirement for Sacred spells. The match is one-way: a plain Sacred mage is not an exorcist.
- The "new round" chat message and README no longer claim that Mana is reset. Mana is a daily pool in the vault and has not been reset per round since 1.3.x; the message now says which counters really reset.
+### Added
+- Spell cast dialog has a **Modyfikator liczby kości** (dice modifier, +/-). It changes the number of dice in the casting test for every casting mode (standard, sacred, witch, blood, prayer); the pool never drops below 0. The over-limit Nadczarowanie test uses the same modified pool. API: `CastOptions.diceModifier`, `applyDiceModifier()` in `rules.ts`.
+
## [1.5.1] - 2026-10-22
### Added
diff --git a/lang/en.json b/lang/en.json
index 2eaf886..7152dc8 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -363,6 +363,8 @@
},
"spellCast": {
"title": "Casting spell",
+ "diceModifier": "Dice modifier",
+ "diceModifierHint": "+/- dice in the casting test (the pool never drops below 0)",
"manaSpent": "Mana spent",
"cannotBeUnraveled": "Cannot be unraveled",
"zealSpent": "Zeal spent",
diff --git a/lang/pl.json b/lang/pl.json
index 8ebd57c..9c12c63 100644
--- a/lang/pl.json
+++ b/lang/pl.json
@@ -383,6 +383,8 @@
},
"spellCast": {
"title": "Rzucanie zaklęcia",
+ "diceModifier": "Modyfikator liczby kości",
+ "diceModifierHint": "+/- kości w Teście rzucania (liczba kości nie spadnie poniżej 0)",
"manaSpent": "Wydana mana",
"cannotBeUnraveled": "Nie da się rozpleść",
"cast": "Rzuć",
diff --git a/src/dice/cast-dialog.ts b/src/dice/cast-dialog.ts
index 2ecdab4..29cd61a 100644
--- a/src/dice/cast-dialog.ts
+++ b/src/dice/cast-dialog.ts
@@ -76,6 +76,12 @@ export async function askCastOptions(spell: SpellForDialog, actor: ActorForDialo
`);
}
+ fields.push(`
+