From 0dc20c7d5fdc97e7aa5527ce2573806232ee09c6 Mon Sep 17 00:00:00 2001 From: yexo Date: Mon, 13 Jun 2011 15:23:20 +0000 Subject: (svn r22584) -Add: [NoAI] several functions to AICompany to find out performance information (Morloth) --- src/ai/api/ai_company.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) (limited to 'src/ai/api/ai_company.cpp') diff --git a/src/ai/api/ai_company.cpp b/src/ai/api/ai_company.cpp index c2a4f2935..90487951c 100644 --- a/src/ai/api/ai_company.cpp +++ b/src/ai/api/ai_company.cpp @@ -101,14 +101,65 @@ return HasBit(ge, ::GENDER_FEMALE) ? GENDER_FEMALE : GENDER_MALE; } -/* static */ Money AICompany::GetCompanyValue(AICompany::CompanyID company) +/* static */ Money AICompany::GetQuarterlyIncome(AICompany::CompanyID company, uint32 quarter) { company = ResolveCompanyID(company); if (company == COMPANY_INVALID) return -1; + if (quarter > EARLIEST_QUARTER) return -1; - return ::CalculateCompanyValue(::Company::Get((CompanyID)company)); + if (quarter == CURRENT_QUARTER) { + return ::Company::Get((::CompanyID)company)->cur_economy.income; + } + return ::Company::Get((::CompanyID)company)->old_economy[quarter - 1].income; +} + +/* static */ Money AICompany::GetQuarterlyExpenses(AICompany::CompanyID company, uint32 quarter) +{ + company = ResolveCompanyID(company); + if (company == COMPANY_INVALID) return -1; + if (quarter > EARLIEST_QUARTER) return -1; + + if (quarter == CURRENT_QUARTER) { + return ::Company::Get((::CompanyID)company)->cur_economy.expenses; + } + return ::Company::Get((::CompanyID)company)->old_economy[quarter - 1].expenses; +} + +/* static */ int32 AICompany::GetQuarterlyCargoDelivered(AICompany::CompanyID company, uint32 quarter) +{ + company = ResolveCompanyID(company); + if (company == COMPANY_INVALID) return -1; + if (quarter > EARLIEST_QUARTER) return -1; + + if (quarter == CURRENT_QUARTER) { + return ::Company::Get((::CompanyID)company)->cur_economy.delivered_cargo; + } + return ::Company::Get((::CompanyID)company)->old_economy[quarter - 1].delivered_cargo; } +/* static */ int32 AICompany::GetQuarterlyPerformanceRating(AICompany::CompanyID company, uint32 quarter) +{ + company = ResolveCompanyID(company); + if (company == COMPANY_INVALID) return -1; + if (quarter > EARLIEST_QUARTER) return -1; + if (quarter == CURRENT_QUARTER) return -1; + + return ::Company::Get((::CompanyID)company)->old_economy[quarter - 1].performance_history; +} + +/* static */ Money AICompany::GetQuarterlyCompanyValue(AICompany::CompanyID company, uint32 quarter) +{ + company = ResolveCompanyID(company); + if (company == COMPANY_INVALID) return -1; + if (quarter > EARLIEST_QUARTER) return -1; + + if (quarter == CURRENT_QUARTER) { + return ::CalculateCompanyValue(::Company::Get((::CompanyID)company)); + } + return ::Company::Get((::CompanyID)company)->old_economy[quarter - 1].company_value; +} + + /* static */ Money AICompany::GetBankBalance(AICompany::CompanyID company) { company = ResolveCompanyID(company); -- cgit v1.2.3-54-g00ecf