D1 Skill Bonus

Descent mission help and more WARNING: Spoilers inside!

Moderator: AceCombat

Post Reply
User avatar
whodey
DBB Cadet
DBB Cadet
Posts: 10
Joined: Thu Sep 23, 2010 7:59 am

D1 Skill Bonus

Post by whodey »

I was just wondering how the skill bonus is calculated at the end of each level in Descent 1.
User avatar
Avder
DBB Material Defender
DBB Material Defender
Posts: 4926
Joined: Sat Oct 09, 1999 2:01 am
Location: Moorhead, MN

Post 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.
User avatar
NUMBERZero
DBB Ace
DBB Ace
Posts: 288
Joined: Tue Sep 08, 2009 3:12 pm
Location: Florida
Contact:

Post by NUMBERZero »

I thought it was just a set bonus depending on the difficulty level.
\"PUT THE BALL INNNNNN!!!!!!\"--What I was screaming on 3/7/09 PD Reunion Monsterball game
Descent 3 Anarchy: \"Just you, your ship, and a whole bunch of weapons to turn your enemies into slag.\"--TopGun
User avatar
DarkFlameWolf
DBB Admiral
DBB Admiral
Posts: 1022
Joined: Sat Mar 13, 2004 9:21 pm
Location: North Carolina

Post by DarkFlameWolf »

I don't think Trainee or Rookie gets you any skill bonus.
User avatar
Xfing
DBB Fleet Admiral
DBB Fleet Admiral
Posts: 2021
Joined: Mon Jun 15, 2009 3:03 am
Location: Ringing Satan's Doorbell

Post 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.
Descent 1,5: Level layouts done: 52/54 Secret level layouts done: 1/6
User avatar
Sirius
DBB Master
DBB Master
Posts: 5616
Joined: Fri May 28, 1999 2:01 am
Location: Bellevue, WA
Contact:

Post 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.
Post Reply