diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ai/api/ai_changelog.hpp | 1 | ||||
-rw-r--r-- | src/ai/api/ai_station.cpp | 2 | ||||
-rw-r--r-- | src/ai/api/ai_town.cpp | 22 | ||||
-rw-r--r-- | src/ai/api/ai_town.hpp | 12 | ||||
-rw-r--r-- | src/ai/api/ai_town.hpp.sq | 1 |
5 files changed, 6 insertions, 32 deletions
diff --git a/src/ai/api/ai_changelog.hpp b/src/ai/api/ai_changelog.hpp index 34cc39130..d3511422c 100644 --- a/src/ai/api/ai_changelog.hpp +++ b/src/ai/api/ai_changelog.hpp @@ -35,6 +35,7 @@ * \li AISubsidy::GetSource * \li AISubsidy::DestinationIsTown * \li AISubsidy::GetDestination + * \li AITown::GetMaxProduction * \li AIWaypoint::WAYPOINT_INVALID * * Other changes: diff --git a/src/ai/api/ai_station.cpp b/src/ai/api/ai_station.cpp index 725b1471a..ce9dc62a8 100644 --- a/src/ai/api/ai_station.cpp +++ b/src/ai/api/ai_station.cpp @@ -48,7 +48,7 @@ if (!IsValidStation(station_id)) return -1; if (!AICargo::IsValidCargo(cargo_id)) return -1; - return ::Station::Get(station_id)->goods[cargo_id].rating * 101 >> 8; + return ::ToPercent8(::Station::Get(station_id)->goods[cargo_id].rating); } /* static */ int32 AIStation::GetCoverageRadius(AIStation::StationType station_type) diff --git a/src/ai/api/ai_town.cpp b/src/ai/api/ai_town.cpp index 9f497047d..72f068f09 100644 --- a/src/ai/api/ai_town.cpp +++ b/src/ai/api/ai_town.cpp @@ -72,8 +72,8 @@ const Town *t = ::Town::Get(town_id); switch (AICargo::GetTownEffect(cargo_id)) { - case AICargo::TE_PASSENGERS: return t->act_pass; - case AICargo::TE_MAIL: return t->act_mail; + case AICargo::TE_PASSENGERS: return t->max_pass; + case AICargo::TE_MAIL: return t->max_mail; default: return -1; } } @@ -86,22 +86,8 @@ const Town *t = ::Town::Get(town_id); switch (AICargo::GetTownEffect(cargo_id)) { - case AICargo::TE_PASSENGERS: return t->pct_pass_transported; - case AICargo::TE_MAIL: return t->pct_mail_transported; - default: return -1; - } -} - -/* static */ int32 AITown::GetMaxProduction(TownID town_id, CargoID cargo_id) -{ - if (!IsValidTown(town_id)) return -1; - if (!AICargo::IsValidCargo(cargo_id)) return -1; - - const Town *t = ::Town::Get(town_id); - - switch (AICargo::GetTownEffect(cargo_id)) { - case AICargo::TE_PASSENGERS: return t->max_pass; - case AICargo::TE_MAIL: return t->max_mail; + case AICargo::TE_PASSENGERS: return t->act_pass; + case AICargo::TE_MAIL: return t->act_mail; default: return -1; } } diff --git a/src/ai/api/ai_town.hpp b/src/ai/api/ai_town.hpp index f0df98c2a..dca8a36e9 100644 --- a/src/ai/api/ai_town.hpp +++ b/src/ai/api/ai_town.hpp @@ -176,18 +176,6 @@ public: static int32 GetLastMonthTransported(TownID town_id, CargoID cargo_id); /** - * Get the maximum production of the given cargo at a town. - * @param town_id The index of the town. - * @param cargo_id The index of the cargo. - * @pre IsValidTown(town_id). - * @pre AICargo::IsValidCargo(cargo_id). - * @pre AICargo::GetTownEffect(cargo_id) == TE_PASSENGERS || AICargo::GetTownEffect(cargo_id) == TE_MAIL. - * @return The maximum production of the given cargo for this town. - * @post Return value is always non-negative. - */ - static int32 GetMaxProduction(TownID town_id, CargoID cargo_id); - - /** * Get the manhattan distance from the tile to the AITown::GetLocation() * of the town. * @param town_id The town to get the distance to. diff --git a/src/ai/api/ai_town.hpp.sq b/src/ai/api/ai_town.hpp.sq index 58937f62b..bb10e8fba 100644 --- a/src/ai/api/ai_town.hpp.sq +++ b/src/ai/api/ai_town.hpp.sq @@ -65,7 +65,6 @@ void SQAITown_Register(Squirrel *engine) { SQAITown.DefSQStaticMethod(engine, &AITown::GetLocation, "GetLocation", 2, ".i"); SQAITown.DefSQStaticMethod(engine, &AITown::GetLastMonthProduction, "GetLastMonthProduction", 3, ".ii"); SQAITown.DefSQStaticMethod(engine, &AITown::GetLastMonthTransported, "GetLastMonthTransported", 3, ".ii"); - SQAITown.DefSQStaticMethod(engine, &AITown::GetMaxProduction, "GetMaxProduction", 3, ".ii"); SQAITown.DefSQStaticMethod(engine, &AITown::GetDistanceManhattanToTile, "GetDistanceManhattanToTile", 3, ".ii"); SQAITown.DefSQStaticMethod(engine, &AITown::GetDistanceSquareToTile, "GetDistanceSquareToTile", 3, ".ii"); SQAITown.DefSQStaticMethod(engine, &AITown::IsWithinTownInfluence, "IsWithinTownInfluence", 3, ".ii"); |