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

命令(ユニット系)

train <unit>

■説明
この命令は指定されたユニットを生産する。チート防止のため、この命令はユニットが生産できるか確かめるためにcan-trainと同じ判定基準を使う。
<unit>にはユニット系列のワイルドカードパラメータを使用してよい。

■注釈
下記の例は、食料が100より多い場合、町の人と長剣剣士を生産するルールである。ただし、町の人生産後に長剣剣士生産用の資源が足りない場合は長剣剣士は生産されない。

(defrule
(food-amount greater-than 100)
=>
(train villager)
(train long-swordsman)
)

delete-unit <unit>

■説明
この命令はちょうど指定した種類の1ユニットを削除する。

■注釈
主に、不要な漁船や転向して100人を超えてしまった町の人を削除するために使用する。下記の例は町の人が100より多い場合、町の人を削除する。※AIスクリプトでは101人目(AOKでは51人目)以降の町の人は待機中になる。

(defrule
  (unit-type-count villager > 100)
=>
  (delete-unit villager)
)

attack-now

■説明
この命令は現在利用可能な攻撃ユニットで攻撃させる。ユニットはsn-percent-attack-soldiersまたはsn-percent-attack-boatsによって攻撃ユニットに指名される。

■注釈
AIが攻撃を行うための一般的な方法である。その他にAIスクリプトではグループ攻撃、タウンサイズアタックなどの攻撃方法がある。下記の例は守備軍の50%を攻撃させるルールである。「sn-percent-attack-soldiers」は難易度の影響を受けるので難易度によっては100%を指定しても全軍が攻撃に行かないことがある。

(defrule
  (soldier-count >= 40)
=> (set-strategic-number sn-percent-attack-soldiers 50) (attack-now) )