Un cirque sans bête, c’est un théâtre. On installe maintenant Anatole le tigre dans la cage de Lucia, et — surtout — on rencontre enfin Crépu, le chat sorcier d’Aurélien. Crépu sait des choses. Il en dira la moitié. À l’envers.
Côté DSL, un animal se déclare exactement comme une personne, avec la classe animal à la place :
Anatole est un animal dans la roulotte de Lucia. Sa description est "Anatole, le tigre vedette de Lucia. Pelage roux barré de noir, trois cents kilos de muscle assoupis.". réaction d’Anatole: dire "Anatole entrouvre un œil paresseux, vous renifle, et se rendort dans un long ronronnement de moteur diesel.". fin réaction
Lancez l’exemple et essayez parler à Anatole : le moteur refuse. C’est normal — par défaut, un animal ne parle pas, contrairement à une personne. Le bloc réaction qu’on a écrit reste légitime (on pourra l’invoquer nous-mêmes dans une règle), mais la commande parler n’y a pas accès tant que l’animal n’est pas marqué comme parlant.
📚 Pour aller plus loin : Noms autorisés, Classes d’objets (objet, personne, animal, vivant, …).
Pour qu’un animal devienne interactif via parler à, on lui ajoute explicitement l’état parlant. C’est le cas de Crépu, qui n’est pas qu’un chat ordinaire :
Crépu est un animal parlant dans la roulotte du maître Aurélien. Sa description est "Un vieux chat gris-ardoise au poil hirsute, un seul œil jaune ouvert, l’autre fermé en permanence. Une mèche blanche lui barre le front.". réaction de Crépu: dire "« Mmh. L’apprenti·e. On me l’avait promis. »". fin réaction
ℹ️animal parlantcombine la classeanimalet l’étatparlant. On peut empiler classe et états dans une même déclaration ; on aurait pu écrire séparémentCrépu est un animal.puisCrépu est parlant..
Avec une réaction simple, Crépu répond toujours pareil. On veut mieux : qu’il réagisse au sujet que le joueur évoque, et qu’il ne se répète pas mot pour mot dès le deuxième passage. C’est le rôle des réactions structurées, qu’on enrichit ici de deux mécaniques :
[1ère fois]…[2e fois]…[puis]…[fin] pour faire varier un texte selon le nombre de fois où il a déjà été affiché ;si … : … sinon : … fin si à l’intérieur d’une réaction.Le moteur route les commandes ainsi :
parler à Crépu → bloc basiquedemander X à Crépu → bloc concernant X (si déclaré)demander X à Crépu avec X inconnu → bloc concernant un sujet inconnuréactions de Crépu: basique: dire "[1ère fois]« Mmh. L’apprenti·e. On me l’avait promis. »[2e fois]« Encore toi ? Bon, je t’écoute. »[puis]« Qu’est-ce que tu veux savoir aujourd’hui ? »[fin]". concernant le tour: si la roulotte de Lucia est visitée: dire "« Le pas de côté. Une vieille recette de famille — enfin, de la famille de quelqu’un d’autre. Tu réuniras les quatre accessoires, puis tu réaliseras le tour. »". sinon dire "« Pas si vite. Tu n’as même pas fait connaissance avec le tigre de Lucia. Va d’abord voir le cirque, puis reviens. »". fin si concernant Aurélien: dire "« Aurélien ? Excellent élève, en son temps. Trop pressé d’apprendre. Comme toi. »". concernant le miroir: dire "« Le miroir est cassé, oui. Pas vraiment cassé — disons… mal ajusté. »". concernant un sujet inconnu: dire "« Ah. Cette question-là, je préfère y répondre plus tard. Beaucoup plus tard. »". fin réactions
tester cet exemple — état final du chapitre.
Trois subtilités à noter dans ce bloc :
basique, la balise [1ère fois]…[2e fois]…[puis]…[fin] insère trois variantes du même texte selon le nombre de passages — on évite la répétition mot pour mot sans avoir à écrire trois blocs séparés.concernant le tour, la condition si la roulotte de Lucia est visitée utilise l’état visité (positionné automatiquement par le moteur dès que le joueur entre une première fois dans le lieu). Crépu s’adapte donc à la progression du joueur sans qu’on ait besoin de gérer un état personnalisé. (On vérifie volontairement la roulotte de Lucia plutôt que celle d’Aurélien : comme « demander à Crépu » oblige à être dans la même roulotte que lui, sa propre roulotte est forcément déjà visitée.)concernant Aurélien fonctionne parce qu’on a déclaré Aurélien comme un concept au chapitre 2 — on peut parler de quelqu’un qui n’est pas physiquement dans le jeu.🐾 Crépu en dit beaucoup et rien à la fois. Notez ces phrases-là : elles prendront un sens différent au chapitre 7.
📚 Pour aller plus loin : Les réactions structurées, Balises 1ère fois / 2e fois / puis.
X est un animal … déclare un animal (mêmes propriétés qu’une personne).parlant pour que parler à devienne utilisable.réaction de X: dire "…". fin réaction → une seule réponse possible.réactions de X: basique: … concernant Y: … concernant un sujet inconnu: … fin réactions.parler à X vers basique et demander Y à X vers concernant Y.si … : … sinon : … fin si et des balises dynamiques comme [1ère fois]…[puis]…[fin].Au prochain chapitre, on s’intéresse aux accessoires de magie qu’Aurélien a laissés dans sa roulotte — et on découvre comment leur attacher des états personnalisés.
Suite : 4. Les accessoires de magie