Might and Magic 6 7 8 Maximum level and Training halls

The role-playing games (I-X) that started it all and the various spin-offs (including Dark Messiah).
FaLiar
Leprechaun
Leprechaun
Posts: 6
Joined: 28 Oct 2020

Might and Magic 6 7 8 Maximum level and Training halls

Unread postby FaLiar » 28 Oct 2020, 23:04

MM6
In mm6 you can train your party at Paradise Valley up to 200 and beyond, older version in Castle Ironfist.

But what is the real maximum level?
The level is stored in a "short integer" type, which is capable of containing at least the (−32768 to +32767)
So its 32767 after that, is changes to -32768.
But the experience is stored in regular "integer" type, which range is -2147483648 to 2147483647.
From the level exp formula we can calculate the maximum level, 2147483647 = x*(x+1)*500 where the x1 is ~2071, there is an x2, which is ~-2072.
So is we see the maximum sum exp is 2147483647 so the maximum level is 2071.

Another but, if you reach the maximum exp, you can level up to 32767 because the program calculates wrongly. I'm not sure what happens when we reach 0 from -32767 but is think its gonna loop infinitely.

MM7
The training hall in Nighon also trains beyond lvl200. Up to 1447, the price for 1448 is "infinite".
The exp is can go up to 2147483647.

MM8
It's easy because there are no training hall which train you beyond 200.

cthscr
Swordsman
Swordsman
Posts: 587
Joined: 12 Jan 2020

Re: Might and Magic 6 7 8 Maximum level and Training halls

Unread postby cthscr » 29 Oct 2020, 05:28

You should check evt.Add("Experience", ...) limits also. If you go with repeatable

Code: Select all

evt[0].Add("Experience", 1000000000)
in MM8 you'll end at 4000000000.

PS. It's signed long int in MM8.
Last edited by cthscr on 29 Oct 2020, 05:31, edited 1 time in total.

FaLiar
Leprechaun
Leprechaun
Posts: 6
Joined: 28 Oct 2020

Re: Might and Magic 6 7 8 Maximum level and Training halls

Unread postby FaLiar » 29 Oct 2020, 08:33

I think thats for only what you see ingame in your char data page, but in the background its turns to -2147483648 after you reach the max integer.

but its unimportant because no training hall after lvl200 :)

cthscr
Swordsman
Swordsman
Posts: 587
Joined: 12 Jan 2020

Re: Might and Magic 6 7 8 Maximum level and Training halls

Unread postby cthscr » 29 Oct 2020, 08:57

FaLiar wrote:I think thats for only what you see ingame in your char data page, but in the background its turns to -2147483648 after you reach the max integer.
Actually in the background we have dword. (To be honest, we always have dword regardless of signed or unsigned int.)

Code: Select all

.text:004487EE                 mov     eax, [ebp+arg_4] ; jumptable 00448669 case 13
.text:004487F1                 cdq
.text:004487F2                 add     [esi+0A0h], eax
.text:004487F8                 adc     [esi+0A4h], edx
.text:004487FE                 cmp     dword ptr [esi+0A4h], 0
.text:00448805                 jl      loc_448C39
.text:0044880B                 mov     eax, 0EE6B2800h
.text:00448810                 jg      short loc_44881E
.text:00448812                 cmp     [esi+0A0h], eax
.text:00448818                 jbe     loc_448C39
.text:0044881E
.text:0044881E loc_44881E:                             ; CODE XREF: sub_4485EC+224↑j
.text:0044881E                 and     dword ptr [esi+0A4h], 0
.text:00448825                 mov     [esi+0A0h], eax
.text:0044882B                 jmp     loc_448C39
FaLiar wrote:but its unimportant because no training hall after lvl200 :)
Since MM8 is written on top of MM7 sources (you can see path inside mm8.exe) most of the features are applied to MM7 as well (this one isn't an exception).


Return to “Might and Magic”

Who is online

Users browsing this forum: No registered users and 62 guests