====== 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