Part - Les danseurs
dancers_dancing is a scene.
dancers_dancing begins when play begins.
dancers_dancing ends anyway when dancers_dancing is stopped.
when dancers_dancing begins:
if testing is true:
say as player_information "dancers_dancing begins";
when dancers_dancing ends:
if testing is true:
say as player_information "dancers_dancing ends";
when dancers_dancing begins:
let dancer_counter be 0;
repeat with dancer running through new_dancer:
now dancer is agitated;
increase dancer_counter by 1;
now the maximum score is dancer_counter;
make_dancers_moving;
to make_dancers_moving:
if player is not in bacchantes_grove:
announce_dancers_going_on;
announce_dancers_escaping;
make_dancers_going_on;
make_dancers_escaping;
if player is not in bacchantes_grove:
announce_dancers_arrived;
to make_dancers_going_on:
repeat with dancer running through new_dancer:
if dancer is agitated and dancer is not in bacchantes_grove:
let way be the best route from the location of dancer to bacchantes_grove, using doors;
if way is not nothing:
try dancer going way;
else if dancer is agitated and dancer is in bacchantes_grove:
now dancer is not agitated;
now dancer is captured;
else if dancer is hypnotized:
do nothing;
to announce_dancers_going_on:
let near_dancers be a list of new_dancer;
repeat with D running through new_dancer:
if D is agitated and the location of D is the location of player:
add D to near_dancers;
if number of entries in near_dancers is not 0:
mark_a_pause;
if number of entries in near_dancers > 1:
say as npc_action "Les danseurs qui sont là ont un soudain changement d'attitude. Plutôt que de continuer à tourner en rond dans la place où ils se trouvaient, voilà que leurs chorégraphies s'exécutent avec encore plus de véhémence, et que ces pas les entraînent à disparaître hors de votre vision.";
else:
say as npc_action "Le danseur qui est là a un soudain changement d'attitude. Plutôt que de continuer à tourner en rond dans la place où il se trouvait, voilà que sa chorégraphie s'exécute avec encore plus de véhémence, et que ces pas l'entraînent à disparaître hors de votre vision.";
to announce_dancers_arrived:
let near_dancers be a list of new_dancer;
repeat with D running through new_dancer:
if D is agitated and the location of D is the location of player:
add D to near_dancers;
if number of entries in near_dancers is not 0:
mark_a_pause;
if number of entries in near_dancers > 1:
say as npc_action "Ensuite, c'est à des danseurs de débouler ici, et ceux-là ont décidé que ce lieu devait découvrir la façon bien à eux qu'ils ont de se mouvoir.";
else:
say as npc_action "Ensuite, c'est à un danseur de débouler ici, et celui-là a décidé que ce lieu devait découvrir la façon qu'il a bien à lui de se mouvoir.";
to announce_dancers_escaping:
let near_dancers be a list of new_dancer;
repeat with D running through new_dancer:
if D is hypnotized and the location of D is the location of player:
add D to near_dancers;
if number of entries in near_dancers is not 0:
mark_a_pause;
if number of entries in near_dancers > 1:
say as npc_action "Au même moment, ces danseurs pour qui vous aviez dépensé tant d'effort afin qu'ils acceptent de vous suivre reprennent leur chorégraphie première, comme s'il ne s'était rien passé depuis pour eux.";
say as npc_action "Aussi, vous ne pouvez rien faire pour les empêcher de disparaître encore dans la nature.";
else:
say as npc_action "Au même moment, ce danseur pour qui vous aviez dépensé tant d'effort afin qu'il accepte de vous suivre reprend sa chorégraphie première, comme s'il ne s'était rien passé depuis pour lui.";
say as npc_action "Aussi, vous ne pouvez rien faire pour l'empêcher de disparaître encore dans la nature.";
to make_dancers_escaping:
let near_dancers be a list of new_dancer;
repeat with D running through new_dancer:
if D is hypnotized and the location of D is the location of player:
add D to near_dancers;
if number of entries in near_dancers is not 0:
repeat with one_dancer running through near_dancers:
let dancer_location be location of one_dancer;
let random_room be a random room which is adjacent to dancer_location;
now one_dancer is not hypnotized;
now one_dancer is agitated;
move one_dancer to random_room;
to make_dancer_brought_back (dancer - new_dancer):
now dancer is not hypnotized;
now dancer is brought_back;
increase the score by 1;
instead dancing:
say as player_information "Nul besoin d'étudier sur vous-même les effets que ce mal peut produire chez quelqu'un, car, s'il vous prenait bel et bien, qui resterait là pour y remédier.";