Robin & Orchid — 42 of 88

Ryan Veeder & Emily Boegheim

Release 4

Section - Carry out rules

First carry out photographing (this is the create a new photo rule):

let the copy be a new object cloned from the prototype;

[if we ran out of memory and couldn't create a new photo:]

if the copy is nothing:

say "The camera clicks and whirrs but nothing happens. It looks like you must have run out of photo paper.";

stop the action;

otherwise:

now the new photo is the copy;

now the noun is shown by the new photo;

now the new photo is non-prototypical;

move the new photo to the player.

[Make sure the action description of a person photo is correct. By default, all photos will link to the same action description, which obviously isn't what we want. See the Dynamic Objects documentation, section 2.1, for details.]

After cloning a new object from a person photo:

fix the cloned action taken property;

fix the cloned action description property;

fix the cloned the-less action property.

[After cloning a new object from a container photo:

fix the cloned contents property.]

Carry out photographing a person with (this is the capturing a person's last action in a photo rule):

let the captured action be a stored action;

if the noun is the player:

now the captured action is the current action;

otherwise:

now the captured action is the last action of the noun;

make the new photo show someone performing the captured action.

[Carry out photographing it with when the prototype is the standard container photo (this is the capturing the contents of a container or supporter rule):

if the noun is a supporter:

now the contents of the new photo is the list of things on the noun;

otherwise:

now the contents of the new photo is the list of things in the noun.]