"Robo Town" by NN

Use American dialect and the serial comma.

[* Reading taken from The Trouble with Printing]

A thing has some text called printing. The printing of a thing is usually "blank".

Understand the command "read" as something new. Understand "read [something]" as reading. Reading is an action applying to one thing, requiring light. Check reading: if the printing of the noun is "blank", say "Nothing is written on [the noun]." instead.

Carry out reading:

if the noun is not a chip:

say "You read: [paragraph break][printing of the noun][line break]";

otherwise:

say "You read: [paragraph break][programming of the noun][line break]".

Report reading: do nothing.

Robotics Repair Manual is a thing carried by the player. The description of the Robotics Repair Manual is "The Robotics Repair Manual by Systologics. Covers the basics of using and repairing robots for field agents.". Understand "manual" as the Robotics Repair Manual. The printing of the Robotics Repair Manual is "'The field of robotics has been vastly simplified. All robots now function by loading data from a chip; this chip can be used to load programming and behavior upon the robot it is inserted in. Simply give a robot a chip (making sure to remove the previous chip first) and tell it to reboot itself, and then it will load the programming and the chip may be removed. This allows multiple robots to have the same programming loaded from a single chip. However, not each robot reacts the same to the same programming due to...' [line break] The rest goes on about more advanced subjects than your level of comprehension.".

Chapter 1 - Robotics

Section 1 - Robotic Specifications

A robot is kind of person. [* Debatable, but good enough of a definition for now] A robot has some text called the programming. A chip is a kind of thing. A chip has some text called the programming. The programming of a robot is usually "NULL". The programming of a chip is usually "NULL".

Definition: a robot is blank if its programming is "NULL".

Definition: a chip is blank if its programming is "NULL".

When play begins:

repeat with R running through robots:

if R is wearing a chip (called C):

now the programming of R is the programming of C.

Resetting is an action applying to nothing. Understand "reset" as resetting. Understand "reboot" as resetting. Understand "reload" as resetting.

Check someone resetting (this is the only robots can reset rule):

if the person asked is not a robot, stop the action.

Carry out someone (called R) resetting:

if R wears a chip (called C):

Now the programming of R is the programming of C;

otherwise:

Now the programming of R is "NULL";

if R is visible:

say "[R] reboots and loads their new programming.".

Check resetting: say "You're a human!" instead.

Persuasion rule for asking robots to try resetting: persuasion succeeds.

After asking robots to try resetting: try looking.

Section 2 - Robot Possessions

The new can't take people's possessions rule is listed instead of the can't take people's possessions rule in the check taking rulebook.

This is the new can't take people's possessions rule:

if the noun is a chip and the holder of the noun is a robot:

say "[The holder of the noun] opens up its chip tray. You take [the noun].";

continue the action;

else:

abide by the can't take people's possessions rule.

Before giving a chip to a robot:

if the holder of the noun wears a chip (called C):

say "(first removing the old chip) ";

try taking C.

The robot-compatible giving rule is listed instead of the block giving rule in the check giving it to rulebook.

This is the robot-compatible giving rule:

if giving a chip to a robot:

continue the action;

otherwise:

abide by the block giving rule.

Before giving a chip to a robot:

if the second noun is wearing a chip, say "[The second noun] already has a programming chip." instead.

After giving a chip to a robot:

say "[The second noun] is now ready to load [the noun]'s programming.";

now the second noun wears the noun.

Section 3 - Chip Microcode

Table 1.1 - Robot Microcode

Name Mayor Code Nacho Code Broken Code

"PUP" "waving mayorally" "emitting nacho smells" "sparking"

"CAT" "twitching its whiskers bossily" "meowing the word 'NACHO'" "sparking felinely"

"RED" "experiencing an incompatibility issue" "experiencing an incompatibility issue" "functioning aggressively"

After looking:

if the number of visible blank robots is greater than one:

say "The following robots are idling: [list of visible blank robots].";

otherwise if the number of visible blank robots is one:

say "[List of visible blank robots] is idling.";

repeat with robot running through visible robots:

if the robot is not blank:

say "[The robot] is [no line break]";

choose row with a name of the printed name of Robot in the Table of Robot Microcode;

if the programming of the robot matches the text "Mayor Code":

say "[the mayor code entry][no line break]";

if the programming of the robot matches the text "Nacho Code":

say "[the nacho code entry][no line break]";

if the programming of the robot matches the text "Broken Code":

say "[the broken code entry][no line break]";

say ".".

After PUP resetting:

if the programming of PUP matches the text "Mayor Code":

if the programming of CAT matches the text "Nacho Code":

say "PUP yells 'Nachos are prohibited!'[line break]CAT is dragged away.";

now CAT is off-stage.

Chapter 2 - The Town

The Town Center is a room.

PUP is a robot. PUP is in the town center. "A tiny four legged drone designated 'PUP' walks aimlessly in circles." A hat is a thing. PUP is wearing a hat. The mayor chip is a chip in the town center. "A golden chip glimmers expensively." The programming of the mayor chip is "Mayor Code". Understand "golden chip" as the Mayor chip.

CAT is a robot. CAT is in the town center. "A tiny four legged drone designated 'CAT' walks aimlessly in circles." RED is a robot. RED is in the town center. "A small, weird looking drone designated 'RED' spins."