Damnatio Memoriae

An interactive fiction by Emily Short (2008) - the Inform 7 source text

Home page

Contents
Previous
Next

Complete text
Book 4 - Checking Validity

Chapter 1 - The Link Check Rules

Before labor:
    consider the link check rules;
    if result of the rule is "blank"
    begin;
        stop the action;
    otherwise;
        if unlinking, continue the action;
        if reverse linking the noun to something which is affected by the noun
        begin;
            clear connections to the noun;
            clear connections to the second noun;
            say "(building on the existing connection)[line break]";
            continue the action;
        end if;
        if the noun affects something or something affects the noun
        begin;
            say "(first unlinking [the noun])[line break]";
            clear connections to the noun;
        end if;
        if the second noun affects something or something affects the second noun
        begin;
            say "(first unlinking [the second noun])[line break]";
            clear connections to the second noun;
        end if;
    end if.

    
The link check rules are a rulebook.

A link check rule:
    if reverse linking
    begin;
        if the noun is a person and the second noun is not a person, make no decision;
        if the second noun is a person and the noun is not a person, make no decision;
    end if;
    if the noun resembles the second noun or the second noun resembles the noun, rule succeeds with result "The inherent likeness of the two comes to your aid.".
    
A link check rule:
    if the noun is the second noun
    begin;
        say "There's no point linking something to itself.";
        rule fails with result "blank";
    end if.

A link check rule:
    if the noun is a person or the second noun is a person
    begin;
        if the noun is a person and the second noun is a person, rule succeeds with result "You have always been good at people...";
        if noun is not a person, say "This would work better if [the noun] were a person.";
        otherwise say "This would work better if [the second noun] were a person.";
        rule fails with result "blank";
    end if.
    
A link check rule:
    if the noun is inscribed and the second noun is inscribed
    begin;
        rule succeeds with result "The similarity of content makes this one easy...";
    end if.
    
A link check rule:
    if the noun is a container and the second noun is a container, rule succeeds with result "Both are container-shaped, which makes this simple.";
    if the noun is a supporter and the second noun is a supporter, rule succeeds with result "Both are supporters, which makes this easy.";
    if the noun is a paper and the second noun is a paper, rule succeeds with result "Both are papyrus, which simplifies matters.";
    if the noun is a book and the second noun is a book, rule succeeds with result "The linking of books is so familiar to you as to be second nature.".

The last link check rule:
    say "[The noun] is insufficiently similar to [the second noun] for the two to be linked.";
    rule fails with result "blank".