Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an extremely conservative set of changes. All but one of the changes here have been in the Gender Options extension for years and it has been used by a signifcant number of games with no problems.
The one change not heavily tested is to make a person (but not man, woman, or animal) ambiguously plural by default. This is correct in English -- you can always refer to an unidentified person as "them", as Chaucer and Shakespeare do. If this creates irritation in gameplay for a particular game, it can always be turned off for any particular person by the story writer, since it's a "usually".
The default gender behavior of Inform is very nearly unchanged -- I went to a lot of effort to do that -- and most story/game writers should notice no differences at all. Those who have only used "X is a man", "Y is a woman", "Z is an animal", "W is a thing" should find the game working as expected.
What this does is to open up options for story writers who want to do something more complicated. By (1) removing assumptions from the I6/Inter code; (2) changing a bunch of "always" and "never" to "usually"; and (3) breaking enormous blocks of standard rules into smaller sections which can be overriden more granularly -- story writers can change things more easily without having to replace half the codebase.
In addition to the changes related to gender, the player is usually transparent rather than always transparent, solving another difficult-to-override issue. There is also a fix to a runtime error number.
For more information and background, see the Gender Options.i7x extension. There are probably substantially larger improvements which could be made in this arena, but these are conservative and well-tested.
Getting these edits into the form of a patch (rather than an extension) took quite a while. I have not been able to convert the test cases from Gender Options.i7x to Inform test cases yet and I am not sure when I will have the time.