# HG changeset patch # User yexo # Date 1314830470 0 # Node ID f6611691a8e85849181a6144f64542472f644f94 # Parent 178f8fc55691b20ca4fa919f8481be3a5889fdbd (svn r22861) -Add: [NoAI] support the new conditional order introduced in r22858 (Zuu) diff --git a/src/ai/api/ai_order.cpp b/src/ai/api/ai_order.cpp --- a/src/ai/api/ai_order.cpp +++ b/src/ai/api/ai_order.cpp @@ -176,6 +176,7 @@ case OC_RELIABILITY: case OC_MAX_SPEED: case OC_AGE: + case OC_REMAINING_LIFETIME: return compare >= CF_EQUALS && compare <= CF_MORE_EQUALS; case OC_REQUIRES_SERVICE: diff --git a/src/ai/api/ai_order.hpp b/src/ai/api/ai_order.hpp --- a/src/ai/api/ai_order.hpp +++ b/src/ai/api/ai_order.hpp @@ -87,13 +87,14 @@ */ enum OrderCondition { /* Order _is_ important, as it's based on OrderConditionVariable in order_type.h. */ - OC_LOAD_PERCENTAGE, ///< Skip based on the amount of load, value is in tons. - OC_RELIABILITY, ///< Skip based on the reliability, value is percent (0..100). - OC_MAX_SPEED, ///< Skip based on the maximum speed, value is in OpenTTD's internal speed unit, see AIEngine::GetMaxSpeed. - OC_AGE, ///< Skip based on the age, value is in years. - OC_REQUIRES_SERVICE, ///< Skip when the vehicle requires service, no value. - OC_UNCONDITIONALLY, ///< Always skip, no compare function, no value. - OC_INVALID = -1, ///< An invalid condition, do not use. + OC_LOAD_PERCENTAGE, ///< Skip based on the amount of load, value is in tons. + OC_RELIABILITY, ///< Skip based on the reliability, value is percent (0..100). + OC_MAX_SPEED, ///< Skip based on the maximum speed, value is in OpenTTD's internal speed unit, see AIEngine::GetMaxSpeed. + OC_AGE, ///< Skip based on the age, value is in years. + OC_REQUIRES_SERVICE, ///< Skip when the vehicle requires service, no value. + OC_UNCONDITIONALLY, ///< Always skip, no compare function, no value. + OC_REMAINING_LIFETIME, ///< Skip based on the remaining lifetime + OC_INVALID = -1, ///< An invalid condition, do not use. }; /** diff --git a/src/ai/api/ai_order.hpp.sq b/src/ai/api/ai_order.hpp.sq --- a/src/ai/api/ai_order.hpp.sq +++ b/src/ai/api/ai_order.hpp.sq @@ -66,6 +66,7 @@ SQAIOrder.DefSQConst(engine, AIOrder::OC_AGE, "OC_AGE"); SQAIOrder.DefSQConst(engine, AIOrder::OC_REQUIRES_SERVICE, "OC_REQUIRES_SERVICE"); SQAIOrder.DefSQConst(engine, AIOrder::OC_UNCONDITIONALLY, "OC_UNCONDITIONALLY"); + SQAIOrder.DefSQConst(engine, AIOrder::OC_REMAINING_LIFETIME, "OC_REMAINING_LIFETIME"); SQAIOrder.DefSQConst(engine, AIOrder::OC_INVALID, "OC_INVALID"); SQAIOrder.DefSQConst(engine, AIOrder::CF_EQUALS, "CF_EQUALS"); SQAIOrder.DefSQConst(engine, AIOrder::CF_NOT_EQUALS, "CF_NOT_EQUALS");