textworld/generator/inform7/world2inform7.py [754:824]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        source += textwrap.dedent("""\
        Before going through a closed door (called the blocking door):
            say "You have to open the [blocking door] first.";
            stop.

        Before opening a locked door (called the locked door):
            let X be the matching key of the locked door;
            if X is nothing:
                say "The [locked door] is welded shut.";
            otherwise:
                say "You have to unlock the [locked door] with the [X] first.";
            stop.

        Before opening a locked container (called the locked container):
            let X be the matching key of the locked container;
            if X is nothing:
                say "The [locked container] is welded shut.";
            otherwise:
                say "You have to unlock the [locked container] with the [X] first.";
            stop.

        """)

        # Add new actions.
        source += textwrap.dedent("""\
        Displaying help message is an action applying to nothing.
        Carry out displaying help message:
            say "[fixed letter spacing]Available commands:[line break]";
            say "  look:                describe the current room[line break]";
            say "  goal:                print the goal of this game[line break]";
            say "  inventory:           print player's inventory[line break]";
            say "  go <dir>:            move the player north, east, south or west[line break]";
            say "  examine ...:         examine something more closely[line break]";
            say "  eat ...:             eat edible food[line break]";
            say "  open ...:            open a door or a container[line break]";
            say "  close ...:           close a door or a container[line break]";
            say "  drop ...:            drop an object on the floor[line break]";
            say "  take ...:            take an object that is on the floor[line break]";
            say "  put ... on ...:      place an object on a supporter[line break]";
            say "  take ... from ...:   take an object from a container or a supporter[line break]";
            say "  insert ... into ...: place an object into a container[line break]";
            say "  lock ... with ...:   lock a door or a container with a key[line break]";
            say "  unlock ... with ...: unlock a door or a container with a key[line break]";

        Understand "help" as displaying help message.

        """)

        # Disable take/get all.
        source += textwrap.dedent("""\
            Taking all is an action applying to nothing.
            Check taking all:
                say "You have to be more specific!";
                rule fails.

            Understand "take all" as taking all.
            Understand "get all" as taking all.
            Understand "pick up all" as taking all.

            Understand "take each" as taking all.
            Understand "get each" as taking all.
            Understand "pick up each" as taking all.

            Understand "take everything" as taking all.
            Understand "get everything" as taking all.
            Understand "pick up everything" as taking all.

        """)

        # Special command to issue "look" command at every step.
        source += textwrap.dedent("""\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



textworld/generator/inform7/world2inform7.py [866:909]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        source += textwrap.dedent("""\
        The extra moves command option is a truth state that varies.
        The extra moves command option is usually false.

        Turning on the extra moves command option is an action applying to nothing.
        Carry out turning on the extra moves command option:
            Decrease turn count by 1;  [Internal framework commands shouldn't count as a turn.]
            Now the extra moves command option is true.

        Understand "tw-extra-infos moves" as turning on the extra moves command option.

        """)

        # Tracing actions.
        source += textwrap.dedent("""\
            To trace the actions:
                (- trace_actions = 1; -).

            Tracing the actions is an action applying to nothing.
            Carry out tracing the actions:
                Decrease turn count by 1;  [Internal framework commands shouldn't count as a turn.]
                trace the actions;

            Understand "tw-trace-actions" as tracing the actions.

        """)

        # Special command to restrict possible actions.
        source += textwrap.dedent("""\
        The restrict commands option is a truth state that varies.
        The restrict commands option is usually false.

        Turning on the restrict commands option is an action applying to nothing.
        Carry out turning on the restrict commands option:
            Decrease turn count by 1;  [Internal framework commands shouldn't count as a turn.]
            Now the restrict commands option is true.

        Understand "restrict commands" as turning on the restrict commands option.

        """)

        # If "restrict commands" mode is on, force the player to mention where to
        # take the object from.
        source += textwrap.dedent("""\
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



