Are you using “The Patrollers Extension” solely to get the advance warning? If so, then you could just do it without the extension, like so.
[spoiler][code]“Test”
Use no scoring, no deprecated features and full-length room descriptions.
Include Basic Screen Effects by Emily Short.
Section - Grid Test Code
The switch score notification on rule is not listed in the carry out switching score notification on rulebook.
The standard report switching score notification on rule is not listed in the report switching score notification on rulebook.
The switch score notification off rule is not listed in the carry out switching score notification off rulebook.
The standard report switching score notification off rule is not listed in the report switching score notification off rulebook.
Grid is a truth state that varies. Grid is false. Understand “grid” or “grid on” as switching score notification on. Understand “grid off” as switching score notification off.
Check switching score notification on (this is the standard check switch score notification on rule):
if grid is true, say “The grid is already on.” instead.
Check switching score notification off (this is the standard check switch score notification off rule):
if grid is false, say “The grid is already off.” instead.
Carry out switching score notification on (this is the standard carry out switch score notification on rule):
now grid is true.
Carry out switching score notification off (this is the standard carry out switch score notification off rule):
now grid is false.
Report switching score notification on (this is the standard report switch score notification on rule):
say “The grid is now on.”.
Report switching score notification off (this is the standard report switch score notification off rule):
say “The grid is now off.”.
To say (multiply - number) space/spaces:
repeat with value running from 1 to multiply begin;
say " ";
end repeat.
To say (chosen room - a room) status:
if the chosen room is the location of the player begin;
say red letters;
otherwise if the chosen room is the location of alpha beta;
say blue letters;
otherwise;
say black letters;
end if;
say “@”;
say default letters.
Every turn (this is the display grid rule):
if grid is true begin;
say fixed letter spacing;
say “[room 00 status][1 space][room 01 status][1 space][room 02 status][1 space][room 03 status][1 space][line break]”;
say “[room 04 status][1 space][room 05 status][1 space][room 06 status][1 space][room 07 status][1 space][line break]”;
say “[room 08 status][1 space][room 09 status][1 space][room 10 status][1 space][room 11 status][1 space][line break]”;
say “[room 12 status][1 space][room 13 status][1 space][room 14 status][1 space][room 15 status][1 space][line break]”;
say variable letter spacing;
end if.
The display grid rule is listed last in the every turn rulebook.
Section - NPC Movement Code
When play begins (this is the startup rule):
move the player to a random room, without printing a room description;
move alpha beta to a random room;
while the location of the player is the location of alpha beta begin;
move alpha beta to a random room;
end while.
Check an actor entering a room (this is the convert enter room into go rule):
let the way be the best route from the location of the actor to the noun;
try the actor going the way instead.
The convert enter room into go rule is listed first in the check entering rulebook.
The next room is a room that varies. Go count is a number that varies. Go count is zero.
Every turn (this is the NPC movement rule):
if go count is two begin;
now go count is zero;
try alpha beta entering the next room;
otherwise if go count is not zero;
increment go count;
otherwise if a random chance of 1 in 2 succeeds;
increment go count;
let the current room be the location of alpha beta;
now the next room is random room which is adjacent to the current room;
[say “[bracket]Current Room is - [the current room][close bracket][line break]”;
say “[bracket]Next Room is - [the next room][close bracket][line break]”;]
if the player is enclosed by the next room, say “There shall be others entering this room soon.”;
end if.
Alpha Beta is a person.
Room 00 is A Room. Room 01 is east of Room 00. Room 02 is east of Room 01. Room 03 is east of Room 02. Room 04 is south of Room 00 and southwest of Room 01. Room 05 is south of Room 01, southeast of Room 00, southwest of Room 02 and east of Room 04. Room 06 is south of Room 02, southeast of Room 01, southwest of Room 03 and east of Room 05. Room 07 is south of Room 03, southeast of Room 02 and east of Room 06. Room 08 is south of Room 04 and southwest of Room 05. Room 09 is south of Room 05, southeast of Room 04, southwest of Room 06 and east of Room 08. Room 10 is south of Room 06, southeast of Room 05, southwest of Room 07 and east of Room 09. Room 11 is south of Room 07, southeast of Room 06 and east of Room 10. Room 12 is south of Room 08 and southwest of Room 09. Room 13 is south of Room 09, southeast of Room 08, southwest of Room 10 and east of Room 12. Room 14 is south of Room 10, southeast of Room 09, southwest of Room 11 and east of Room 13. Room 15 is south of Room 11, southeast of Room 10 and east of Room 14.
Test me with “grid / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z / z”.[/code][/spoiler]
This will show a message when the NPC is about to enter the room that the player is in and allows two turns for the player to do something about it. This can be changed to more than two turns if needed.
Hope this helps.