AIスクリプトリファレンス

条件(建物系)

can-research <research-item>

■説明
指定された研究が開始できるかチェックする。特に以下の項目をチェックする。
・その研究項目がコンピュータプレイヤーの文明で有効であること。
・テクノロジーツリーの研究の前提条件が満たされていること。
・研究に必要な資源があること。備蓄資源は資源量としてカウントしない。
・研究中・生産中ではない、研究が開始できる建物があること。

■注釈
主に研究を実行するルールで条件として使用する。下記の例では「見張り」が研究可能なとき「見張り」を行う。研究可能とは、(1)領主の時代以降である、(2)研究も生産もしていない状態の町の中心が1つ以上ある、(3)備蓄資源を差し引いた食料が75以上(中国除く)ある、(4)「見張り」が研究中または研究完了ではないのすべての条件を満たしていることを指す。
例えば食料を100持っていても備蓄資源を50%と設定している場合は、実質使用可能な食料が50しかないので、「can-research」条件は満たされない。

(defrule
  (can-research ri-town-watch)
=>
  (research ri-town-watch)
)

can-research-with-escrow <research-item>

■説明
指定された研究が開始できるかチェックする。特に以下の項目をチェックする。
・その研究項目がコンピュータプレイヤーの文明で有効であること。
・テクノロジーツリーの研究の前提条件が満たされていること。
・備蓄資源を使用した時に研究に必要な資源があること。
・研究中・生産中ではない、研究が開始できる建物があること。

■注釈
「can-research」の備蓄資源利用版の条件。備蓄資源を利用して研究する場合は「release-escrow」命令を実行してから研究する必要がある。備蓄資源の設定を0%固定にしている場合は、「can-research」と「can-research-with-escrow」に差はない。

(defrule
  (can-research ri-town-watch)
=>
  (release-escrow food)
  (research ri-town-watch)
)

can-afford-research <research-item>

■説明
この条件はコンピュータプレイヤーが指定された研究を実行するのに十分な資源を持っているかどうかチェックする。この条件は備蓄資源を(保有する)資源量としてカウントしない。

■注釈
研究を実行するための資源があるかどうかの条件。テクノロジーツリーの前提条件を満たしているか、研究中・生産中でない建物があるかどうかは条件に含まれない。

(defrule
  (can-afford-research ri-hand-cart)
=> (chat-local-to-self "荷車研究用の資源が貯まりました。") )

research-completed <research-item>

■説明
この条件は指定された研究が完了しているかチェックする。

■注釈
研究完了を条件にユニットを生産したり、複数の研究の優先順位をつけるために使用する。下記の例は「両刃斧」の研究後に「引き具」を研究するようにしたルールである。

(defrule
  (research-completed ri-double-bit-axe)
(can-research ri-horse-collar) => (research ri-horse-collar) )

research-available <research-item>

■説明
この条件は指定された研究がコンピュータプレイヤーの文明で使用できるか、現在その研究が有効(テクノロジーツリーの前提条件が満たされている)であるかをチェックする。この条件は研究を開始するのに十分な資源があるかどうかはチェックしない。

■注釈
「research-available」の条件が満たされている場合とは、(1)テクノロジーツリーの前提条件が満たされていて、(2)その研究が研究中や研究完了でない状況を指す。下記の例は、城主の時代以降で且つ手押し車の研究が完了した状態になった瞬間にチャットが表示される。下記の例では文明がバイキングの場合、条件を満たすことは絶対にない。(研究の前提条件を満たした瞬間に荷車が研究完了になるため)

(defrule
(research-available ri-hand-cart)
=> (chat-local-to-self "荷車の研究が有効になりました。") )

can-spy

■説明
この条件は「反逆」コマンドが実行できるかどうかチェックする。備蓄資源を(保有する)資源量としてカウントしない。

■注釈
ゲームの種類がチェックメイトのゲームで使用できる「反逆」コマンドが実行できるかどうかを判定する条件である。条件名がcan-spyとなっているがランダムマップで研究できる「諜報」のことではない。チェックメイト以外のゲームでは無効である。

(defrule
(can-spy)
=> (spy) )

can-spy-with-escrow

■説明
この条件は「反逆」コマンドが実行できるかどうかチェックする。備蓄資源も(保有する)資源量に含めて判定される。

■注釈
ゲームの種類がチェックメイトのゲームで使用できる「反逆」コマンドが実行できるかどうかを判定する条件である。条件名がcan-spyとなっているがランダムマップで研究できる「諜報」のことではない。チェックメイト以外のゲームでは無効である。

(defrule
(can-spy)
=> (spy) )