!============================================================

Constant Story "Homeland Security";
Constant Headline
 	"^Un jeu par Hugo Labrande^Tapez @<< aide @>> pour l'aide du jeu^";
Release 4;

Constant NO_SCORE;


! Le tiret cadratin
Zcharacter table + '@{2014}';

! Abréviations françaises
Abbreviate "Ça " "c'est" "C'est" "était " "u'est-ce" "de " "ne " "pas " "on " " d'" " n'" " l'" " la" "il " " un" "les";
! Abréviations de ponctuation
Abbreviate " ; " " @{2014} " ". " "..." ", ";
! Abréviations de conjonctions
Abbreviate "dans " "pour " " com" "avec " "si " "et " "que " " qu" "plus " "mais" "ais" "où ";
! Abréviations terminaisons
Abbreviate "ant " "ent " "ait " "st " "er ";
! Abréviations deuxième personne du pluriel
Abbreviate " vous" "-vous" "Vous " "votre" "ous " "ez ";
! Abréviations Inform
Abbreviate ".^^" "^@{2014} " "^@<< ";
! Abréviations plus spécifiques au jeu
Abbreviate "carte d'embarquement" " passeport" "#############################################" "votre femme" " États-Unis" " d'Amérique" "sécurité" " regard" "Guantánamo" "éroport" "Aruba" "touriste" "américain" "Geraldo" "Tom" "Il " "agent";

! Fix pour le message "Warning : grammar properties might not display correctly"
Array dictionary_push -> 2;

Replace ScoreSub;
Replace OffersLight;

Replace SleepSub;

Include "Parser";
Include "VerbLib";

Include "DMenus";


[ ScoreSub;
  if (deadflag == 0) {"Il n'y a pas de score dans ce jeu.";}
];

[ OffersLight obj;
  if (obj == nothing)
    rfalse;
  else
    rtrue;
];

[ w8 ;
  return KeyCharPrimitive();
];

[ CompareStrings bufA bufB i;		! Pour comparer deux chaînes
      if (bufA->1 ~= bufB->1) rfalse;
      for (i=2 : i<=1+bufA->1 : i++)
          if (bufA->i ~= bufB->i) rfalse;
      rtrue;
];

Global bought = 0;





Class Personnage
	with life [; Ask, Tell, Answer: "[Pour parler avec un personnage, tapez simplement @<< parler avec (personnage) @>>.]";
	],
has;

Include ">homeland_lastnight";


!============================================================
! Lieux

!==============================
! L'aéroport avant la sécurité

Object jetblue "Comptoirs d'enregistrement @{2014} Jet Blue"
	with description "Vous êtes au bout du bâtiment dédié aux vols à destination des États-Unis ; depuis là où vous vous trouvez, vous pouvez voir les comptoirs d'enregistrement de différentes compagnies. Vous voyez également un grand panneau publicitaire suspendu au plafond du bâtiment, à plusieurs mètres de haut. Les comptoirs d'enregistrement devant lesquels vous vous trouvez sont ceux de la compagnie Jet Blue Airways. Il n'y a personne qui fait la queue ici : le prochain vol doit être prévu pour bien plus tard ce soir ; les bornes d'enregistrement sont éteintes. Vous ne pouvez aller plus loin à l'est, mais vous pouvez explorer le reste de l'aéroport et revenir vers l'entrée en allant vers l'ouest, vers les comptoirs de US Airways.",
	w_to staralliance,
has scenery concealed;

Object staralliance "Comptoirs d'enregistrement @{2014} US Airways/Star Alliance"
	with description "Ici, devant les comptoirs et les bornes d'enregistrement de United, il y a moins de monde que pour d'autres compagnies ; un seul vol est prévu dans les heures qui suivent, en fin d'après-midi. La file d'attente est clairsemée, et il semblerait qu'elle soit principalement constituée de membres plus ou moins éloignés d'une même famille venus tous ensemble @{2014} ce qui crée un certain chahut. Vous pouvez également voir le panneau publicitaire pour Aruba, suspendu au plafond. Derrière vous, vers le sud, c'est l'entrée du terminal de départ des vols à destination des États-Unis ; les comptoirs de Jet Blue sont vers l'est, et les comptoirs de Delta sont à l'ouest.",
	e_to jetblue,
	w_to delta,
	out_to outside1,
	s_to outside1,
has scenery concealed;

Object delta "Comptoirs d'enregistrement @{2014} Delta Airlines"
	with description "Vous vous trouvez devant les comptoirs d'enregistrement de Delta Airlines, et d'ailleurs juste en dessous de la grande bannière publicitaire. Il y a un peu plus de monde à ces comptoirs que pour les autres compagnies, car il y a deux vols prévus pour cette compagnie dans les trois prochaines heures. La file est plutôt longue, et même trop longue ; il y a des gens qui font la queue jusque devant les bornes d'enregistrement. Derrière vous, vers le sud, se trouve l'entrée du terminal ; vous pouvez distinguer les comptoirs de US Airways vers l'est et de United Airlines vers l'ouest.",
	e_to staralliance,
	w_to united,
	out_to outside2,
	s_to outside2,
has scenery concealed;

Object united "Comptoirs d'enregistrement @{2014} United"
	with description "Ici, ce sont les comptoirs et les bornes d'enregistrement de la compagnie US Airways. Quelques touristes plus ou moins bronzés attendent mollement dans la file prévue à cet effet ; en tenue de plage pour la plupart, avec des lunettes de soleil de marque pour les femmes et des grosses montres pour les hommes, ils poussent des énormes valises remplies de leurs affaires de vacances. Vers l'est, ce sont les comptoirs de Delta Airlines, tandis qu'à l'ouest c'est American Airlines.",
	e_to delta,
	w_to american,
has scenery concealed;

Object american "Comptoirs d'enregistrement @{2014} American Airlines"
	with description "Les derniers comptoirs (ou les premiers, question de point de vue) sont ceux d'American Airlines. La file d'attente s'étend jusqu'au niveau des bornes d'enregistrement, et est bien entendu composée principalement d'Américains rentrant sur le continent. Comme on peut s'y attendre à Aruba, peu d'entre eux ne semble appartenir à une classe populaire, comme en témoignent les marques de leurs lunettes de soleil, véritable who's who du luxe : Gucci, Prada, Chanel, RayBan, Armani... Tous venus en vacances parce qu'ils en ont les moyens, tous à se dorer la pilule sur la plage, parce qu'ils le valent bien. À droite, vers l'est, vous pouvez voir les comptoirs de United, et des autres compagnies aériennes plus loin, ainsi que la grande bannière publicitaire ; vers l'ouest, c'est une plaza ronde où vous pouvez apercevoir un restaurant.",
	w_to restau,
	nw_to [; if (boardinghickens in player || boardingfanton in player) {return security1;} else {"Pas la peine d'aller vers le point de sécurité, vous n'avez pas de carte d'embarquement.";}
		],
	e_to united,
has scenery concealed;

Object outside1 "Aeropuerto Internacional Reina Beatrix"
	with description "Aruba étant rattaché aux Pays-Bas, l'aéroport porte le nom de la souveraine du pays. Cependant, l'île entière est un melting-pot de beaucoup de cultures différentes : beaucoup de touristes américains y viennent en vacances, et les locaux parlent principalement l'espagnol, le néerlandais ou le Papiamento, un créole aux influences africaines, portugaises et espagnoles. Au dehors, vous pouvez voir la station de taxis, et un paysage typiquement arubéen d'herbes sèches et de cactus, témoignant du climat chaud de l'île. Aujourd'hui, soleil paradisiaque et 28 degrés Celsius, soit un peu plus de 80 degrés Fahrenheit. Vous êtes devant le terminal de départ pour les vols à destination des États-Unis ; vous pouvez y rentrer par la porte devant vous ou par une deuxième porte située à votre gauche, vers l'ouest.",
	n_to staralliance,
	in_to staralliance,
	w_to outside2,
	cant_go "Vous ne voulez pas vous aventurer plus loin ; la chaleur au dehors est plutôt désagréable, mais surtout vous devez rentrer chez vous coûte que coûte.",
has scenery concealed;

Object outside2 "Aeropuerto Internacional Reina Beatrix"
	with description "Au dehors, le soleil cogne très fort, mais la chaleur sèche d'Aruba est supportable @{2014} 28 degrés aujourd'hui, ce qui doit être environ 80, ou 82 degrés Fahrenheit (Aruba mesure sa température en degrés Celsius, mais votre hôtel avait le bon goût d'afficher les deux, ce qui vous a permis de vous entraîner à convertir les températures @{2014} même si la température n'a presque pas changé pendant tout la durée de votre séjour). Le bâtiment de l'aéroport a un toit ondulé à bordure bleu clair, et les lettres @<< US Departures @>> affichées en grand sur le bâtiment. Au dehors, des taxis et quelques palmiers, mais pas grand-chose d'autre. Vous pouvez rentrer dans le terminal par une porte devant vous ou par une deuxième porte située à votre droite, vers l'est.",
	n_to delta,
	in_to delta,
	e_to outside1,
	cant_go "Vous ne voulez pas vous aventurer plus loin ; la chaleur au dehors est plutôt désagréable, mais surtout vous devez rentrer chez vous coûte que coûte.",
has scenery concealed;


Object restau "Devant le restaurant"
	with description "La petite plaza intérieure dans laquelle vous vous trouvez n'a de remarquable que le petit restaurant en face duquel vous vous tenez. Ce restaurant semble être un mélange intéressant de cuisine locale et de mets américains : burgers et onion rings y côtoient des plats à base de poisson ou d'épices des Caraïbes. Ça n'est plus trop l'heure du déjeuner, et il n'y a quasiment plus personne assis aux tables du restaurant, juste un touriste américain, avec une casquette à l'effigie d'une équipe de football vissée sur la tête, qui attend son addition en tripotant impatiemment sa carte bancaire. De l'autre côté de cette plaza ronde, il y a un ordinateur en libre service. Vers l'est, ce sont les comptoirs d'American Airlines ; un passage au nord mène au contrôle de sécurité, tandis que le sud mène aux toilettes.",
	e_to american,
	n_to [; if (boardingmodified in player && (boardinghickens in player || boardingfanton in player)) {return security1;} else {"Vous avancez vers le poste de sécurité, mais vous vous arrêtez en fronçant les sourcils : vous n'avez pas tout ce qu'il vous faut pour déjouer la sécurité. Pour passer le poste de sécurité, il vous faut une carte d'embarquement à votre nom ; et pour embarquer dans l'avion, une carte d'embarquement valide.";}
		],
	s_to toilets,
	in_to toilets,
has scenery concealed;


Object toilets "Toilettes de l'aéroport"
	with description [; if (location hasnt visited) {"Dès que vous rentrez dans les toilettes, un jeune homme échevelé se retourne subitement, instinctivement et de manière un peu agressive. Surpris, vous vous figez et regardez ce qu'il faisait : il était en train de sniffer un rail de cocaïne entre deux lavabos. Tout ça n'est pas votre problème, décidez-vous ; vous haussez les épaules de façon un peu exagérée et vous vous approchez d'un pas confiant d'un autre lavabo, où vous commencez à vous laver les mains, pour donner le change. Vous voyez dans le miroir que le jeune homme vous regarde bizarrement, fixement, et pendant un peu trop longtemps. Mais au bout d'un moment, il finit par continuer à @{2014} pour ainsi dire @{2014} se repoudrer le nez ; à croire que votre attitude l'a convaincu que vous ne présentiez pas de danger.";} else {"Les toilettes sont plutôt grandes, avec une rangée de plusieurs lavabos et un grand miroir, le tout irréprochablement propre. Ah, et il y a aussi un jeune homme, qui apparemment n'a rien trouvé de mieux à faire que de sniffer de la cocaïne, là, comme ça, sur la surface entre deux lavabos, sans vraiment se cacher. Vous ne vous souvenez pas avoir lu quelque part qu'Aruba était particulièrement permissive en ce qui concerne les drogues, donc il n'y a que deux explications possibles : ou bien le manque lui fait prendre des risques inconsidérés pour avoir sa dose là, tout de suite, ou bien il était déjà dans un état second quand il a eu cette idée géniale. Et peut-être même que c'est les deux à la fois, pour ce que vous en savez.";}
		],
	n_to restau,
	out_to restau,
	before [; LaverSoi: <<Drink lavabo>>;
	],
has scenery concealed;



!==============================
! Le point de contrôle de sécurité

Object security1 "Point de contrôle de sécurité"
	with description [; if (self hasnt visited) {"Après quelques minutes, vous arrivez finalement au point de contrôle de sécurité. Chacune des files d'attente est identique : un tapis roulant avec des casiers en plastique pour y mettre vos affaires, un scanner à rayons X au bout du tapis roulant pour contrôler vos objets, et un portique de sécurité pour détecter tout objet en métal. La file d'attente avance vite, et au bout de quelques instants c'est votre tour ; on vous dirige vers la file de gauche, qui comme toutes les autres files est contrôlée par une agente de sécurité, qui se charge de contrôler votre passeport, et un préposé au scanner, qui regarde vos objets passés sous rayons X. L'agente de sécurité vous salue de la tête. @<< Bonjour monsieur, puis-je voir votre passeport et votre carte d'embarquement ? @>>";} else {print "Vous vous trouvez au point de contrôle de sécurité, nécessaire avant d'entrer dans la zone d'embarquement. Chaque ligne a un tapis roulant, sur lequel est posé un casier en plastique : vous devez mettre vos objets dans le casier, puis le casier passe dans un scanner à rayons X, activé par le préposé derrière son écran, et vous-même passez dans un détecteur de métaux, puis vous récupérez vos affaires. Tout cela a l'air très professionnel, même si on raconte que certains experts arrivent à trouver des failles dans ce système de sécurité..."; if (agente.passed ~=1) {print "^^L'agente de sécurité se tient devant vous, et répète : @<< Monsieur, votre carte d'embarquement et votre passeport, s'il vous plaît. @>> Vous n'allez pas pouvoir y échapper...";} "";}
		],
	n_to [; if (agente.passed ~=1) {"L'agente de sécurité se tient devant vous, et répète : @<< Monsieur, votre carte d'embarquement et votre passeport, s'il vous plaît. @>> Vous n'allez pas pouvoir y échapper...";}
		if (children(player) ~= 0) {"L'agente vous interpelle d'un air sec : @<< Monsieur, je vais vous demander de vider vos poches dans le casier avant de passer au portique. C'est comme ça, monsieur, c'est la loi. @>>";}
		print "Vous avancez vers le portique, sentant dans votre corps cette petite peur que tout le monde a en passant dessous : et si ça bipait, alors que vous n'avez rien sur vous ? Mais pas cette fois : vous passez sans que le portique sonne, et vous sentez vos épaules se détendre de façon notable. Ils sont vraiment stressants, ces portiques.^"; return security2;
		],
	s_to "Vous ne pouvez pas vraiment revenir en arrière @{2014} de plus, cela ferait vraiment louche...",
	before [; ViderPoches: print "(dans le casier)^"; <<ViderPochesT casier>>;
		],
has scenery concealed;

Object security2 "Après le portique de sécurité"
	with description [; print "Vous avez passé le portique de sécurité, qui n'a pas sonné pour une fois. Vous n'en revenez toujours pas d'être passé avec une fausse carte d'embarquement. "; if (self hasnt visited) {print "Il ne reste plus qu'à récupérer vos affaires dans le casier en plastique et avancer en direction de la douane, mais vous vous sentez libéré : au moins, le plus dur est fait... ";} "Le couloir tourne vers la droite, ce qui devrait être vers l'est, menant directement à la zone duty-free et, vous présumez, à la douane.";
		],
	s_to "Vous n'avez aucune raison de revenir en arrière @{2014} et même, vous avez la sensation qu'il vaudrait mieux avancer au plus vite, avant que ça prenne les agents de sécurité de vous contrôler une seconde fois, et de découvrir la supercherie et de vous envoyer au bagne...",
	e_to [; if (children(casier) ~= 0) {print "Alors que vous vous éloignez, le préposé au scanner vous interpelle : @<< Hé, monsieur, vous oubliez vos affaires ! Revenez ici, ou je vais devoir présumer que vous les abandonnez ici, ce qui entraînera leur destruction et votre arrestation immédiate ! @>>^Confus, rougissant, vous revenez sur vos pas en vous excusant platement."; return false;} else {print "Vous traversez la zone de duty-free sans même vous arrêter @{2014} après tout, vous n'allez tout de même pas ramener de souvenir d'Aruba à votre femme... Après quelques minutes à errer dans un couloir qui semble traverser tout l'aéroport, vous arrivez aux abords du poste de frontière des États-Unis.^^"; return douane;} ],
has scenery concealed;


!==============================
! La douane

Object douane "Douanes américaines"
	with rand 0,
	description [; style underline; print "God Bless America"; style roman; print ". Le logo rond orné du "; style underline; print "bald eagle"; style roman; print " trône fièrement dans la salle. Aucune musique, juste un guichet derrière lequel un douanier, jeune, cheveux courts et mâchoire carrée, est assis, bras croisés, regardant droit devant lui. C'est lui qui délivre le sésame de l'entrée aux États-Unis @{2014} quelque chose qui ne devrait pas trop poser de problèmes, puisque comme le prouve votre passeport vous êtes américain. Passé ce guichet, vous êtes virtuellement aux États-Unis, et il ne restera plus qu'à parvenir à embarquer dans l'avion pour que tout ceci soit juste une mauvaise aventure vite oubliée."; if (self.rand>1) {print "^^Vous êtes le seul à attendre, le douanier vous a vu, et il n'y a personne dans la pièce, pourtant, il ne fait pas un geste en votre direction.";} "";
		],
	n_to [; if (self.rand>0) {douanierearly(); rtrue;} else {print "@<< Allez, à votre tour, monsieur ! Approchez ! @>> aboie le douanier. Vous demandant tout de même ce qui a bien pu lui prendre autant de temps avant de vous @<< autoriser @>> à venir vers lui, vous vous approchez du guichet d'un pas incertain.^"; return guichet;} ],
	s_to "Le duty-free est plutôt loin derrière, et de plus vous ne voulez pas risquer la colère du douanier.",
	initial [; self.rand = random(5)+2;],
	each_turn [;
		self.rand--;
		if (self.rand==0) {print "^@<< Je vais vous demander d'approcher vers la zone de contrôle frontalière des États-Unis d'Amérique, monsieur. @>> vous fait le douanier en vous faisant un signe de la main. Enfin, pensez-vous, c'est pas trop tôt @{2014} qu'est-ce qu'il fabriquait ?^";}
		if (self.rand<0) { switch(self.rand) {
					-1: "^@<< Allez, monsieur, plus vite que ça ! Les États-Unis d'Amérique n'ont pas toute la journée ! @>> crie le douanier, d'un air vraiment pas aimable.";
					-2: "^@<< Monsieur, en tant que représentant officiel du Département des Douanes des États-Unis d'Amérique, je vais vous ordonner d'avancer. @>> Le douanier semble perdre patience.";
					-3: "^@<< Dernier avertissement, monsieur. Je vous demande d'avancer, ou je me verrai obligé de vous refuser l'entrée dans les États-Unis d'Amérique. @>>";
					-4: douaniertroplent(); rtrue;
					}
				}
		],

	before [; CrierSansPrecision, Sing, Danser: "Mieux vaut éviter les comportements bizarres, qui pourraient éveiller la suspicion du douanier.";
		],
has scenery concealed;

Object guichet "Devant le guichet"
	with tour 0,
	description "Vous vous trouvez près du guichet de la douane ; derrière la vitre de plexiglas, le douanier vous observe et vous toise avec autorité. Vous ne vous sentez pas particulièrement à l'aise, mais vous imaginez que c'est bien le but...^^@<< Donnez-moi votre passeport, monsieur. @>> vous ordonne-t-il.",
	cant_go "Vous ne pouvez pas fuir : cela provoquerait sans doute l'ire du douanier. Et si vous essayez de vous échapper vers les avions, ce sera sans doute un coup de taser entre les omoplates... Non merci.",
	in_to [; douanieragression(); rtrue;],
	each_turn [;
		self.tour++; if (self.tour==5) {douaniertroplent(); rtrue;}
		],
	before [; CrierSansPrecision, Sing, Danser: "Mieux vaut éviter les comportements bizarres, qui pourraient éveiller la suspicion du douanier.";
		],
has scenery concealed;

!==============================
! Le donjon

Object geole "Dans une geôle"
	with description "Vous vous trouvez dans une geôle souterraine humide et glauque. Creusée dans la pierre, votre cellule a pour seule porte des barreaux en métal, gros comme le pouce. Il y a bien une ouverture, une sorte de soupirail vers ce qui apparaît être une jungle tropicale ; l'ouverture est cependant bien trop haute, et est bloquée par des barreaux en métal également. Vous n'avez aucune idée de comment vous avez atterri là, mais si vous ne vous échappez pas bientôt, nul doute que votre femme se doutera de quelque chose.",
	out_to "Vous aimeriez bien, mais comment faire ?",
	before [; Sleep: "Vous préféreriez vous échapper plutôt que de rester croupir dans cette geôle.";
		Think: "Comment s'évader de cette prison, et surtout comment revenir à Atlanta ? La situation semble désespérée...";
		],
has scenery concealed;

Object couloirbase "Un couloir sombre"
	with tour 0,
	description [; if (self hasnt visited) {"Après avoir marché plusieurs minutes, vous arrivez au bout de ce réseau labyrinthique : en face de vous, une ouverture vers l'extérieur, vers le soleil cubain, et peut-être vers la liberté. Vous vous y engagez, mais rebroussez vite chemin : vous pouvez entendre des éclats de voix provenant de la sortie, et semblant venir vers vous. Ça n'est pas le moment de se faire attraper, pensez-vous ; vous vous cachez derrière une caisse gigantesque qui bouche partiellement le couloir.";} else {"Apeuré, vous êtes caché derrière une caisse, et vous entendez deux voix se rapprocher lentement de votre cachette. Ne pas laisser un cheveu dépasser @{2014} mais surtout, comment allez-vous vous sortir de cette situation ?";}
		],
	in_to [; if (couloirbase.tour >3) {decouvert(); rtrue;} else {fin(); rtrue;}],
	out_to "Si ils vous trouvent, ils vous gardent prisonniers à Guantánamo @{2014} et vu ce que vous avez entendu aux actualités, vous n'avez pas envie de vous y attarder... Il doit bien y avoir une solution !",
	cant_go "Vous n'osez pas bouger de votre cachette, de peur que les personnes qui viennent vers vous n'entendent vos bruits de pas.",
	each_turn [;
		self.tour++;
		if (action == ##Listen && noun == 0) {print "";} else {print "^";}	! Perfectionnisme
		switch(self.tour){
			1: "Vous écoutez, aux aguets. Les voix semblent se rapprocher lentement.^@<< Alors, elle est où cette caisse ?^@{2014} Je l'ai mise au bout du couloir, là. @>>";
			2: "Vous écoutez, aux aguets. Les voix semblent se rapprocher lentement.^@<< Il faut juste qu'on recloue un des côtés qui s'est légèrement détaché et on peut charger la caisse dans l'hélico.^@{2014} Celui qui part dans dix minutes ?^@{2014} Ouais, alors faisons vite ! @>>";
			3: "Vous écoutez, aux aguets. Les voix semblent plutôt proches maintenant.^@<< Et il part où, cet hélico ?^@{2014} Atlanta. Tu sais, c'est la vieille machine qui fait des cornets de glace, eh ben vu qu'on en a une nouvelle on leur envoie l'ancienne pour qu'ils puissent s'en servir @{2014} c'est de l'optimisation de répartition de matériel, tu vois... @>>";
			4: "Vous écoutez, aux aguets. Les voix sont désormais très proches.^@<< Et cette caisse est la dernière à charger. On fait quoi après ?^@{2014} On verra bien @{2014} on n'aura qu'à aller s'amuser à promener Rachid en laisse, tiens ! @>>";
			5: decouvert(); rtrue;
			}
		],
	before [;
		Danser, Sing: "Pas maintenant @{2014} ça serait le moyen le plus ridicule de se faire repérer.";
		Vomir, CrierSansPrecision: "C'est vrai que la situation est stressante, mais vous ne devez pas vous faire repérer.";
		Sleep: "Maintenant ? Non ! Vous devez vous échapper !";
		Listen: if (noun == 0) {return 2;} ! Vu qu'on dit déjà 'vous écoutez' dans le each_turn
		Think: "Comment faire ? Comment vous en sortir ? Ils s'approchent de votre cachette, derrière cette grande caisse, et vous ne pouvez pas revenir en arrière...";
		],
has scenery concealed;



!============================================================
! Objets

Object securite "dépliant sur la sécurité de l'aéroport" delta
	with description [; depliant(); rtrue;],
	name 'depliant' 'securite' 'papier' 'brochure' 'livre',
	before [; Examine: depliant(); rtrue;
		Take: if (self in casier && player in security1 && agente.passed==1) {"Comme l'agente vous l'a dit, vous devez mettre tout ce que vous avez sur le tapis roulant. Il va donc falloir vous en séparer pour un petit moment.";}
		Close: "Il est déjà fermé.";
		Open: <<Examine self>>;
		],
has ;


!==============================
! L'ordinateur en libre service

Include ">homeland_ordi";


!==============================
! Objets du joueur

Object cartes "paquet de cartes à jouer"
	with description "Un jeu de cartes à jouer venant du casino du Marriott, sur Palm Beach ; vous ne savez pas trop comment il est arrivé dans votre poche, mais ça ne vous étonne guère, étant donné le nombre de cartes qui sont passées entre vos mains depuis que vous êtes arrivé ici... Vous êtes plutôt bon au poker @{2014} en tout cas, en général, et quand vous n'êtes pas sous ecstasy... Oh mon Dieu, votre femme va vous tuer si elle apprend ça.",
	name 'cartes//p' 'jeu' 'jouer' 'deck' 'paquet' 'poker' 'solitaire' 'patience' 'blackjack' 'black-jack' 'black' 'jack' 'hold' 'holdem' 'hold' 'hold^' 'em' 'texas',
	before [; Take: if (self in casier) {
				if (player in security1 || player in security2) {
					if (player in security2) {move self to player; "Alors que vous vous penchez pour prendre votre jeu de cartes, l'agente de sécurité vous interpelle :^@<< Excusez-moi monsieur, je dois inspecter cet objet. Veuillez reculer. @>>^Un peu pris de court, vous reculez quand même : peut-être a-t-elle repéré quelque chose caché à l'intérieur du paquet de cartes ?^^L'agente s'approche du paquet de cartes, puis l'ouvre : comme on pouvait s'y attendre, il ne contient que des cartes. Mais au vu de son expression contrite, c'est bien là où est le problème.^@<< Monsieur, en vertu de la loi internationale sur l'exportation de systèmes cryptographiques, je vous signifie que, pour contrecarrer le risque que vous exportiez des informations sensibles à l'étranger, il va falloir que je batte ce paquet de cartes.^@{2014} Pardon ? faites-vous, incrédule.^@{2014} Vous m'avez très bien entendu. Il est possible d'encrypter des messages à l'aide de paquets de cartes, c'est pour cela que je vais vous demander de me laisser mélanger ce paquet de cartes. Consentez-vous à me laisser faire ça ? Si vous répondez non, je vais devoir m'entretenir avec vous dans une pièce à part à ce sujet. @>>^Non, apparemment, ça n'est pas une blague. Pris de court par le ridicule de la situation, vous réprimez un sourire et hochez la tête. D'un air tout ce qu'il y a de plus sérieux et professionnel, l'agente de sécurité bat les cartes plusieurs fois d'une main experte @{2014} elle a certainement appris ça durant sa semaine de formation sur l'exportation de systèmes cryptographiques. Visiblement satisfaite, l'agente remet ensuite les cartes dans le paquet et vous le tend en vous souhaitant bonne journée.";}
					else { if (agente.passed==1) {"Comme l'agente vous l'a dit, vous devez mettre tout ce que vous avez sur le tapis roulant. Il va donc falloir vous en séparer pour un petit moment.";} }
				}
			 }
		Open: "Vous ouvrez le paquet de cartes, remarquez qu'il est rempli de 54 cartes, puis, ne voyant rien d'autre intéressant à remarquer, vous le refermez.";
		Close: "Le paquet de cartes est déjà fermé.";
		Drop: if (player in security1) {move self to casier; "Vous posez le paquet de cartes dans le casier.";}
		LetGo, Empty, Jouer: "C'est vrai que vous pourriez jouer aux cartes pour passer le temps, mais ça ne vous avancera pas beaucoup pour ce qui est de rentrer chez vous.";
		Receive: "Le paquet est déjà plein de cartes.";
		],
has container transparent openable ;

Object chips "jetons de casino"
	with discovered 0,
	description [; if (player in geole && self.discovered==0) {self.discovered=1; "Vous froncez les sourcils. Vous avez encore les jetons de casino dans la poche ? Bizarre... La seule explication que vous pouvez imaginer, c'est que que ça faisait rire les gardes de vous laisser ce symbole du rêve hyperréel, chimérique, de la richesse promise alors que vous êtes enfermé comme un rat dans une petite cage sur une île tropicale @{2014} laissez-lui son jeton de casino, pour lui rappeler sa chance.";} else {"Des jetons du casino venant du casino du Marriott. Comme la majorité des jetons, ils sont en matériau composite, et d'une dureté assez surprenante. Il y en a pour à peu près 30 dollars @{2014} ça ne suffira pas à récupérer vos pertes de la veille... En fait, ça ne suffirait même pas à payer l'entrée au casino.";}
		],
	name 'jeton' 'jetons' 'casino' 'chip' 'chips',
	before [; Take: if (self in casier && player in security1 && agente.passed==1) {"Comme l'agente vous l'a dit, vous devez mettre tout ce que vous avez sur le tapis roulant. Il va donc falloir vous en séparer pour un petit moment.";}
		Drop: if (player in security1) {move self to casier; "Vous posez les jetons dans le casier.";} else {"En fait, vous avez plutôt envie de les garder @{2014} un souvenir, que vous garderez pour vous rappeler à tout moment ce qui arrive quand on se remet au poker et qu'on croit qu'on a 20 ans à nouveau... Vu ce qui vous est arrivé, vous êtes sûr de retenir la leçon, cette fois.";}
		PutOn, Insert: if (second==casier) {move self to casier; "Vous posez les jetons dans le casier.";} else {"En fait, vous avez plutôt envie de les garder @{2014} un souvenir, que vous garderez pour vous rappeler à tout moment ce qui arrive quand on se remet au poker et qu'on croit qu'on a 20 ans à nouveau... Vu ce qui vous est arrivé, vous êtes sûr de retenir la leçon, cette fois.";}
		],
has pluralname ;

Object passeport "passeport"
	with description "Vous ouvrez votre passeport @{2014} oui, c'est bien vous sur la photo. Enfin, vous il y a six ans, quand vous avez fait faire le passeport ; vous avez changé depuis, mais c'est surtout vu votre dégaine aujourd'hui que les agents de sécurité pourraient avoir du mal à vous reconnaître... Espérons que votre femme ne trouve pas votre mine affreuse louche pour quelqu'un qui revient d'un congrès professionnel...",
	article "votre",
	name 'passeport' 'document' 'identite',
	before [; Take: if (self in casier && player in security1 && agente.passed==1) {"Comme l'agente vous l'a dit, vous devez mettre tout ce que vous avez sur le tapis roulant. Il va donc falloir vous en séparer pour un petit moment.";}
		Close: "Votre passeport est déjà fermé. Pourtant vous auriez juré que... La fatigue, sans doute...";
		Open: <<Examine self>>;
		Drop: if (player in security1) {move self to casier; "Vous posez votre passeport dans le casier.";} else {"Votre passeport est très important @{2014} encore plus important maintenant que vous n'avez plus votre porte-monnaie, puisqu'il s'agit de votre seule pièce d'identité valide. Oh, quand vous pensez à tous les papiers qu'il va falloir refaire en revenant chez vous... Mais enfin pourquoi avez-vous été si stupide hier ?!";}
		PutOn, Insert: if (second==casier) {move self to casier; "Vous posez votre passeport dans le casier.";} else {"Votre passeport est très important @{2014} encore plus important maintenant que vous n'avez plus votre porte-monnaie, puisqu'il s'agit de votre seule pièce d'identité valide. Oh, quand vous pensez à tous les papiers qu'il va falloir refaire en revenant chez vous... Mais enfin pourquoi avez-vous été si stupide hier ?!";}
		],
has;

Object pieces "pièces de 25 cents"
	with description "Quelques quarters qui traînent dans votre poche @{2014} il y en a huit en tout. Assez pour un café, mais c'est à peu près tout...",
	name 'pieces//p' 'piece' 'vingt-cinq' 'vingt' 'cinq' 'cents' 'quarter' 'quarters//p' 'dollar' 'dollars//p',
has female pluralname;

! Les cartes d'embarquement sont dans le fichier de l'ordinateur

!==============================
! Aéroport

Object panneau "panneau publicitaire"
	with description "Vous levez la tête pour contempler le panneau en hauteur. @<< Aruba: One Happy Island @>> @{2014} le slogan de l'île, en quelque sorte, que l'on retrouve un peu partout. Mouais, une île heureuse, pas pour tout le monde... Vous ne remettrez plus jamais les pieds ici, vu ce qui s'est passé hier.",
	found_in jetblue staralliance delta united american restau,
	name 'panneau' 'slogan' 'happy' 'island' 'grand' 'hauteur' 'publicite' 'banniere' 'publicitaire' 'enseigne' 'pub',
	before [; Take: "Trop difficile à transporter. Ah, et plusieurs mètres au-dessus de sol, accessoirement.";
		Eat, Taste, Push, Pull: "La bannière est trop haute pour tenter quoi que ce soit.";
		],
has scenery concealed;

Object file "file d'attente"
	with description [; switch(location) {
				jetblue: "Il n'y a pas de file d'attente devant les comptoirs d'enregistrement ici @{2014} il semblerait que le prochain vol de cette compagnie n'aura lieu que plus tard ce soir.";
				staralliance: "La file d'attente ici est composée d'une dizaine de gens qui parlent bruyamment ; essentiellement des couples et des enfants, jeunes et vieux, en petits groupes. Ça doit être une famille de voyageurs qui a décidé de partir tous ensemble et très tôt à l'aéroport pour être sûrs de ne pas rater leur vol.";
				delta: "Cette file d'attente est plus grosse que celles pour les autres compagnies aériennes, mais pas vraiment différente en composition : des touristes américains bronzés qui attendent leur tour, l'air résigné ou bien les yeux rivés sur leur téléphone portable.";
				security1, security2: "Il n'y a personne dans votre file, vous pouvez prendre votre temps ; les autres files que vous pouvez voir ne sont guère plus garnies.";
				default: "Il s'agit de la file d'attente pour le comptoir d'enregistrement de la compagnie aérienne. Quelques touristes, pour la plupart bronzés, certains portant des objets qui valent à peu près ce que vous avez perdu hier au poker (ne pas y penser, ne pas y penser, ne pas y penser, oh mon Dieu qu'avez-vous fait ?!), attendent mollement dans la file d'attente, n'ayant présentement d'autre souci que de savoir s'ils auront un siège près de la fenêtre ou non : comme vous les enviez.";
				}
			],
	found_in jetblue staralliance delta united american security1 security2,
	name 'file' 'files//p' 'attente' 'queue' 'ligne',
	before [; Push: "Ce serait très malpoli.";
		Enter: "Cette file d'attente est pour les voyageurs qui ont déjà un billet, pour qu'ils puissent enregistrer leurs valises en soute. Vous, vous n'avez plus rien, donc pas de bagage à enregistrer ; c'est vrai qu'au moins, ça gagne du temps.";
		],
has female scenery concealed;

Object comptoirs "comptoirs d'enregistrement"
	with description [; if (location == jetblue) {"Ici, les comptoirs d'enregistrement sont déserts ; du reste, personne ne fait la queue non plus. Le prochain vol de cette compagnie doit être plus tard dans l'après-midi, ou bien peut-être même qu'ils ont fini pour la journée après tout.";} else {"Les comptoirs d'enregistrement de la compagnie sont animés ; derrière chacun de ces comptoirs, une hôtesse blonde, la quarantaine, et souriante est là pour vous aider avec votre réservation, imprimer votre carte d'embarquement, étiqueter et prendre vos bagages, et vous souhaiter un excellent vol. Des heures d'affilée, elles voient passer la crème de l'Amérique, des touristes habitués à un confort maximal, qui se sont offerts ce voyage @<< parce qu'ils le méritent @>>, qui ont tout payé avec une carte de crédit dont ils s'occuperont des traites plus tard, qui s'attendent à ce que les locaux parlent tous anglais, et qui sont ici pour se dorer la pilule et rien d'autre ; vous ne pouvez vous empêcher de penser qu'à force, ce doit être tout simplement à vomir.";}
		],
	found_in jetblue staralliance delta united american,
	parse_name [n w;
		w = NextWord();
		while (w)
		{	if (WordInProperty(w, self, name)) {n++;}
			else
			{ switch(location) {
			    jetblue: if (w == 'jet' or 'blue' or 'airways') {n++;}
			    staralliance: if (w == 'star' or 'alliance' or 'us' or 'airways' or 'US') {n++;}
			    delta: if (w == 'delta' or 'airlines') {n++;}
			    united: if (w == 'united' or 'airlines') {n++;}
			    american: if (w == 'american' or 'airlines') {n++;}
			  }
			}
			w = NextWord();
		}
		return n;
		],
	name 'comptoir' 'comptoirs' 'enregistrement' 'guichet' 'compagnie',
has pluralname scenery concealed;

Object bornes "bornes d'enregistrement"
	with description "De gros blocs rectangulaires avec un logo de la compagnie aérienne dessus, ce sont des grosses machines à écran tactile censées simplifier les choses et imprimer votre carte d'embarquement automatiquement. Ces bornes sont tellement utiles qu'une employée est forcée de faire le pied de grue devant elles pour aider tous les passagers avec leur réservation ; et bien souvent, la réponse à votre problème est @<< Ah, la machine a fait une erreur, je ne comprends pas, je vais vous demander d'aller faire la queue pour aller au comptoir, on va s'occuper de vous. @>> Ah, la technologie...",
	found_in jetblue staralliance delta united american,
	name 'borne' 'bornes' 'libre' 'service' 'libre-service' 'enregistrement' 'machine' 'ecran' 'tactile' 'imprimante' 'logo' 'logos',
	before [; Buy, SwitchOn, Touch: "Inutile : ces bornes servent uniquement à imprimer sa carte d'embarquement quand on a réservé son billet pour un vol.";
		],
has pluralname scenery concealed;

Object cahute "guichet"
	with description [; print "Il s'agit du guichet de la compagnie aérienne, pour la poignée de personnes qui veulent acheter un billet d'avion à l'aéroport au lieu de le faire par Internet. D'ailleurs, personne n'y fait la queue, et les hôtesses discutent entre elles pour tromper l'ennui."; if (bought==0) {print " Mais pas la peine d'essayer d'acheter votre billet à ces guichets, il faudrait que vous ayez une carte bancaire sur vous.";} "";
		],
	found_in jetblue staralliance delta united american,
	name 'guichet' 'comptoir' 'caisse' 'bureau',
has scenery concealed;

Object valises "valises"
	with description "Tous les touristes dans la file d'attente ont des valises @{2014} normal, c'est le comptoir d'enregistrement des bagages en soute. Pour la majorité ce sont des énormes valises, aux rebords droits mais qui semblent pleines à craquer, que vous imaginez remplies de chaussures, T-Shirts, souvenirs, etc. Certains sont assis dessus en attendant que la file avance, d'autres sont appuyés dessus ; certains ont l'air d'avoir emmené toute leur maison avec eux dans un gros sac à dos plein à craquer, qui les fait courber l'échine. Apparemment, même si vous allez simplement bronzer dans une île où il fait très chaud pendant une semaine, il est quand même nécessaire d'emporter des dizaines de kilos de vos affaires avec vous...",
	found_in staralliance delta united american,
	name 'valises//p' 'valise' 'bagage' 'bagages//p' 'sac' 'dos',
	before [; Search, Take: "Vous vous feriez repérer assez facilement.";
		],
has pluralname scenery concealed ;

Object aeroport "aéroport"
	with description "Il fait 28 degrés Celsius aujourd'hui, et le soleil est radieux. Le bâtiment de l'aéroport, refait et modernisé il y a une dizaine d'années, a un toit ondulé à bordure bleu clair, et les lettres @<< US Departures @>> affichées en grand sur le bâtiment. Mais n'étant pas un spécialiste de l'architecture, vous ne trouvez rien d'autre de pertinent à rajouter à cela.",
	found_in outside1 outside2,
	name 'aeroport' 'aeropuerto' 'reina' 'beatrix' 'international' 'internacional' 'batiment' 'terminal' 'departs' 'le' 'l^',
has scenery concealed;

Object porte "porte en face de vous"
	with description "Cette porte automatique est l'une des entrées de l'aéroport. Elle est fermée, car vous vous tenez suffisamment loin pour que son détecteur de mouvements ne déclenche pas son ouverture.",
	parse_name [ n w b;
		b=0;
		w = NextWord(); if (WordInProperty(w, aeroport, name)) {n--;}
		while(w) {
			if (WordInProperty(w, aeroport, name)) {n++;}
			if (w == 'de' or 'l^' or 'le') {n++;}
			if (w == 'porte' or 'automatique' or 'coulissante' or 'verre' or 'detecteur' or 'face' or 'en') {n++; b=1;}
			w = NextWord();
		}
		return n*b;
	],
	found_in outside1 outside2 delta staralliance,
	before [; Open: "Vous vous rapprochez de la porte doucement ; au moment où vous êtes à peu près à un mètre d'elle, elle s'ouvre automatiquement. Vous reculez un petit peu, et attendez, puis alors qu'elle se referme vous tendez le pied afin de déclencher son ouverture à nouveau. Un vrai gamin.";
		Close: "Cette porte est déjà fermée.";
		Enter: switch(location) {
			outside1: PlayerTo(staralliance);
			staralliance: PlayerTo(outside1);
			outside2: PlayerTo(delta);
			delta: PlayerTo(outside2);
			} rtrue;
		],
has scenery concealed openable female;

Object autreporte
	with short_name [; if (location == outside1 or staralliance) {print "porte sur votre gauche";} else {print "porte sur votre droite";} return true;
		],
	description "Cette porte automatique est l'une des entrées de l'aéroport. Elle est fermée, car vous vous tenez suffisamment loin pour que son détecteur de mouvements ne déclenche pas son ouverture.",
	parse_name [ n w b t;
		! On veut que cet objet soit reconnu que s'il y a "gauche" ou "droite" dans l'input, sinon c'est l'autre (ce sont les mêmes objets, donc pourquoi disambiguer ?)
		b=0; t=0;
		w = NextWord();
		while(w) {
			if (WordInProperty(w, aeroport, name)) {n++;}
			if (w == 'de' or 'l^' or 'le') {n++;}
			if (w == 'porte' or 'automatique' or 'coulissante' or 'verre' or 'detecteur' or 'mouvements') {n++; b=1;}
			if (location == outside1 or staralliance && w == 'gauche' or 'ouest' or 'sur' or 'votre' or 'a') {n++; t=1;}
			if (location == outside2 or delta && w == 'droite' or 'est' or 'sur' or 'votre' or 'a') {n++; t=1;}
			w = NextWord();
		}
		return n*b*t;
	],
	found_in outside1 outside2 delta staralliance,
	before [; Open: "Vous avez envie de jouer avec le détecteur de mouvements, mais cette porte est un peu loin. Enfin, c'est surtout qu'il y en a une autre, identique, devant vous...";
		Close: "Cette porte est déjà fermée.";
		Enter: switch(location) {
			outside1: PlayerTo(delta);
			staralliance: PlayerTo(outside2);
			outside2: PlayerTo(staralliance);
			delta: PlayerTo(outside1);
			} rtrue;
		],
has scenery concealed openable female;

Object taxis "station de taxis"
	with description "Quelques taxis sont garés le long de la file de taxis, mais apparemment ça n'est pas une heure d'arrivée d'avions, puisque vous n'avez vu absolument personne monter dans une des voitures. Deux chauffeurs discutent dans le dialecte local ; l'un est assis sur le siège avant droit de son taxi, les pieds sur le trottoir et les coudes sur les jambes, l'air dépité, pendant que l'autre, debout et s'appuyant sur la portière ouverte du taxi, parle de façon plus animée et de temps en temps tape sur l'épaule de son collègue. Vous ne comprenez pas un mot de ce qu'il se dit, mais vous connaissez cette expression : c'est celle d'un homme qui a perdu une femme ou une grosse somme...",
	found_in outside1 outside2,
	name 'taxis//p' 'station' 'voitures//p' 'file' 'voiture' 'taxi',
	before [; Enter: "Les vacances sont finies maintenant, et vous devez impérativement trouver un moyen de rentrer chez vous rapidement.";
		],
has female scenery concealed;

Object palmiers "palmiers"
	with description "De l'autre côté de la rue, sur un terre-plein, quelques palmiers nains sont plantés, pour la décoration. Ils sont vraiment petits, à peine plus d'un mètre de haut ; vous saviez que le climat à Aruba était sec, mais enfin, à ce point...",
	found_in outside1 outside2,
	name 'palmiers' 'palmier' 'arbre' 'arbres' 'petit' 'rachitique' 'assoiffe' 'nain' 'petits' 'rachitiques' 'assoiffes' 'nains' 'paradisiaques' 'paradisiaque' 'tropical' 'tropicaux' 'flore' 'decoration' 'plante',
has pluralname scenery concealed;

Object cactus "cactus"
	with description "Aruba est une île chaude et plutôt sèche ; les cactus s'y plaisent tout particulièrement, et à ce qu'il paraît il y en a beaucoup d'espèces différentes. Il n'empêche que vous qui avez grandi à Atlanta, et sa forêt urbaine luxuriante, vous trouvez le paysage pas très accueillant.",
	found_in outside1 outside2,
	name 'cactus' 'cacti' 'piquant' 'piquants' 'sec' 'seches' 'secs' 'especes' 'herbe' 'herbes',
	before [; Take: "Mauvaise idée, vous détestez les piqûres de cactus.";
		],
has pluralname scenery concealed;

Object insideaeroport "aéroport"
	with description "Cet aéroport est plutôt long, mais plutôt étroit ; on vous a dit qu'il accueillait environ un million de voyageurs par an @{2014} ce qui est relativement peu, et ce qui fait qu'Aruba n'est jamais trop pleine de touristes. Le plafond du bâtiment, comme toujours, est très haut ; vous voyez un panneau avec le slogan de l'île accroché au plafond, dominant tout l'aéroport.",
	found_in jetblue staralliance delta united american restau,
	name 'aeroport' 'aeropuerto' 'reina' 'beatrix' 'international' 'internacional' 'batiment' 'terminal' 'departs' 'le' 'l^',
has scenery concealed;

Object tables "tables" restau
	with description "Les tables du restaurant sont désertes, en cette heure tardive. Le seul client assis à ces tables est un gros moustachu avec une casquette des Redskins vissée sur la tête ; il a visiblement fini et a sorti sa carte de crédit, qu'il tripote d'un air impatient pour montrer aux serveuses qu'il est prêt à partir.",
	name 'table' 'tables',
has pluralname scenery concealed supporter;

Object chaise "chaises en métal" restau
	with description "Des chaises en acier, sans vraiment rien de spécial. Elles ont l'air plutôt inconfortables.",
	name 'chaise' 'chaises' 'siege' 'sieges' 'acier' 'metal',
	before [;
		Enter: move player to chaise; print "Vous vous approchez et vous asseyez sur une chaise, à la table juste à côté du seul autre client assis ici."; switch(cartemec.chu) {
			1 : "";
			2 : "";
			-1: cartemec.chu = 3; " Celui-ci, maladroit, ou peut-être surpris par votre arrivée soudaine, lâche malencontreusement sa carte de crédit, qui tombe au sol, entre votre table et la sienne. À force de la tripoter, ça devait bien arriver.";
			0: if (random(2)==1) {cartemec.chu = 3; " Et décidément, il est vraiment maladroit : la carte de crédit lui échappe encore une fois, et tombe par terre, près de votre table.";} else {"";}
			}
	],
has pluralname scenery concealed enterable supporter;

Object assiette "assiette" restau
	with description [; print "Les restes du repas de l'homme assis à la table du restaurant. Vu ce qu'il en reste, ça devait être un hamburger avec des "; style underline; print "onion rings"; style roman; ", et du ketchup plus que de raison. Un bon repas, quoi.";],
	name 'assiette' 'restes' 'repas',
has scenery concealed;

Object food "nourriture" restau
	with description "Vous ne voyez pas de nourriture, mais vous pouvez parfaitement l'imaginer. Une grande assiette de frites, avec un burger bien dodu (avec cornichons et sauce barbecue sous le pain), transpercé par un cure-dent pour le faire tenir droit... Un poisson local, à la chair blanche, grillé doucement avec des herbes odorantes et quelques piments exotiques, avec des frites... Un poulet curry, rissolant dans sa sauce jaune sombre, la viande tendre autour de l'os, avec des frites... Vous faites un effort pour vous reprendre : ça ne sert à rien d'imaginer tout ça, ça ne vous fait que du mal. Tout de même, c'est fou ce que vous avez envie de frites, là, maintenant.",
	name 'burger' 'hamburger' 'frites' 'coca' 'onion' 'rings' 'oignons' 'frits' 'soda' 'pepsi' 'plat' 'nourriture' 'bouffe' 'graille' 'dejeuner' 'epices' 'poulet' 'poisson' 'epice' 'piment' 'met' 'local' 'cafe' 'dessert' 'cheesecake' 'cornichons' 'pickle' 'cornichon' 'barbecue' 'sauce' 'ketchup',
	before [; Buy: "Malheureusement, vos poches sont vides. Pourtant vous donneriez n'importe quoi pour un bon burger, ou peut-être juste un poulet curry, avec de la bonne sauce, des frites bien craquantes, avec un soda, et puis peut-être un cheesecake s'ils en ont, oh oui, et finir par un grand café...";
		Smell: <<Examine self>>;
		Take, Push, Pull: "Malheureusement, tout cela n'est que le produit de l'imagination débordante de votre ventre...";
		],
has female scenery concealed;

Object cartemec "carte de crédit de l'homme" restau
	with chu -1,
	description [;
	    if (self.chu<1){
		if (player in chaise) {"Feignant de vous étirer sur votre chaise, vous jetez un coup d'@oeil discret par-dessus l'épaule du moustachu, essayant de lire le numéro inscrit sur sa carte de crédit. Il l'a posée sur la table, et un rayon de soleil provenant de la fenêtre à l'extérieur se réfléchit sur les numéros : vous lisez @<< 8842 2562 2001 1595 @>>. Mais depuis votre position, vous ne pouvez distinguer ni le nom de l'homme ni la date d'expiration...^^Soudain l'homme se retourne vers vous ; ouvrant grand la bouche, vous simulez un bâillement irrépressible pour compléter votre étirement manifeste, tout en lui souriant d'un air bonhomme. Il vous rend votre sourire avec un petit hochement de la tête, puis se retourne @{2014} c'était moins une.";}
		"L'homme joue avec sa carte de crédit, l'air impatient. Vous êtes trop loin pour pouvoir lire quoi que ce soit sur la carte de crédit.";
		}
	    else {"D'un coup d'@oeil vif, vous regardez la carte de crédit qui vient de tomber à terre. Le logo au dos ne fait aucun doute : il s'agit d'une Visa Gold. Vous penchant légèrement, mais pas trop afin de ne pas attirer les soupçons, vous essayez de lire le numéro de contrôle au dos. Par chance, les chiffres sont reconnaissables facilement : vous lisez le numéro 230 au dos.";}
		],
	name 'carte' 'credit' 'puce' 'visa' 'gold' 'bleue' 'bancaire' 'debit' 'numero' 'numeros//p',
	before [; Take: switch(self.chu){
				-1, 0: "Vous vous penchez pour attraper la carte... Puis vous réalisez ce que vous êtes en train de faire et vous arrêtez net. Prendre une carte de crédit des mains de son propriétaire sans même chercher à se cacher ? Pourquoi avez-vous cherché à faire ça ? Sans doute que l'effet des piña coladas d'hier ne s'est pas dissipé complètement...";
				default: self.chu = 0; print "Vif comme l'éclair, vous vous penchez pour attraper la carte tombée au sol. Vous la retournez habilement côté face et, après un coup d'@oeil discret, la tendez à son propriétaire (Chester Hickens, date d'expiration 12/12) : @<< Hop, tenez, "; style underline; print "sir"; style roman; ". @>>^L'homme vous sourit et reprend sa carte : @<< Merci beaucoup, c'est gentil. @>>^Il n'y a vu que du feu.";
			}
		Retourner, LookUnder: if (self.chu>0) {<<Take self>>;} else {"Vous ne pouvez sans doute pas faire ça sans avoir l'air suspiscieux.";}
		],
	each_turn [; if (self.chu>0) {
			self.chu--; switch(self.chu){
				2: print "";
				1: "^En grommelant, l'homme se penche @{2014} avec difficulté, semble-t-il @{2014} pour rattraper sa carte tombée au sol.";
				0: "^L'homme saisit sa carte de crédit du bout des doigts et, s'appuyant sur la table, se rassoit dans sa chaise. Il la frotte brièvement à sa serviette, puis pousse un soupir visiblement agacé en direction des serveuses du restaurant, qui ne lui ont toujours pas apporté sa note.";
				}}
		],
has female concealed;

Object urinoir "urinoir" toilets
	with description "Il s'agit simplement d'un urinoir, comme on peut en trouver dans toutes les toilettes messieurs du monde entier. En vous penchant un petit peu, vous pouvez remarquer que la cuvette est d'un blanc immaculé ; quel dommage, pensez-vous, qu'ils n'aient pas peint des mouches sur la paroi de l'urinoir, comme à l'aéroport de Schiphol Amsterdam : apparemment, dessiner une trace noire sur la paroi blanche de l'urinoir pousse les hommes à viser presque instinctivement ces traces de leur jet, ce qui entraîne que les urinoirs sont en conséquence plus propres. C'est fou le nombre d'anecdotes inutiles que vous connaissez.",
	name 'urinoir' 'urinoirs' 'toilettes' 'toilette',
has scenery concealed;

Object lavabo "lavabo" toilets
	with description "Vous ne trouvez rien à dire de spécial sur ce lavabo. Il est joli, il est blanc, il est propre, il n'est pas bouché, non vraiment rien à dire de particulier.",
	name 'lavabo' 'evier' 'eviers//p' 'lavabos//p' 'eau' 'liquide' 'froide' 'chaude' 'fraiche' 'glacee' 'brulante' 'robinet' 'robinets//p',
	before [; Open, SwitchOn, Turn, Drink: "Vous faites couler un filet d'eau dans vos mains et vous vous aspergez le visage ; l'eau est froide, et ça vous donne un coup de fouet bien nécessaire. Puis vous buvez un peu d'eau, beaucoup d'eau @{2014} parce que l'alcool, mine de rien, ça donne soif !";
		],
has scenery concealed;

Object cocaine "ligne de cocaïne" toilets
	with description "La poudre blanche est alignée tant bien que mal par le camé à côté de vous, dans le but d'en faire une ligne à peu près propre. Dans les faits, sa main tremble tellement que l'on dirait qu'il s'entraîne à dessiner des zigzags subtils et artistiques dans la poudre.",
	name 'poudre' 'blanche' 'cocaine' 'ligne' 'drogue' 'coke' 'neige',
	before [; Take, Smell: "Vous avez fait assez de bêtises sur cette île comme ça, vous ne croyez pas ?";
		Blow: "Nul doute que le jeune homme n'apprécierait pas @{2014} et la dernière chose que vous voulez, c'est avoir à expliquer à votre femme pourquoi vous étiez en train de vous bagarrer avec un camé dans les toilettes d'un aéroport situé dans un paradis fiscal caribéen.";
		],
has female concealed;

Object carteaddict "carte de crédit de l'homme" toilets,
	with sniff 1,
	description [; if (self.sniff<2) {"L'accro est bien trop occupé à assouvir son vice pour se rendre compte qu'il a posé sa MasterCard en évidence. Vous pouvez ainsi lire très clairement ce qui est y inscrit : numéro 7742 5226 9520 0000, date d'expiration 11/14, au nom de Ben Fanton. Parfait @{2014} enfin presque : il vous manque le numéro de contrôle au dos.";} else {"Avec des mouvements vifs et saccadés, le jeune aligne son rail de cocaïne en se servant de sa MasterCard. Vous essayez de lire les numéros inscrits sur la carte de crédit, mais il la tient légèrement inclinée, de sorte que, par malheur, vous ne pouvez voir ni le devant ni le derrière de la carte. Vous pourriez vous pencher ou vous rapprocher, mais même s'il semble tout à sa cocaïne, nul doute qu'il saurait se rendre compte que vous agissez bizarrement @{2014} et la dernière chose que vous voulez, c'est avoir à expliquer à votre femme pourquoi vous étiez en train de vous bagarrer avec un camé dans les toilettes d'un aéroport situé dans un paradis fiscal caribéen.";}
		],
	name 'carte' 'credit' 'master' 'card' 'mastercard' 'debit' 'puce' 'bancaire' 'bleue' 'dos' 'numero' 'numeros//p',
	before [; Take, Turn, Retourner: "Non @{2014} c'est le meilleur moyen pour se mettre de la cocaïne plein les doigts et se faire repérer à la douane. Et puis, nul doute que son propriétaire ne vous laissera pas faire...";
		LookUnder: if (self.sniff<2) {"Il vous faudrait le numéro de contrôle, au dos de la carte, mais impossible de le voir sans retourner la carte @{2014} ce qui bien entendu ne manquerait pas d'éveiller les soupçons de son propriétaire...";} else {"L'accro tient sa carte inclinée de telle façon que vous ne pouvez regarder dessous.";}
	],
	each_turn [; self.sniff--; switch(self.sniff){
			0: self.sniff=4; print_ret "^Du coin de l'@oeil, dans le miroir, vous voyez l'accro prendre un pas de recul en inclinant sa tête vers le plafond. Un reniflement profond, venu du fond de sa gorge, se fait entendre @{2014} charmant. Vous détournez le regard et vous concentrez sur votre reflet @{2014} contempler ses narines engorgées de poudre, merci bien.";
			1: print_ret "^Satisfait, le jeune repose sa carte de crédit, face vers le haut, et se bouche une narine ; puis, dans un reniflement de baleineau, il aspire un peu de cocaïne. Ça n'a pas l'air très efficace, pour tout dire, car la quantité de cocaïne n'a pas l'air d'avoir diminué @{2014} mais après tout, c'est son problème...";
			2: print_ret "^Le jeune est toujours en train de s'escrimer à arranger la cocaïne en un rail qu'il pourrait s'envoyer dans le nez.";
			3: print_ret "^Essayant de s'appliquer malgré ses tremblements de main, le cocaïnomane ramène la cocaïne en un rail à peu près droit en s'aidant de sa carte de crédit. Mais visiblement sous l'emprise de la drogue, il tremble vraiment trop pour arriver à quelque chose qui ressemble à un rail digne de ce nom @{2014} triste spectacle, à vrai dire...";
			}
		],
has female concealed;

Object miroir "miroir" toilets,
	with description [;
		if (carteaddict.sniff<2){"Vous regardez dans le miroir, mais la seule chose que vous voyez est un cocaïnomane amateur et votre visage... Vous vous rapprochez soudain : elles étaient là, ces rides, la semaine dernière ? Espérons que c'est la folle nuit de hier soir qui vous donne cet air...";}
		else {"Alors que le jeune rassemble sa cocaïne, vous pouvez distinguer le dos de la carte de crédit en regardant dans le miroir. En plissant un peu les yeux, il vous semble lire les chiffres 8, 0 et 8. Vous continuez à vous laver les mains comme si de rien n'était, tout en essayant dans votre tête de renverser les chiffres que vous avez vus dans le miroir... 8, 0, et 8, à l'envers ça donnerait... Oh.";}
		],
	name 'miroir' 'glace' 'grand',
has scenery concealed;

Object tapis "tapis roulant"
	with description "Il s'agit du tapis roulant sur lequel vous devez déposer vos affaires ; la machine devant vous se chargera de les bombarder de particules radioactives pour tenter de détecter quelque chose qui pourrait ressembler à une bombe. Ou un liquide. Ou un pain de pâte molle. Ou un objet coupant. Ou un des trois millions de critères qui font qu'un objet peut vous être confisqué par la sécurité de l'aéroport, prétextant tel ou tel motif plus ou moins valide pour ajouter un nouveau membre à leur collection de coupe-ongles.",
	found_in security1 security2,
	name 'tapis' 'roulant' 'mecanique',
	before [; Climb: "Ce serait un comportement pour le moins suspicieux. Et même carrément bizarre. La CIA aurait beau mettre ses meilleurs agents sur le coup, ils auraient du mal à trouver une bonne raison pour laquelle un terroriste voudrait grimper dans la boîte à rayons X.";
		],
has scenery supporter transparent;

Object casier "casier en plastique" tapis
	with description "Un petit casier en plastique blanc, profond de quelques centimètres et aux dimensions adaptées à la taille du tapis roulant. Vous mettez vos possessions dans ce casier, puis le casier roule dans le scanner à rayons X ; les agents de sécurité vérifient ainsi si vous n'avez pas caché un objet interdit dans un autre, ou sous un autre.",
	name 'casier' 'plastique' 'boite' 'blanc' 'receptacle',
	before [; Take: "Non, vous êtes censé poser vos affaires dedans pour qu'elles passent dans le scanner.";
		],
has container openable open transparent;

Object portique "portique de sécurité"
	with description "Un de ces portiques censés détecter le métal que vous portez sur vous et ainsi, en principe, détecter les couteaux ou armes que vous portez sur vous. En pratique, le détecteur fait absolument ce qu'il veut, et sonne à peu près au hasard, selon des variables très compliquées comme l'aéroport où vous vous trouvez, les conditions hygrométriques, le jour de la semaine, les éruptions solaires et selon si vous avez mangé des lentilles ou non. Si le détecteur sonne, un serviteur docile apparaît, et vous êtes bon pour vous faire toucher le corps par un étranger total qui a suivi une semaine de formation sur la façon optimale de toucher absolument toutes les parties de votre corps.",
	found_in security1 security2,
	name 'portique' 'securite' 'scan' 'detecteur' 'metal' 'portiques//p' 'scans//p' 'detecteurs//p' 'metaux' 'machine' 'machines//p',
has scenery concealed;

Object scanner "scanner à rayons X"
	with description "Un gros cube qui bombarde vos précieux objets de rayons X afin de détecter tout objet à la forme ou composition suspecte. Selon la liste la plus récente fournie par le service de sécurité américain, ces objets suspects peuvent prendre des formes très variées, comme des boules à neige ou des cartouches d'imprimantes de plus de 16 onces de capacité. Il n'est pas dit que les terroristes eux-mêmes y auraient pensé.",
	found_in security1 security2,
	name 'scanner' 'rayons' 'rayon' 'x//' 'scanners' 'machine' 'machines//p' 'boite' 'detecteur',
has scenery concealed;

Object lignejaune "ligne jaune au sol" douane
	with description "Une ligne jaune au sol. Elle délimite, heu... le côté où vous pouvez être, et le côté où vous devez être si on vous y appelle. C'est la frontière entre l'espace public et l'espace régulé par le douanier. N'essayez pas de la franchir avant d'être appelé, à moins de vouloir réellement provoquer le douanier...",
	name 'ligne' 'jaune' 'limite' 'limitation' 'bordure' 'bord' 'jaune' 'marque' 'sol',
	before [; Franchir: <<Go n_obj>>;
		],
has female scenery concealed;

Object guichetobj "guichet de la douane"
	with description "Un simple guichet, avec une vitre de plexiglas derrière laquelle un officier des douanes @{2014} la quintessence de l'officier des douanes en réalité @{2014} qui contrôle le passage en territoire américain. Aruba est l'un des quelques territoires à avoir mis en place une douane américaine sur son territoire : passé cette douane, c'est comme si on était aux États-Unis, et plus aucun contrôle de douane n'est réalisé, comme si le vol était domestique. C'est sans doute au vu de l'abondance des touristes américains sur l'île, relativement peu peuplée et qui vit de tourisme de luxe et de services bancaires à taux... alléchants. Voire même paradisiaques, selon certaines autorités.",
	found_in douane guichet,
	name 'guichet' 'plexiglas' 'vitre' 'douane' 'poste',
has scenery concealed;

Object couloir "couloir menant à l'embarquement"
	with description "Si proche, et pourtant si lointain au vu de la détermination du douanier à vous faire perdre votre temps... Plus que quelques questions et vous pourrez franchir le seuil de la porte de la douane @{2014} ensuite, il n'y a plus qu'à attendre, et à mesure que votre avion s'éloignera d'Aruba, cette aventure deviendra un mauvais souvenir.",
	found_in douane guichet,
	name 'couloir' 'sortie' 'ouverture',
has scenery concealed;


!==============================
! Donjon

Object barreaux "barreaux de prison" geole
	with description "Ce sont de gros barreaux de métal, verticaux, gros comme le pouce et extrêmement solides. Vous les secouez un peu, mais bien entendu c'est peine perdue ; vous voilà condamné à rester derrière ces barreaux un bon bout de temps. Désormais, c'est sûr : votre femme s'apercevra de quelque chose... Vous poussez un long soupir : à quoi bon résister ? Résigné, vous vous appuyez contre un des murs de la cellule.",
	name 'barres' 'barre' 'barreaux' 'barreau' 'prison' 'porte' 'metal',
	before [; Attack: if (second == nothing) {"Vous secouez les barreaux, mais c'est peine perdue : ils sont extrêmement solides.";}
			  else {
			    if (second == chips && rachid.state<2) {escape(); rtrue;} else {"Vous ne voyez pas pourquoi ça marcherait.";}
			  }
		Secouer: "Vous secouez les barreaux, mais c'est peine perdue : ils sont extrêmement solides.";
	],
	before_implicit [; Take: if (action_to_be == ##Secouer) {return 2;} ! 2 c'est pour "considère que c'est true (ie arrête toi là sans prendre le truc) et continue"
	],
has scenery concealed pluralname;

Object soupirail "soupirail" geole
	with description "Au dehors du soupirail, vous pouvez apercevoir de la végétation au dehors. Oh, pas grand-chose, mais de ce que vous pouvez distinguer, il semblerait que vous soyez toujours dans une zone au climat tropical. Une chose est sûre, ça n'est pas Atlanta.",
	name 'soupirail' 'fenetre' 'ouverture' 'dehors',
has scenery concealed;

Object murs "murs de pierre"
	with description "Cette prison est une sorte de cave souterraine, sans doute sous une base militaire. La roche semble être du granit @{2014} extrêmement dure, vous ne pouvez espérer y trouver une faille pour vous cacher.",
	name 'murs' 'mur' 'pierre' 'caverne' 'granit',
	found_in geole couloirbase,
has scenery concealed pluralname;

Object caisse "caisse" couloirbase
	with description "Vous regardez la grande caisse, qui doit bien faire un mètre cinquante de côté. Un papier @{2014} semble-t-il pour indiquer les informations sur la caisse aux chargeurs @{2014} a été agrafé sur le côté de la caisse. Vous le lisez avec attention, et enfin trouvez les deux lignes qui vous intéressent le plus :^^DESCRIPTIF : Arctic Blast Ice Shaver 9000+^DESTINATION : Commissariat central de Atlanta, GA.^^C'est bien votre veine : cette énorme caisse va partir pour Atlanta !",
	name 'caisse' 'grosse' 'note' 'papier' 'cone' 'glace' 'machine' 'grande' 'atlanta' 'facture' 'bon' 'commande',
	before [; Open, Enter: if (couloirbase.tour >3) {decouvert(); rtrue;} else {fin(); rtrue;}
		],
has scenery concealed enterable openable;


!============================================================
! Personnages

Include ">homeland_persos";


!============================================================
! Routines

[ Initialise;
	lookmode = 2;	! Mode verbeux
	inventory_style = ENGLISH_BIT+RECURSE_BIT+FULLINV_BIT;	! Inventaire décrit en une phrase
	player.description = "Un peu échevelé, et vous avez sûrement l'air fatigué, mais sinon ça va.";
	location = lastnight1;
	lastnight0rout();
];


[ depliant ;
	print "Vous ouvrez le dépliant et vous commencez à le lire. Il s'agit d'un de ces dépliants avec des couleurs partout, pour expliquer comment marche la sécurité aéroportuaire à qui veut l'entendre et pour le rassurer. Voyons voir...";
	print "^^^-------------------------------------^";
	print "-      Voyager en toute sécurité    -^";
	print "-------------------------------------^^";
	print "Comment votre sécurité est-elle assurée^";
	print " dans les aéroports ? En trois étapes :^^";
	print " 1/ Au moment de l'achat du billet, nous^";
	print "  comparons le nom associé à la carte^";
	print "  de crédit donnée aux noms dans la^";
	print "  liste des personnes interdites de vol.^^";
	print " 2/ Au passage au point de sécurité, nos^";
	print "  agents demandent une pièce d'identité^";
	print "  au voyageur et vérifient que le nom^";
	print "  indiqué sur la carte d'embarquement^";
	print "  fournie à ce moment-là correspond^";
	print "  bien au nom de la pièce d'identité.^^";
	print " 3/ A l'embarquement du vol, nos stewards^";
	print "  vérifient que le nom indiqué sur la carte^";
	print "  d'embarquement présentée à ce moment-là^";
	print "  correspond bien au nom d'un passager sur^";
	print "  ce vol. Pour votre confort, nous ne^";
	print "  vous redemanderons pas de remontrer votre^";
	print "  passeport : c'est inutile puisque vous avez^";
	print "  déjà passé le point de contrôle de sécurité !^";
	"^^Et blablabla, la liste des objets interdits, et toutes les autres informations légales et tout...^^Quelque chose cloche. Enfin, disons que plus vous relisez ce dépliant, et plus vous êtes convaincu qu'il est parfaitement possible pour vous d'acheter un billet d'avion au nom de quelqu'un d'autre et passer le point de sécurité sans encombres...";
];


[ escape ;
	print "Non, ça ne pourrait pas... Enfin, qu'est-ce que ça coûte d'essayer ?^^Vous sortez de votre poche les quelques jetons de casino qui vous restent @{2014} ";
	if (chips.discovered==1) {print "vous ne savez toujours pas pourquoi on vous les a laissés, mais peut-être pourront-ils être utiles ?";} else {print "vous n'avez aucune idée de pourquoi on vous les a laissés, peut-être parce que ça faisait rire les gardes de vous laisser croupir dans une geôle sordide avec juste ce symbole du monde extérieur...";}
	print " Le visage de Rachid s'éclaire.^^@<< Où avez-vous eu ça ?^@{2014} Longue histoire. C'est tout ce qui me reste.^@{2014} Mais c'est parfait !! @>> Rachid est extatique. @<< Faites voir ça ! @>> ^^Il prend un des jetons, l'examine sous toutes les coutures, le croque même, puis pousse un petit cri de joie.^@<< Oui ! Exactement ce qu'il nous fallait ! C'est du composite ! De l'ABS ! Plastic Injection ! Du métal enrobé de plastique !^@{2014} Du métal ? Vous voulez dire que...^@{2014} Oui ! La voilà, notre lime !! Aidez-moi ! @>>";
	w8();
	print "^^Il court vers les barreaux et commence à les limer à l'aide des jetons, de toutes ses forces. Vous l'imitez, et bien vite le plastique se délite, laissant place au métal frottant contre le métal.^^Vous ne voyez pas le temps passer, mais vous êtes sans doute restés une heure à frotter @{2014} une demi-heure pour finir de limer le haut des barreaux, déjà bien attaqué par le dentifrice, et la joie de voir la coupure nette dans le barreau et le barreau finalement céder, puis le bas des barreaux, qui cède d'un seul coup. Vous avez réussi !!";
	w8();
	print "^^Rachid est encore plus heureux que vous @{2014} il a attendu ce moment pendant dix ans, après tout. Il saute partout, et tremble, et vous avez toutes les peines du monde à essayer de le calmer.^^Puis, passant par l'ouverture récemment dégagée dans les barreaux, vous sortez de votre cellule. Rachid ne vous attend pas : @<< Je pars vers la gauche, partez vers la droite, on se retrouvera peut-être ! Bonne chance ! @>> fait-il, incapable de se contenir plus longtemps @{2014} et il détale dans le couloir. Vous avancez plus prudemment dans la direction opposée.";
	w8();
	print "^^A mesure que vous avancez dans les couloirs de pierre, il vous semble retrouver l'usage de vos sens un par un. Tout d'abord, vous sentez une odeur @{2014} une odeur fraîche, de végétation, d'herbe, d'air, de liberté. Puis viennent les bruits @{2014} les oiseaux qui chantent, des éclats de voix. Puis, petit à petit la vue, à mesure que vous vous approchez de la sortie.^^Il vous semble que c'est le dernier virage. Vous tournez @{2014} et vous heurtez à une grande caisse dans le couloir. Grommelant, vous continuez à marcher, et apercevez au bout du couloir de la lumière venant de l'extérieur @{2014} la sortie !!";
	w8();
	print "^^Vous vous approchez doucement, sans faire de bruit @{2014} et tout d'un coup vous entendez des voix approcher. Vous faites immédiatement demi-tour et vous cachez derrière la caisse.^";
	PlayerTo(couloirbase); remove chips;
	return true;
];

[ decouvert ;
	print "D'un coup, les voix se taisent. Vous vous arrêtez net de bouger. Où sont-ils ? Combien sont-ils ?^^
	Une ombre fait le tour de la caisse. Vous tentez de bouger, mais vous êtes paralysé par la peur. Vous en oubliez même de respirer. Vous levez les yeux.^^
	Un soldat vous fait face. C'est visiblement un Marine ; en treillis militaire, cheveux courts, il a son arme @{2014} une carabine noire et fine, dont vous connaîtriez sans doute le nom si vous aviez joué à "; style underline; print "Call of Duty"; style roman; print " ou autre @{2014} braquée sur vous. Non, ça n'est pas un jeu vidéo, pensez-vous @{2014} c'est bien la réalité.^^
	Le Marine vous regarde, et vous ne bougez pas. Il semble se détendre un peu, voyant que vous ne bougez pas et que vous êtes visiblement paralysé par la peur. Bougeant légèrement sa tête, il appelle son collègue : @<< C'est bon, Bill. Y'a un de ces connards qui s'est évadé, là, je l'ai en joue comme un chien. Sors la laisse, on va s'amuser un peu. @>>^^
	La laisse ? vous demandez-vous. Pourquoi la laisse ? Et c'est là que vous réalisez. Une prison américaine, des ennemis de la nation, une laisse. Bien sûr, comme à Abu Grahib, c'est le traitement standard pour un prisonnier suspecté de terrorisme. Ils vont vous faire marcher à quatre pattes comme un chien et vous traîner dans la boue. Ils vont vous humilier, comme seuls savent le faire les soldats américains.^^
	Le Marine semble tourner légèrement la tête, et vous décidez de prendre votre chance. Vous vous levez d'un bond et courez pour échapper à cette prison. Autant que possible, essayer de courir en zigzag, même dans ce couloir étroit. Essayer d'atteindre une zone sombre, un recoin dans lequel vous pouvez vous cacher. Essayer d'atteindre le bout du couloir. Essayer de ramper jusqu'au bout du couloir. Ignorer la douleur qui vous envahit. Ignorer la botte qui se pose sur votre dos. Ignorer la balle qui rentre dans votre tête.";
	w8();
	deadflag=1;
];

[ fin ;
	print "Doucement, mais avec force et détermination, vous entrouvrez le bas de la caisse, qui bâillait déjà un peu. Vous parvenez tant bien que mal à vous y faufiler, et bientôt vous êtes tout entier dans la caisse.^^La caisse est étroite, et vous avez le nez dans la paille, accroupi dans une position très inconfortable, serré tout contre la machine à glaces. Vous retenez votre respiration. Les voix se rapprochent.";
	w8();
	print "^^Les deux hommes se rapprochent de la caisse, puis la font basculer @{2014} de sorte que vous vous retrouvez sur le dos, avec les rebords de la machine qui vous rentrent dans le dos, et vous réprimez un grognement de douleur. L'un des hommes place un clou sur la partie de la caisse qui bâillait, à quelques centimètres de vos pieds, puis abat son marteau sur le clou, dans un vacarme assourdissant qui vous fait sursauter. Vous voilà dans un tout petit espace confiné, mal à l'aise, à deux doigts de vous faire repérer, dans un vacarme de tous les diables, avec la lumière filtrant par l'interstice de la caisse qui réduit à vue d'@oeil, puis finalement disparaît tout à fait.^^Une bonne chose que vous ne soyez pas claustrophobe.";
	w8();
	print "^^Vous percevez confusément ce qui se passe au dehors. Les deux hommes se saisissent de la caisse et la transportent jusqu'à un hélipad non loin @{2014} tout en se plaignant plusieurs fois du poids de la caisse, et vous priez à chaque fois pour qu'ils ne soient pas tentés d'ouvrir la caisse pour voir ce qui pèse aussi lourd.^^Puis ils chargent la caisse dans un hélicoptère de l'armée ; vous n'entendez plus rien, assourdi par le bruit des rotors, et l'envie de crier ne s'est jamais faite aussi forte. Heureusement que la machine est fragile ; ils vous stockent dans le bon sens, si l'on peut dire, et vous êtes immobilisé dans une position accroupie @{2014} mais au moins, vos pieds touchent par terre. Eussent-ils stocké la caisse sur le côté, ou pire, sur votre ventre, et vous auriez été écrasé par la machine à faire des glaces @{2014} une bien macabre surprise au commissariat central d'Atlanta. Vous avez de la chance @{2014} et le pire, c'est que vous voyez mal comment vous pourrez raconter cette histoire à quiconque...";
	w8();
	ClearScreen();
	style underline; print "^^^^Ça va, chéri ?"; style roman; print "^^Vous levez subitement la tête, vous tirant de cette torpeur. Votre femme vous regarde d'un air inquiet.^^@<< Tu n'as pas l'air bien, chéri. Ça va ?^@{2014} Oui, oui. Je suis juste fatigué. Très très fatigué. @>> grommelez-vous.^^Grosse journée. Réveillé dans un aéroport sur une île paradisiaque à midi, vous avez exposé une faille dans les protocoles de sécurité aérienne, admis que vous étiez un criminel au regard de la loi américaine, fait un petit tour par Cuba, rencontré un doctorant en chimie, fait une bonne séance de travaux manuels, voyagé en douce dans un hélicoptère militaire, émergé d'une caisse devenue irrespirable à l'entrepôt de l'aéroport d'Atlanta, puis vous vous êtes faufilé vers la sortie sans vous faire repérer. Après tout ça, rentrer chez vous était un jeu d'enfant ; quand vous avez franchi la porte, à minuit, vous avez trouvé votre femme, en train de regarder la télé, se rongeant les ongles d'un air soucieux. Vous avez prétexté un retard de l'avion à Houston, vous êtes excusé, deux fois, trois fois, bien plus que ce qui aurait été normal, pour tout, pour tout ce qu'elle ne savait pas, pour tout ce que vous aviez fait.^^Et maintenant, dans le lit conjugal, vous repensez à cette folle journée. Demain est un autre jour, et il faudra commencer à réparer ce que vous avez fait. Mais là, maintenant, vous êtes simplement heureux de ce que vous avez.^^Votre femme vous embrasse, et se penche par-dessus vous pour éteindre la lumière.";
	w8();
	deadflag = 2;
];


!============================================================
! Menu d'aide

Menu aidemenu "Menu"
	with topline "Sélectionnez une rubrique :";

Object -> "Débuter en fiction interactive"
	with description "Si vous ne savez pas comment jouer à une fiction interactive, voilà une petite aide pour débuter :^^Vous incarnez un personnage agissant dans le monde décrit par le jeu. Vous pouvez vous déplacer, parler à des gens, résoudre des énigmes @{2014} théoriquement, tout est possible !^^Pour diriger votre personnage, vous devrez entrer les commandes sous la forme infinitif + nom : par exemple vous pourrez taper @<< prendre épée @>> ou @<< aller au nord @>>. Des abréviations sont possibles : n pour nord, o pour ouest, se pour sud-est, i pour inventaire, x pour examiner.";
Object -> "À propos du jeu"
	with description [; style bold; print "^Homeland Security^"; style roman; "Votre femme vous croit à Houston pour un congrès pendant que vous vous dorez la pilule et jouez au poker à Aruba... Mais après une soirée bien arrosée, où vous avez joué votre portefeuille et perdu, il vous faut trouver un moyen de rentrer chez vous à temps !^^Ce jeu a participé à la French Comp 2011, dont le thème était @<< Le ciel @>>, sous le pseudonyme de Terry S. Albright ; il a fini 5ème. À l'époque, il avait été codé en très peu de temps et comportait de nombreux bugs ; ce que vous avez entre les mains est une version améliorée, avec beaucoup d'améliorations et (je l'espère !) beaucoup moins de bugs !";
		];
Object -> "Auteur"
	with description "Je suis Hugo Labrande, créateur de fictions interactives et membre de la communauté francophone (ifiction.free.fr), sous le pseudonyme @<< Mule Hollandaise @>>. Ceci est mon huitième jeu.^^Pour toute remarque, rapport de bug ou critique, vous pouvez me joindre à hugo_at_hlabrande.fr.";
Object -> "Version"
	with description "Vous jouez actuellement à la version 3 du jeu.^^La version 1 est la version soumise à la French Comp 2011 ; codée en 72 heures, elle souffrait d'un manque grave d'interactivité et de nombreux bugs, dont la plupart ont été corrigés dans cette nouvelle version grâce à l'aide de plusieurs bêta-testeurs (cf la section Remerciements). Pour tenter de préserver l'anonymat au sein de la Comp, j'avais choisi le pseudonyme @<< Terry S. Albright @>> @{2014} les initiales de ce nom vous laisseront deviner pourquoi...^^La version à laquelle vous jouez actuellement est une version remaniée et corrigée de ce jeu @{2014} notamment, plus de 220 bugs ont été éradiqués !";
Object -> "Pour aller plus loin (attention possibles spoilers !)"
	with description [; print "Dans une certaine mesure, ce jeu est basé en grande partie sur des faits réels, et je n'ai pas inventé grand-chose, même si certains points méritent une explication.^^"; w8();
	print "Je ne me suis jamais rendu à l'aéroport d'Aruba, mais sa description est basée sur des plans et photos que j'ai pu glaner ça et là. Bien sûr, ce jeu n'est pas fait pour critiquer la sécurité à l'aéroport d'Aruba en particulier ; Aruba a été choisi car il s'agit d'une île caribéenne destination populaire, où la tenue d'un tournoi de poker était crédible, et qui avait un poste de douane américain dans l'aéroport (@<< US Border Pre-Clearance facility @>>) @{2014} et ça m'a semblé être la seule île caribéenne qui avait tout cela à la fois !^^"; w8();
	print "Pour peu que vous ayez une bonne mémoire des chiffres, il est très possible de voler un numéro de carte bancaire de cette façon. Notre héros aurait aussi pu tenter d'aller sur un des milliers de forums qui revendent de telles informations bancaires @{2014} mais les systèmes de surveillance d'Internet auraient pu alors lancer l'alerte. Notez de plus que de plus en plus de banques mettent en place des solutions d'authentification @<< à deux facteurs @>> : le numéro de carte bancaire n'est plus suffisant, il faut souvent entrer un code reçu par SMS ou donné par un boîtier électronique spécialisé.^^"; w8();
	print "La façon dont notre héros tente de passer les contrôles de sécurité est théoriquement réalisable ; elle est décrite par Bruce Schneier dans l'article @<< The Things He Carried @>> paru dans le numéro de novembre 2008 du magazine "; style underline; print "The Atlantic"; style roman; print ". Passer le point de contrôle de sécurité dans certains aéroports est parfois un peu plus difficile que ce qui est décrit dans le jeu : la carte d'embarquement contient souvent un code-barre (au format BCBP) qui encode les informations de la carte d'embarquement, dont le nom, et ce code-barre est souvent scanné par l'employé du poste de contrôle : notre héros n'aurait donc pas pu simplement remplacer le nom sur la carte d'embarquement par le sien, puisque le code-barre aurait révélé la supercherie. Cependant, ces mesures ne résolvent pas le problème : les informations sont inscrites au format BCBP sur le billet, mais ne sont pas chiffrées : il est alors aisé de retrouver les informations de la carte d'embarquement, de générer un code-barre BCBP correspondant à ces informations et à votre nom, et de coller le code-barre sur la carte d'embarquement à l'aide d'un logiciel de retouches d'images ! Ça ne rajoute qu'une ou deux actions à accomplir pour notre héros, avec les mêmes outils (internet et Photoshop) qui sont donnés dans le jeu.^^S'il n'avait pas été stoppé net par le douanier, notre héros aurait passé un autre point de contrôle de sécurité, puis aurait embarqué dans l'avion en montrant la carte d'embarquement au nom de l'homme à qui il a volé le numéro de carte bancaire ; en effet, de nos jours encore (c. 2011), dans beaucoup d'aéroports des États-Unis et d'Amérique en général, on contrôle le fait que la carte d'embarquement corresponde bien à un passager du vol, mais pas nécessairement l'identité du passager : une fois le checkpoint du TSA passé, il n'y a pas forcément besoin de montrer de preuve d'identité, ce qui constitue une faille de sécurité importante. Ça n'est pas le cas des aéroports en Europe ou en Asie, où l'on contrôle en général systématiquement l'identité de la personne en même temps que la carte d'embarquement. Si l'on avait été dans ce cas, notre héros aurait peut-être feint de s'être endormi, puis au tout dernier moment courir vers la porte d'embarquement et miser sur l'empressement pour tenter de passer en force.^^"; w8();
	print "Un jeu de cartes peut en effet être utilisé comme un moyen de chiffrer des messages, et constitue donc un matériel cryptographique. Il s'agit du chiffrement @<< Solitaire @>>, inventé par Bruce Schneier ; on peut vouloir l'utiliser dans un régime totalitaire, où posséder un paquet de cartes est moins incriminant que posséder du matériel de chiffrement plus élaboré. Dans le cadre des nouvelles règles du transport aérien (post-2001), on peut en théorie vous confisquer tout matériel électronique et/ou vous demander la clé de décryptage de n'importe quel fichier sur votre ordinateur (pour, bien sûr, vérifier que ça n'est pas un contenu illégal ou terroriste) ; avec un paquet de cartes, c'est plus compliqué. Pour ceux que ça intéresse, dans la série @<< objets de tous les jours qui peuvent renfermer un message codé @>>, je mentionne que des chercheurs sont parvenus à créer un système de chiffrement de messages reposant sur la fragmentation Windows : la façon dont votre disque est fragmenté (après tout, a priori, ça peut être n'importe quoi) peut être utilisée pour chiffrer un message au vu et au su de tout le monde.^^"; w8();
	print "Le programme SPOT (Screening Passengers with Observational Techniques) du TSA, qui permettrait de détecter les terroristes en détectant des micro-expressions sur le visage de potentiels terroristes, existe réellement. Les agents du TSA formés à ces techniques seraient censés pouvoir repérer les terroristes en se basant sur l'observation leurs expressions faciales ou leur comportement, ce qui inclut les mouvements inconscients (et donc permettrait de détecter des potentiels indices que les terroristes émettraient malgré eux). Cependant le TSA a admis que ce programme avait été démarré sans même avoir vérifié qu'il y avait un fait scientifique valide derrière tout cela ; en clair, ces techniques ne sont pas basées sur des faits établis par la science ou la statistique, et aucune étude ne montre qu'elles sont efficaces pour détecter des terroristes potentiels. À ce jour, le nombre de terroristes arrêtés et le nombre d'actes de terrorismes empêchés par ce programme est de 0 (le TSA soutient qu'il a servi une fois pour arrêter un homme à Orlando avant qu'il ne pose une bombe dans un bagage, mais d'autres sources attestent que cet homme fut arrêté grâce à d'autres passagers, qui ont lancé l'alerte en remarquant son comportement suspect). Dans tous les cas, il s'agit d'une efficacité relativement faible pour un programme à 1 milliard de dollars.^^"; w8();
	print "Aux dernières nouvelles, les États-Unis n'envoient pas les gens qui téléchargent des films de manière illégale à Guantánamo ; il s'agit d'une hyperbole de ma part, bien entendu. De même pour la liste des films donnée par le douanier ; elle aussi est fictive.^^"; w8();
	print "Le traitement des prisonniers à Guantánamo est, selon de multiples sources concordantes, inhumain. Les fameuses @<< Enhanced Interrogation Techniques @>> (techniques avancées d'interrogatoires) ont été rendues légales et approuvées par l'administration Bush en 2003 ; les suspects pouvaient être soumis à des températures extrêmes, soumis à un isolement total, battus et partiellement immergés (le fameux @<< waterboarding @>>, où la tête du suspect est maintenue sous l'eau presque jusqu'à la noyade). Ces actes représentent, de l'avis de plusieurs comités indépendants, ni plus ni moins que de la torture ; dans les dernières années, plusieurs organisations de défense des droits de l'homme ont appelé à l'arrestation de plusieurs personnes liées à ces actes, notamment Dick Cheney, lorsqu'elles se trouvaient dans un autre pays (par exemple le Canada). Pour un compte-rendu poussé et choquant de ces actes, intéressez-vous aux témoignages de Mohamedou Ould Slahi, qui raconta par le menu ce qu'il subit à Guantánamo, notamment dans un article publié par "; style underline; print "Slate"; style roman; print ". Notons enfin que ces techniques poussées d'interrogatoire ont été officiellement abolies par l'administration Obama ; cependant, la promesse de ce dernier de fermer Guantánamo n'est à ce jour toujours pas réalisée.^^"; w8();
	print "Quant au fait de tenir en laisse un prisonnier, il s'agit d'une référence aux photos montrant le traitement de prisonniers à Abu Grahib par les soldats américains ; ces pratiques n'ont pas forcément eu lieu à Guantánamo, même si certains témoignages font état d'humiliations physiques répétées à Guantánamo.^^"; w8();
	print "La machine à faire des glaces présente à Guantánamo est une référence à l'affaire des @<< Snow Cone Machines @>> de décembre 2011, qui vit le département de sécurité intérieure d'une région du Michigan admettre avoir acheté 13 de ces machines sur le budget de l'agence, puis tenter de défendre l'achat en expliquant le lien entre ces machines et la sécurité intérieure. Pour plus d'informations voir les posts en décembre 2011 sur le blog de Bruce Schneier ou le blog Lowering The Bar.^^"; w8();
	"J'espère en tout cas que ce jeu vous aura plu, et peut-être vous aura-t-il permis de vous interroger sur la sécurité et la lutte contre le terrorisme telle qu'elle est faite de nos jours dans le monde (et en réalité surtout aux États-Unis). Peut-être même, j'espère, vous aura-t-elle appris certaines choses ! Pour plus d'informations sur ce sujet, n'hésitez pas à consulter le travail de Bruce Schneier (commencez par son blog), ainsi que le blog Lowering The Bar (et plus particulièrement sa catégorie @<< Homeland Insecurity @>>).^^";
		];
Object -> "Remerciements"
	with description [; style bold; print "^Homeland Security"; style roman; "^Un jeu par Hugo Labrande.^^Merci à :^^Graham Nelson, créateur de l'excellent système Inform 6.^JL Pontico pour les bibliothèques françaises.^^Khelwood, pour sa bibliothèque très utile @<< DMenus.h @>> utilisée ici pour les menus.^^Eriorg, Stormi et Auraes pour leurs transcripts et leurs tests, qui ont permis de débusquer de nombreux bugs.^^Bruce Schneier pour son travail sans répit de vulgarisation et d'alerte dans le domaine de la sécurité.^^Internet, et sa grande capacité à trouver des photos de tout et n'importe quoi, ce qui facilite grandement la tâche quand on veut décrire des lieux qui se situent à des milliers de kilomètres de soi. Je remercie également le site VisitAruba.com, qui est une mine d'informations.^^";];
Object -> "Licence"
	with description [; style bold;print "Licence Creative Commons by-nc-nd ^pour : @<< Homeland Security @>> ^par : Hugo Labrande";style roman; print "^^Paternité-Pas d'Utilisation Commerciale-Pas de Modification 2.0 France^"; print "^"; print "Vous êtes libres : de reproduire, distribuer et communiquer cette création au public, selon les conditions suivantes :^"; print "^"; print "@{2014} Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'@oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'@oeuvre). ^"; print "^"; print "@{2014} Pas d'Utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette création à des fins commerciales. ^"; print "^"; print "@{2014} Pas de Modification. Vous n'avez pas le droit de modifier, de transformer ou d'adapter cette création. ^"; print "^À chaque réutilisation ou distribution de cette création, vous devez faire apparaître clairement au public les conditions contractuelles de sa mise à disposition.^"; print "^"; print "Chacune de ces conditions peut être levée si vous obtenez l'autorisation du titulaire des droits sur cette @oeuvre.^"; print "Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs.^"; print "^"; print "Ce qui précède n'affecte en rien vos droits en tant qu'utilisateur (exceptions au droit d'auteur : copies réservées à l'usage privé du copiste, courtes citations, parodie...).^"; print "^"; print_ret "http://creativecommons.org/licenses/by-nc-nd/2.0/fr/legalcode";];
Object -> "Retour"
	with description [; return 3;];


[ AideSub ;
	ShowMenu(aidemenu); rtrue;
];

[ FranchirSub;
	"Vous ne pouvez pas franchir ceci.";
];

[ DegraferSub;
	"Il ne s'agit pas de quelque chose que vous pouvez dégrafer.";
];

[ JouerSub ;
	if (noun == 0) {"Vous avez passé l'âge de jouer avec votre ami imaginaire.";}
	else {"Vous ne voyez pas comment jouer avec ceci.";}
];

[ VomirSub ;
	"En fait, là, maintenant, ça va, vous n'en ressentez pas vraiment le besoin.";
];

[ DanserSub ;
	"Vous préférez éviter @{2014} vous êtes un très mauvais danseur.";
];

[ RetournerSub ;
	"Vous ne voyez pas ce que ça accomplirait.";
];

[ RenverserSub ;
	"Vous ne pouvez pas renverser cela.";
];

[ PoserSub ;
	<<Drop noun>>;
];

[ SleepSub;
	"Vous ne pouvez pas ! Et si vous ratiez le vol pour Atlanta ?";
];

[ LaverSoiSub;
	"Vous vous sentez assez propre comme ça.";
];

[ LaverSub;
	if (noun == self) {<<LaverSoi>>;}
	else {print_ret (The) noun, " ", (isorarenot) noun, " sale", (s) noun, ".";}
];

[ RireSub;
	"Vous ne trouvez pas la situation particulièrement drôle.";
];


!============================================================
! Grammaire

Include "FrenchG";
Include "FrenchGAugmented";


Verb meta 'aide' 'sos' 'help' 'info' 'licence' 'license' 'auteur' 'menu' 'informations' 'information' 'remerciements'
*		->Aide;

Verb 'franchir'
* noun		-> Franchir;

Verb 'degrafer'
* noun		-> Degrafer;

Verb 'jouer'
*		-> Jouer
* noun		-> Jouer
* 'a' noun	-> Jouer
* 'au' noun	-> Jouer
* 'aux' noun	-> Jouer;

Verb 'vomir' 'degueuler' 'purger' 'gerber' 'degobiller'
*		-> Vomir;

Verb 'danser'
*		-> Danser
* 'le' topic	-> Danser
* 'la' topic	-> Danser
* 'l^' topic	-> Danser
* 'avec' topic	-> Danser;

Verb 'renverser'
* noun		-> Renverser;

Extend 'poser' first
* multiheld			-> Poser
* multiheld  'par' 'terre'	-> Poser;

Verb 'retourner'
* noun		-> Retourner;

Verb 'laver'
* 'vous'/'mains'/'visage'/'face'/'figure'/'frimousse'	-> LaverSoi	! se laver
* 'vous' 'les' 'mains'	-> LaverSoi
* 'vous' 'le'/'la' 'visage'/'face'/'figure'/'frimousse'	-> LaverSoi
* 'mes' 'mains'	-> LaverSoi
* 'vous' 'mains'/'visage'/'face'/'figure'/'frimousse' -> LaverSoi
* noun		-> Laver;

Verb 'rire'
*		->Rire;


!==========================================
! Verbes pour l'ordinateur


Verb 'retoucher'
* noun		-> Retouche;

Verb 'modifier'
* noun		-> Modifier;

Verb 'imprimer'
* noun		-> Imprim;

Extend 'aller' first
* 'sur' 'Internet'		-> Internet;

Extend 'lancer'
* 'Internet'/'internet'		-> Internet
* 'navigateur'			-> Internet
* 'navigateur' 'internet'/'Internet'	-> Internet
* 'chrome'/'firefox'/'IE'/'explorer'	-> Internet
* 'internet'/'Internet' 'explorer' 	-> Internet
* 'logiciel'			-> Logiciel
* 'logiciel' 'retouche'/'retouches' 'image'/'images'	-> Logiciel
* 'paint'/'gimp'/'picasa'/'photoshop'			-> Logiciel;
Extend 'demarrer'
* 'Internet'/'internet'		-> Internet
* 'navigateur'			-> Internet
* 'navigateur' 'internet'/'Internet'	-> Internet
* 'chrome'/'firefox'/'IE'/'explorer'	-> Internet
* 'internet'/'Internet' 'explorer' 	-> Internet
* 'logiciel'			-> Logiciel
* 'logiciel' 'retouche'/'retouches' 'image'/'images'	-> Logiciel
* 'paint'/'gimp'/'picasa'/'photoshop'			-> Logiciel;

Extend 'acheter'
! Hack sordide pour "acheter une session sur l'ordi"
* 'du' 'temps' 'Internet'/'internet'				-> OrdiOn
* 'temps' 'Internet'/'internet'					-> OrdiOn
* 'du' 'temps' 'sur' 'Internet'/'internet' 			-> OrdiOn
* 'une' 'session' 'Internet'/'internet'				-> OrdiOn
* 'session' 'Internet'/'internet'				-> OrdiOn
* 'Internet'/'internet'						-> OrdiOn
* 'de' 'l^' 'Internet'/'internet'				-> OrdiOn
* 'accès'/'acces' 'a'/'à' 'Internet'/'internet'			-> OrdiOn
! Hack sordide pour faire marcher "acheter billet sur Internet" ou "acheter billet sur ordinateur"
* 'siege'/'place'/'ticket'/'billet'/'billets'			-> AchatBillet
* 'siege'/'place'/'ticket'/'billet'/'billets' 'sur' 'Internet' 	-> AchatBillet
* 'siege'/'place'/'ticket'/'billet'/'billets' noun		-> AchatBilletOrdi
* 'siege'/'place'/'ticket'/'billet'/'billets' 'sur' noun	-> AchatBilletOrdi
* 'un'/'une' 'siege'/'place'/'ticket'/'billet'/'billets'			-> AchatBillet
* 'un'/'une' 'siege'/'place'/'ticket'/'billet'/'billets' 'sur' 'Internet' 	-> AchatBillet
* 'un'/'une' 'siege'/'place'/'ticket'/'billet'/'billets' noun			-> AchatBilletOrdi
* 'un'/'une' 'siege'/'place'/'ticket'/'billet'/'billets' 'sur' noun		-> AchatBilletOrdi;

Extend 'ouvrir'
! Hack sordide pour "ouvrir une session Internet"
* 'session' 'Internet'/'internet'		->OrdiOn
* 'une' 'session'				->OrdiOn
* 'une' 'session' 'Internet'/'internet'		->OrdiOn;