mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-13 17:49:10 +00:00
Change: Compatibility layers for AI and GS map ScriptDate:: to ScriptDateEcomomy::
This commit is contained in:
@@ -186,13 +186,6 @@ AIEngine.GetMaxTractiveEffort <- function(engine_id)
|
||||
return AIEngine._GetMaxTractiveEffort(engine_id);
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!AIEngine.IsBuildable(engine_id)) return -1;
|
||||
return AIEngine._GetDesignDate(engine_id);
|
||||
}
|
||||
|
||||
AIEngine._GetVehicleType <- AIEngine.GetVehicleType;
|
||||
AIEngine.GetVehicleType <- function(engine_id)
|
||||
{
|
||||
@@ -392,3 +385,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -144,3 +144,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -81,3 +81,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -19,3 +19,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -19,3 +19,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -33,3 +33,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -19,3 +19,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -19,3 +19,23 @@ AIRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -6,3 +6,23 @@
|
||||
*/
|
||||
|
||||
AILog.Info("13 API compatibility in effect.");
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* For maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
AIDate <- AIDateEconomy;
|
||||
|
||||
AIBaseStation._GetConstructionDate <- AIBaseStation.GetConstructionDate;
|
||||
AIBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
AIEngine._GetDesignDate <- AIScriptEngine.GetDesignDate;
|
||||
AIEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
@@ -26,3 +26,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -19,3 +19,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -48,3 +48,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -48,3 +48,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -40,3 +40,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -33,3 +33,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -33,3 +33,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -33,3 +33,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -33,3 +33,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -26,3 +26,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -19,3 +19,55 @@ GSRoad.HasRoadType <- function(tile, road_type)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -6,3 +6,55 @@
|
||||
*/
|
||||
|
||||
GSLog.Info("13 API compatibility in effect.");
|
||||
|
||||
/* 14 splits date into calendar and economy time. Economy time ticks at the usual rate, but calendar time can be sped up, slowed down, or frozen entirely.
|
||||
* This may break some scripts, but for maximum compatibility, all ScriptDate calls go to TimerGameEcomomy. */
|
||||
GSDate <- GSDateEconomy;
|
||||
|
||||
GSBaseStation._GetConstructionDate <- GSBaseStation.GetConstructionDate;
|
||||
GSBaseStation.GetConstructionDate <- function(station_id)
|
||||
{
|
||||
if (!IsValidBaseStation(station_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::BaseStation::Get(station_id)->build_date.base();
|
||||
}
|
||||
|
||||
GSClient._GetJoinDate <- GSClient.GetJoinDate;
|
||||
GSClient.GetJoinDate <- function(client)
|
||||
{
|
||||
NetworkClientInfo *ci = FindClientInfo(client);
|
||||
if (ci == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)ci->join_date.base();
|
||||
}
|
||||
|
||||
GSEngine._GetDesignDate <- GSEngine.GetDesignDate;
|
||||
GSEngine.GetDesignDate <- function(engine_id)
|
||||
{
|
||||
if (!IsValidEngine(engine_id)) return ScriptDateEconomy::DATE_INVALID;
|
||||
|
||||
return (ScriptDateEconomy::Date)::Engine::Get(engine_id)->intro_date.base();
|
||||
}
|
||||
|
||||
GSIndustry._GetConstructionDate <- GSIndustry.GetConstructionDate;
|
||||
GSIndustry.GetConstructionDate <- function(industry_id)
|
||||
{
|
||||
Industry *i = Industry::GetIfValid(industry_id);
|
||||
if (i == nullptr) return ScriptDateEconomy::DATE_INVALID;
|
||||
return (ScriptDateEconomy::Date)i->construction_date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._GetDate <- GSStoryPage.GetDate;
|
||||
GSStoryPage.GetDate <- function(story_page_id)
|
||||
{
|
||||
EnforcePrecondition(ScriptDateEconomy::DATE_INVALID, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(ScriptDateEconomy::DATE_INVALID);
|
||||
return (ScriptDateEconomy::Date)StoryPage::Get(story_page_id)->date.base();
|
||||
}
|
||||
|
||||
GSStoryPage._SetDate <- GSStoryPage.SetDate;
|
||||
GSStoryPage.SetDate <- function(story_page_id, date)
|
||||
{
|
||||
EnforcePrecondition(false, IsValidStoryPage(story_page_id));
|
||||
EnforceDeityMode(false);
|
||||
return ScriptObject::Command<CMD_SET_STORY_PAGE_DATE>::Do(story_page_id, date);
|
||||
}
|
||||
|
@@ -17,6 +17,10 @@
|
||||
*
|
||||
* This version is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* Major API changes:
|
||||
* \li All AIDate:: functions are split into AIDateCalendar and AIDateEconomy classes and mirrored in both. The exception is AIDate::GetSystemTime, which only exists in AIDateEconomy.
|
||||
* \li Compatibility layers for AIDate:: map all functions to AIDateEconomy to break the fewest number of scripts possible. We apologize for any broken scripts. :(
|
||||
*
|
||||
* API additions:
|
||||
* \li GSIndustry::GetConstructionDate
|
||||
* \li GSAsyncMode
|
||||
|
@@ -17,6 +17,10 @@
|
||||
*
|
||||
* This version is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* Major API changes:
|
||||
* \li All GSDate:: functions are split into GSDateCalendar and GSDateEconomy classes and mirrored in both. The exception is GSDate::GetSystemTime, which only exists in GSDateEconomy.
|
||||
* \li Compatibility layers for GSDate:: map all functions to GSDateEconomy to break the fewest number of scripts possible. We apologize for any broken scripts. :(
|
||||
*
|
||||
* API additions:
|
||||
* \li GSIndustry::GetConstructionDate
|
||||
* \li GSAsyncMode
|
||||
|
Reference in New Issue
Block a user