--- deliantra/server/common/player.C 2007/01/07 02:39:13 1.14 +++ deliantra/server/common/player.C 2007/01/08 19:25:52 1.16 @@ -101,12 +101,12 @@ PL_OUT2 (Wis, orig_stats.Wis); PL_OUT2 (Cha, orig_stats.Cha); - PL_OUT2 (lev_array, min (ob->level, 10)); + PL_OUT2 (lev_array, 10); - for (int i = 1; i <= last_level && i <= 10; i++) + for (int i = 1; i <= 10; i++) { - fprintf (freezer, "%d\n", levhp[i]); - fprintf (freezer, "%d\n", levsp[i]); + fprintf (freezer, "%d\n", levhp [i]); + fprintf (freezer, "%d\n", levsp [i]); fprintf (freezer, "%d\n", levgrace[i]); } @@ -145,9 +145,11 @@ { player *pl = new player; - pl->last_save_time = time (0); pl->savebed_map = first_map_path; + /* this loads the standard objects values. */ + pl->set_object (object::create ()); + /* Loop through the file, loading the rest of the values */ for (;;) { @@ -157,7 +159,8 @@ { case KW_EOF: LOG (llevError, "%s: unexpected EOF while reading player header\n", thawer.name); - delete pl; + pl->ob->destroy (); + pl->destroy (); return 0; case KW_ERROR: @@ -223,11 +226,11 @@ for (int i = 1; i <= count; i++) { - char line[128]; + char line [32]; - fgets (line, 128, thawer); pl->levhp [i] = atoi (line); - fgets (line, 128, thawer); pl->levsp [i] = atoi (line); - fgets (line, 128, thawer); pl->levgrace[i] = atoi (line); + fgets (line, 32, thawer); pl->levhp [i] = atoi (line); + fgets (line, 32, thawer); pl->levsp [i] = atoi (line); + fgets (line, 32, thawer); pl->levgrace[i] = atoi (line); } } break; @@ -239,13 +242,10 @@ } done: - /* this loads the standard objects values. */ - pl->set_object (object::create ()); - if (!load_object (thawer, pl->ob, 0)) { pl->ob->destroy (); - delete pl; + pl->destroy (); return 0; }