ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/exp.C
(Generate patch)

Comparing deliantra/server/common/exp.C (file contents):
Revision 1.43 by root, Sat Nov 17 23:40:00 2018 UTC vs.
Revision 1.45 by root, Mon Jun 10 17:06:31 2024 UTC

178 } 178 }
179 179
180 thawer.get (settings.max_level); 180 thawer.get (settings.max_level);
181 181
182 sint64 newlevels [MAXNUMLEVELS]; 182 sint64 newlevels [MAXNUMLEVELS];
183 newlevels [0] = 0;
183 184
184 while (thawer.next_line ()) 185 while (thawer.next_line ())
185 { 186 {
186 sint64 tmpexp; 187 sint64 tmpexp;
187 thawer.get (tmpexp); 188 thawer.get (tmpexp);
195 return; 196 return;
196 } 197 }
197 198
198 lastlevel++; 199 lastlevel++;
199 200
200 if (lastlevel > settings.max_level) 201 if (lastlevel > settings.max_level || lastlevel >= MAXNUMLEVELS - 1)
201 { 202 {
202 LOG (llevError, "Too many levels specified in table (%d > %d)\n", lastlevel, settings.max_level); 203 LOG (llevError, "Too many levels specified in table (%d > %d (settings.max_level) or >= %d (MAXNUMLEVELS - 1))\n", lastlevel, settings.max_level, MAXNUMLEVELS - 1);
203 exit (1); 204 exit (1);
204 } 205 }
205 206
206 newlevels [lastlevel] = tmpexp; 207 newlevels [lastlevel] = tmpexp;
207 lastexp = tmpexp; 208 lastexp = tmpexp;
211 { 212 {
212 LOG (llevError, "Warning: exp_table does not have %d entries (%d)\n", settings.max_level, lastlevel); 213 LOG (llevError, "Warning: exp_table does not have %d entries (%d)\n", settings.max_level, lastlevel);
213 return; 214 return;
214 } 215 }
215 216
217 // copy the last exp value one level higher, so we can take the difference to the "next" level
218 // eve4n for players at max. level
219 newlevels [lastlevel + 1] = newlevels [lastlevel];
220
216 memcpy (levels, newlevels, sizeof (levels)); 221 memcpy (levels, newlevels, sizeof (levels));
217} 222}
218 223

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines