diff --git a/build-scripts/get_all_mods.py b/build-scripts/get_all_mods.py index 64f361cf0cc3b..1bd473299f718 100755 --- a/build-scripts/get_all_mods.py +++ b/build-scripts/get_all_mods.py @@ -10,10 +10,20 @@ mods_this_time = [] +exclusions = [ + # #74443 - incompatibility between mindovermatter and aftershock due to bug + ('mindovermatter', 'aftershock') +] + def compatible_with(mod, existing_mods): if mod in total_conversions and total_conversions & set(existing_mods): return False + for entry in exclusions: + if entry[0] == mod and entry[1] in existing_mods: + return False + if entry[1] == mod and entry[0] in existing_mods: + return False return True @@ -23,11 +33,14 @@ def add_mods(mods): # Either an invalid mod id, or blacklisted. return False for mod in mods: - if mod not in mods_this_time and compatible_with(mod, mods_this_time): - if add_mods(all_mod_dependencies[mod]): - mods_this_time.append(mod) - else: - return False + if mod in mods_this_time: + continue + if not compatible_with(mod, mods_this_time): + return False + if add_mods(all_mod_dependencies[mod]): + mods_this_time.append(mod) + else: + return False return True