Index: code/ai/ai_profiles.cpp
===================================================================
--- code/ai/ai_profiles.cpp	(revision 4831)
+++ code/ai/ai_profiles.cpp	(working copy)
@@ -301,6 +301,12 @@
 			if (optional_string("$Hostile AI Fire Delay Scale:"))
 				parse_float_list(profile->ship_fire_delay_scale_hostile, NUM_SKILL_LEVELS);
 
+			if (optional_string("$Friendly AI Secondary Fire Delay Scale:"))
+				parse_float_list(profile->ship_fire_secondary_delay_scale_friendly, NUM_SKILL_LEVELS);
+
+			if (optional_string("$Hostile AI Secondary Fire Delay Scale:"))
+				parse_float_list(profile->ship_fire_secondary_delay_scale_hostile, NUM_SKILL_LEVELS);
+
 			if (optional_string("$Player Subsys Damage Factor:") || optional_string("$AI Damage Reduction to Player Subsys:"))
 				parse_float_list(profile->subsys_damage_scale, NUM_SKILL_LEVELS);
 
Index: code/ai/ai_profiles.h
===================================================================
--- code/ai/ai_profiles.h	(revision 4831)
+++ code/ai/ai_profiles.h	(working copy)
@@ -119,6 +120,10 @@
 	float ship_fire_delay_scale_hostile[NUM_SKILL_LEVELS];
 	float ship_fire_delay_scale_friendly[NUM_SKILL_LEVELS];
 
+	//	Multiplicative secondary delay factors for increasing skill levels.
+	float ship_fire_secondary_delay_scale_hostile[NUM_SKILL_LEVELS];
+	float ship_fire_secondary_delay_scale_friendly[NUM_SKILL_LEVELS];
+
 	//	Maximum turrets of one ship allowed to shoot the same target
 	int max_turret_ownage_target[NUM_SKILL_LEVELS];
 	int max_turret_ownage_player[NUM_SKILL_LEVELS];
Index: code/ai/aicode.cpp
===================================================================
--- code/ai/aicode.cpp	(revision 4831)
+++ code/ai/aicode.cpp	(working copy)
@@ -8641,10 +8668,9 @@
 {
 	float t = swip->fire_wait;		//	Base delay for this weapon.
 	if (shipp->team == Player_ship->team) {
-		//	On player's team, _lower_ skill level = faster firing
-		t = t * (Game_skill_level+2) / (NUM_SKILL_LEVELS);
-	} else {		//	Not on player's team, higher skill level = faster firing
-		t = t * (NUM_SKILL_LEVELS - Game_skill_level+2) / (NUM_SKILL_LEVELS);
+		t *= The_mission.ai_profile->ship_fire_secondary_delay_scale_friendly[Game_skill_level];
+	} else {
+		t *= The_mission.ai_profile->ship_fire_secondary_delay_scale_hostile[Game_skill_level];
 	}
 
 	t += (Num_ai_classes - aip->ai_class + 1) * 0.5f;
Index: code/globalincs/def_files.cpp
===================================================================
--- code/globalincs/def_files.cpp	(revision 4831)
+++ code/globalincs/def_files.cpp	(working copy)
@@ -762,6 +762,12 @@
 ;; factor applied to 'fire wait' for hostile ships						\n\
 $Hostile AI Fire Delay Scale: 4, 2.5, 1.75, 1.25, 1						\n\
 																		\n\
+;; factor applied to 'fire wait' for secondaries of friendly ships		\n\
+$Friendly AI Secondary Fire Delay Scale: 0.4, 0.6, 0.8, 1.0, 1.2		\n\
+																		\n\
+;; factor applied to 'fire wait' for secondaries of hostile ships		\n\
+$Hostile AI Secondary Fire Delay Scale: 1.4, 1.2, 1.0, 0.8, 0.6			\n\
+																		\n\
 ;; factor applied to time it takes for enemy ships to turn				\n\
 $AI Turn Time Scale: 3, 2.2, 1.6, 1.3, 1								\n\
 																		\n\
