--- deliantra/server/common/exp.C 2018/11/22 00:40:12 1.44 +++ deliantra/server/common/exp.C 2024/06/10 17:06:31 1.45 @@ -198,9 +198,9 @@ lastlevel++; - if (lastlevel > settings.max_level) + if (lastlevel > settings.max_level || lastlevel >= MAXNUMLEVELS - 1) { - LOG (llevError, "Too many levels specified in table (%d > %d)\n", lastlevel, settings.max_level); + LOG (llevError, "Too many levels specified in table (%d > %d (settings.max_level) or >= %d (MAXNUMLEVELS - 1))\n", lastlevel, settings.max_level, MAXNUMLEVELS - 1); exit (1); } @@ -214,6 +214,10 @@ return; } + // copy the last exp value one level higher, so we can take the difference to the "next" level + // eve4n for players at max. level + newlevels [lastlevel + 1] = newlevels [lastlevel]; + memcpy (levels, newlevels, sizeof (levels)); }