Smell restrictions (ADRIFT 4 example)

From IFWiki

This mostly works, but I'm unhappy with the brute force approach. I'm a total novice with ADRIFT, so there's probably a better way to do this. -- David Welbourn 11:42, 21 April 2008 (PDT)

Options

  • Adventure title: Smell Restrictions
  • Author: David Welbourn

Introduction & Winning

  • (checked) Display first room
  • Start the adventure in room: Street

Rooms

Street

  • Short room description: Street
  • Long room description: You are in a street. The sewer is below you.
  • Move Down to Sewer

Sewer

  • Short room description: Sewer
  • Long room description: You are in a sewer. The street is above you.
  • Move Up to Street

Objects

a flower

  • Object Prefix: a
  • Object Name: flower
  • Object Type: (selected) Dynamic
  • Initial position: Street
  • Description: It's just a nice flower. You don't know what type.

a spacesuit

  • Object Prefix: a
  • Object Name: spacesuit
  • Aliases: suit
  • Object type: (selected) Dynamic
  • Initial position: Street
  • Description: Spacesuits are wonderful things, but they make EVERYONE look fat.
  • (checked) Object is wearable

some sewage

Note: Making the sewage dynamic instead of static is a kludge, but it's necessary for writing task restrictions involving the sewage.

  • Object Prefix: some
  • Object Name: sewage
  • Object type: (selected) Dynamic
  • Initial position: Sewer
  • Description: Horrible smelly sewage is everywhere in the sewer.
  • [_] Do NOT list object in room descriptions
  • When the object is listed in the room description, display this: Sewage is everywhere.

Tasks

smell flower

  • What the user must type: [smell/sniff] {the/a} flower
  • Message upon completion: It smells wonderful.
  • Task can be completed in: (checked) All rooms
  • Restrictions:
    • a flower must be visible to Player else display You don't see that here. AND
    • a spacesuit must NOT be worn by Player else display You can't smell anything while wearing the spacesuit. AND
    • some sewage must NOT be visible to Player else display The disgusting reek of the sewage overwhelms your nose. You can't smell anything else.
  • (checked) Repeatable task

smell sewage

  • What the user must type: [smell/sniff] {the/some} sewage
  • Message upon completion: It reeks.
  • Task can be completed in: (checked) Sewer
  • Restrictions:
    • a spacesuit must NOT be worn by Player else display You can't smell anything while wearing the spacesuit.
  • (checked) Repeatable task

smell me

Note: The player isn't included as an "%object%", so it needs its own task.

  • What the user must type: [smell/sniff] [me/myself]
  • Message upon completion: You smell normal.
  • Task can be completed in: (checked) All rooms
  • Restrictions:
    • a spacesuit must NOT be worn by Player else display You can't smell anything while wearing the spacesuit. AND
    • some sewage must NOT be visible to Player else display The disgusting reek of the sewage overwhelms your nose. You can't smell anything else.
  • (checked) Repeatable task

smell anything else

  • What the user must type: [smell/sniff] {the/a} %object%
  • Message upon completion: That smells normal.
  • Task can be completed in: (checked) All rooms
  • Restrictions:
    • a spacesuit must NOT be worn by Player else display You can't smell anything while wearing the spacesuit. AND
    • some sewage must NOT be visible to Player else display The disgusting reek of the sewage overwhelms your nose. You can't smell anything else.
  • (checked) Repeatable task

take sewage

  • What the user must type: [take/get/pick up] {the/some} sewage
  • Message upon completion: You can't take the sewage!
  • Task can be completed in: (checked) Sewer
  • (checked) Repeatable task