src/ai/api/ai_company.cpp
branchnoai
changeset 9868 3998f2e73dda
parent 9865 f241472f09dc
child 10194 c9fdeb7450da
--- a/src/ai/api/ai_company.cpp	Sun Apr 06 12:26:40 2008 +0000
+++ b/src/ai/api/ai_company.cpp	Sun Apr 06 14:12:19 2008 +0000
@@ -24,10 +24,7 @@
 
 /* static */ bool AICompany::SetCompanyName(const char *name)
 {
-	if (::StrEmpty(name)) {
-		AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
-		return false;
-	}
+	EnforcePrecondition(false, !::StrEmpty(name));
 
 	_cmd_text = name;
 	return AIObject::DoCommand(0, 0, 0, CMD_CHANGE_COMPANY_NAME);
@@ -48,10 +45,7 @@
 
 /* static */ bool AICompany::SetPresidentName(const char *name)
 {
-	if (::StrEmpty(name)) {
-		AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
-		return false;
-	}
+	EnforcePrecondition(false, !::StrEmpty(name));
 
 	_cmd_text = name;
 	return AIObject::DoCommand(0, 0, 0, CMD_CHANGE_PRESIDENT_NAME);
@@ -106,13 +100,10 @@
 
 /* static */ bool AICompany::SetLoanAmount(int32 loan)
 {
-	if (loan < 0 ||
-			(loan % GetLoanInterval()) != 0 ||
-			loan > GetMaxLoanAmount() ||
-			(loan - GetLoanAmount() + GetBankBalance(MY_COMPANY)) < 0) {
-		AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
-		return false;
-	}
+	EnforcePrecondition(false, loan >= 0);
+	EnforcePrecondition(false, (loan % GetLoanInterval()) == 0);
+	EnforcePrecondition(false, loan <= GetMaxLoanAmount());
+	EnforcePrecondition(false, (loan - GetLoanAmount() + GetBankBalance(MY_COMPANY)) >= 0);
 
 	if (loan == GetLoanAmount()) return true;
 
@@ -123,18 +114,12 @@
 
 /* static */ bool AICompany::SetMinimumLoanAmount(int32 loan)
 {
-	if (loan < 0) {
-		AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
-		return false;
-	}
+	EnforcePrecondition(false, loan >= 0);
 
 	int32 over_interval = loan % GetLoanInterval();
 	if (over_interval != 0) loan += GetLoanInterval() - over_interval;
 
-	if (loan > GetMaxLoanAmount()) {
-		AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
-		return false;
-	}
+	EnforcePrecondition(false, loan <= GetMaxLoanAmount());
 
 	SetLoanAmount(loan);
 
@@ -143,10 +128,7 @@
 
 /* static */ bool AICompany::BuildCompanyHQ(TileIndex tile)
 {
-	if (!::IsValidTile(tile)) {
-		AIObject::SetLastError(AIError::ERR_PRECONDITION_FAILED);
-		return false;
-	}
+	EnforcePrecondition(false, ::IsValidTile(tile));
 
 	return AIObject::DoCommand(tile, 0, 0, CMD_BUILD_COMPANY_HQ);
 }