Un fond est un objet de décor présent dans plusieurs lieux à la fois : le ciel, le soleil, la mer, le sol… Il hérite d’objet, mais on ne peut pas le prendre, il n’est pas listé parmi les objets du lieu, et il n’est ni contenant ni support. En revanche on peut l’examiner, et son aperçu (s’il en a un) s’affiche avec la description du lieu.
<note>Le moteur ne gère pas nativement le fait de déposer des objets sur un fond (« poser au sol », « ranger dans le ciel »…). Si vous voulez qu’un fond reçoive des objets, programmez-le avec des règles.</note>
On précise dans quels lieux le fond est présent, et s’il s’agit d’une seule instance partagée ou d’une instance par lieu. Deux formulations équivalentes : une phrase séparée (Il est …) ou directement dans la définition (… un fond commun …) :
Le soleil est un fond. Il est commun à tous les lieux. La mer est un fond commun dans les lieux côtiers. Le sol est un fond propre à chaque lieu. Le plafond est un fond propre aux lieux couverts.
| Formulation | Portée | Lieux concernés |
|---|---|---|
commun à tous les lieux | une seule instance partagée | tous |
commun dans les lieux <état> | une seule instance partagée | lieux possédant <état> |
propre à chaque lieu | une instance par lieu | tous |
propre aux lieux <état> | une instance par lieu | lieux possédant <état> |
-- Un fond « commun » : une seule entité présente dans tous les lieux. La plage est un lieu. La forêt est un lieu au nord de la plage. Le ciel est un fond. Il est commun à tous les lieux. L'aperçu du ciel est "Un grand ciel bleu se déploie au-dessus de vous.". La description du ciel est "Le ciel est limpide, sans un nuage.".
tester cet exemple — tapez regarder : l’aperçu du ciel s’affiche avec la description de la plage. Le ciel n’est pas listé parmi les objets. examiner le ciel fonctionne ; aller au nord puis de nouveau examiner le ciel : c’est le même ciel. prendre le ciel est refusé.
L’aperçu d’un fond s’affiche avec la description du lieu ; la description s’affiche sur examiner. Un fond sans aperçu n’est pas mentionné dans le lieu (mais reste examinable).
Un fond peut être déclaré inaccessible : on le voit, on l’examine, mais on ne peut pas l’atteindre (utile pour le ciel, le soleil…) :
Le ciel est un fond inaccessible. Il est commun à tous les lieux.
Avec propre à chaque lieu, chaque lieu reçoit sa propre instance du fond. On peut donner une valeur par défaut (sans préciser le lieu) puis surcharger l’instance d’un lieu précis avec le locateur spatial situé dans <lieu> :
-- Un fond « propre à chaque lieu » : une instance distincte par lieu, personnalisable. La cuisine est un lieu. La salle de bain est un lieu au nord de la cuisine. Le sol est un fond. Il est propre à chaque lieu. La description du sol est "Un sol carrelé.". La description du sol situé dans la salle de bain est "Un carrelage humide et glissant.".
tester cet exemple — examiner le sol dans la cuisine affiche « Un sol carrelé. » ; aller au nord puis examiner le sol affiche « Un carrelage humide et glissant. ».
Le locateur spatial désigne un objet (ou l’instance d’un fond propre) par où il se trouve, avec situé(e)(s) (dans|sur|sous) <cible> ou qui se trouve(nt) (dans|sur|sous) <cible> (et … ici). est reste réservé aux états ; les positions utilisent situé / se trouve.
Dans une règle ou une action, changer avec un locateur cible une seule instance ; les autres restent inchangées :
-- Modifier une instance précise d'un fond en cours de partie avec « changer ». La cuisine est un lieu. Le sol est un fond. Il est propre à chaque lieu. La description du sol est "Un carrelage sec.". action arroser: phase exécution: changer la description du sol situé dans la cuisine est "Le carrelage est trempé.". phase épilogue: dire "Vous arrosez le sol : le carrelage est maintenant trempé.". fin action
tester cet exemple — examiner le sol (sec), puis arroser, puis de nouveau examiner le sol (trempé).
Dans une condition, situé(e)(s) (dans|sur|sous) <cible> désigne quelle instance on teste, puis est vérifie son état. Chaque instance d’un fond propre est testée indépendamment :
-- Tester l'état d'une instance précise d'un fond propre dans une condition, avec « situé dans ». La cuisine est un lieu. Le salon est un lieu au nord de la cuisine. Le sol est un fond propre. Il est propre à chaque lieu. La description du sol est "Un carrelage.". action salir: phase épilogue: changer le sol est sale. dire "Vous renversez un seau : le sol de la pièce est maintenant sale.". fin action règle après examiner le sol: si le sol situé dans la cuisine est sale, dire "(Le sol de la cuisine est sale.)". si le sol situé dans le salon est sale, dire "(Le sol du salon est sale.)". fin règle
tester cet exemple — en cuisine, salir puis examiner le sol : seul le sol de la cuisine est signalé sale. aller au nord puis examiner le sol : la condition distingue toujours les deux instances — le sol du salon est resté propre.
<note important>Dans une condition, utilisez uniquement la forme situé : si le sol situé dans la cuisine est sale. La forme qui se trouve n’y est pas reconnue (elle entre en conflit avec le test de position « se trouver ») — la condition serait silencieusement considérée comme fausse.</note>
<note>L’état d’une instance d’un fond propre ne peut pas être fixé par lieu dans la définition (Le sol situé dans le salon est propre. n’a aucun effet). Donnez l’état par défaut à la classe (Le sol est un fond propre.), puis faites diverger une instance en cours de partie avec changer le sol est … (qui agit sur l’instance du lieu courant).</note>
Le locateur sert aussi à désigner tous les objets à un emplacement, par exemple avec déplacer :
déplacer les objets qui se trouvent dans le coffre vers l'inventaire. déplacer les clés situées sur la table vers le joueur.