Liste des actions possibles
do-nothing
Cette action ne fait rien du tout. Elle est principalement utilisée comme un
moyen de tester des objectifs. Vous noterez au passage que chaque règle
nécessite au moins une action.
acknowledge-event <event-type> <event-id>
Cette action confirme la réception d'un événement et réinitialise son flag
associé.
acknowledge-taunt <player-number> <taunt-id>
Cette action confirme la réception d'un message et réinitialise son flag
associé.
attack-now
Cette action force le JGO à passer à l'attaque avec ses unités disponibles.
build <building>
Cette action provoque la construction du bâtiment passé en paramètre. Il est
possible d'utiliser les paramètres jokers désignant une lignée de bâtiment
à la place du paramètre <building>.
build-forward <building>
Cette action provoque la construction du bâtiment passé en paramètre près de
l'ennemi. Il est possible d'utiliser les paramètres jokers désignant une
lignée de bâtiment à la place du paramètre <building>.
build-gate <perimeter>
Cette action déclenche la construction d'une porte dans le mur désigné par le
périmètre.
build-wall <perimeter> <wall>
Cette action provoque la construction d'un mur du type passé en paramètre sur
le périmètre défini en paramètre. Il est possible d'utiliser les paramètres
jokers désignant une lignée de mur à la place du paramètre <wall>.
buy-commodity <commodity>
Cette action lance l'ordre d'achat de la marchandise passée en paramètre.
cc-add-resource <resource-type> <amount>
Cette action est pipée, elle permet d'ajouter des ressources au JGO. Elle
permet notamment d'éviter un comportement plutôt bizarre des villageois
lorsque la partie dure depuis quelque temps, comme par exemple lorsque les
péons traversent la carte dans tous les sens pour trouver les dernières onces
d'or.
chat-local <string>
Cette action permet d'afficher un message local au JGO.
chat-local-using-id <string-id>
Action interne au concepteur de l'IA.
chat-local-using-range <string-id-start> <string-id-range>
Action interne au concepteur de l'IA.
chat-local-to-self <string>
Cette action permet d'afficher un message local. Le message n'est affiché que
si l'utilisateur est le même joueur que le JGO qui a envoyé le message. Cette
action n'est utile que pour le débogage.
chat-to-all <string>
Cette action envoie un message à tous les joueurs.
chat-to-all-using-id <string-id>
Action interne au concepteur de l'IA.
chat-to-all-using-range <string-id-start> <string-id-range>
Action interne au concepteur de l'IA.
chat-to-allies <string>
Cette action envoie un message à tous les joueurs alliés.
chat-to-allies-using-id <string-id>
Action interne au concepteur de l'IA.
chat-to-allies-using-range <string-id-start> <string-id-range>
Action interne au concepteur de l'IA.
chat-to-enemies <string>
Cette action envoie un message à tous les joueurs ennemis.
chat-to-enemies-using-id <string-id>
Action interne au concepteur de l'IA.
chat-to-enemies-using-range <string-id-start> <string-id-range>
Action interne au concepteur de l'IA.
chat-to-player <player-number> <string> ;
Cette action envoie un message au joueur passé en paramètre.
chat-to-player-using-id <player-number> <string-id>
Action interne au concepteur de l'IA.
chat-to-player-using-range <player-number> <string-id-start> <string-id-range>
Action interne au concepteur de l'IA.
chat-trace <value>
Cette action affiche la valeur passée en paramètre comme un message. Cette
action n'est utilisée que lors du débogage pour vérifier qu'une règle est
exécutée.
clear-tribute-memory <player-number> <resource-type>
Cette action remet à zéro le compteur de tribut du joueur passé en
paramètre. Seul le compteur de la ressource spécifiée en paramètre est remis
à zéro. Il est possible d'utiliser les paramètres jokers "any/"every"
à la place du paramètre <player-number>. Il est aussi possible
d'utiliser les variables de règle pour le paramètre <player-number>.
delete-building <building>
Cette action permet de détruire un et un seul bâtiment du type précisé en
paramètre.
delete-unit <unit>
Cette action permet de détruire une et une seule unité du type précisé en
paramètre.
disable-self
Cette action désactive la règle contenant l'action. La désactivation prend
effet au prochain passage de règle. Les autres actions de la règle sont quand
même exécutées une dernière fois.
Exemple :
(defrule
(game-time greater-than 30)
=>
(disable-self) ; désactive la règle
(chat-to-all "Déjà 30 secondes de passées ...") ; affiche le
message au moins une fois.
)
disable-timer <timer-id>
Cette action désactive le timer précisé en paramètre.
enable-timer <timer-id> <value>
Cette action active le timer précisé en paramètre et l'initialise avec la
valeur passée en paramètre
enable-wall-placement <perimeter>
Cette action active la pose d'un mur pour le périmètre spécifié.
L'activation de la pose du mur provoque la planification du reste de la pose et
place toutes les structures à au moins un carreau de distance du futur mur. Si
vous planifier la construction d'un mur, vous devez définir explicitement quel
périmètre vous souhaiter utiliser lorsque la partie commence. Cette action est
exécutée une fois et sera utilisé pendant la configuration initiale.
Exemple :
(defrule
(enable-wall-placement 2)
=>
(disable-self)
)
generate-random-number <value>
Cette action génère un nombre entier aléatoire spécifique au JGO compris
entre 1 et <value>. Ce nombre est stocké et sa valeur peut être testée.
Les exécutions ultérieures de cette action généreront un nouveau nombre
aléatoire qui remplacera celui existant.
log <string>
Cette action écrit le texte dans un fichier de log. Cette action n'est utile
que pour les tests et ne fonctionne que si le mode log est actif.
log-trace <value>
Cette action écrit la valeur dans un fichier de log. Cette action n'est utile
que pour les tests et ne fonctionne que si le mode log est actif.
release-escrow <resource-type>
Cette action libère les réserves de la ressource passée en paramètre.
research <research-item>
Cette action lance la recherche de la technologie passée en paramètre. Pour
éviter de tricher, cette action utilise le même critère que l'information
can-research pour être sûr que la technologie peut être recherchée.
research <age>
Cette action lance la progression vers l'age défini en paramètre.
resign
Cette action provoque l'abandon du JGO.
sell-commodity <commodity>
Cette action lance l'ordre de vente de la marchandise passée en paramètre.
set-difficulty-parameter <difficulty-parameter> <value>
Cette action modifie la valeur du paramètre de difficulté précisé en
paramètre.
set-doctrine <value>
Cette action modifie la valeur de la doctrine
set-escrow-percentage <resource-type> <value>
Cette action définit le pourcentage de ressource mise en réserve pour la
ressource précisée en paramètre. La valeur du pourcentage doit être compris
entre 0 et 100.
set-goal <goal-id> <value>
Cette action définit la valeur de l'objectif précisé en paramètre.
set-shared-goal <shared-goal-id> <value>
Cette action définit la valeur de l'objectif partagé précisé en paramètre.
set-signal <signal-id>
Cette action lance le signal défini en paramètre. Ce signal peut être reconnu
par le système de déclencheur (trigger).
set-stance <player-number> <diplomatic-stance>
Cette action permet de définir la politique diplomatique envers le joueur
précisé en paramètre. Il est possible d'utiliser les paramètres jokers
"any/&quo t;every" à la place du paramètre <player-number>.
set-strategic-number <strategic-number> <value>
Cette action permet de modifier la valeur du nombre stratégique passé en
paramètre.
spy
Cette action exécute la commande d'espionnage.
taunt <value>
Cette action déclenche le message ou raillerie associé à la valeur passée en
paramètre
taunt-using-range <taunt-start> <taunt-range>
Cette action déclenche un message aléatoire choisi parmi un intervalle de
message.
Exemple:
(taunt-using-range 50 10) utilisera un message aléatoire compris entre 50 et
59.
train <unit>
Cette action lance l'entraînement du type d'unité passé en paramètre. Pour
éviter de tricher, cette action utilise les mêmes crtières que l'information
can-train pour s'assurer que l'unité peut être entraînée. Il est possible
d'utiliser les paramètres jokers désignant une lignée d'unité à la place du
paramètre <unit>.
tribute-to-player <player-number> <resource-type> <value>
Cette action provoque le versement d'une quantité de ressource au joueur
défini dans les paramètres. Il y a des comportements spécifiques selon les
cas :
- Si le JGO ne possède pas de marché, aucun tribut n'est distribué.
- Dans le cas où <value> est plus important que la quantité de ressource
disponible, seules les ressources disponibles sont distribuées. Si par exemple,
il y a 60 unités de nourriture et que le tribut est de 100 unités, seules 60
unités seront distribuées.
- Cette action est ignorée lorsqu'il n'y a pas de ressource du type précisé.
- Les taxes sur les tributs sont payés et déduits du montant du tribut (dans
les cas applicables).
Il est possible d'utiliser les paramètres jokers "any/"every" à
la place du paramètre <player-number>. Il est aussi possible d'utiliser
les variables de règle pour le paramètre <player-number> ;.
Action d'entrée / sortie
chat-local
chat-local-using-id
chat-local-using-range
chat-local-to-self
chat-to-all
chat-to-all-using-id
chat-to-all-using-range
chat-to-allies
chat-to-allies-using-id
chat-to-allies-using-range
chat-to-enemies
chat-to-enemies-using-id
chat-to-enemies-using-range
chat-to-player
chat-to-player-using-id
chat-to-player-using-range
chat-trace
log
log-trace
taunt
taunt-using-range
Action de contrôle de règle
disable-self
Action sur les événements
acknowledge-event
acknowledge-taunt
disable-timer
enable-timer
set-signal
Actions commerciales
buy-commodity
sell-commodity
Action sur les tributs
clear-tribute-memory
tribute-to-player
Action de mise en réserve
release-escrow
set-escrow-percentage
Action en mo de régicide
spy
Action pipée
cc-add-resource
Autres actions
do-nothing
attack-now
build
build-forward
build-gate
build-wall
delete-building
delete-unit
enable-wall-placement
generate-random-number
research
resign
set-difficulty-parameter
set-doctrine
set-goal
set-shared-goal
set-stance
set-strategic-number
train