Phrasebook

See below for lexicon of words used in descriptions 
And for table of verbs 

Saying
Values , Names with articles , Say if and otherwise , Say one of , Paragraph control , Special characters , Fonts and visual effects , Some built-in texts , Saying lists of things , Group in and omit from lists , Lists of values 

Values and data structures
Counting , Arithmetic , Truth states , Randomness , Changing stored values , Increase and decrease , Property provision , Tables , Sorting tables , Indexed text , Matching text , Replacing text , Casing of text , Lists , Length of lists , Reversing and rotating lists , Sorting lists , Use options , Relations 

Loops and conditionals
If and unless , While , Repeat , Repeat through tables , Repeat through lists , Changing the flow of loops , Deciding outcomes , Stop or go 

Actions, activities and rules
Trying actions , Action requirements , Stop or continue , Stored actions , Carrying out activities , Advanced activities , Following rules , Success and failure , Procedural manipulation 

Model world
Score , Outcome of play , Times of day , Durations , Timed events , Scenes , Timing of scenes , Player's identity and location , Moving and removing things , The map , Route-finding , The object tree 

Understanding
Asking yes/no questions , The player's command , Changing the player's command , Scope and pronouns , I6 parser errors 

Using external resources
Files , Figures and sound effects 

What are phrases? 


Not all of the phrases listed below have blue help icons, as many occur in clumps of similar phrases which share the same documentation. Try the nearest icon above.


Saying
Values

say (some text with substitutions
say "[a value of some sort]"
say "[a number in words]" 
say "[a time in words]"
say "[s]" 

Names with articles
say "[a the name of an object]" 
say "[an the name of an object]" 
say "[A the name of an object]"
say "[An the name of an object]"
say "[the the name of an object]"
say "[The the name of an object]"

Say if and otherwise
say "[if a condition]" 
say "[unless a condition]"
say "[end if]"
say "[end unless]"
say "[otherwise/else if a condition]"
say "[otherwise/else unless a condition]"
say "[otherwise]"
say "[else]"

Say one of
say "[one of]" 
say "[or]"
say "[purely at random]"
say "[at random]"
say "[sticky random]"
say "[as decreasingly likely outcomes]"
say "[in random order]"
say "[cycling]"
say "[stopping]"

Paragraph control
say "[line break]" 
say "[no line break]"
say "[conditional paragraph break]"
say "[command clarification break]"
say "[paragraph break]"
say "[run paragraph on]"
say "[run paragraph on with special look spacing]"
if a paragraph break is pending ...

Special characters
say "[bracket]"
say "[close bracket]"
say "[apostrophe/']"
say "[quotation mark]"

Fonts and visual effects
say "[bold type]" 
say "[italic type]"
say "[roman type]"
say "[fixed letter spacing]"
say "[variable letter spacing]"
display the boxed quotation (some formatted text without substitutions

Some built-in texts
say "[the/-- banner text]" 
say "[the/-- list of extension credits]" 
say "[the/-- complete list of extension credits]"
say "[the/-- player's surroundings]" 

Saying lists of things
list the contents of (the name of an object
    optionally with newlines,
    indented,
    giving inventory information,
    as a sentence,
    including contents,
    including all contents,
    tersely,
    giving brief inventory information,
    using the definite article,
    listing marked items only,
    prefacing with is/are,
    not listing concealed items,
    suppressing all articles,
    and/or with extra indentation
say "[contents of the name of an object]"
say "[the contents of the name of an object]"
say "[a list of a description]"
say "[A list of a description]"
say "[list of a description]"
say "[the list of a description]"
say "[The list of a description]"
say "[is-are a list of a description]"
say "[is-are list of a description]"
say "[is-are the list of a description]"
say "[a list of a description including contents]"

Group in and omit from lists
group (a description) together 
group (a description) together giving articles
group (a description) together as (some text)
omit contents in listing 

Lists of values
say "[a list of values in brace notation]" 
say "[a list of objects with definite articles]"
say "[a list of objects with indefinite articles]"


Values and data structures
Counting

number of (a description) ... a number 

Arithmetic
(a number) + (a number) ... a number 
(a number) - (a number) ... a number
(a number) * (a number) ... a number
(a number) / (a number) ... a number
(a number) plus (a number) ... a number
(a number) minus (a number) ... a number
(a number) times (a number) ... a number
(a number) multiplied by (a number) ... a number
(a number) divided by (a number) ... a number
remainder after dividing (a number) by (a number) ... a number
total (a property of something) of (a description) ... a number 

Truth states
whether or not (a condition) ... something which is either true or false 

Randomness
a/-- random (a description) ... the name of an object 
a random number from (a number) to (a number) ... a number 
a random number between (a number) and (a number) ... a number
if a random chance of (a number) in (a number) succeeds ...
seed the random-number generator with (a number)

Changing stored values
now (a condition
let (a temporary 'let' or 'repeat' variable) be (a value of some sort)
change (a property belonging to something) to (a value of some sort
change (a non-temporary variable) to (a value of some sort
change (a table entry) to (a value of some sort)
change (a list entry) to (a value of some sort)
change (the name of an object) to (a property of something
change (the name of an object) to (a value)
change (a temporary 'let' or 'repeat' variable) to (a value of some sort)

Increase and decrease
increase/increment (a property belonging to something) by (a value
increase/increment (a non-temporary variable) by (a value)
increase/increment (a temporary 'let' or 'repeat' variable) by (a value)
increase/increment (a table entry) by (a value)
decrease/decrement (a property belonging to something) by (a value)
decrease/decrement (a non-temporary variable) by (a value)
decrease/decrement (a temporary 'let' or 'repeat' variable) by (a value)
decrease/decrement (a table entry) by (a value)

Property provision
if (the name of an object) provides the property (a property of something) ...
if (the name of an object) does not provide the property (a property of something) ...

Tables
number of rows in/from (the name of a table) ... a number 
number of blank rows in/from (the name of a table) ... a number 
number of filled rows in/from (the name of a table) ... a number
if there is (a table entry) ... 
if there is no (a table entry) ...
delete (a table entry
blank out the whole row 
choose a/the/-- row (a number) in/from (the name of a table
choose a/the/-- row with (the name of a column) of (a value) in/from (the name of a table)
choose a/the/-- blank row in/from (the name of a table)
choose a/the/-- random row in/from (the name of a table)

Sorting tables
sort (the name of a table) in random order 
sort (the name of a table) in (the name of a column) order
sort (the name of a table) in reverse (the name of a column) order

Indexed text
number of characters in (an indexed text) ... a number 
character number (a number) in (an indexed text) ... an indexed text
replace character number (a number) in (an indexed text) with (an indexed text)
number of words in (an indexed text) ... a number
word number (a number) in (an indexed text) ... an indexed text
replace word number (a number) in (an indexed text) with (an indexed text)
number of punctuated words in (an indexed text) ... a number
punctuated word number (a number) in (an indexed text) ... an indexed text
replace punctuated word number (a number) in (an indexed text) with (an indexed text)
number of unpunctuated words in (an indexed text) ... a number
unpunctuated word number (a number) in (an indexed text) ... an indexed text
replace unpunctuated word number (a number) in (an indexed text) with (an indexed text)
number of lines in (an indexed text) ... a number
line number (a number) in (an indexed text) ... an indexed text
replace line number (a number) in (an indexed text) with (an indexed text)
number of paragraphs in (an indexed text) ... a number
paragraph number (a number) in (an indexed text) ... an indexed text
replace paragraph number (a number) in (an indexed text) with (an indexed text)

Matching text
if (an indexed text) exactly matches the text (an indexed text) ... 
    optionally case insensitively
if (an indexed text) matches the text (an indexed text) ...
    optionally case insensitively
number of times (an indexed text) matches the text (an indexed text) ... a number
    optionally case insensitively
if (an indexed text) exactly matches the regular expression (an indexed text) ... 
    optionally case insensitively
if (an indexed text) matches the regular expression (an indexed text) ...
    optionally case insensitively
number of times (an indexed text) matches the regular expression (an indexed text) ... a number
    optionally case insensitively
text matching regular expression ... an indexed text
text matching subexpression (a number) ... an indexed text

Replacing text
replace the text (an indexed text) in (an indexed text) with (an indexed text
    optionally case insensitively
replace the regular expression (an indexed text) in (an indexed text) with (an indexed text)
    optionally case insensitively
replace the word (an indexed text) in (an indexed text) with (an indexed text)
replace the punctuated word (an indexed text) in (an indexed text) with (an indexed text)

Casing of text
(an indexed text) in lower case ... an indexed text 
(an indexed text) in upper case ... an indexed text
(an indexed text) in title case ... an indexed text
(an indexed text) in sentence case ... an indexed text
if (an indexed text) is in lower case ...
if (an indexed text) is in upper case ...

Lists
add (a value) to (a list of values
    optionally if absent
add (a value) at entry (a number) in (a list of values)
add (a list of values) to (a list of values)
    optionally if absent
add (a list of values) at entry (a number) in (a list of values)
remove (a value) from (a list of values
    optionally if present
remove (a list of values) from (a list of values)
    optionally if present
remove entry (a number) from (a list of values)
    optionally if present
remove entries (a number) to (a number) from (a list of values)
    optionally if present
if (a value) is listed in (a list of values) ... 
if (a value) is not listed in (a list of values) ...
list of (a description) ... a list of 
multiple object list ... a list of 
alter the multiple object list to (a list of objects)

Length of lists
number of entries in/of (a list of values) ... a number 
truncate (a list of values) to (a number) entries 
truncate (a list of values) to the first (a number) entries
truncate (a list of values) to the last (a number) entries
extend (a list of values) to (a number) entries
change (a list of values) to have (a number) entries

Reversing and rotating lists
reverse (a list of values
rotate (a list of values
rotate (a list of values) backwards

Sorting lists
sort (a list of values
sort (a list of values) in reverse order
sort (a list of values) in random order
sort (a list of objects) in (a property of something) order
sort (a list of objects) in reverse (a property of something) order

Use options
if using the/-- (the name of a use option) ... 

Relations
next step via (a relation) from (the name of an object) to (the name of an object) ... the name of an object 
number of steps via (a relation) from (the name of an object) to (the name of an object) ... a number


Loops and conditionals
If and unless

if (a condition) then (an instruction to do something
if (a condition) , (an instruction to do something)
unless (a condition) , (an instruction to do something)
otherwise if (a condition)
else if (a condition)
otherwise unless (a condition)
else unless (a condition)
otherwise (an instruction to do something
else (an instruction to do something
if (a condition) begin; ...; end if
unless (a condition) begin; ...; end unless
if (a simple value of some sort) is begin; ...; end if

While
while (a condition) repeatedly (an instruction to do something
while (a condition) , (an instruction to do something)
while (a condition) begin; ...; end while

Repeat
repeat with (a name not so far used) running from (a number) to (a number) begin; ...; end repeat 
repeat with (a name not so far used) running through (a description) begin; ...; end repeat 

Repeat through tables
repeat through (the name of a table) begin; ...; end repeat 
repeat through (the name of a table) in reverse order begin; ...; end repeat
repeat through (the name of a table) in (the name of a column) order begin; ...; end repeat
repeat through (the name of a table) in reverse (the name of a column) order begin; ...; end repeat

Repeat through lists
repeat with (a name not so far used) running through (a list of values) begin; ...; end repeat

Changing the flow of loops
break 
next 

Deciding outcomes
yes 
decide yes
no
decide no
decide on (a value

Stop or go
do nothing 
stop 


Actions, activities and rules
Trying actions

try (an instruction to do something
silently try (an instruction to do something)
try silently (an instruction to do something)

Action requirements
if action requires a touchable noun ... 
if action requires a touchable second noun ...
if action requires a carried noun ...
if action requires a carried second noun ...
if action requires light ...

Stop or continue
stop the action 
continue the action

Stored actions
current action ... a stored action 
action of (an instruction to do something) ... a stored action
try (a stored action)
silently try (a stored action)
try silently (a stored action)
if (a stored action) involves (the name of an object) ... 
action-name part of (a stored action) ... an action name
noun part of (a stored action) ... the name of an object
second noun part of (a stored action) ... the name of an object
actor part of (a stored action) ... the name of an object

Carrying out activities
carry out the (an activity) activity 
carry out the (an activity) activity with (the name of an object)
if (an activity) activity is going on ... 
if (an activity) activity is not going on ...
if (an activity) activity is empty ...
if (an activity) activity is not empty ...
continue the activity

Advanced activities
begin the (an activity) activity 
begin the (an activity) activity with (the name of an object)
if handling (an activity) activity ...
if handling (an activity) activity with (the name of an object) ...
end the (an activity) activity
end the (an activity) activity with (the name of an object)
abandon the (an activity) activity
abandon the (an activity) activity with (the name of an object)

Following rules
follow (the name of a rule
follow (the name of a rule) for (the name of an object)
consider (the name of a rule
consider (the name of a rule) for (the name of an object)
abide by (the name of a rule
abide by (the name of a rule) for (the name of an object)
anonymously abide by (the name of a rule)
anonymously abide by (the name of a rule) for (the name of an object)

Success and failure
make no decision
rule succeeds 
rule fails
rule succeeds with result (some text or the name of a room, thing or rule)
rule fails with result (some text or the name of a room, thing or rule)
if rule succeeded ...
if rule succeeded with result (some text or the name of a room, thing or rule) ...
if rule failed ...
if rule failed with result (some text or the name of a room, thing or rule) ...
result of the rule ... some text or the name of a room, thing or rule 
outcome of the rulebook ... the name of a rulebook outcome 

Procedural manipulation
ignore (the name of a rule
reinstate (the name of a rule)
reject the result of (the name of a rule)
accept the result of (the name of a rule)
substitute (the name of a rule) for (the name of a rule)
restore the original (the name of a rule)
move (the name of a rule) to before (the name of a rule)
move (the name of a rule) to after (the name of a rule)


Model world
Score

award (a number) point/points 

Outcome of play
end the game in death 
end the game in victory
end the game saying (some text)
resume the game
if game is in progress ...
if game is over ...
if game ended in death ...
if game ended in victory ...

Times of day
(a time) to the nearest (a time) ... a time 
minutes part of (a time) ... a number 
hours part of (a time) ... a number
if (a time) is before (a time) ... 
if (a time) is after (a time) ...
if it is before (a time) ...
if it is after (a time) ...
(a time) before (a time) ... a time 
(a time) after (a time) ... a time

Durations
(a number) minutes ... a time 
(a number) hours ... a time

Timed events
(the name of a rule) in (a number) turn from now 
(the name of a rule) in (a number) turns from now
(the name of a rule) at (a time)
(the name of a rule) in (a time) from now

Scenes
if (the name of a scene) is happening ... 
if (the name of a scene) is not happening ...
if (the name of a scene) has happened ...
if (the name of a scene) has not happened ...
if (the name of a scene) has ended ...
if (the name of a scene) has not ended ...

Timing of scenes
time since (the name of a scene) began ... a time 
time when (the name of a scene) began ... a time
time since (the name of a scene) ended ... a time
time when (the name of a scene) ended ... a time

Player's identity and location
change the/-- player to (the name of an object
if in (the name of an object) ...
if in darkness ... 

Moving and removing things
move (the name of an object) to (the name of an object
    optionally without printing a room description,
    or printing an abbreviated room description
remove (the name of an object) from play 
move (the name of an object) backdrop to all (a description
update backdrop positions 

The map
location of (the name of an object) ... room 
room (an object matching a description) from (an object matching a description) ... room 
other side of (an object matching a description) from (an object matching a description) ... the name of an object
direction of (an object matching a description) from (an object matching a description) ... the name of an object
room-or-door (an object matching a description) from (an object matching a description) ... the name of an object
change (an object matching a description) exit of (an object matching a description) to (an object matching a description
change (an object matching a description) exit of (an object matching a description) to nothing/nowhere
front side of (the name of an object) ... room 
back side of (the name of an object) ... room

Route-finding
best route from (the name of an object) to (the name of an object) ... the name of an object 
    optionally using doors,
    or using even locked doors
number of moves from (the name of an object) to (the name of an object) ... a number
    optionally using doors,
    or using even locked doors
best route from (the name of an object) to (the name of an object) through (a description) ... the name of an object
    optionally using doors,
    or using even locked doors
number of moves from (the name of an object) to (the name of an object) through (a description) ... a number
    optionally using doors,
    or using even locked doors

The object tree
holder of (the name of an object) ... the name of an object 
next thing held after (the name of an object) ... the name of an object
first thing held by (the name of an object) ... the name of an object


Understanding
Asking yes/no questions

if player consents ... 

The player's command
if (a snippet) matches (a topic) ... 
if (a snippet) does not match (a topic) ... 
if (a snippet) includes (a topic) ...
if (a snippet) does not include (a topic) ...

Changing the player's command
change the text of the player's command to (an indexed text
replace (a snippet) with (some text)
cut (a snippet)
reject the player's command

Scope and pronouns
place (the name of an object) in scope 
    optionally but not its contents
place the/-- contents of (the name of an object) in scope 
set pronouns from possessions of the player
set pronouns from (the name of an object)

I6 parser errors
if parser error is didn't understand ... 
if parser error is only understood as far as ...
if parser error is didn't understand that number ...
if parser error is can't see any such thing ...
if parser error is said too little ...
if parser error is aren't holding that ...
if parser error is can't use multiple objects ...
if parser error is can only use multiple objects ...
if parser error is not sure what it refers to ...
if parser error is excepted something not included ...
if parser error is can only do that to something animate ...
if parser error is not a verb I recognise ...
if parser error is not something you need to refer to ...
if parser error is can't see it at the moment ...
if parser error is didn't understand the way that finished ...
if parser error is not enough of those available ...
if parser error is nothing to do ...
if parser error is I beg your pardon ...
if parser error is noun did not make sense in that context ...


Using external resources
Files

read (the name of a file) into (the name of a table
write (the name of a file) from (the name of a table)
if (the name of a file) exists ...
if ready to read (the name of a file) ... 
mark (the name of a file) as ready to read
mark (the name of a file) as not ready to read
write (some text) to (the name of a file
append (some text) to (the name of a file)
say "[text of the name of a file]"

Figures and sound effects
display (the name of a figure
    optionally one time only
play (the name of a sound effect
    optionally one time only


Lexicon of words used in descriptions

For instance, the description 'an unlocked door' is made up from the adjective 'unlocked' and the noun 'door', both of which can be found below. Property adjectives, like 'open', can be used when creating things - 'In the Ballroom is an open container' is allowed because 'open' is a property - but those with complicated definitions, like 'empty', can only be tested during play, e.g. with rules like 'Instead of taking an empty container, ...'.

a  indefinite article

adjacent  adjective: A room is adjacent if it is adjacent to the location.

all  determiner used in conditions: 'if all of the doors are open'

all but  determiner used to count things: 'all but three containers'

all except  determiner - see all except

almost all  determiner used in conditions: true if 80 percent or more possibilities work

almost no  determiner used in conditions: true if fewer than 20 percent of possibilities work

an  indefinite article - see a

animal   noun, a kind of person

at least  determiner used to count things: 'at least five doors'

at most  determiner - see at least

backdrop    noun, a kind of thing

be   verb

carry   verb

closed  adjective, property of door or container, opposite of open

conceal   verb

concealed  adjective: Something is concealed if the holder of it conceals it.

contain   verb

container   noun, a kind of thing

dark  adjective, property of room, opposite of lighted

described  adjective, property of thing, opposite of undescribed

device    noun, a kind of thing

direction   noun, a kind

door    noun, a kind of thing

each  determiner - see all

edible  adjective, property of thing, opposite of inedible

enclose   verb

enterable  adjective, property of container or supporter

every  determiner - see all, and can also be used in generalisations such as 'A nose is part of every person.'

exactly  determiner whereas 'if two doors are open' implicitly means 'if at least two doors are open', 'if exactly two...' makes the count precise

female  adjective, property of person, opposite of male

fewer than  determiner pedantic way to say less than when counting

fixed in place  adjective, property of thing, opposite of portable

handled  adjective, property of thing

have   verb

hold   verb

improper-named  adjective, property of thing, opposite of proper-named

incorporate   verb

inedible  adjective, property of thing, opposite of edible

initially carried  adjective, property of thing

invisible  adjective: Something is invisible if the player cannot see it.

less than  determiner - see more than

lighted  adjective, property of room, opposite of dark

lit  adjective, property of thing, opposite of unlit

locale-supportable  adjective: a thing (called the item) is locale-supportable if the item is not scenery and the item is not mentioned.

lockable  adjective, property of door or container

locked  adjective, property of door or container, opposite of unlocked

male  adjective, property of person, opposite of female

man   noun, a kind of person

marked for listing  adjective, property of thing or direction, opposite of unmarked for listing

mentioned  adjective, property of thing, opposite of unmentioned

more than  determiner used to count things: 'more than three rooms'

most  determiner used in conditions: true if a simple majority of possibilities work

neuter  adjective, property of person

no  determiner opposite of 'all': 'if no door is open...'

none  determiner opposite of 'all of': 'if none of the doors is open...'

off-stage  adjective: Something is off-stage if (- (~~(OnStage(t_0))) .

on-stage  adjective: Something is on-stage if (- (OnStage(t_0)) .

opaque  adjective, property of container, opposite of transparent

open  adjective, property of door or container, opposite of closed

openable  adjective, property of door or container, opposite of unopenable

person    noun, a kind of thing

player's holdall    noun, a kind of container

plural-named  adjective, property of thing, opposite of singular-named

portable  adjective, property of thing, opposite of fixed in place

proper-named  adjective, property of thing, opposite of improper-named

pushable between rooms  adjective, property of thing

region   noun, a kind

room   noun, a kind

scenery  adjective, property of thing

see, to be able to   verb

singular-named  adjective, property of thing, opposite of plural-named

some  determiner

some  indefinite article

support   verb

supporter   noun, a kind of thing

switched off  adjective, property of device, opposite of switched on

switched on  adjective, property of device, opposite of switched off

the  definite article

thing   noun, a kind

touch, to be able to   verb

touchable  adjective: Something is touchable if the player can touch it.

transparent  adjective, property of container, opposite of opaque

unconcealed  adjective: Something is unconcealed if the holder of it does not conceal it.

under half  determiner used in conditions: true if fewer than half of possibilities work

undescribed  adjective, property of thing, opposite of described

unlit  adjective, property of thing, opposite of lit

unlock   verb

unlocked  adjective, property of door or container, opposite of locked

unmarked for listing  adjective, property of thing or direction, opposite of marked for listing

unmentioned  adjective, property of thing, opposite of mentioned

unopenable  adjective, property of door or container, opposite of openable

untouchable  adjective: Something is untouchable if the player cannot touch it.

unvisited  adjective, property of room, opposite of visited

vehicle    noun, a kind of container

visible  adjective: Something is visible if the player can see it.

visited  adjective, property of room, opposite of unvisited

wear   verb

wearable  adjective, property of thing

which  connective used to place a further condition on a description: 'A which is B', or 'A which carries B', for instance.

who  connective - see which.

woman   noun, a kind of person


Tables of verbs used in descriptions

To be

  present: A is B; A are B

  past: A was B; A were B

  present perfect: A has been B; A have been B

  past perfect: A had been B

To carry

  present: A do carry B; A does carry B; A carries B; A carry B

  past: A did carry B; A carried B

  present perfect: A has carried B; A have carried B

  past perfect: A had carried B

To conceal

  present: A do conceal B; A does conceal B; A conceals B; A conceal B

  past: A did conceal B; A concealed B

  present perfect: A has concealed B; A have concealed B

  past perfect: A had concealed B

To contain

  present: A do contain B; A does contain B; A contains B; A contain B

  past: A did contain B; A contained B

  present perfect: A has contained B; A have contained B

  past perfect: A had contained B

To enclose

  present: A do enclose B; A does enclose B; A encloses B; A enclose B

  past: A did enclose B; A enclosed B

  present perfect: A has enclosed B; A have enclosed B

  past perfect: A had enclosed B

To have

  present: A do have B; A does have B; A has B; A have B

  past: A did have B; A had B

  present perfect: A has had B; A have had B

  past perfect: A had had B

To hold

  present: A do hold B; A does hold B; A holds B; A hold B

  past: A did hold B; A held B

  present perfect: A has held B; A have held B

  past perfect: A had held B

To incorporate

  present: A do incorporate B; A does incorporate B; A incorporates B; A incorporate B

  past: A did incorporate B; A incorporated B

  present perfect: A has incorporated B; A have incorporated B

  past perfect: A had incorporated B

To be able to see

  present: B can be seen by A; A can see B

  past: B could be seen by A; A could see B

  present perfect: A has ever seen B; A have ever seen B

  past perfect: A had ever seen B

To support

  present: A do support B; A does support B; A supports B; A support B

  past: A did support B; A supported B

  present perfect: A has supported B; A have supported B

  past perfect: A had supported B

To be able to touch

  present: B can be touched by A; A can touch B

  past: B could be touched by A; A could touch B

  present perfect: A has ever touched B; A have ever touched B

  past perfect: A had ever touched B

To unlock

  present: A do unlock B; A does unlock B; A unlocks B; A unlock B

  past: A did unlock B; A unlocked B

  present perfect: A has unlocked B; A have unlocked B

  past perfect: A had unlocked B

To wear

  present: A do wear B; A does wear B; A wears B; A wear B

  past: A did wear B; A wore B

  present perfect: A has worn B; A have worn B

  past perfect: A had worn B