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

命令(資源・市場系)

buy-commodity <commodity>

■説明
この命令は指定された資源をひと口(1ロット)買う。

■注釈
実際のゲーム同様に資源は100単位でしか買うことができない。資源を100以上買いたい場合はこの命令を複数回実行する。下記の例は食料が100未満になったら食料を買うルールである。

(defrule
(food-amount < 100)
(can-buy-commodity food)
=>
(buy-commodity food)
)

sell-commodity <commodity>

■説明
この命令は指定された資源をひと口(1ロット)売る。

■注釈
実際のゲーム同様に資源は100単位でしか売ることができない。資源を100以上買いたい場合はこの命令を複数回実行する。下記の例は木が1500以上になったら木を売るルールである。

(defrule
(wood-amount >= 1500)
(can-sell-commodity wood)
=>
(sell-commodity wood)
)

tribute-to-player <player-number> <resource-type> <value>

■説明
この命令はプレイヤー番号パラメータで定義されたプレイヤーに指定量の指定された資源を貢ぐ。実装の詳細:
・コンピュータプレイヤー市場がない場合、貢物は与えられない。
・Valueパラメータに使用できる量以上を指定した場合、指定された種類の使用できる資源のみ貢がれる。例えば、食料が60だけあり、貢ぎ命令で食料100を指定した場合は食料60だけ貢がれる。
・貢ぎ命令は指定した種類の資源がないときは無視される。
・貢ぎの手数料は貢いだ量から差し引かれて支払われる。(適用される場合)
<player-number>に「any」または「every」ワイルドカードパラメータを使用してよい。
また、<player-number>にルール変数を使用してもよい。

■注釈
下記の例は、ルール変数を使用して城が建設されていない味方に400の石を貢ぐルールである。

(defrule
  (players-building-type-count any-ally castle == 0)
  (stone-amount >= 1000)
=> (tribute-to-player this-any-ally stone 400) (disable-self) )

set-escrow-percentage <resource-type> <value>

■説明
この命令はコンピュータプレイヤーの指定された資源の種類の備蓄率を設定する。
指定値は0〜100の範囲内でなければならない。

■注釈
備蓄資源を設定して資源の使い方をコントロールする場合に使用する命令である。例えば建物を建設するときに、備蓄資源を使って建設できる建物と備蓄資源を使わずに建設する建物を設定することで建設の優先順位をつけることができる。下記の例はゲーム開始時に木の備蓄率を10%に設定するルールである。

(defrule
(true)
=> (set-escrow-percentage wood 10)
)

release-escrow <resource-type>

■説明
この命令はコンピュータプレイヤーの指定された種類の備蓄資源を(使えるように)解放する。

■注釈
備蓄資源を使用して建設や生産をする場合には、この命令を使用して備蓄資源を使えるように解放する必要がある。下記の例は備蓄資源を含めて戦士育成所が建設できる場合、木の備蓄資源を使用して戦士育成所を建設する。

(defrule
  (can-build-with-escrow barracks)
=>
  (release-escrow wood)
  (build barracks)
)

cc-add-resource <resource-type> <amount>

■説明
この命令はコンピュータプレイヤーへ指定された資源量を追加するチート命令である。
最後の金鉱を探してコンピュータプレイヤーの町の人がマップ中を移動してしまうようなゲーム終盤のおかしな行動を避けるためにシナリオで使用される。

■注釈
AIの不利をカバーするために使われる資源チート。マイナス値を指定することで資源を減らすこともできる。
ちなみに、標準のCOMはランダムマップでは非常に難しいの場合のみ(ゲームシステムのチートとは別に)資源チート命令を使用している。

(defrule
  (game-time > 240)
=> (cc-add-resource food 300) (chat-to-all "イノシシが狩れないのでチートします。") (disable-self) )