diff --git a/src/endWeek/economics/neighborsDevelopment.js b/src/endWeek/economics/neighborsDevelopment.js
index c43f32f124e7662adfbcc51e6d86df9f864cea35..5c6dc3ee59c7d9868b7d3bfa5ed09375404e7d8d 100644
--- a/src/endWeek/economics/neighborsDevelopment.js
+++ b/src/endWeek/economics/neighborsDevelopment.js
@@ -2552,6 +2552,14 @@ App.EndWeek.neighborsDevelopment = function() {
 						influenceBonus += opinion + 50;
 					}
 
+					if (arc2.direction === 0 && V.baseDifficulty < 3) {
+						// 10 points of bonus influence for player per level below normal
+						influenceBonus += (3 - V.baseDifficulty) * 10;
+					} else if (arc2.rival === 1 && V.baseDifficulty > 3) {
+						// 10 points of bonus influence for rival per level above normal
+						influenceBonus += (V.baseDifficulty - 3) * 10;
+					}
+
 					for (const candidate of validFSes) {
 						if (arc2[candidate] > random(0, 200) - influenceBonus) {
 							// equal weight by default (at normal difficulty, or the arc is neither player nor rival)