30 lines
		
	
	
		
			964 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			964 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
| -- 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
 | |
| 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 %}
 | |
|     }
 | |
| }) | 
