Hidden Features

From Kolmafia
Revision as of 09:42, 3 June 2021 by AlbinoRhino (talk | contribs) (→‎Outfit Names Can Execute Some Commands)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Mafia has several features that aren't listed in the preferences. In order to enable these features you have to change properties with a CLI command. To issue a CLI command simply type the listed command in the text entry box at the bottom of the "Graphical CLI" window. Capitalization counts, so copy/paste is recommended.

Beep on Private Message

You can instruct chat to beep if you receive a private message. If this is enabled it will affect all characters. To enable this, issue the CLI command:

set chatBeep = true

Chat Broadcast & System Messages

By default KoLmafia's chat GUI will show KoL's broadcast messages and system messages on all open chat channels at the same time. You can change that behavior to show them only in the Events tab by setting it to false.

set broadcastEvents = false

Disable Image Caching

Normally all images are cached locally to save on bandwidth and server usage. This can be disabled although doing so will cause almost anyone to experience slower load times. Not recommended unless you've got a very good reason.

set useImageCache = false

Maximizer Price Checking

Normally, the maximizer will only search the mall for prices that are over 7 days old. For prices that were checked within the last week, it will use those historical prices without bothering to check the price in the mall at this moment. This saves a lot of time since prices on potions are rarely that volatile. If you want to change that behavior to always check prices once for each session, that can be changed with the following command.

set maximizerCurrentMallPrices = true

Set it back to false if you want to restore the default behavior.

Most Recently Used Modifier Maximizer Expression

At the top of the Modifier Maximizer drop-down it shows the most recently evaluated expressions. The number of most recently evaluated expressions can be changed by altering maximizerMRUSize. When enabled, the drop down will contain (at most) maximizerMRUSize entries with the most frequently used expression at the top. By default this number is five, but it can be changed to other values or disabled by changing it to zero. This is enabled on a per character basis.

set maximizerMRUSize = 20

will enable the feature and set the length of the menu to 20.

Most Recently Used Script Menu

You can alter your script menu to only show the most recently used scripts. This is enabled by setting scriptMRULength to a value greater than zero. When enabled the Script menu will contain (at most) scriptMRULength entries with the most frequently used script at the top. This list is automatically refreshed or can be manually refreshed by using the Refresh menu option. Scripts that are not on the list can be run by using the Load script option. This is enabled on a per character basis.

set scriptMRULength  = 10

will enable the feature and set the length of the menu to 10. Although it is not enforced by the code, it is suggested that values greater than 45 or thereabouts be avoided. Note that the list is case sensitive. If your operating system allows you to invoke the file Ascend.ash by typing ascend then it is possible that both "Ascend" and "ascend" will appear on the list. Note also that the definition of "used" includes run from the Scripts menu, run from the gCLI or called from a running script using the "call" command.

Number of Custom Combat Buttons

In the Browser section of Preferences, we can mark the checkbox for "Add custom buttons to the top of fight pages." The number of buttons on the right side, that vary according to which skills have been used, is set to 5 by default. CLI command to change this is:

set relaySkillButtonCount=x

Where x is the number of variable buttons desired. Unusual values for x here might cause unexpected results. It should be a non-zero, whole number. This is a global setting, meaning it will not change according to which account is logged in.

Outfit Names Can Execute Some Commands

Custom outfits can trigger actions when equipped, by including one (or more) of the following strings in their name:

F= - change familiar
E= - equip familiar item
M= - change mood
C= - arbitrary CLI command

Example outfit name: Sea Adventuring f=hound e=Das Boot m=SeaBuff
Usage: "outfit Sea Adventuring" or "outfit Sea Adventuring f=hound e=Das Boot m=SeaBuff", in the cli, will both accomplish the changes. You can also select and change the outfit as normal in the relay browser.

Note that the commands are executed BEFORE the actual outfit change. See r6876

Prompt About Crafting

By default mafia will issue a prompt when you are going to spend an adventure crafting, until mafia is told it's okay. Once you say it is okay you will not receive a prompt the next time. This behavior can be modified by using the alwaysPromptAboutCrafting property.

set promptAboutCrafting = 1 (default)
set promptAboutCrafting = 2 (always prompt)
set promptAboutCrafting = 0 (never prompt)

Issue the command without the part in parenthesis. I only added that to advise you on its meaning.

Quests: Doc Galaktik's Quest

By default Doc Galaktik's quest to find medicinal herbs will be accepted by KoLmafia when you ascend. If you want to turn this off...

set autostartGalaktikQuest = false

Resting in Chateau vs Campground

If you have access to Chateau Mantegna, KoLmafia will rest there by default instead of the campground. If you want to rest only at the campground (maybe you have really nice housing) you can tell mafia to do that with this command:

set restUsingChateau = false

Save window size

You can save the size of the KoLmafia window. This is especially useful for people with smaller monitors. This preference is character specific so you will need to use the following CLI command for each character.

set rememberDesktopSize = true

When it is not set, KoLmafia will determine the size of windows at startup. In the case of variable sized windows (such as the panel containing Daily Deeds) the computed size is too big for small displays. Setting this to true will remember the last size of the main window and use it instead of a computed size.

Shadow Noodles

Stationary buttons and automatic combat entangling will not normally use Shadow Noodles since it is so expensive. If you want Shadow Noodles to be used you need to enable it in preferences.

set considerShadowNoodles = true

Use Huggler Channel

Normally all messages on Huggler Radio are displayed in the /pvp channel. If you want Mafia to split out the Huggler Radio into it's own channel, you can enable that with:

set useHugglerChannel = true