I'm irritated. I'm working on a little script to harvest the advent calendar. I called it "advent.ash".
Turns out that KoLmafiaCLI (the module which registers all the CLI commands) has the following:
which means that ANY command you type that starts with "adv" is sent to the built in "adventure" command.
Here are all the prefixes:
Notice that you can assign as many exact (or prefix) strings as you want to a command.
I think a lot of these make no sense; they declare a prefix rather than listing two exact commands, say. Or they register a whole word as a prefix - but I can't think of any ways you'd want to extend that word to have the same meaning.
I think I will rationalize these this way:
The following have a couple of reasonable variants:
new AdventureCommand().register( "adv" ).register( "adventure" );
new CallScriptCommand()....register( "exec" ).register( "execute" )....
new CampgroundCommand().register( "camp" ).register( "campground" );
new OlfactionCommand().register( "olfact" ).register( "olfaction" ).register( "putty" );
("putty"? Really? Why?)
new RecoverCommand().register( "restore" ).register( "recover" ).register( "check" );
(These were all prefixes. Why? I type "recover mp" but can't imagine typing "recovers mp" or even "recovery mp" )
new ShowDataCommand().register( "inv" ).registerPrefix( "inventory" )
(I use "inv", which is short for "inventory")
new VisitURLCommand().register( "text" ).registerPrefix( "http://" ).registerSubstring( ".php" );
(this is a fine use of registerPrefix. How about "https://"?)
new WindowOpenCommand().register( "opt" ).registerPlural( "option" )
The following could be either the base or plural form of the command: (registerPlural does not (yet) exist).
new ConditionsCommand().registerPlural( "goal" ).registerPlural( "condition" ).registerPlural( "objective" );
new EditMoodCommand().registerPlural( "trigger" );
new ForumCommand().registerPlural( "forum" );
new MoodCommand().registerPlural( "mood" );
new ShowDataCommand().registerPlural( "moon" );
new SlimeStackCommand().registerPlural( "slime-stack");
new StickersCommand().registerPlural( "sticker" );
I'm not sure why the following are useful.
new CommandAlias( "skills", "buff" ).registerPlural( "buff" );
new CommandAlias( "skills", "passive" ).register( "pass" ).registerPlural( "passive" );
new CommandAlias( "skills", "self" ).registerPrefix( "self" );
new CommandAlias( "skills", "combat" ).registerPlural( "combat" );
Code:
[color=green]> advent[/color]
[color=red]does not exist in the adventure database.[/color]
Code:
new AdventureCommand().registerPrefix( "adv" );
Code:
[color=green]> adviolaboogaloo[/color]
[color=red]does not exist in the adventure database.[/color]
[color=green]> moon[/color]
December 1, 2019 - Jarlsuary 4
Ronald: waxing gibbous
Grimace: waxing crescent
Mini-moon: far right
Valentine's Day: 8 days
St. Sneaky Pete's Day: 15 days
Oyster Egg Day: 22 days
El Dia De Los Muertos Borrachos: 30 days
Festival of Jarlsberg: 32 days
Generic Summer Holiday: 39 days
Dependence Day: 48 days
Arrrbor Day: 56 days
Labór Day: 66 days
Halloween: 76 days
Feast of Boris: 83 days
Yuletide: 88 days
Mysticism bonus tomorrow (not today).
[color=green]> moonievision[/color]
December 1, 2019 - Jarlsuary 4
...same stuff...
Code:
new AdventureCommand().registerPrefix( "adv" );
new CallScriptCommand().register( "verify" ).
register( "check" ).
register( "call" ).
register( "run" ).
registerPrefix( "exec" ).
register( "load" ).
register( "start" ).
register( "profile" );
new CampgroundCommand().registerPrefix( "camp" );
new ConditionsCommand().registerPrefix( "goal" ).registerPrefix( "condition" ).registerPrefix( "objective" );
new EditMoodCommand().registerPrefix( "trigger" );
new ForumCommand().registerPrefix( "forum" );
new MoodCommand().registerPrefix( "mood" );
new OlfactionCommand().registerPrefix( "olfact" ).register( "putty" );
new RecoverCommand().registerPrefix( "restore" ).registerPrefix( "recover" ).registerPrefix( "check" );
new ShowDataCommand()
.registerPrefix( "inv" ).register( "storage" ).register( "session" ).register( "summary" )
.register( "effects" ).register( "status" ).register( "skills" ).register( "locations" )
.register( "encounters" ).registerPrefix( "moon" );
new SlimeStackCommand().registerPrefix( "slime-stack");
new StickersCommand().registerPrefix( "sticker" );
new VisitURLCommand().register( "text" ).registerPrefix( "http://" ).registerSubstring( ".php" );
new WindowOpenCommand().register( "chat" ).register( "mail" ).registerPrefix( "opt" ).register( "item" ).register(
new CommandAlias( "skills", "buff" ).registerPrefix( "buff" );
new CommandAlias( "skills", "passive" ).registerPrefix( "pass" );
new CommandAlias( "skills", "self" ).registerPrefix( "self" );
new CommandAlias( "skills", "combat" ).registerPrefix( "combat" );
I think a lot of these make no sense; they declare a prefix rather than listing two exact commands, say. Or they register a whole word as a prefix - but I can't think of any ways you'd want to extend that word to have the same meaning.
I think I will rationalize these this way:
The following have a couple of reasonable variants:
new AdventureCommand().register( "adv" ).register( "adventure" );
new CallScriptCommand()....register( "exec" ).register( "execute" )....
new CampgroundCommand().register( "camp" ).register( "campground" );
new OlfactionCommand().register( "olfact" ).register( "olfaction" ).register( "putty" );
("putty"? Really? Why?)
new RecoverCommand().register( "restore" ).register( "recover" ).register( "check" );
(These were all prefixes. Why? I type "recover mp" but can't imagine typing "recovers mp" or even "recovery mp" )
new ShowDataCommand().register( "inv" ).registerPrefix( "inventory" )
(I use "inv", which is short for "inventory")
new VisitURLCommand().register( "text" ).registerPrefix( "http://" ).registerSubstring( ".php" );
(this is a fine use of registerPrefix. How about "https://"?)
new WindowOpenCommand().register( "opt" ).registerPlural( "option" )
The following could be either the base or plural form of the command: (registerPlural does not (yet) exist).
new ConditionsCommand().registerPlural( "goal" ).registerPlural( "condition" ).registerPlural( "objective" );
new EditMoodCommand().registerPlural( "trigger" );
new ForumCommand().registerPlural( "forum" );
new MoodCommand().registerPlural( "mood" );
new ShowDataCommand().registerPlural( "moon" );
new SlimeStackCommand().registerPlural( "slime-stack");
new StickersCommand().registerPlural( "sticker" );
I'm not sure why the following are useful.
new CommandAlias( "skills", "buff" ).registerPlural( "buff" );
new CommandAlias( "skills", "passive" ).register( "pass" ).registerPlural( "passive" );
new CommandAlias( "skills", "self" ).registerPrefix( "self" );
new CommandAlias( "skills", "combat" ).registerPlural( "combat" );