A gritty, dirty, low power game needs some mechanical basis to make it feel dirty, gritty, and low power. One easy way to do that is with equipment degradation.
Sadly, this effect is often completely lost once the first magical weapons start appearing. Here's a method to fix that.
In a game I am playing in, equipment degradation rules are in effect. Every time you roll beneath the quality of the weapon the weapon takes a notch of damage. Quality ranges from 1-5.
Every time a weapon takes damage, there is a quality in six chance of it becoming broken. Armor works the same way, except quality is rated 16-20 (since the opponent attacks). After 3 notches the weapon or armor degrades one point of protection. After 6 notches the weapon is broken.
So how to avoid the magic item problem? Eliminate the straight +X bonus for magic items, and make them items of exceptional quality.
Equipment degradation and magic items
Normal items have a quality of 1-5 as normal. Quality 1 is the best quality normal items can have. Roll under your quality when attacking? Weapon or armor is damaged and provides 1 less point of protection/hit/damage and has a quality in 6 chance of breaking outright. (Armor is inverted, with quality 1 armor being damaged on a roll of 20 and quality 5 armor being damaged on a roll of 16-20)
Quality 5 is the base price in the books. You must find a more skilled smith to purchase higher quality weapons. Each increase in quality increases the price of the item by 50%. E.g. if the book price is 5 gold, then a quality 4 weapon is 7.5 gold, quality 3 is 10 gold, quality 2 is 12.5 gold, and quality one is 15 gold.
|Quality 5||Book price|
|Quality 3||+100% (Price doubled)|
|Quality 1||+200% (Price Tripled)|
Magical items have a +bonus. This is not a +X to hit or to AC. When you attack, you roll a 1d6 with your attack. If the roll is under or equal to the plus of the item, then it provides a +1 bonus to attack and damage. Armor and shields work the same way. When you are attacked, the player rolls 1d6 for magical armor and shields and any roll under or equal to the plus of the armor or shield allows it to increase your armor class by one.
If you want an item to possibly provide a +2 bonus or +3 bonus, then simply increase the magical bonus to above 6. A magical +7 bonus always provides a +1 and has a 1 in 6 chance of providing an additional +1 bonus.
Weapons are still damaged on a roll of one, reducing their bonus by one, or if only at a +1 bonus, becoming non-magical quality 1 weapons and armor. Armor is still damaged on a roll of 20, reducing their bonus by one, or if only at a +1 bonus, becoming non-magical quality 1 weapons and armor.
Repairing damage is possible, but requires a smith capable of forging the quality of the item or magic. It costs 25% of the value of the original item per point repaired.
So one of the advantages of this is that it's actually pretty easy to track and involves the players. With non-magical weapons and armor you are waiting for each piece of crappy armor to break for the first couple sessions.
Having the weapon or armor degrade on each point of damage serves several purposes. First, each point of damage has a direct effect as opposed to tracking multiple points before anything bad happens. Second, low quality weapons and armor such as daggers and leather armor may become useless before they become broken.
Realistically players will rapidly acquire quality 1 weapons, which means they will be looking for the critical numbers or fumbles on die rolls. It's pretty easy for everyone to look out for those 1's and 20's.
Once they acquire magical weapons and armor, they will be excited about rolling those dice for those additional bonuses, which means that you've got a handy reminder about when those weapons take damage.
Finding, recruiting, or hiring a smith that can make high quality or magical weapons in such a campaign becomes a major issue or victory.