diff --git a/wadsrc/static/zscript/level_compatibility.zs b/wadsrc/static/zscript/level_compatibility.zs
index 44fb88e71d..ee81f4d7a8 100644
--- a/wadsrc/static/zscript/level_compatibility.zs
+++ b/wadsrc/static/zscript/level_compatibility.zs
@@ -1040,6 +1040,20 @@ class LevelCompatibility : LevelPostProcessor
 				ClearSectorTags(214);
 				break;
 			}
+			case '9A4615498C3451413F1CD3D15099ACC7': // Eternal Doom map05
+			{
+				// an imp and two cyberdemons are located at the softlock area
+				SetThingFlags(272, GetThingFlags (272) | MTF_NOCOUNT);
+				SetThingFlags(273, GetThingFlags (273) | MTF_NOCOUNT);
+				SetThingFlags(274, GetThingFlags (274) | MTF_NOCOUNT);
+				break;
+			}
+			case '8B55842D5A509902738040AF10B4E787': // Eternal Doom map10
+			{
+				// soulsphere at the end of the level is there merely to replicate the start of the next map
+				SetThingFlags(548, GetThingFlags (548) | MTF_NOCOUNT);
+				break;
+			}
 		
 			case 'DCE862393CAAA6FF1294FB7056B53057': // UAC Ultra map07
 			{
@@ -1488,6 +1502,16 @@ class LevelCompatibility : LevelPostProcessor
 				SetLineFlags(2040, Line.ML_REPEAT_SPECIAL);
 				break;
 			}
+			case '145C4DFCF843F2B92C73036BA0E1D98A': // Hell Revealed MAP26
+			{
+				// The 4 archviles that produce the ghost monsters cannot be killed
+				// Make them not count so they still produce ghosts while allowing 100% kills.
+				SetThingFlags(320, GetThingFlags (320) | MTF_NOCOUNT);
+				SetThingFlags(347, GetThingFlags (347) | MTF_NOCOUNT);
+				SetThingFlags(495, GetThingFlags (495) | MTF_NOCOUNT);
+				SetThingFlags(496, GetThingFlags (496) | MTF_NOCOUNT);
+				break;
+			}
 
 			case '0E379EEBEB189F294ED122BC60D10A68': // Hellbound MAP29
 			{
@@ -1948,6 +1972,133 @@ class LevelCompatibility : LevelPostProcessor
 				SetSectorSpecial(240, 0);
 				break;
 			}
+
+			case '1497894956B3C8EBE8A240B7FDD99C6A': // Memento Mori 2 MAP25
+			{
+				// an imp is used for the lift activation and cannot be killed
+				SetThingFlags(51, GetThingFlags (51) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '51960F3E9D46449E98DBC7D97F49DB23': // Shotgun Symphony E1M1
+			{
+				// harmless cyberdemon included for the 'story' sake
+				SetThingFlags(158, GetThingFlags (158) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '60D362BAE16B4C10A1DCEE442C878CAE': // 50 Shades of Graytall MAP06
+			{
+				// there are four invisibility spheres used for decoration
+				SetThingFlags(144, GetThingFlags (144) | MTF_NOCOUNT);
+				SetThingFlags(145, GetThingFlags (145) | MTF_NOCOUNT);
+				SetThingFlags(194, GetThingFlags (194) | MTF_NOCOUNT);
+				SetThingFlags(195, GetThingFlags (195) | MTF_NOCOUNT);
+				break;
+			}
+
+			case 'C104E740CC3F70BCFD5D2EA8E833318D': // 50 Monsters MAP29
+			{
+				// there are two invisibility spheres used for decoration
+				SetThingFlags(111, GetThingFlags (111) | MTF_NOCOUNT);
+				SetThingFlags(112, GetThingFlags (112) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '76393C84102480A4C75A4674C9C3217A': // Deadly Standards 2 E2M8
+			{
+				// 923 lost souls are used as environmental hazard
+				for (int i = 267; i < 275; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 482; i < 491; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 510; i < 522; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 880; i < 1510; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 1622; i < 1660; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+
+				for (int i = 1682; i < 1820; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 1847; i < 1875; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 2110; i < 2114; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 2243; i < 2293; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+
+				SetThingFlags(493,  GetThingFlags (493)  | MTF_NOCOUNT);
+				SetThingFlags(573,  GetThingFlags (573)  | MTF_NOCOUNT);
+				SetThingFlags(613,  GetThingFlags (613)  | MTF_NOCOUNT);
+				SetThingFlags(614,  GetThingFlags (614)  | MTF_NOCOUNT);
+				SetThingFlags(1679, GetThingFlags (1679) | MTF_NOCOUNT);
+				SetThingFlags(1680, GetThingFlags (1680) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '42B4D294A60BE4E3500AF150291CF6D4': // Hell Ground MAP05
+			{
+				// 5 cyberdemons are located at the 'pain end' sector
+				for (int i = 523; i < 528; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '0C0513A9821F26F3D7997E3B0359A318': // Mayhem 1500 MAP06
+			{
+				// there's an archvile behind the bossbrain at the very end that can't be killed
+				SetThingFlags(61, GetThingFlags (61) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '00641DA23DDE998F6725BC5896A0DBC2': // 20 Years of Doom E1M8
+			{
+				// 32 lost souls are located at the 'pain end' sector
+				for (int i = 1965; i < 1975; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 2189; i < 2202; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 2311; i < 2320; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				break;
+			}
+
+			case 'EEBDD9CA280F6FF06C30AF2BEE85BF5F': // 2002ad10.wad E3M3
+			{
+				// swarm of cacodemons at the end meant to be pseudo-endless and not killed
+				for (int i = 467; i < 547; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '988DFF5BB7073B857DEE3957A91C8518': // Speed of Doom MAP14
+			{
+				// you can get only one of the soulspheres, the other, depending on your choice, becomes unavailable
+				SetThingFlags(1044, GetThingFlags (1044) | MTF_NOCOUNT);			
+				SetThingFlags(1045, GetThingFlags (1045) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '361734AC5D78E872A05335C83E4F6DB8': // inf-lutz.wad E3M8
+			{
+				// there is a trap with 10 cyberdemons at the end of the map, you are not meant to kill them
+				for (int i = 541; i < 546; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				for (int i = 638; i < 643; i++)
+					SetThingFlags (i, GetThingFlags (i) | MTF_NOCOUNT);
+				break;
+			}
+
+			case '8F844B272E7235E82EA78AD2A2EB2D4A': // Serenity E3M7
+			{
+				// two spheres can't be obtained and thus should not count towards 100% items
+				SetThingFlags(443, GetThingFlags (443) | MTF_NOCOUNT);
+				SetThingFlags(444, GetThingFlags (444) | MTF_NOCOUNT);
+				// one secret is unobtainable
+				SetSectorSpecial (97, 0);
+				break;
+			}
 		}
 	}
 }