mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-02-11 08:49:50 +00:00
(svn r22861) -Add: [NoAI] support the new conditional order introduced in r22858 (Zuu)
This commit is contained in:
parent
9b56713a69
commit
ec9a9bea3a
@ -176,6 +176,7 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
|
|||||||
case OC_RELIABILITY:
|
case OC_RELIABILITY:
|
||||||
case OC_MAX_SPEED:
|
case OC_MAX_SPEED:
|
||||||
case OC_AGE:
|
case OC_AGE:
|
||||||
|
case OC_REMAINING_LIFETIME:
|
||||||
return compare >= CF_EQUALS && compare <= CF_MORE_EQUALS;
|
return compare >= CF_EQUALS && compare <= CF_MORE_EQUALS;
|
||||||
|
|
||||||
case OC_REQUIRES_SERVICE:
|
case OC_REQUIRES_SERVICE:
|
||||||
|
@ -87,13 +87,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
enum OrderCondition {
|
enum OrderCondition {
|
||||||
/* Order _is_ important, as it's based on OrderConditionVariable in order_type.h. */
|
/* 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_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_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_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_AGE, ///< Skip based on the age, value is in years.
|
||||||
OC_REQUIRES_SERVICE, ///< Skip when the vehicle requires service, no value.
|
OC_REQUIRES_SERVICE, ///< Skip when the vehicle requires service, no value.
|
||||||
OC_UNCONDITIONALLY, ///< Always skip, no compare function, no value.
|
OC_UNCONDITIONALLY, ///< Always skip, no compare function, no value.
|
||||||
OC_INVALID = -1, ///< An invalid condition, do not use.
|
OC_REMAINING_LIFETIME, ///< Skip based on the remaining lifetime
|
||||||
|
OC_INVALID = -1, ///< An invalid condition, do not use.
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -66,6 +66,7 @@ void SQAIOrder_Register(Squirrel *engine)
|
|||||||
SQAIOrder.DefSQConst(engine, AIOrder::OC_AGE, "OC_AGE");
|
SQAIOrder.DefSQConst(engine, AIOrder::OC_AGE, "OC_AGE");
|
||||||
SQAIOrder.DefSQConst(engine, AIOrder::OC_REQUIRES_SERVICE, "OC_REQUIRES_SERVICE");
|
SQAIOrder.DefSQConst(engine, AIOrder::OC_REQUIRES_SERVICE, "OC_REQUIRES_SERVICE");
|
||||||
SQAIOrder.DefSQConst(engine, AIOrder::OC_UNCONDITIONALLY, "OC_UNCONDITIONALLY");
|
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::OC_INVALID, "OC_INVALID");
|
||||||
SQAIOrder.DefSQConst(engine, AIOrder::CF_EQUALS, "CF_EQUALS");
|
SQAIOrder.DefSQConst(engine, AIOrder::CF_EQUALS, "CF_EQUALS");
|
||||||
SQAIOrder.DefSQConst(engine, AIOrder::CF_NOT_EQUALS, "CF_NOT_EQUALS");
|
SQAIOrder.DefSQConst(engine, AIOrder::CF_NOT_EQUALS, "CF_NOT_EQUALS");
|
||||||
|
Loading…
Reference in New Issue
Block a user