Page 1 of 1

D1 Skill Bonus

Posted: Wed Sep 29, 2010 4:35 pm
by whodey
I was just wondering how the skill bonus is calculated at the end of each level in Descent 1.

Posted: Thu Sep 30, 2010 5:14 am
by Avder
It takes your score earned on that level from killing robots, multiplies it by a factor determined by skill level, and adds it to your score at the end of the level.

Posted: Tue Oct 05, 2010 10:41 pm
by NUMBERZero
I thought it was just a set bonus depending on the difficulty level.

Posted: Wed Oct 06, 2010 2:14 am
by DarkFlameWolf
I don't think Trainee or Rookie gets you any skill bonus.

Posted: Sun Oct 31, 2010 8:03 am
by Xfing
The number of deaths also plays a part in the calculation. I dunno about the speed with which you complete the level though.

Posted: Sun Oct 31, 2010 10:43 am
by Sirius
Relevant code from D1:

Code: Select all

	level_points = Players[Player_num].score-Players[Player_num].last_score;

	if (!Cheats_enabled) {
		if (Difficulty_level > 1) {
			skill_points = level_points*(Difficulty_level-1)/2;
			skill_points -= skill_points % 100;
		} else
			skill_points = 0;

		shield_points = f2i(Players[Player_num].shields) * 10 * (Difficulty_level+1);
		energy_points = f2i(Players[Player_num].energy) * 5 * (Difficulty_level+1);
		hostage_points = Players[Player_num].hostages_on_board * 500 * (Difficulty_level+1);
	} else {
		skill_points = 0;
		shield_points = 0;
		energy_points = 0;
		hostage_points = 0;
	}
Difficulty levels go from 0 (Trainee) upward, so there is no skill bonus for Trainee or Rookie. However, it's only based on your score for that level, multiplied by a factor dependent on the difficulty level, and rounded down to the nearest 100. Deaths don't affect it (they do on the last level, where you get a ship bonus), nor does time taken.