====== Règle avant/après aller vers ceci ======
===== origine, destination et orientation =====
Les actions de déplacements telle que ''aller'' définissent 3 éléments particuliers:
* ''origine'' => le lieu où le joueur se trouve avant que le déplacement ait lieu.
* ''destination'' => le lieu où le joueur se trouvera lorsque le déplacement aura été effectué.
* ''orientation'' => l'orientation de la destination par rapport au lieu d'origine (nord, sud-est, à l'intérieur, en haut, ...). L'orientation ne sera définie que si destination est un voisin du lieu où se trouve le joueur.
C'est 3 éléments vous permettent de faire vos tests sur les déplacements du joueur.
===== avant/après aller vers lieu spécifique =====
Pour la commande ''aller'' le joueur peut spécifier soit une orientation soit le nom d’un lieu.
Pour vos règles ''avant/après aller vers ceci'', Donjon remplace automatiquement ''ceci'' par le lieu de destination, même si le joueur a spécifié une orientation. Vous pouvez néanmoins connaître l’orientation du lieu par rapport à la position du joueur en testant l’élément ''orientation''.
==== Exemple ====
[[djnc>tuto_regle_aller_2|tester cet exemple]]
La cuisine est un lieu.
Le salon est un lieu au nord de la cuisine.
avant aller vers le salon:
dire "Vous allez vers [intitulé destination] alors que vous vous trouviez dans [intitulé origine].".
après aller vers la cuisine:
dire "Vous êtes allés vers la cuisine pour cela vous vous êtes orientés vers [intitulé orientation].".
Il est possible de désactiver le remplacement automatique de ceci par le lieu de destination avec le paramètre suivant :
désactiver le remplacement de la destination des déplacements.
===== avant/après aller vers ceci =====
==== Exemple complet ====
[[djnc>tuto_regle_aller|tester cet exemple]]
activer l'affichage des lieux inconnus.
Le tronçon B50 est un lieu.
Le tronçon B51 est un lieu au nord du tronçon B50.
Le tronçon B52 est un lieu au sud du tronçon B50.
Le tronçon B53 est un lieu à l'est du tronçon B50.
Le tronçon B54 est un lieu à l'ouest du tronçon B50.
Le tronçon B61 est un lieu au sud du tronçon B52.
Le tronçon B62 est un lieu à l'est du tronçon B52.
Le tronçon B63 est un lieu à l'ouest du tronçon B52.
L'historique est une liste.
avant aller vers ceci:
-- tester le lieu de destination du joueur
si la destination est le tronçon B61 et si l'historique ne contient pas "B62":
dire "Il est encore trop tôt pour me rendre vers [intitulé destination].";
arrêter l'action;
fin si
-- tester le lieu d'origine du joueur:
si l'origine est le tronçon B50 ou le tronçon B51:
dire "Je ne vais pas regretter [intitulé origine] !";
fin si.
après aller vers ceci:
continuer l'action avant;
-- tester l'orientation du déplacement
si l'orientation est le sud:
dire "{n}Il fait plus chaud quand je me rend vers [intitulé orientation].";
fin si
-- tester la destination du déplacement
si la destination est le tronçon B62:
changer l'historique contient "B62";
sinonsi la destination est le tronçon B61:
dire "C'est ici que je voulais arriver !";
fin si.
===== Je crée ma propre action qui déplace le joueur =====
Afin de pouvoir bénéficier du système origine/destination/orientation il faut ajouter ''qui déplace le joueur vers ceci'' (ou ''vers cela'') à votre action:
Exemple:
voler vers ceci est une action qui concerne un lieu et qui déplace le joueur vers ceci.
===== Mon action déplace plusieurs fois le joueur =====
En ajoutant ''qui déplace le joueur vers ceci'' le calcul est réalisé automatiquement au début des phases 'avant' et 'exécuter' de l’action.
Il est néanmoins possible de calculer plus souvent origine/destination/orientation en ajoutant une des instructions suivante (l’origine est la position du joueur au moment où l’instruction s’exécute)
déterminer le déplacement du joueur vers ceci.
déterminer le déplacement du joueur vers cela.