[i7] porter un animal

Bonjour à tous,

J’ai eu envie de tester un peu ce que l’on peut faire concernant les animaux dans inform.
Je sais que par défaut on ne peut pas les porter et j’ai donc fait ceci :

Un lapin is a kind of animal. Victor est un lapin. 

Or donc, pour pouvoir porter notre cher Victor j’ai essayé tour à tour chacune de ces instructions et même les trois en même temps et rien n’y fait :

Un lapin can be carried. Un lapin is portable. Un lapin can be taken.

Comment donc faire pour transgresser l’interdiction de prendre les animaux ?

C’est parce que par défaut, Inform empêche de prendre des personnes (les animaux étant considérés comme des gens), avant même de vérifier si l’objet est portable. Pour s’en convaincre, il suffit de taper la commande « actions » :

On peut ainsi voir que c’est la règle en gras qui empêche de prendre le lapin. (On peut aussi utiliser la commande « rules » pour avoir un compte-rendu plus détaillé.)

Il suffit maintenant de la neutraliser sous condition :

The can't take other people rule does nothing when the noun is un lapin. Où la condition après le « when » peut être n’importe quelle condition. C’est une construction hyper-pratique, mais attention : comme on modifie le comportement standard du jeu, il est possible qu’il y ait des effets secondaires indésirables. Je pense qu’ici, il ne devrait pas y avoir de problèmes.

C’est super merci ! J’ai compris du même coup l’utilité de la commande « actions » ça me fait gagner un temps fou c’est vraiment génial !
Merci une fois de plus Natrium pour ces réponses c’est vraiment chouette d’avoir des gens pour nous aider là où on butte !

Oui, la commande « actions » est vraiment très utile pour plein de choses. Comme je l’ai indiqué, la commande « rules » l’est aussi, car elle permet de lister toutes les règles qui s’appliquent à chaque tour (et pas seulement celle qui a fait échoué l’action). Par exemple, pour ce cas-ci, on aurait vu que la règle « can’t take yourself » est d’abord testée, mais réussit, et qu’ensuite c’est la règle « can’t take other people » qui pose problème.

Enfin bref, une fois qu’on commence à comprendre le comportement interne d’Inform, ces deux commandes deviennent vraiment pratiques.