From 85792599c6cea83392bbe05c98696897b49d8018 Mon Sep 17 00:00:00 2001
From: Yona-TYT <yonatan.el.amigo@gmail.com>
Date: Fri, 23 Jan 2026 07:49:02 -0400
Subject: [PATCH] Script API add get_make_public_months to settings API

---
 src/simutrans/dataobj/settings.h                     | 2 ++
 src/simutrans/script/api/api_settings.cc             | 7 +++++++
 src/simutrans/script/api/squirrel_types_ai.awk       | 1 +
 src/simutrans/script/api/squirrel_types_scenario.awk | 1 +
 4 files changed, 11 insertions(+)

diff --git a/src/simutrans/dataobj/settings.h b/src/simutrans/dataobj/settings.h
index a15b485f4..fe5eae9ee 100644
--- a/src/simutrans/dataobj/settings.h
+++ b/src/simutrans/dataobj/settings.h
@@ -662,6 +662,8 @@ public:
 
 	// some settigns are not to be saved in the global settings
 	void reset_after_global_settings_reload();
+
+	sint64 get_make_public_months() const { return cst_make_public_months; }
 };
 
 #endif
diff --git a/src/simutrans/script/api/api_settings.cc b/src/simutrans/script/api/api_settings.cc
index dcff056cb..4b7e9b179 100644
--- a/src/simutrans/script/api/api_settings.cc
+++ b/src/simutrans/script/api/api_settings.cc
@@ -132,4 +132,11 @@ void export_settings(HSQUIRRELVM vm)
 	 */
 	register_method(vm, &get_underground_view_level, "get_underground_view_level", true);
 	end_class(vm);
+
+	/**
+	 * Months after which public player can take over ways/bridges/tunnels
+	 * @returns number of months (uint16)
+	 */
+	register_method(vm, &settings_t::get_make_public_months, "get_make_public_months");
+	end_class(vm);
 }
diff --git a/src/simutrans/script/api/squirrel_types_ai.awk b/src/simutrans/script/api/squirrel_types_ai.awk
index d4da6a57d..a396d2f75 100644
--- a/src/simutrans/script/api/squirrel_types_ai.awk
+++ b/src/simutrans/script/api/squirrel_types_ai.awk
@@ -321,6 +321,7 @@ BEGIN {
 	export_types_ai["settings::has_double_slopes"] = "bool()"
 	export_types_ai["settings::get_pay_for_total_distance_mode"] = "integer()"
 	export_types_ai["settings::get_underground_view_level"] = "integer()"
+	export_types_ai["settings::get_make_public_months"] = "integer()"
 	export_types_ai["dir::is_single"] = "bool(dir)"
 	export_types_ai["dir::is_twoway"] = "bool(dir)"
 	export_types_ai["dir::is_threeway"] = "bool(dir)"
diff --git a/src/simutrans/script/api/squirrel_types_scenario.awk b/src/simutrans/script/api/squirrel_types_scenario.awk
index b79acd2e0..dfdfdf15b 100644
--- a/src/simutrans/script/api/squirrel_types_scenario.awk
+++ b/src/simutrans/script/api/squirrel_types_scenario.awk
@@ -340,6 +340,7 @@ BEGIN {
 	export_types_scenario["settings::has_double_slopes"] = "bool()"
 	export_types_scenario["settings::get_pay_for_total_distance_mode"] = "integer()"
 	export_types_scenario["settings::get_underground_view_level"] = "integer()"
+	export_types_ai["settings::get_make_public_months"] = "integer()"
 	export_types_scenario["dir::is_single"] = "bool(dir)"
 	export_types_scenario["dir::is_twoway"] = "bool(dir)"
 	export_types_scenario["dir::is_threeway"] = "bool(dir)"
-- 
2.52.0

