====== Action (personnalisée) ======
Une action est une [[reference:routines:start|routine]] qui s’exécute lorsque le joueur entre une commande durant une partie.
💡 Si vous souhaitez consulter les //actions de base//, voir [[reference:routines:actions_predefinies:start|cette page]].
===== Exemple d’action simple =====
Cette action va s’exécuter lorsque le joueur entrera la commande ''sauter''.\\
Le texte « Vous sautez sur place. » sera alors ajouté à la sortie du jeu.
action sauter:
dire "Vous sautez sur place.";
fin action
===== Exemple d’action complète =====
💡 ''ceci'' correspond à l’objet avec lequel le joueur interagit.
action pousser ceci:
phase prérequis:
si ceci n’est pas accessible, refuser "Je n’y ai pas accès.".
si ceci est le joueur, refuser "Je suis dans le chemin ?".
phase exécution:
changer ceci est déplacé.
phase épilogue:
dire "Je [l’ ceci]ai poussé[es ceci] mais ça n’a servi à rien.".
fin action
===== Les phases d’une action =====
Ainsi que vous pouvez le voir dans l’exemple ci-dessus, une action se compose de 3 phases : refus, exécution et épilogue.
==== Phase prérequis ====
Cette phase permet de refuser l’exécution de l’action si les critères d’acceptation ne sont pas remplis. Par exemple on ne peut pas prendre un objet qui n’est pas accessible.
==== Phase exécution ====
Cette phase permet de modifier l’état du jeu en fonction de l’action qui est exécutée. Par exemple on peut déplacer un objet ou changer sa description.
==== Phase épilogue ====
Cette phase permet d’informer le joueur du résultat de l’action qui s’est exécutée. Par exemple on décrit au joueur le lieu dans lequel il s’est déplacé.
===== Définition des compléments variables d'une action =====
Il est possible de spécifier 1 ou 2 compléments pour une action.
Par convention, le premier sera toujours nommé « ''ceci'' » et le second « ''cela'' ».
Si vous n'écrivez pas de définition pour les compléments, il leur sera attribué une définition par défaut « ''ceci est un objet visible et accessible.'' »
==== Action sans complément ====
action sauter:
dire "Vous sautez.".
fin action
==== Action avec 1 complément (ceci) ====
action sauter sur ceci:
définition:
ceci est un support.
phase épilogue:
dire "vous sautez sur [intitulé ceci].".
fin action
==== Action avec 2 complément (ceci et cela) ====
action combiner ceci avec cela:
définition:
ceci est un objet visible et accessible.
cela est un objet visible et accessible.
phase épilogue:
dire "Ça n'a rien donné.".
fin action
==== Priorité (prioritairement) ====
Si vous souhaitez donner la priorité à certains objets par rapport à d’autres vous pouvez utiliser le mot clé « ''prioritairement'' ».
__Exemple concret__
En cours de jeu, le joueur possède une pomme dans son inventaire tandis qu’une autre pomme se trouve encore sur la table.
Voici 2 commandes que le joueur pourrait entrer:
1) ''prendre la pomme'': l’action //prendre// donne la priorité à la pomme qui est encore //disponible// sur la table (contrairement à celle qui est déjà //possédée// par le joueur).
action prendre ceci:
définitions:
ceci est un objet visible et accessible prioritairement disponible.
(...)
fin action
2) ''lâcher la pomme'': l’action //lâcher// donne la priorité à la pomme est est //possédée// par le joueur (contrairement à celle qui est encore //disponible// sur la table).
action lâcher ceci:
définitions:
ceci est prioritairement possédé.
(...)
fin action
Plus d’informations : [[reference:memoire:etats:etats_de_base|]].
===== Définition d'une action qui déplace le joueur =====
En ajoutant la phrase ''L’action déplace le joueur vers ceci.'' vous aurez accès aux variables ''source'' et ''destination'' dans vos règles.
action aller vers ceci:
définitions:
Ceci est un lieu.
L’action déplace le joueur vers ceci.
phase prérequis:
si le joueur se trouve dans ceci, refuser "Vous y êtes déjà.".
phase exécution
déplacer le joueur vers ceci.
phase épilogue:
exécuter l’action regarder.
fin action
-- modifier l’action « aller »
-- remarque: avec une action qui déplace le joueur (aller), on peut utiliser les
-- variables « origine », « destination » et « orientation ».
règle avant aller vers un lieu:
-- si le joueur tente d’aller là où il se trouve déjà
si le joueur se trouve dans destination:
dire "Vous y êtes déjà !".
-- sinon déplacer le joueur vers la destination.
sinon
dire "{/Vous disparaissez de [intitulé origine]… et vous apparaissez dans [intitulé destination] !/}".
changer le joueur se trouve dans destination.
-- décrire le nouveau lieu où se trouve le joueur
dire "{p}{_{*[titre ici]*}_}".
dire "{n}[description ici][décrire objets ici]".
fin si
arrêter l’action.
fin règle