voilà qui fut fait 
j’ai inclus sans pb ton code dans le reste. J’ai corrigé 2-3 trucs, et ajouté un peu de temps en plus. Mais du coup, si on arrive au livre avant, on attend un peu pour rien. Il faudrait pouvoir déclencher l’arrivée de la momie soit plus tôt comme c’était avant (mais elle n’attaque pas tout de suite le joueur, par exemple d’autres visiteurs…), soit on peut l’invoquer avec l’autre formule, soit on peut la faire venir en manipulant le sarcophage (l’attaquant…). Mais il faudrait pouvoir donner un peu plus de tension.
Pour le sarcophage, peut-être qu’il pourrait apparaître dans les pièces autres que celle de l’Egypte au bout d’un tour de jeu (après que le joueur ai examinés des différents objets de chaque salle), cela pourrait donner un côté plus irréel mais cela compliquerait peut être un peu pour rien aussi. À voir.
Pour l’invocation, cela ne fonctionne pas encore, mais j’ai fait une amorce de code. Il faudra retirer les apostrophes de l’incantation par contre. J’ai pas encore testé avec l’incantation complète (juste le test), j’espère qu’il n’y a pas de limite pour le nb de mot dans la phrase, sinon il faudra concaténer un peu, ou raccourcir la formule.
Une petite remarque pour le code : il était possible d’utiliser un « timer » pour le sarcophage, mais ce que tu as fait fonctionne bien quand même. L’avantage d’un timer c’est que cela permet de faire cela plus globalement (si on veut changer la valeur, on ne le fait qu’une fois, d’un autre coté avec le each_turn on peut le faire globalement aussi, mais c’est pour tout le jeu (ou pour des classes de lieux aussi je crois)
Pour référer à un objet dans le code de lui-même, il vaut mieux utiliser self (je ne le faisais pas avant, et si on réutilise du code ailleurs mais que l’on veut changer le nom, c’est plus long car il faut changer toutes les références)
Tu as utilisé des variables globales du même nom que des objets. Apparemment cela ne pose pas de pb, mais cela serait peut être plus propre si ces variables pouvaient avoir un nom différent. Il est également possible et sans doute plus souhaitable dans ce cas d’utiliser des variables locales, initialisée dans le corps de l’objet à 0, et référée dans le code de l’objet avec self.variable = 1, et ailleurs avec le nom de l’objet. Dans la scène 39 j’ai fait cela par exemple pour désarmer la flûte maléfique : flute39.disarmed = 1
De façon général il faudrait peut être modifier l’initialisation des variables, ainsi que la partie avec turns = 0; (à remplacer par un timer par exemple pour avoir le chronomètre… mais pour le moment, tant que cela fonctionne…). Par contre effectivement cela peut être une bonne idée pour la partie des jeux indépendants d’initialiser le tour à zero…
Enfin, il est possible d’utiliser cela pour des actions multiples qui ont la même conséquence (comme pour les fleurs), cela évite la duplication de code :
Examine, Take: print blabla
Pour la momie, je l’ai fait tuer le joueur s’il n’est pas préparé. Il faudrait éventuellement voir si c’est mieux ainsi, ou si c’est mieux qu’il retourne à la roulotte s’il perd. Par contre si on veut pouvoir jouer aux jeux indépendamment, il faudra rajouter une variable qui modifiera la fin des scènes en fonction de si on a utilisé la commande « scene » pour accéder directement à la scène, ou si on suit le déroulement complet du jeu. Cela devrait être assez facile à faire.