Is there a way to remove default actions, such as kissing, singing, jumping, etc?
You’ll have to hack the Standard Rules to actually remove the action, I think – and that would be pretty bothersome; but an easy way to render standard actions ineffective is to ‘undefine’ (as it were) the commands that would trigger them:
Understand the commands "kiss", "jump" and "sing" as something new.
You can look up the relevant actions in the Actions index of Inform to find out what commands trigger them.
Note that you need to ‘undefine’ all of a given verb’s synonyms (if any), as well. This is where the cross-references of the Actions Index really come in handy.
It would be much much more than just bothersome. The I7 actions are all tied in to I6 equivalents as low level and removing the I7 actions would cause a compiler error.
It’s much easier and quicker than that! Try this.
Section - Remove Grammar (in place of Section SR4/10 - Grammar in Standard Rules by Graham Nelson)
Understand “save” as saving the game.
Understand “score” as requesting the score.
Understand “restore” as restoring the game.
Understand “restart” as restarting the game.
Understand “quit” or “q” as quitting the game.
Understand “verify” as verifying the story file.
Understand “version” as requesting the story file version.
Understand “notify off” as switching score notification off.
Understand “nouns” or “pronouns” as requesting the pronoun meanings.
Understand “notify” or “notify on” as switching score notification on.
Understand “verbose” or “long” as preferring unabbreviated room descriptions.
Understand “superbrief” or “short” as preferring abbreviated room descriptions.
Understand “script off” or “transcript off” as switching the story transcript off.
Understand “brief” or “normal” as preferring sometimes abbreviated room descriptions.
Understand “script” or “script on” or “transcript” or “transcript on” as switching the story transcript on.
Section - Game Code
The Testing Room is A Room.[/code]
It’s not necessary to put back the grammar for the out of world commands, but it is recommended for most situations.
This won’t remove the grammar for “undo”, “oops”, “again”, directions and persuasion since they are defined at I6 level. I can post the code for that too it it’s needed.
Hope this helps.
However, be aware that replacing the Grammar section of Standard Rules like that will ‘undefine’ all standard commands in one fell swoop. If you only want to disallow some of the less vital actions, it’s better to ‘undefine’ them piecemeal.
Ah, I see. Thanks for all the help, guys. Going to test it out soon.