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.]