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.
Might and Magic 6 7 8 Maximum level and Training halls
Re: Might and Magic 6 7 8 Maximum level and Training halls
You should check evt.Add("Experience", ...) limits also. If you go with repeatable in MM8 you'll end at 4000000000.
PS. It's signed long int in MM8.
Code: Select all
evt[0].Add("Experience", 1000000000)
PS. It's signed long int in MM8.
Last edited by cthscr on 29 Oct 2020, 05:31, edited 1 time in total.
Re: Might and Magic 6 7 8 Maximum level and Training halls
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
but its unimportant because no training hall after lvl200

Re: Might and Magic 6 7 8 Maximum level and Training halls
Actually in the background we have dword. (To be honest, we always have dword regardless of signed or unsigned int.)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.
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
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).FaLiar wrote:but its unimportant because no training hall after lvl200
Who is online
Users browsing this forum: No registered users and 1 guest