Might and Magic Mechanics GrayFace



All statistics give bonus according to the table below.
The first row is statistic barrier (or breakpoint). The second is effect you get from getting equal or bigger statistic.
Example: If 400 <= Might < 500, then you will get +25 to melee damage.
 Statistic   Effect 
 500  30
 400  25
 350  20
 300  19
 275  18
 250  17
 225  16
 200  15
 175  14
 150  13
 125  12
 100  11
 75  10
 50  9
 40  8
 35  7
 30  6
 25  5
 21  4
 19  3
 17  2
 15  1
 13  0
 11  -1
 9  -2
 7  -3
 5  -4
 3  -5
 0  -6

I'll call values obtained from this table "MightEffect", "IntellectEffect" and so on.

Might effect is added to melee damage.
Intellect and/or Personality effects are multiplied by mana multiplier of character class and added to SP.
Accuracy effect is added to Attack and Shoot.
Endurance effect is multiplied by HP multiplier of the class and added to HP. It also decreases time of recovery from enemy attacks. The formula is 20 – EnduranceEffect. So, with Endurance of 350 and more the recovery is immediate.
Speed effect is added to Armor Class and subtracted from recovery time.
Luck effect is added to all non-zero resistances, although this is not shown in your character screen. It also protects you from bad things monsters can do to you.


N'th level takes (N-1)*1000 more experience points to achieve. For level 2 you need 1000 exp, for level 3 you need 2000 more exp, which means 3000 in total. For level 4 you'll need another 3000 on top of that.
Here's the formula for total experience for N'th level: TotalExp(N) = N*(N-1)*500

Chance To Hit

Chance that a monster will hit your character is (5 + MonsterLevel*2)/(10 + MonsterLevel*2 + PlayerArmorClass).
This includes elemental ranged attacks. Only spells always hit. You can distinguish between them with Identify Monster or spell-specific sounds.

Chance that your character will hit a monster is (15 + PlayerAttack*2 + Bonus – DistancePenalty)/(30 + PlayerAttack*2 + MonsterArmorClass).
Bonus is applied in 2 cases: When using a Blaster it's the skill if the player is Master or GM. When casting Blades in MM6 and MM7 it's skill*5.
DistancePenalty is MonsterArmorClass/2 at 1024 – 2559 game units, MonsterArmorClass + 15 at 2560+ units.
Note that 5119 units is the maximum engagement distance.
With a Blaster, if the skill is Expert or above, the distance penalty isn't applied.

Chance of spells like Paralyze or Slow to succeed is 30/(30 + MonsterResistance + MonsterLevel/4) in MM7 and MM8.
In MM6 it's 30/(30 + MonsterResistance + MonsterLevel).

Chance that an enemy will succeed in doing some bad thing to you is 30/(30 + LuckEffect + OtherEffect), where OtherEffect depends on that particular thing:
Weak, Asleep, Drunk, Disease, Unconscious, Age:  EnduranceEffect
Curse:  PersonalityEffect
DrainSP, Dispel Magic:  (PersonalityEffect + IntellectEffect)/2
Insane, Paralyze, Afraid:  MindResistance
Stone:  EarthResistance
Poison, Dead, Eradicated:  BodyResistance
Break Item:  Item strength
Steal Item:  AccuracyEffect

In MM6 it's different:
Weak, Asleep, Drunk, Disease, Unconscious, Afraid:  EnduranceEffect
Curse:  PersonalityEffect
Insane:  IntellectEffect
Poison:  PoisonResistance
Paralyze, Stone, Dead, Eradicated, DrainSP, Age:  MagicResistance
Break Item:  Item strength
Steal Item:  AccuracyEffect

That's the chance of the monster succeeding if he does attempt to do a bad thing. The chance that he attempts it during a strike is MonsterLevel*BonusMul. BonusMul can be specified in Monsters.txt after the name of bad thing, e.g. "Agex3".


When your character gets hit by a magic attack, there is 1 - 30/(30 + Resistance + LuckEffect) chance of reducing damage on each 'dice drop'. Here's what happens:
The dice is dropped. If you are unlucky, you get full 100% damage.
If you are lucky, the dice is dropped again. If you are unlucky this time, you get 1/2 (50%) damage.
If you are lucky, the dice is dropped again. If you are unlucky this time, you get 1/4 (25%) damage.
If you are lucky, the dice is dropped again. If you are unlucky this time, you get 1/8 (12.5%) damage.
If you are lucky, you get 1/16 (6.25%) damage.

To make it simpler, I've calculated average damage for some values of resistance (with LuckEffect added to it):
 0  100%
 20  75%
 40  60%
 60  50%
 100  39%
 150  31%
 200  26%
 300  20%

Also note that in case the Resistance is 0, the player is always dealt 100% of damage regardless of Luck.

When you hit enemy, he has the same chances to reduce damage, except he doesn't have bonus from Luck statistic. So, the chance is 1 - 30/(30 + Resistance). Unlike you, monsters can also have resistance to physical damage.

Recovery Time

Recovery time is the delay between your strikes. It is the sum of factors described below, but it can't go lower than 30 for melee attacks. Ranged can go as low as 0 in unpatched game or "BlasterRecovery" setting if my patch is used.

Base recovery times of weapons

Staff: 100
Sword: 90
Dagger: 60
Axe: 100
Spear: 80
Bow: 100
Mace: 80
Blaster: 30

Unarmed combat: If you have Unarmed skill, recovery time will be 60 as with a Dagger. If you don't, recovery time will be 100 as with a Staff.
Clubs have recovery time of 100 in MM6. In MM7 and MM8 developers forgot about them and clubs got 0 and 6 respectively as their recovery time. So, with a club you will always have recovery time of 30. In version 2.5 of my patches I've fixed if by giving them the same recovery as a Mace.

Recovery times of armor and shield

Shield: 10
Leather: 10
Chain: 20
Plate: 30

Armor skills can reduce or eliminate this penalty.

Skills with 'reduces recovery time' feature

(-2*skill for GM Armsmaster)
Note that items that increase Bow/Axe/Sword skills are ignored here (only the skill of character is used). This bug is fixed in my patches. Armsmaster items are always included.


The SpeedEffect is subtracted from recovery time.

Special effects

Haste: -25 (in MM7 and MM8 it didn't work before Mok's patch)
Swift: -20 (some artifacts and 2 'increases weapon speed' enchantments)
Slow: 20 (artifact sword 'Finality' only)
Also note that Herald's Boots were meant to reduce recovery time, but they cannot be used as a weapon, so they don't effect recovery time. This bug is fixed with my patch.

Final Value

Sum up these factors and you'll get the final value. If it is lower than 30, recovery time will be 30. However, this doesn't apply to Blaster and Bow in real time mode. Their lower limit is 0 in real time.

Example 1:
Mace, Shield, Leather, 15 Speed. All skills are at initial level, no Armsmaster.
Recovery time will be 80 + 10 + 10 - 1 = 99.

Example 2:
Axe will be slower than Spear until Axe skill is more than 20. Only after that it will be faster.

Dual Weapons

Recovery time

When wielding 2 weapons the one with higher base recovery time is used in calculations. If both weapons have the same recovery time, the one in the main (right) hand is used.
Only skill and properties of this weapon are used. The other weapon doesn't effect recovery time at all.
Example 1: if you wield a Spear and a Sword, the Sword skill determines recovery time.
Example 2: if you have 2 swords one of which has Swift property, put the Swift one in the right hand. Otherwise swiftness will be ignored.
In MM6 recovery time of the weapon in the second hand was added to the calculated value. Thus, wielding second weapon was useless. Starting with version 1.4 of my patch this is fixed (but you can turn the fix off if you wish).

Attack & Damage effects of skills

When using dual weapons only skill of the weapon in your second (left) hand is used in calculation of attack and damage.
In MM6 the first (right) hand weapon skill is used for damage and the second (left) hand weapon skill is used for attack.
Example 1: in MM7 and MM8 if you wield a Spear and a Sword, the Spear skill will only effect Armor Class if you are GM. Attack, Damage and recovery time would be taken from Sword skill.
Example 2: in MM6 if you wield a Spear and a Sword, the Spear skill will only effect Damage. Attack and recovery time would be taken from Sword skill.


Dagger Specifics

Chance to do tripple damage by dagger is 10%. It doesn't depend on the skill. Only the damage of the dagger itself is tripled. In MM7 and MM8 damage of a dagger in the second hand can be tripled (with the same 10% probability) even if you are just Expert (it's a bug).
Both problems are fixed in my patches.

'Increases rate of Recovery' enchantment

This enchantment was supposed to make recovery 1.5 times bigger (that's a huge bonus), but due to rounding it doesn't work on today's computers. In my MM6 patch it works and increases recovery rate by 10%.

Vampiric weapons

Vampiric weapons add to your HP 20% of whole physical damage done to monster (by both weapons, including Heroism and skills bonuses). If you have 2 vampiric weapons, they both work. You don't get HP when you kill a monster, only non-lethal strikes add you HP.
In MM8 you get min(damage/5, LeftHP/5) where LeftHP is amount of HP monster has after you hit him.


In MM7 with GM Staff you gain Unarmed bonus, but lose Armsmaster bonus to damage. This is fixed in v2.1 of my patch.
In MM8 Staff skill is added to damage, not just attack. Armsmaster bonus is applied correctly.