| 
									
										
										
										
											2022-08-26 01:31:30 -07:00
										 |  |  | -- Find out if more than one AP mod is loaded, and if so, error out. | 
					
						
							|  |  |  | function mod_is_AP(str) | 
					
						
							|  |  |  |     -- lua string.match is way more restrictive than regex. Regex would be "^AP-W?\d{20}-P[1-9]\d*-.+$" | 
					
						
							|  |  |  | 	local result = string.match(str, "^AP%-W?%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%-P[1-9]%d-%-.+$") | 
					
						
							|  |  |  | 	if result ~= nil then | 
					
						
							|  |  |  | 		log("Archipelago Mod: " .. result .. " is loaded.") | 
					
						
							|  |  |  | 	end | 
					
						
							|  |  |  | 	return result ~= nil | 
					
						
							|  |  |  | end | 
					
						
							|  |  |  | local ap_mod_count = 0 | 
					
						
							|  |  |  | for name, _ in pairs(mods) do | 
					
						
							|  |  |  |     if mod_is_AP(name) then | 
					
						
							|  |  |  |         ap_mod_count = ap_mod_count + 1 | 
					
						
							|  |  |  |         if ap_mod_count > 1 then | 
					
						
							|  |  |  |             error("More than one Archipelago Factorio mod is loaded.") | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | end | 
					
						
							| 
									
										
										
										
											2021-11-24 01:55:36 -08:00
										 |  |  | data:extend({ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         type = "bool-setting", | 
					
						
							|  |  |  |         name = "archipelago-death-link-{{ slot_player }}-{{ seed_name }}", | 
					
						
							|  |  |  |         setting_type = "runtime-global", | 
					
						
							|  |  |  |         {% if death_link %} | 
					
						
							|  |  |  |             default_value = true | 
					
						
							|  |  |  |         {% else %} | 
					
						
							|  |  |  |             default_value = false | 
					
						
							|  |  |  |         {% endif %} | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | }) |