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
Introduction & Winning
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: 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: Dynamic
- Initial position: Street
- Description: Spacesuits are wonderful things, but they make EVERYONE look fat.
- 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: 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: 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.
- Repeatable task
smell sewage
- What the user must type: [smell/sniff] {the/some} sewage
- Message upon completion: It reeks.
- Task can be completed in: Sewer
- Restrictions:
- 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: All rooms
- Restrictions:
- 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: All rooms
- Restrictions:
- Repeatable task