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.
- a flower must be visible to Player else display
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