I’ve finally been spending time updating my two main works-in-progress, from Inform 7 v6G60 to v6L38. A major part of the conversion involved replacing the functionality of Custom Library Messages, an add-on extension first maintained by David Fisher and later rewritten by Ron Newcomb. That extension has been made obsolete (inoperative, in fact) by the new built-in system of ‘rule responses’ that was introduced with v6L02.
In my case, the conversion was especially laborious, because I had already rewritten almost every library message for my games, and then had to rewrite them all again to take advantage of v6L38’s style of adaptive text (which I needed since I plan to release both games’ basic frameworks as quasi-generalised templates.)
To facilitate this remapping and upgrade, I first produced an index relating each old ‘custom library message’ from the extension to its new equivalent standard ‘rule response’, noting as I went any defunct messages I could discard, as well as any newly available responses I’d have to customise later.
I figured the resulting text file could also come in handy for anyone else who has been procrastinating on upgrading a heavily customised game.
The index follows CLM’s original organisational model, for familiarity, and is generally of the form…
[old custom library message label]
The new standard rule response label (A) is
"All the library message labels [are] changed."
Of course, the first line is optional, but it’s there so I could easily cross-reference from the old to the new, for multiple games in a row.
By the by, I’ve also corrected 9 buggy standard rule responses that seem not to have been made fully adaptive yet as of v6L38. (To find them, search/scan this text for the tag #i7bug.) Plus, I added the swearing rules back in, just as they were before, with the added bonus that you can now swear in the past, present, -and- hopefully, far into the future.
Because of character limits, I’ve had to post this in two parts, but once you knit the two back together, the following should compile, so you can paste it in and alter at will.
PART ONE
[[[
END OF GAME
]]]
[<you have died>]
The print obituary headline rule response (A) is
" You have died ".
[<you have won>]
The print obituary headline rule response (B) is
" You have won ".
[NEW RESPONSES with no old 'custom library message' equivalents]
The print obituary headline rule response (C) is
" The End ".
The print the final question rule response (A) is
"Would you like to ".
The print the final question rule response (B) is
" or ".
[[[
DESCRIPTIONS
]]]
[<player self description>]
[Superseded by 'Rule for printing the name of the player: ...']
[<player description>]
[Superseded by 'The description of the player is ...']
[<unimportant object>]
The parser error internal rule response (O) is
"That's not something you need to refer to in the course of this game."
[[[
PROMPTS AND INPUT
]]]
[OLD DEFUNCT MESSAGES with no new 'rule response' equivalents]
[<page prompt> - '[Please press SPACE.]"]
[<menu prompt> - 'Type a number from 1 to...']
[<comment recorded> - '[Comment recorded.]']
[<comment not recorded> - '[Comment NOT recorded.]']
[<empty line>]
The parser error internal rule response (X) is
"I beg your pardon?"
[<confirm Quit>]
The quit the game rule response (A) is
"Are you sure you want to quit? ".
[<yes or no prompt>]
The yes or no question internal rule response (A) is
"Please answer yes or no."
[<restrict answer>]
The standard respond to final question rule response (A) is
"Please give one of the answers above."
[NEW RESPONSE with no old 'custom library message' equivalent]
The print the final prompt rule response (A) is
"> [run paragraph on]".
[[[
'UNDO'
]]]
[OLD DEFUNCT MESSAGE with no new 'rule response' equivalent]
[<cannot undo twice in a row> - '[Can't "undo" twice in succession...]']
[<undo succeeded>]
The immediately undo rule response (E) is
"[bracket]Previous turn undone.[close bracket]".
[<undo failed>]
The immediately undo rule response (D) is
"'Undo' failed. Sorry!"
[<undo not provided>]
The immediately undo rule response (C) is
"Your interpreter does not provide 'undo'. Sorry!"
[<cannot undo nothing>]
The immediately undo rule response (B) is
"You can't 'undo' what hasn't been done!"
[<undo forbidden>]
The immediately undo rule response (A) is
"The use of 'undo' is forbidden in this game."
[[[
'OOPS'
]]]
[<oops failed>]
The parser command internal rule response (A) is
"Sorry, that can't be corrected."
[<oops too many arguments>]
The parser command internal rule response (C) is
"'Oops' can only correct a single word."
[<oops no arguments>]
The parser command internal rule response (B) is
"Think nothing of it."
[[[
'AGAIN'
]]]
[<cannot do again>]
The parser command internal rule response (D) is
"You can hardly repeat that."
[<again usage>]
The parser error internal rule response (S) is
"To repeat a command like 'frog, jump', just say 'again', not 'frog, again'."
[[[
SYNTAX ERRORS
]]]
[<command not understood>]
The parser error internal rule response (A) is
"I didn't understand that sentence."
[<command badly ended>]
The parser error internal rule response (P) is
"I didn't understand the way that finished."
[<command incomplete>]
The parser error internal rule response (F) is
"You seem to have said too little!"
[<command cut short>]
The action processing internal rule response (J) is
"(Since something dramatic has happened, your list of commands has been cut short.)".
[<number not understood>]
The parser error internal rule response (D) is
"I didn't understand that number."
[<cannot begin at comma>]
The parser error internal rule response (T) is
"You can't begin with a comma."
[<extra words before comma>]
The parser error internal rule response (W) is
"To talk to someone, try 'someone, hello' or some such."
[<command partly understood> - split into 2 separate responses]
The parser error internal rule response (B) is
"I only understood you as far as wanting to ".
The parser error internal rule response (C) is
"I only understood you as far as wanting to (go) ".
[NEW RESPONSES with no old 'custom library message' equivalents]
The action processing internal rule response (A) is
"[bracket]That command asks to do something outside of play, so it can only make sense from you to me. [The noun] cannot be asked to do this.[close bracket]".
The parser error internal rule response (R) is
"That noun did not make sense in this context."
[[[
ILLEGAL COMMANDS
]]]
[<unknown object>]
The parser error internal rule response (E) is
"[We] [can't] see any such thing."
[<object not held>]
The parser error internal rule response (G) is
"[We] [aren't] holding that!"
[<unknown verb>]
The parser error internal rule response (N) is
"That's not a verb I[if American dialect option is active] recognize[otherwise] recognise[end if]."
[<verb cannot have inanimate object>]
The parser error internal rule response (M) is
"You can only do that to something animate."
[<noun needed>]
The action processing internal rule response (D) is
"You must supply a noun."
[<noun not needed>]
The action processing internal rule response (E) is
"You may not supply a noun."
[<object needed>]
The action processing internal rule response (B) is
"You must name an object."
[<object not needed>]
The action processing internal rule response (C) is
"You may not name an object."
[<second object needed>]
The action processing internal rule response (F) is
"You must name a second object."
[<second object not needed>]
The action processing internal rule response (G) is
"You may not name a second object."
[<second noun needed>]
The action processing internal rule response (H) is
"You must supply a second noun."
[<second noun not needed>]
The action processing internal rule response (I) is
"You may not supply a second noun."
[<something more substantial needed>]
The basic accessibility rule response (A) is
"You must name something more substantial."
[[[
MULTIPLE OBJECTS
]]]
[<verb cannot have multiple objects>]
The parser error internal rule response (H) is
"You can't use multiple objects with that verb."
[<too many multiple objects>]
The parser error internal rule response (I) is
"You can only use multiple objects once on a line."
[<not that many available>]
The parser error internal rule response (Q) is
"[if number understood is 0]None [otherwise]Only [number understood] [end if]of those [are] available."
[<no objects available>]
The parser nothing error internal rule response (B) is
"There [regarding the plural form][are] none at all available!"
[#i7bug: This default msg wasn't yet adaptive as of v6L38.]
[<first N objects>]
The generate action rule response (A) is
"(considering the first sixteen objects only)[command clarification break]".
[<excepted object not included anyway>]
The parser error internal rule response (L) is
"You excepted something not included anyway!"
[<zero multiple objects> - corresponds to one of these 2 responses: not sure which]
The parser nothing error internal rule response (A) is
"Nothing to do!"
The generate action rule response (B) is
"Nothing to do!"
[NEW RESPONSES with no old 'custom library message' equivalents]
The parser nothing error internal rule response (C) is
"[regarding the noun][Those] [seem] to belong to [the noun]."
The parser nothing error internal rule response (D) is
"[regarding the noun][Those] [can't] contain things."
The parser nothing error internal rule response (E) is
"[The noun] [aren't] open."
The parser nothing error internal rule response (F) is
"[The noun] [are] empty."
[[[
IMPLICIT ACTIONS
]]]
[<report implicit take>]
The standard implicit taking rule response (A) is
"(first taking [the noun])[command clarification break]".
[<cannot drop clothes being worn>]
The can't drop clothes being worn rule response (A) is
"(first taking [the noun] off)[command clarification break]".
[<cannot insert clothes being worn>]
The can't insert clothes being worn rule response (A) is
"(first taking [regarding the noun][them] off)[command clarification break]".
[<cannot put clothes being worn>]
The can't put clothes being worn rule response (A) is
"(first taking [regarding the noun][them] off)[command clarification break]".
[<cannot go through closed doors>]
[Originally listed in the 'Go' section, below]
The can't go through closed doors rule response (A) is
"(first opening [the door gone through])[command clarification break]".
[<implicitly pass outwards through other barriers> - split into 2 separate responses]
The implicitly pass through other barriers rule response (A) is
"(getting off [the current home])[command clarification break]".
The implicitly pass through other barriers rule response (B) is
"(getting out of [the current home])[command clarification break]".
[<implicitly pass inwards through other barriers> - split into 3 separate responses]
The implicitly pass through other barriers rule response (C) is
"(getting onto [the target])[command clarification break]".
The implicitly pass through other barriers rule response (D) is
"(getting into [the target])[command clarification break]".
The implicitly pass through other barriers rule response (E) is
"(entering [the target])[command clarification break]".
[<report npc implicit take> - seems equivalent to this one, but may not be?]
The standard implicit taking rule response (B) is
"([the second noun] first taking [the noun])[command clarification break]".
[NEW RESPONSES with no old 'custom library message' equivalents]
The can't give clothes being worn rule response (A) is
"(first taking [the noun] off)[command clarification break]".
The stand up before going rule response (A) is
"(first getting off [the chaise])[command clarification break]".
The can't eat clothing without removing it first rule response (A) is
"(first taking [the noun] off)[command clarification break]".
The implicitly remove thrown clothing rule response (A) is
"(first taking [the noun] off)[command clarification break]".
[[[
CARRYING CAPACITY
]]]
[<cannot exceed carrying capacity>]
The can't exceed carrying capacity rule response (A) is
"[We]['re] carrying too many things already."
[<use holdall to avoid exceeding carrying capacity>]
The use player's holdall to avoid exceeding carrying capacity rule response (A) is
"(putting [the transferred item] into [the current working sack] to make room)[command clarification break]".
[<cannot insert if this exceeds carrying capacity>]
The can't insert if this exceeds carrying capacity rule response (A) is
"[There] [are] no more room in [the second noun]."
[<cannot put if this exceeds carrying capacity>]
The can't put if this exceeds carrying capacity rule response (A) is
"[There] [are] no more room on [the second noun]."
[<cannot drop if this exceeds carrying capacity> - split into 2 separate responses]
[Originally listed in the 'Drop' section, below]
The can't drop if this exceeds carrying capacity rule response (A) is
"[There] [are] no more room on [the receptacle]."
The can't drop if this exceeds carrying capacity rule response (B) is
"[There] [are] no more room in [the receptacle]."
[NEW RESPONSES with no old 'custom library message' equivalents]
The can't exceed carrying capacity when giving rule response (A) is
"[The second noun] [are] carrying too many things already."
The can't enter if this exceeds carrying capacity rule response (A) is
"[There] [are] no more room on [the noun]."
The can't enter if this exceeds carrying capacity rule response (B) is
"[There] [are] no more room in [the noun]."
The can't exceed carrying capacity when taking off rule response (A) is
"[We]['re] carrying too many things already."
[[[
DISAMBIGUATION
]]]
[<who disambiguation>]
The parser clarification internal rule response (A) is
"Who do you mean, ".
[<which disambiguation>]
The parser clarification internal rule response (B) is
"Who do you mean, ".
[<whom disambiguation>]
The parser clarification internal rule response (D) is
"Whom do you want [if the noun is not the player][the noun] [end if]to [parser command so far]?"
[<what disambiguation>]
The parser clarification internal rule response (E) is
"What do you want [if the noun is not the player][the noun] [end if]to [parser command so far]?"
[<single object disambiguation>]
The parser clarification internal rule response (C) is
"Sorry, you can only have one item here. Which exactly?"
[NEW RESPONSES with no old 'custom library message' equivalents]
The parser clarification internal rule response (F) is
"those things".
The parser clarification internal rule response (G) is
"that".
The parser clarification internal rule response (H) is
" or ".
[[[
PRONOUNS
]]]
[<pronoun not set>]
The parser error internal rule response (J) is
"I'm not sure what ['][pronoun i6 dictionary word]['] refers to."
[<pronoun absent>]
The parser error internal rule response (K) is
"[We] [can't] see ['][pronoun i6 dictionary word]['] ([the noun]) at the [if story tense is present tense]moment[otherwise]time[end if]."
[#i7bug: The word 'moment' wasn't yet adaptive as of v6L38.]
[<Pronouns initial text>]
The announce the pronoun meanings rule response (A) is
"At the moment, ".
[<Pronouns -means- text>]
The announce the pronoun meanings rule response (B) is
"means ".
[<Pronouns -unset- text>]
The announce the pronoun meanings rule response (C) is
"is unset".
[<no pronouns known>]
The announce the pronoun meanings rule response (D) is
"no pronouns are known to the game."
[[[
COMMANDING PEOPLE
]]]
[<person ignores command>]
The requested actions require persuasion rule response (A) is
"[The noun] [have] better things to do."
[<cannot talk to absent person>]
The parser error internal rule response (U) is
"You seem to want to talk to someone, but I can't see whom."
[<cannot talk to inanimate object>]
The parser error internal rule response (V) is
"You can't talk to [the noun]."
[<npc unable to do that>]
The carry out requested actions rule response (A) is
"[The noun] [are] unable to do that."
[[[
FILE OPERATIONS
]]]
[<confirm Restart>]
The restart the game rule response (A) is
"Are you sure you want to restart? ".
[<Restart failed>]
The restart the game rule response (B) is
"Failed."
[<Restore failed>]
The restore the game rule response (A) is
"Restore failed."
[<Restore succeeded>]
The restore the game rule response (B) is
"Ok."
[<Save failed>]
The save the game rule response (A) is
"Save failed."
[<Save succeeded>]
The save the game rule response (B) is
"Ok."
[<Verify succeeded>]
The verify the story file rule response (A) is
"The game file has verified as intact."
[<Verify failed>]
The verify the story file rule response (B) is
"The game file did not verify as intact, and may be corrupt."
[[[
TRANSCRIPTS
]]]
[<transcript already on>]
The switch the story transcript on rule response (A) is
"Transcripting is already on."
[<transcript already off>]
The switch the story transcript off rule response (A) is
"Transcripting is already off."
[<start of transcript>]
The switch the story transcript on rule response (B) is
"Start of a transcript of".
[<end of transcript>]
The switch the story transcript off rule response (B) is
"[line break]End of transcript."
[<transcript failed>]
The switch the story transcript on rule response (C) is
"Attempt to begin transcript failed."
[<end transcript failed>]
The switch the story transcript off rule response (C) is
"Attempt to end transcript failed."
[[[
SCORING
]]]
[<score notification turned on>]
The standard report switching score notification on rule response (A) is
"Score notification on."
[<score notification turned off>]
The standard report switching score notification off rule response (A) is
"Score notification off."
[<no scoring>]
The announce the score rule response (C) is
"[There] [are] no score in this story."
[<Score command>]
The announce the score rule response (A) is
"[if the story has ended]In that game you scored[otherwise]You have so far scored[end if] [score] out of a possible [maximum score], in [turn count] turn[s]".
[<score rank>]
The announce the score rule response (B) is
", earning you the rank of ".
[<score changed> - split into 2 separate responses]
The announce the score rule response (D) is
"[bracket]Your score has just gone up by [number understood in words] point[s].[close bracket]".
The announce the score rule response (E) is
"[bracket]Your score has just gone down by [number understood in words] point[s].[close bracket]".
[[[
'INVENTORY'
]]]
[<report npc taking inventory>]
The report other people taking inventory rule response (A) is
"[The actor] [look] through [their] possessions."
[<Inventory initial text>]
The print standard inventory rule response (A) is
"[We] [are] carrying:[line break]".
[<Inventory no possessions>]
The print empty inventory rule response (A) is
"[We] [are] carrying nothing."
[[[
DARKNESS
]]]
[OLD DEFUNCT MESSAGES with no new 'rule response' equivalents]
[<search while dark> - 'But it's dark.']
[<look under while dark> - 'But it's dark.']
[<entering darkness>]
The adjust light rule response (A) is
"[It] [are] [if story tense is present tense]now [end if]pitch dark in [if story tense is present tense]here[else]there[end if]!"
[<dark description>]
The basic visibility rule response (A) is
"[It] [are] pitch dark, and [we] [can't see] a thing."
[#i7bug: This default msg wasn't yet adaptive as of v6L38.]
[<examine while dark>]
The room description body text rule response (A) is
"[It] [are] pitch dark, and [we] [can't see] a thing."
[<dark room name> - corresponds to one of these 2 responses: not sure which]
The room description heading rule response (A) is
"Darkness".
The darkness name internal rule response (A) is
"Darkness".
[[[
'TAKE'
]]]
[<report player taking>]
The standard report taking rule response (A) is
"Taken."
[<report npc taking>]
The standard report taking rule response (B) is
"[The actor] [pick] up [the noun]."
[<cannot take yourself>]
The can't take yourself rule response (A) is
"[We] [are] always self-possessed."
[<cannot take other people>]
The can't take other people rule response (A) is
"I don't suppose [the noun] [would care] for that."
[<cannot take something you are within>]
The can't take what you're inside rule response (A) is
"[We] [would have] to get [if noun is a supporter]off[otherwise]out of[end if] [the noun] first."
[<cannot take something already taken>]
The can't take what's already taken rule response (A) is
"[We] already [have] [regarding the noun][those]."
[<cannot take possessions of others>]
The can't take people's possessions rule response (A) is
"[regarding the noun][Those] [seem] to belong to [the owner]."
[<cannot take component parts>]
The can't take component parts rule response (A) is
"[regarding the noun][Those] [seem] to be a part of [the whole]."
[<cannot take hidden parts>]
The can't take items out of play rule response (A) is
"[regarding the noun][Those] [aren't] available."
[<cannot reach within closed containers>]
The can't reach inside closed containers rule response (A) is
"[The noun] [aren't] open."
[<cannot take scenery>]
The can't take scenery rule response (A) is
"[regarding the noun][They're] hardly portable."
[<cannot take something fixed>]
The can't take what's fixed in place rule response (A) is
"[regarding the noun][They're] fixed in place."
[<cannot reach within other places>]
The can't reach inside rooms rule response (A) is
"[We] [can't] reach into [the noun]."
[NEW RESPONSES with no old 'custom library message' equivalents]
The can only take things rule response (A) is
"[We] [cannot] carry [the noun]."
The access through barriers rule response (A) is
"[regarding the noun][Those] [aren't] available."
The can't reach outside closed containers rule response (A) is
"[The noun] [aren't] open."
[See also: 'Implicit Actions' and 'Carrying Capacity', above]
[[[
'REMOVE'
]]]
[OLD DEFUNCT MESSAGES with no new 'rule response' equivalents]
[<report player removing> - 'Removed.']
[<report npc removing> - '[The actor] removes X from Y.']
[<cannot remove from closed containers> - 'It is unfortunately closed.']
[<cannot remove something not within>]
The can't remove what's not inside rule response (A) is
"But [regarding the noun][they] [aren't] there [now]."
[#i7bug: The word 'now' wasn't yet adaptive in this msg as of v6L38]
[NEW RESPONSES with no old 'custom library message' equivalents]
The can't remove from people rule response (A) is
"[regarding the noun][Those] [seem] to belong to [the owner]."
[[[
'DROP'
]]]
[<report player dropping>]
The standard report dropping rule response (A) is
"Dropped."
[<report npc dropping>]
The standard report dropping rule response (B) is
"[The actor] [put] down [the noun]."
[<cannot drop something already dropped>]
The can't drop what's already dropped rule response (A) is
"[The noun] [are] already here."
[<cannot drop not holding>]
The can't drop what's not held rule response (A) is
"[We] [haven't] got [regarding the noun][those]."
[<cannot drop if this exceeds carrying capacity>]
[See: 'Carrying Capacity', above]
[NEW RESPONSES with no old 'custom library message' equivalents]
The can't drop yourself rule response (A) is
"[We] [lack] the dexterity."
The can't drop body parts rule response (A) is
"[We] [can't drop] part of [ourselves]."
[See also: 'Implicit Actions' and 'Carrying Capacity', above]
[[[
'INSERT'
]]]
[OLD DEFUNCT MESSAGES with no new 'rule response' equivalents]
[<cannot insert something not held> - 'You need to be holding X before you can...']
[<need to take off before inserting> - 'You'll need to take it off first.']
[<report player inserting>]
The concise report inserting rule response (A) is
"Done."
[<report npc inserting>]
The standard report inserting rule response (A) is
"[The actor] [put] [the noun] into [the second noun]."
[<cannot insert into something not a container>]
The can't insert into what's not a container rule response (A) is
"[regarding the second noun][Those] [can't contain] things."
[<cannot insert into closed containers>]
The can't insert into closed containers rule response (A) is
"[The second noun] [are] closed."
[<cannot insert something into itself>]
The can't insert something into itself rule response (A) is
"[We] [can't put] something inside itself."
[See also: 'Implicit Actions' and 'Carrying Capacity', above]
[[[
'PUT ON'
]]]
[OLD DEFUNCT MESSAGES with no new 'rule response' equivalents]
[<cannot put something not held> - 'You need to be holding X before you can...']
[<cannot put onto something being carried> - 'You lack the dexterity.']
[<report player putting on>]
The concise report putting rule response (A) is
"Done."
[<report npc putting on>]
The standard report putting rule response (A) is
"[The actor] [put] [the noun] on [the second noun]."
[<cannot put something on it-self>]
The can't put something on itself rule response (A) is
"[We] [can't put] something on top of itself."
[<cannot put onto something not a supporter>]
The can't put onto what's not a supporter rule response (A) is
"Putting things on [the second noun] [would achieve] nothing."
[See also: 'Implicit Actions' and 'Carrying Capacity', above]