Showing full/partial extension versions, and better ways to do it than overwriting "to decide whether"

So I have this code I’d like to put in a personal extension. I redefine “VERSION” to say “Version 1 was released 8/17/2024. Version 2 was released 10/20/2024. etc.”

section versioning

versioning is an action applying to nothing.

understand the command "version" as something new.
understand the command "versions" as something new.

understand "version" as versioning.
understand "versions" as versioning.

report versioning: say "To see extensions used in this game and Inform's internal release data, type [b]EXT[r].";

chapter exting

exting is an action out of world.

understand the command "ext" as something new.
understand the command "exts" as something new.

understand "ext" as exting.
understand "exts" as exting.

carry out exting:
	if can-spoil:
		say "Listing with spoiler modules names present.";
		say "[the complete list of extension credits]";
	else:
		say "Listing with spoiler modules names redacted. Come back once you've made progress to see all module names.";
		say "[the list of extension credits]";
	the rule succeeds;

to decide whether can-spoil: yes;

[I'd like to include the above in a personal extension, but I think there's a better way than "to decide whether"]

Its purpose is to allow the player to see all of the modules with EXT and give the author some flexibility, but one of the modules has a name that would spoil the game mechanic.

All I need to do in each story that uses it is have a command like this:

to decide whether can-spoil:
	if turn count > 2, yes; [this is unrealistic--if score > 2 works better--but used for ease of testing. This second rule included in story.ni overrides the first.]
	no;

This code works, and the spoiler text appears after a couple moves.

It clearly needs to be different across games, because there’s a different threshold when the mechanics are spoiled.

But I think there must be a better way to do this! I feel like I’m sort of papering over cracks, and I may be missing something elemental about rulebooks with “make no decision” or the like.

I just feel uneasy reusing “to decide whether can-spoil” even if it does work.

1 Like

15 months later…

You could go for ludicrous flexibility with a rulebook.

Spoilers-OK is a rulebook.

Spoilers-OK: if turn count > 2, rule succeeds.

Carry out exting:
  follow the Spoilers-OK rules;
  if rule succeeds, say "complete list ...";
  else say "redacted list ...";

Since we didn’t specify otherwise, Spoilers-OK makes no decision by default, and since the carry out exting rules tests if rule succeeds the net effect is defaulting to not showing spoilers.

It may seem silly to create a rulebook that would be expected to have just one rule in a given game, but there really isn’t much of a downside: it doesn’t incur an appreciable penalty in size or time. (The visibility rules are an example of a single-rule rulebook in the Standard Rules.)

All that said, a to decide whether can-spoil phrase that’s expected to be overwritten in a given story is also just fine (and is even a fundamentally similar approach to a rulebook with one rule in it).


Given that complete list of extension credits and list of extension credits both give extensions’ names and the difference is just whether extensions using authorial modesty are shown… is the extension whose name constitutes a spoiler your own?

1 Like