libram 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/combat.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * @category Combat
5
5
  * @returns {number} The macro ID.
6
6
  */
7
- export declare function getMacroId(): number;
7
+ export declare function getMacroId(name?: string): number;
8
8
  declare type ItemOrName = Item | string;
9
9
  declare type SkillOrName = Skill | string;
10
10
  declare type Constructor<T> = {
@@ -21,13 +21,20 @@ export declare class InvalidMacroError extends Error {
21
21
  */
22
22
  export declare class Macro {
23
23
  static SAVED_MACRO_PROPERTY: string;
24
- static cachedMacroId: number | null;
25
- static cachedAutoAttack: string | null;
24
+ static cachedMacroIds: Map<string, number>;
25
+ static cachedAutoAttacks: Map<string, string>;
26
26
  components: string[];
27
+ name: string;
27
28
  /**
28
29
  * Convert macro to string.
29
30
  */
30
31
  toString(): string;
32
+ /**
33
+ * Gives your macro a new name to be used when saving an autoattack.
34
+ * @param name The name to be used when saving as an autoattack.
35
+ * @returns The previous name assigned to this macro.
36
+ */
37
+ rename(name: string): string;
31
38
  /**
32
39
  * Save a macro to a Mafia property for use in a consult script.
33
40
  */
@@ -60,6 +67,15 @@ export declare class Macro {
60
67
  * Set this macro as a KoL native autoattack.
61
68
  */
62
69
  setAutoAttack(): void;
70
+ /**
71
+ * Renames the macro, then sets it as an autoattack.
72
+ * @param name The name to save the macro under as an autoattack.
73
+ */
74
+ setAutoAttackAs(name: string): void;
75
+ /**
76
+ * Clear all cached autoattacks, and delete all stored macros server-side.
77
+ */
78
+ static clearAutoAttackMacros(): void;
63
79
  /**
64
80
  * Add an "abort" step to this macro.
65
81
  * @returns {Macro} This object itself.
package/dist/combat.js CHANGED
@@ -9,11 +9,11 @@ const MACRO_NAME = "Script Autoattack Macro";
9
9
  * @category Combat
10
10
  * @returns {number} The macro ID.
11
11
  */
12
- export function getMacroId() {
13
- const macroMatches = xpath(visitUrl("account_combatmacros.php"), `//select[@name="macroid"]/option[text()="${MACRO_NAME}"]/@value`);
12
+ export function getMacroId(name = MACRO_NAME) {
13
+ const macroMatches = xpath(visitUrl("account_combatmacros.php"), `//select[@name="macroid"]/option[text()="${name}"]/@value`);
14
14
  if (macroMatches.length === 0) {
15
15
  visitUrl("account_combatmacros.php?action=new");
16
- const newMacroText = visitUrl(`account_combatmacros.php?macroid=0&name=${MACRO_NAME}&macrotext=abort&action=save`);
16
+ const newMacroText = visitUrl(`account_combatmacros.php?macroid=0&name=${name}&macrotext=abort&action=save`);
17
17
  return parseInt(xpath(newMacroText, "//input[@name=macroid]/@value")[0], 10);
18
18
  }
19
19
  else {
@@ -70,15 +70,26 @@ export class InvalidMacroError extends Error {
70
70
  */
71
71
  export class Macro {
72
72
  static SAVED_MACRO_PROPERTY = "libram_savedMacro";
73
- static cachedMacroId = null;
74
- static cachedAutoAttack = null;
73
+ static cachedMacroIds = new Map();
74
+ static cachedAutoAttacks = new Map();
75
75
  components = [];
76
+ name = MACRO_NAME;
76
77
  /**
77
78
  * Convert macro to string.
78
79
  */
79
80
  toString() {
80
81
  return this.components.join(";");
81
82
  }
83
+ /**
84
+ * Gives your macro a new name to be used when saving an autoattack.
85
+ * @param name The name to be used when saving as an autoattack.
86
+ * @returns The previous name assigned to this macro.
87
+ */
88
+ rename(name) {
89
+ const returnValue = this.name;
90
+ this.name = name;
91
+ return returnValue;
92
+ }
82
93
  /**
83
94
  * Save a macro to a Mafia property for use in a consult script.
84
95
  */
@@ -129,16 +140,36 @@ export class Macro {
129
140
  * Set this macro as a KoL native autoattack.
130
141
  */
131
142
  setAutoAttack() {
132
- if (Macro.cachedMacroId === null)
133
- Macro.cachedMacroId = getMacroId();
134
- if (getAutoAttack() === 99000000 + Macro.cachedMacroId &&
135
- this.toString() === Macro.cachedAutoAttack) {
143
+ let id = Macro.cachedMacroIds.get(this.name);
144
+ if (id === undefined)
145
+ Macro.cachedMacroIds.set(this.name, getMacroId(this.name));
146
+ id = getMacroId(this.name);
147
+ if (getAutoAttack() === 99000000 + id &&
148
+ this.toString() === Macro.cachedAutoAttacks.get(this.name)) {
136
149
  // This macro is already set. Don"t make the server request.
137
150
  return;
138
151
  }
139
- visitUrl(`account_combatmacros.php?macroid=${Macro.cachedMacroId}&name=${urlEncode(MACRO_NAME)}&macrotext=${urlEncode(this.toString())}&action=save`, true, true);
140
- visitUrl(`account.php?am=1&action=autoattack&value=${99000000 + Macro.cachedMacroId}&ajax=1`);
141
- Macro.cachedAutoAttack = this.toString();
152
+ visitUrl(`account_combatmacros.php?macroid=${id}&name=${urlEncode(this.name)}&macrotext=${urlEncode(this.toString())}&action=save`, true, true);
153
+ visitUrl(`account.php?am=1&action=autoattack&value=${99000000 + id}&ajax=1`);
154
+ Macro.cachedAutoAttacks.set(this.name, this.toString());
155
+ }
156
+ /**
157
+ * Renames the macro, then sets it as an autoattack.
158
+ * @param name The name to save the macro under as an autoattack.
159
+ */
160
+ setAutoAttackAs(name) {
161
+ this.name = name;
162
+ this.setAutoAttack();
163
+ }
164
+ /**
165
+ * Clear all cached autoattacks, and delete all stored macros server-side.
166
+ */
167
+ static clearAutoAttackMacros() {
168
+ for (const name of Macro.cachedAutoAttacks.keys()) {
169
+ const id = Macro.cachedMacroIds.get(name) ?? getMacroId(name);
170
+ visitUrl(`account_combatmacros.php?macroid=${id}&action=edit&what=Delete&confirm=1`);
171
+ Macro.cachedAutoAttacks.delete(name);
172
+ }
142
173
  }
143
174
  /**
144
175
  * Add an "abort" step to this macro.
@@ -4,6 +4,7 @@ declare type MenuItemOptions = {
4
4
  maximum?: number | "auto";
5
5
  additionalValue?: number;
6
6
  wishEffect?: Effect;
7
+ priceOverride?: number;
7
8
  };
8
9
  export declare class MenuItem {
9
10
  item: Item;
@@ -12,6 +13,7 @@ export declare class MenuItem {
12
13
  maximum?: number;
13
14
  additionalValue?: number;
14
15
  wishEffect?: Effect;
16
+ priceOverride?: number;
15
17
  static defaultOptions: Map<Item, MenuItemOptions>;
16
18
  /**
17
19
  * Construct a new menu item, possibly with extra properties. Items in MenuItem.defaultOptions have intelligent defaults.
@@ -56,6 +56,7 @@ export class MenuItem {
56
56
  maximum;
57
57
  additionalValue;
58
58
  wishEffect;
59
+ priceOverride;
59
60
  static defaultOptions = new Map([
60
61
  [
61
62
  $item `distention pill`,
@@ -118,7 +119,7 @@ export class MenuItem {
118
119
  * @param options.wishEffect If item is a pocket wish, effect to wish for.
119
120
  */
120
121
  constructor(item, options = {}) {
121
- const { size, organ, maximum, additionalValue, wishEffect } = {
122
+ const { size, organ, maximum, additionalValue, wishEffect, priceOverride, } = {
122
123
  ...options,
123
124
  ...(MenuItem.defaultOptions.get(item) ?? {}),
124
125
  };
@@ -126,6 +127,7 @@ export class MenuItem {
126
127
  this.maximum = maximum === "auto" ? item.dailyusesleft : maximum;
127
128
  this.additionalValue = additionalValue;
128
129
  this.wishEffect = wishEffect;
130
+ this.priceOverride = priceOverride;
129
131
  const typ = itemType(this.item);
130
132
  this.organ = organ ?? (isOrgan(typ) ? typ : undefined);
131
133
  this.size =
@@ -142,10 +144,14 @@ export class MenuItem {
142
144
  return this.item === other.item && this.wishEffect === other.wishEffect;
143
145
  }
144
146
  toString() {
147
+ if (this.wishEffect) {
148
+ return `${this.item}:${this.wishEffect}`;
149
+ }
145
150
  return this.item.toString();
146
151
  }
147
152
  price() {
148
- return npcPrice(this.item) > 0 ? npcPrice(this.item) : mallPrice(this.item);
153
+ return (this.priceOverride ??
154
+ (npcPrice(this.item) > 0 ? npcPrice(this.item) : mallPrice(this.item)));
149
155
  }
150
156
  }
151
157
  const organs = ["food", "booze", "spleen item"];
package/dist/freerun.d.ts CHANGED
@@ -20,4 +20,5 @@ export declare class FreeRun {
20
20
  options?: FreeRunOptions;
21
21
  constructor(name: string, available: () => boolean, macro: Macro, options?: FreeRunOptions);
22
22
  }
23
- export declare function findFreeRun(useFamiliar?: boolean, buyStuff?: boolean): FreeRun | undefined;
23
+ export declare function tryFindFreeRun(useFamiliar?: boolean): FreeRun | null;
24
+ export declare function ensureFreeRun(useFamiliar?: boolean): FreeRun;
package/dist/freerun.js CHANGED
@@ -87,10 +87,13 @@ function cheapestRunSource() {
87
87
  }
88
88
  function cheapestItemRun() {
89
89
  const cheapestRun = cheapestRunSource();
90
- return new FreeRun("Cheap Combat Item", () => retrieveItem(cheapestRun), Macro.trySkill($skill `Asdon Martin: Spring-Loaded Front Bumper`).item(cheapestRunSource()), {
90
+ return new FreeRun("Cheap Combat Item", () => retrieveItem(cheapestRun), Macro.trySkill($skill `Asdon Martin: Spring-Loaded Front Bumper`).item(cheapestRun), {
91
91
  preparation: () => retrieveItem(cheapestRun),
92
92
  });
93
93
  }
94
- export function findFreeRun(useFamiliar = true, buyStuff = true) {
95
- return (freeRuns.find((run) => run.available() && (useFamiliar || run?.options?.familiar)) ?? (buyStuff ? cheapestItemRun() : undefined));
94
+ export function tryFindFreeRun(useFamiliar = true) {
95
+ return (freeRuns.find((run) => run.available() && (useFamiliar || run?.options?.familiar)) ?? null);
96
+ }
97
+ export function ensureFreeRun(useFamiliar = true) {
98
+ return tryFindFreeRun(useFamiliar) ?? cheapestItemRun();
96
99
  }
package/dist/lib.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /** @module GeneralLibrary */
2
2
  import "core-js/modules/es.object.entries";
3
+ import "core-js/features/array/flat";
3
4
  /**
4
5
  * Returns the current maximum Accordion Thief songs the player can have in their head
5
6
  *
package/dist/lib.js CHANGED
@@ -1,5 +1,6 @@
1
1
  /** @module GeneralLibrary */
2
2
  import "core-js/modules/es.object.entries";
3
+ import "core-js/features/array/flat";
3
4
  import { appearanceRates, autosellPrice, availableAmount, booleanModifier, cliExecute, fullnessLimit, getCampground, getCounters, getPlayerId, getPlayerName, getRelated, haveEffect, haveFamiliar, haveServant, haveSkill, holiday, inebrietyLimit, mallPrice, myEffects, myFamiliar, myFullness, myInebriety, myPath, mySpleenUse, myThrall, myTurncount, numericModifier, spleenLimit, toItem, toSkill, totalTurnsPlayed, } from "kolmafia";
4
5
  import { $class, $familiar, $item, $items, $monsters } from "./template-string";
5
6
  import { get } from "./property";
@@ -11,3 +11,9 @@ export declare type ModifierValue<T> = T extends BooleanModifier ? boolean : T e
11
11
  export declare type Modifiers = Partial<{
12
12
  [T in BooleanModifier | ClassModifier | EffectModifier | MonsterModifier | NumericModifier | SkillModifier | StatModifier | StringModifier]: ModifierValue<T>;
13
13
  }>;
14
+ /**
15
+ * Merge arbitrarily many Modifiers objects into one, summing all numeric modifiers, and ||ing all boolean modifiers.
16
+ * @param modifierss Modifiers objects to be merged together.
17
+ * @returns A single Modifiers object obtained by merging.
18
+ */
19
+ export declare function mergeModifiers(...modifierss: Modifiers[]): Modifiers;
package/dist/modifier.js CHANGED
@@ -33,3 +33,33 @@ export function get(name, subject) {
33
33
  return statModifier(subject, name);
34
34
  }
35
35
  }
36
+ /**
37
+ * Merge two Modifiers objects into one, summing all numeric modifiers, ||ing all boolean modifiers, and otherwise letting the second object overwrite the first.
38
+ * @param modifiers1 Modifiers objects to be merged onto.
39
+ * @param modifiers2 Modifiers object to merge.
40
+ * @returns A single Modifiers object obtained by merging.
41
+ */
42
+ function pairwiseMerge(modifiers1, modifiers2) {
43
+ const returnValue = { ...modifiers1, ...modifiers2 };
44
+ for (const modifier in modifiers1) {
45
+ if (Array.from(Object.values(modifiers2)).includes(modifier)) {
46
+ if (arrayContains(modifier, numericModifiers)) {
47
+ returnValue[modifier] =
48
+ (modifiers1[modifier] ?? 0) + (modifiers2[modifier] ?? 0);
49
+ }
50
+ if (arrayContains(modifier, booleanModifiers)) {
51
+ returnValue[modifier] =
52
+ (modifiers1[modifier] ?? false) || (modifiers2[modifier] ?? false);
53
+ }
54
+ }
55
+ }
56
+ return returnValue;
57
+ }
58
+ /**
59
+ * Merge arbitrarily many Modifiers objects into one, summing all numeric modifiers, and ||ing all boolean modifiers.
60
+ * @param modifierss Modifiers objects to be merged together.
61
+ * @returns A single Modifiers object obtained by merging.
62
+ */
63
+ export function mergeModifiers(...modifierss) {
64
+ return modifierss.reduce((a, b) => pairwiseMerge(a, b), {});
65
+ }
@@ -1,6 +1,7 @@
1
1
  import "core-js/modules/es.object.entries";
2
2
  import "core-js/modules/es.object.from-entries";
3
3
  import { KnownProperty, PropertyValue } from "./propertyTyping";
4
+ import { NumericProperty } from "./propertyTypes";
4
5
  export declare const getString: (property: string, default_?: string | undefined) => string;
5
6
  export declare const getCommaSeparated: (property: string, default_?: string[] | undefined) => string[];
6
7
  export declare const getBoolean: (property: string, default_?: boolean | undefined) => boolean;
@@ -45,12 +46,51 @@ export declare function withChoices(choices: {
45
46
  }, callback: () => void): void;
46
47
  export declare function withChoice(choice: number, value: number | string, callback: () => void): void;
47
48
  export declare class PropertiesManager {
48
- properties: Properties;
49
- constructor();
49
+ private properties;
50
+ get storedValues(): Properties;
51
+ /**
52
+ * Sets a collection of properties to the given values, storing the old values.
53
+ * @param propertiesToSet A Properties object, keyed by property name.
54
+ */
50
55
  set(propertiesToSet: Properties): void;
56
+ /**
57
+ * Sets a collection of choice adventure properties to the given values, storing the old values.
58
+ * @param choicesToSet An object keyed by choice adventure number.
59
+ */
51
60
  setChoices(choicesToSet: {
52
61
  [choice: number]: number | string;
53
62
  }): void;
63
+ /**
64
+ * Resets the given properties to their original stored value. Does not delete entries from the manager.
65
+ * @param properties Collection of properties to reset.
66
+ */
67
+ reset(...properties: KnownProperty[]): void;
68
+ /**
69
+ * Iterates over all stored values, setting each property back to its original stored value. Does not delete entries from the manager.
70
+ */
54
71
  resetAll(): void;
72
+ /**
73
+ * Stops storing the original values of inputted properties.
74
+ * @param properties Properties for the manager to forget.
75
+ */
76
+ clear(...properties: KnownProperty[]): void;
77
+ /**
78
+ * Clears all properties.
79
+ */
80
+ clearAll(): void;
81
+ /**
82
+ * Increases a numeric property to the given value if necessary.
83
+ * @param property The numeric property we want to potentially raise.
84
+ * @param value The minimum value we want that property to have.
85
+ * @returns Whether we needed to change the property.
86
+ */
87
+ setMinimumValue(property: NumericProperty, value: number): boolean;
88
+ /**
89
+ * Decrease a numeric property to the given value if necessary.
90
+ * @param property The numeric property we want to potentially lower.
91
+ * @param value The maximum value we want that property to have.
92
+ * @returns Whether we needed to change the property.
93
+ */
94
+ setMaximumValue(property: NumericProperty, value: number): boolean;
55
95
  }
56
96
  export {};
package/dist/property.js CHANGED
@@ -89,10 +89,14 @@ export function withChoice(choice, value, callback) {
89
89
  withChoices({ [choice]: value }, callback);
90
90
  }
91
91
  export class PropertiesManager {
92
- properties;
93
- constructor() {
94
- this.properties = {};
92
+ properties = {};
93
+ get storedValues() {
94
+ return this.properties;
95
95
  }
96
+ /**
97
+ * Sets a collection of properties to the given values, storing the old values.
98
+ * @param propertiesToSet A Properties object, keyed by property name.
99
+ */
96
100
  set(propertiesToSet) {
97
101
  for (const [propertyName, propertyValue] of Object.entries(propertiesToSet)) {
98
102
  if (this.properties[propertyName] === undefined) {
@@ -101,13 +105,75 @@ export class PropertiesManager {
101
105
  set(propertyName, propertyValue);
102
106
  }
103
107
  }
108
+ /**
109
+ * Sets a collection of choice adventure properties to the given values, storing the old values.
110
+ * @param choicesToSet An object keyed by choice adventure number.
111
+ */
104
112
  setChoices(choicesToSet) {
105
113
  this.set(Object.fromEntries(Object.entries(choicesToSet).map(([choiceNumber, choiceValue]) => [
106
114
  `choiceAdventure${choiceNumber}`,
107
115
  choiceValue,
108
116
  ])));
109
117
  }
118
+ /**
119
+ * Resets the given properties to their original stored value. Does not delete entries from the manager.
120
+ * @param properties Collection of properties to reset.
121
+ */
122
+ reset(...properties) {
123
+ for (const property of properties) {
124
+ const value = this.properties[property];
125
+ if (value) {
126
+ set(property, value);
127
+ }
128
+ }
129
+ }
130
+ /**
131
+ * Iterates over all stored values, setting each property back to its original stored value. Does not delete entries from the manager.
132
+ */
110
133
  resetAll() {
111
134
  Object.entries(this.properties).forEach(([propertyName, propertyValue]) => set(propertyName, propertyValue));
112
135
  }
136
+ /**
137
+ * Stops storing the original values of inputted properties.
138
+ * @param properties Properties for the manager to forget.
139
+ */
140
+ clear(...properties) {
141
+ for (const property of properties) {
142
+ if (this.properties[property]) {
143
+ delete this.properties[property];
144
+ }
145
+ }
146
+ }
147
+ /**
148
+ * Clears all properties.
149
+ */
150
+ clearAll() {
151
+ this.properties = {};
152
+ }
153
+ /**
154
+ * Increases a numeric property to the given value if necessary.
155
+ * @param property The numeric property we want to potentially raise.
156
+ * @param value The minimum value we want that property to have.
157
+ * @returns Whether we needed to change the property.
158
+ */
159
+ setMinimumValue(property, value) {
160
+ if (get(property) < value) {
161
+ this.set({ [property]: value });
162
+ return true;
163
+ }
164
+ return false;
165
+ }
166
+ /**
167
+ * Decrease a numeric property to the given value if necessary.
168
+ * @param property The numeric property we want to potentially lower.
169
+ * @param value The maximum value we want that property to have.
170
+ * @returns Whether we needed to change the property.
171
+ */
172
+ setMaximumValue(property, value) {
173
+ if (get(property) > value) {
174
+ this.set({ [property]: value });
175
+ return true;
176
+ }
177
+ return false;
178
+ }
113
179
  }
@@ -1,9 +1,9 @@
1
1
  /** THIS FILE IS AUTOMATICALLY GENERATED. See tools/parseDefaultProperties.ts for more information */
2
2
  export declare type BooleanProperty = "addChatCommandLine" | "addCreationQueue" | "addStatusBarToFrames" | "allowCloseableDesktopTabs" | "allowNegativeTally" | "allowNonMoodBurning" | "allowSummonBurning" | "allowSocketTimeout" | "autoHighlightOnFocus" | "broadcastEvents" | "cacheMallSearches" | "chatBeep" | "chatLinksUseRelay" | "cloverProtectActive" | "compactChessboard" | "connectViaAddress" | "copyAsHTML" | "customizedTabs" | "debugBuy" | "debugConsequences" | "debugFoxtrotRemoval" | "debugPathnames" | "gapProtection" | "greenScreenProtection" | "guiUsesOneWindow" | "hideServerDebugText" | "logAcquiredItems" | "logBattleAction" | "logBrowserInteractions" | "logChatMessages" | "logChatRequests" | "logCleanedHTML" | "logDecoratedResponses" | "logFamiliarActions" | "logGainMessages" | "logReadableHTML" | "logPreferenceChange" | "logMonsterHealth" | "logReverseOrder" | "logStatGains" | "logStatusEffects" | "logStatusOnLogin" | "macroDebug" | "macroLens" | "mementoListActive" | "mergeHobopolisChat" | "printStackOnAbort" | "protectAgainstOverdrink" | "proxySet" | "relayAddSounds" | "relayAddsCustomCombat" | "relayAddsDiscoHelper" | "relayAddsGraphicalCLI" | "relayAddsQuickScripts" | "relayAddsRestoreLinks" | "relayAddsUpArrowLinks" | "relayAddsUseLinks" | "relayAddsWikiLinks" | "relayAllowRemoteAccess" | "relayBrowserOnly" | "relayFormatsChatText" | "relayHidesJunkMallItems" | "relayMaintainsEffects" | "relayMaintainsHealth" | "relayMaintainsMana" | "relayOverridesImages" | "relayRunsAfterAdventureScript" | "relayRunsBeforeBattleScript" | "relayRunsBeforePVPScript" | "relayScriptButtonFirst" | "relayTextualizesEffects" | "relayTrimsZapList" | "relayUsesInlineLinks" | "relayUsesIntegratedChat" | "relayWarnOnRecoverFailure" | "removeMalignantEffects" | "saveSettingsOnSet" | "sharePriceData" | "showAllRequests" | "showAnnouncements" | "showExceptionalRequests" | "stealthLogin" | "svnInstallDependencies" | "svnShowCommitMessages" | "svnUpdateOnLogin" | "switchEquipmentForBuffs" | "syncAfterSvnUpdate" | "useChatToolbar" | "useContactsFrame" | "useDevProxyServer" | "useDockIconBadge" | "useHugglerChannel" | "useImageCache" | "useLastUserAgent" | "useNaiveSecureLogin" | "useShinyTabbedChat" | "useSystemTrayIcon" | "useTabbedChatFrame" | "useToolbars" | "useZoneComboBox" | "verboseSpeakeasy" | "verboseFloundry" | "wrapLongLines" | "_announcementShown" | "_svnRepoFileFetched" | "_svnUpdated" | "antagonisticSnowmanKitAvailable" | "arcadeGameHints" | "armoryUnlocked" | "autoCraft" | "autoQuest" | "autoEntangle" | "autoGarish" | "autoManaRestore" | "autoFillMayoMinder" | "autoPinkyRing" | "autoPlantHardcore" | "autoPlantSoftcore" | "autoPotionID" | "autoRepairBoxServants" | "autoSatisfyWithCloset" | "autoSatisfyWithCoinmasters" | "autoSatisfyWithMall" | "autoSatisfyWithNPCs" | "autoSatisfyWithStash" | "autoSatisfyWithStorage" | "autoSetConditions" | "autoSphereID" | "autoSteal" | "autoTuxedo" | "backupCameraReverserEnabled" | "badMoonEncounter01" | "badMoonEncounter02" | "badMoonEncounter03" | "badMoonEncounter04" | "badMoonEncounter05" | "badMoonEncounter06" | "badMoonEncounter07" | "badMoonEncounter08" | "badMoonEncounter09" | "badMoonEncounter10" | "badMoonEncounter11" | "badMoonEncounter12" | "badMoonEncounter13" | "badMoonEncounter14" | "badMoonEncounter15" | "badMoonEncounter16" | "badMoonEncounter17" | "badMoonEncounter18" | "badMoonEncounter19" | "badMoonEncounter20" | "badMoonEncounter21" | "badMoonEncounter22" | "badMoonEncounter23" | "badMoonEncounter24" | "badMoonEncounter25" | "badMoonEncounter26" | "badMoonEncounter27" | "badMoonEncounter28" | "badMoonEncounter29" | "badMoonEncounter30" | "badMoonEncounter31" | "badMoonEncounter32" | "badMoonEncounter33" | "badMoonEncounter34" | "badMoonEncounter35" | "badMoonEncounter36" | "badMoonEncounter37" | "badMoonEncounter38" | "badMoonEncounter39" | "badMoonEncounter40" | "badMoonEncounter41" | "badMoonEncounter42" | "badMoonEncounter43" | "badMoonEncounter44" | "badMoonEncounter45" | "badMoonEncounter46" | "badMoonEncounter47" | "badMoonEncounter48" | "barrelShrineUnlocked" | "bigBrotherRescued" | "blackBartsBootyAvailable" | "bondAdv" | "bondBeach" | "bondBeat" | "bondBooze" | "bondBridge" | "bondDesert" | "bondDR" | "bondDrunk1" | "bondDrunk2" | "bondHoney" | "bondHP" | "bondInit" | "bondItem1" | "bondItem2" | "bondItem3" | "bondJetpack" | "bondMartiniDelivery" | "bondMartiniPlus" | "bondMartiniTurn" | "bondMeat" | "bondMox1" | "bondMox2" | "bondMPregen" | "bondMus1" | "bondMus2" | "bondMys1" | "bondMys2" | "bondSpleen" | "bondStat" | "bondStat2" | "bondStealth" | "bondStealth2" | "bondSymbols" | "bondWar" | "bondWeapon2" | "bondWpn" | "booPeakLit" | "bootsCharged" | "breakfastCompleted" | "burrowgrubHiveUsed" | "canteenUnlocked" | "chaosButterflyThrown" | "chatbotScriptExecuted" | "chateauAvailable" | "chatLiterate" | "chatServesUpdates" | "checkJackassHardcore" | "checkJackassSoftcore" | "clanAttacksEnabled" | "coldAirportAlways" | "considerShadowNoodles" | "controlRoomUnlock" | "concertVisited" | "controlPanel1" | "controlPanel2" | "controlPanel3" | "controlPanel4" | "controlPanel5" | "controlPanel6" | "controlPanel7" | "controlPanel8" | "controlPanel9" | "corralUnlocked" | "dailyDungeonDone" | "dampOldBootPurchased" | "daycareOpen" | "demonSummoned" | "dinseyAudienceEngagement" | "dinseyGarbagePirate" | "dinseyRapidPassEnabled" | "dinseyRollercoasterNext" | "dinseySafetyProtocolsLoose" | "doghouseBoarded" | "dontStopForCounters" | "drippingHallUnlocked" | "drippyShieldUnlocked" | "edUsedLash" | "eldritchFissureAvailable" | "eldritchHorrorAvailable" | "essenceOfAnnoyanceAvailable" | "essenceOfBearAvailable" | "expressCardUsed" | "falloutShelterChronoUsed" | "falloutShelterCoolingTankUsed" | "fireExtinguisherBatHoleUsed" | "fireExtinguisherChasmUsed" | "fireExtinguisherCyrptUsed" | "fireExtinguisherDesertUsed" | "fireExtinguisherHaremUsed" | "fistTeachingsHaikuDungeon" | "fistTeachingsPokerRoom" | "fistTeachingsBarroomBrawl" | "fistTeachingsConservatory" | "fistTeachingsBatHole" | "fistTeachingsFunHouse" | "fistTeachingsMenagerie" | "fistTeachingsSlums" | "fistTeachingsFratHouse" | "fistTeachingsRoad" | "fistTeachingsNinjaSnowmen" | "flickeringPixel1" | "flickeringPixel2" | "flickeringPixel3" | "flickeringPixel4" | "flickeringPixel5" | "flickeringPixel6" | "flickeringPixel7" | "flickeringPixel8" | "frAlways" | "frCemetaryUnlocked" | "friarsBlessingReceived" | "frMountainsUnlocked" | "frSwampUnlocked" | "frVillageUnlocked" | "frWoodUnlocked" | "getawayCampsiteUnlocked" | "ghostPencil1" | "ghostPencil2" | "ghostPencil3" | "ghostPencil4" | "ghostPencil5" | "ghostPencil6" | "ghostPencil7" | "ghostPencil8" | "ghostPencil9" | "gingerAdvanceClockUnlocked" | "gingerBlackmailAccomplished" | "gingerbreadCityAvailable" | "gingerExtraAdventures" | "gingerNegativesDropped" | "gingerSewersUnlocked" | "gingerSubwayLineUnlocked" | "gingerRetailUnlocked" | "glitchItemAvailable" | "grabCloversHardcore" | "grabCloversSoftcore" | "guideToSafariAvailable" | "guyMadeOfBeesDefeated" | "hardcorePVPWarning" | "harvestBatteriesHardcore" | "harvestBatteriesSoftcore" | "hasBartender" | "hasChef" | "hasCocktailKit" | "hasDetectiveSchool" | "hasOven" | "hasRange" | "hasShaker" | "hasSushiMat" | "haveBoxingDaydreamHardcore" | "haveBoxingDaydreamSoftcore" | "hermitHax0red" | "holidayHalsBookAvailable" | "horseryAvailable" | "hotAirportAlways" | "implementGlitchItem" | "itemBoughtPerAscension637" | "itemBoughtPerAscension8266" | "itemBoughtPerAscension10790" | "itemBoughtPerAscension10794" | "itemBoughtPerAscension10795" | "itemBoughtPerCharacter6423" | "itemBoughtPerCharacter6428" | "itemBoughtPerCharacter6429" | "kingLiberated" | "lastPirateInsult1" | "lastPirateInsult2" | "lastPirateInsult3" | "lastPirateInsult4" | "lastPirateInsult5" | "lastPirateInsult6" | "lastPirateInsult7" | "lastPirateInsult8" | "lawOfAveragesAvailable" | "leafletCompleted" | "libraryCardUsed" | "lockPicked" | "loginRecoveryHardcore" | "loginRecoverySoftcore" | "lovebugsUnlocked" | "loveTunnelAvailable" | "lowerChamberUnlock" | "makePocketWishesHardcore" | "makePocketWishesSoftcore" | "manualOfNumberologyAvailable" | "mappingMonsters" | "mapToAnemoneMinePurchased" | "mapToKokomoAvailable" | "mapToMadnessReefPurchased" | "mapToTheDiveBarPurchased" | "mapToTheMarinaraTrenchPurchased" | "mapToTheSkateParkPurchased" | "maraisBeaverUnlock" | "maraisCorpseUnlock" | "maraisDarkUnlock" | "maraisVillageUnlock" | "maraisWildlifeUnlock" | "maraisWizardUnlock" | "maximizerAlwaysCurrent" | "maximizerCreateOnHand" | "maximizerCurrentMallPrices" | "maximizerFoldables" | "maximizerIncludeAll" | "maximizerNoAdventures" | "middleChamberUnlock" | "milkOfMagnesiumActive" | "moonTuned" | "neverendingPartyAlways" | "odeBuffbotCheck" | "oilPeakLit" | "oscusSodaUsed" | "outrageousSombreroUsed" | "pathedSummonsHardcore" | "pathedSummonsSoftcore" | "popularTartUnlocked" | "prAlways" | "prayedForGlamour" | "prayedForProtection" | "prayedForVigor" | "pyramidBombUsed" | "ROMOfOptimalityAvailable" | "rageGlandVented" | "readManualHardcore" | "readManualSoftcore" | "relayShowSpoilers" | "relayShowWarnings" | "rememberDesktopSize" | "restUsingChateau" | "restUsingCampAwayTent" | "requireBoxServants" | "requireSewerTestItems" | "safePickpocket" | "schoolOfHardKnocksDiplomaAvailable" | "serverAddsCustomCombat" | "SHAWARMAInitiativeUnlocked" | "showGainsPerUnit" | "showIgnoringStorePrices" | "showNoSummonOnly" | "showTurnFreeOnly" | "sleazeAirportAlways" | "snojoAvailable" | "sortByRoom" | "spacegateAlways" | "spacegateVaccine1" | "spacegateVaccine2" | "spacegateVaccine3" | "spaceInvaderDefeated" | "spelunkyHints" | "spiceMelangeUsed" | "spookyAirportAlways" | "stenchAirportAlways" | "stopForFixedWanderer" | "styxPixieVisited" | "suppressInappropriateNags" | "suppressPotentialMalware" | "suppressPowerPixellation" | "telegraphOfficeAvailable" | "telescopeLookedHigh" | "timeTowerAvailable" | "trackLightsOut" | "uneffectWithHotTub" | "universalSeasoningActive" | "universalSeasoningAvailable" | "useCrimboToysHardcore" | "useCrimboToysSoftcore" | "verboseMaximizer" | "visitLoungeHardcore" | "visitLoungeSoftcore" | "visitRumpusHardcore" | "visitRumpusSoftcore" | "voteAlways" | "wildfireBarrelCaulked" | "wildfireDusted" | "wildfireFracked" | "wildfirePumpGreased" | "wildfireSprinkled" | "yearbookCameraPending" | "youRobotScavenged" | "_affirmationCookieEaten" | "_affirmationHateUsed" | "_akgyxothUsed" | "_alienAnimalMilkUsed" | "_alienPlantPodUsed" | "_allYearSucker" | "_aprilShower" | "_armyToddlerCast" | "_authorsInkUsed" | "_baconMachineUsed" | "_bagOfCandy" | "_bagOfCandyUsed" | "_bagOTricksUsed" | "_ballastTurtleUsed" | "_ballInACupUsed" | "_ballpit" | "_barrelPrayer" | "_beachCombing" | "_bendHellUsed" | "_blankoutUsed" | "_bonersSummoned" | "_borrowedTimeUsed" | "_bowleggedSwaggerUsed" | "_bowlFullOfJellyUsed" | "_boxOfHammersUsed" | "_brainPreservationFluidUsed" | "_brassDreadFlaskUsed" | "_cameraUsed" | "_canSeekBirds" | "_carboLoaded" | "_cargoPocketEmptied" | "_ceciHatUsed" | "_chateauDeskHarvested" | "_chateauMonsterFought" | "_chronerCrossUsed" | "_chronerTriggerUsed" | "_chubbyAndPlumpUsed" | "_circleDrumUsed" | "_clanFortuneBuffUsed" | "_claraBellUsed" | "_coalPaperweightUsed" | "_cocoaDispenserUsed" | "_cocktailShakerUsed" | "_coldAirportToday" | "_coldOne" | "_communismUsed" | "_confusingLEDClockUsed" | "_controlPanelUsed" | "_corruptedStardustUsed" | "_cosmicSixPackConjured" | "_crappyCameraUsed" | "_creepyVoodooDollUsed" | "_crimboTree" | "_cursedKegUsed" | "_cursedMicrowaveUsed" | "_dailyDungeonMalwareUsed" | "_darkChocolateHeart" | "_daycareFights" | "_daycareNap" | "_daycareSpa" | "_daycareToday" | "_defectiveTokenChecked" | "_defectiveTokenUsed" | "_dinseyGarbageDisposed" | "_discoKnife" | "_distentionPillUsed" | "_dnaHybrid" | "_docClocksThymeCocktailDrunk" | "_drippingHallDoor1" | "_drippingHallDoor2" | "_drippingHallDoor3" | "_drippingHallDoor4" | "_drippyCaviarUsed" | "_drippyNuggetUsed" | "_drippyPilsnerUsed" | "_drippyPlumUsed" | "_drippyWineUsed" | "_eldritchHorrorEvoked" | "_eldritchTentacleFought" | "_envyfishEggUsed" | "_essentialTofuUsed" | "_etchedHourglassUsed" | "_eternalCarBatteryUsed" | "_everfullGlassUsed" | "_eyeAndATwistUsed" | "_fancyChessSetUsed" | "_falloutShelterSpaUsed" | "_fancyHotDogEaten" | "_farmerItemsCollected" | "_favoriteBirdVisited" | "_firedJokestersGun" | "_fireExtinguisherRefilled" | "_fireStartingKitUsed" | "_fireworksShop" | "_fireworksShopHatBought" | "_fireworksShopEquipmentBought" | "_fireworkUsed" | "_fishyPipeUsed" | "_floundryItemCreated" | "_floundryItemUsed" | "_freePillKeeperUsed" | "_frToday" | "_fudgeSporkUsed" | "_garbageItemChanged" | "_gingerBiggerAlligators" | "_gingerbreadCityToday" | "_gingerbreadClockAdvanced" | "_gingerbreadClockVisited" | "_gingerbreadColumnDestroyed" | "_gingerbreadMobHitUsed" | "_glennGoldenDiceUsed" | "_glitchItemImplemented" | "_gnollEyeUsed" | "_grimBuff" | "_guildManualUsed" | "_guzzlrQuestAbandoned" | "_hardKnocksDiplomaUsed" | "_hippyMeatCollected" | "_hobbyHorseUsed" | "_holidayFunUsed" | "_holoWristCrystal" | "_hotAirportToday" | "_hungerSauceUsed" | "_hyperinflatedSealLungUsed" | "_iceHotelRoomsRaided" | "_iceSculptureUsed" | "_incredibleSelfEsteemCast" | "_infernoDiscoVisited" | "_internetDailyDungeonMalwareBought" | "_internetGallonOfMilkBought" | "_internetPlusOneBought" | "_internetPrintScreenButtonBought" | "_internetViralVideoBought" | "_interviewIsabella" | "_interviewMasquerade" | "_interviewVlad" | "_inquisitorsUnidentifiableObjectUsed" | "_ironicMoustache" | "_jackassPlumberGame" | "_jarlsCheeseSummoned" | "_jarlsCreamSummoned" | "_jarlsDoughSummoned" | "_jarlsEggsSummoned" | "_jarlsFruitSummoned" | "_jarlsMeatSummoned" | "_jarlsPotatoSummoned" | "_jarlsVeggiesSummoned" | "_jingleBellUsed" | "_jukebox" | "_kgbFlywheelCharged" | "_kgbLeftDrawerUsed" | "_kgbOpened" | "_kgbRightDrawerUsed" | "_kolConSixPackUsed" | "_kolhsCutButNotDried" | "_kolhsIsskayLikeAnAshtray" | "_kolhsPoeticallyLicenced" | "_kolhsSchoolSpirited" | "_kudzuSaladEaten" | "_latteBanishUsed" | "_latteCopyUsed" | "_latteDrinkUsed" | "_legendaryBeat" | "_licenseToChillUsed" | "_lookingGlass" | "_loveTunnelUsed" | "_luckyGoldRingVolcoino" | "_lunchBreak" | "_lupineHormonesUsed" | "_lyleFavored" | "_madLiquorDrunk" | "_madTeaParty" | "_mafiaMiddleFingerRingUsed" | "_managerialManipulationUsed" | "_mansquitoSerumUsed" | "_mayoDeviceRented" | "_mayoTankSoaked" | "_milkOfMagnesiumUsed" | "_mimeArmyShotglassUsed" | "_missGravesVermouthDrunk" | "_missileLauncherUsed" | "_momFoodReceived" | "_mrBurnsgerEaten" | "_muffinOrderedToday" | "_mushroomGardenVisited" | "_neverendingPartyToday" | "_newYouQuestCompleted" | "_olympicSwimmingPool" | "_olympicSwimmingPoolItemFound" | "_overflowingGiftBasketUsed" | "_partyHard" | "_pastaAdditive" | "_perfectFreezeUsed" | "_perfectlyFairCoinUsed" | "_petePartyThrown" | "_peteRiotIncited" | "_photocopyUsed" | "_pickyTweezersUsed" | "_pirateBellowUsed" | "_pirateForkUsed" | "_pixelOrbUsed" | "_plumbersMushroomStewEaten" | "_pneumaticityPotionUsed" | "_pottedTeaTreeUsed" | "_prToday" | "_psychoJarFilled" | "_psychoJarUsed" | "_psychokineticHugUsed" | "_rainStickUsed" | "_redwoodRainStickUsed" | "_requestSandwichSucceeded" | "_rhinestonesAcquired" | "_seaJellyHarvested" | "_setOfJacksUsed" | "_sewingKitUsed" | "_sexChanged" | "_shrubDecorated" | "_silverDreadFlaskUsed" | "_skateBuff1" | "_skateBuff2" | "_skateBuff3" | "_skateBuff4" | "_skateBuff5" | "_sleazeAirportToday" | "_sobrieTeaUsed" | "_softwareGlitchTurnReceived" | "_spacegateMurderbot" | "_spacegateRuins" | "_spacegateSpant" | "_spacegateToday" | "_spacegateVaccine" | "_spaghettiBreakfast" | "_spaghettiBreakfastEaten" | "_spinmasterLatheVisited" | "_spinningWheel" | "_spookyAirportToday" | "_stabonicScrollUsed" | "_steelyEyedSquintUsed" | "_stenchAirportToday" | "_stinkyCheeseBanisherUsed" | "_streamsCrossed" | "_stuffedPocketwatchUsed" | "_styxSprayUsed" | "_summonAnnoyanceUsed" | "_summonCarrotUsed" | "_summonResortPassUsed" | "_sweetToothUsed" | "_syntheticDogHairPillUsed" | "_tacoFlierUsed" | "_templeHiddenPower" | "_tempuraAirUsed" | "_thesisDelivered" | "_timeSpinnerReplicatorUsed" | "_toastSummoned" | "_tonicDjinn" | "_treasuryEliteMeatCollected" | "_treasuryHaremMeatCollected" | "_trivialAvocationsGame" | "_tryptophanDartUsed" | "_turtlePowerCast" | "_twelveNightEnergyUsed" | "_ultraMegaSourBallUsed" | "_victorSpoilsUsed" | "_villainLairCanLidUsed" | "_villainLairColorChoiceUsed" | "_villainLairDoorChoiceUsed" | "_villainLairFirecrackerUsed" | "_villainLairSymbologyChoiceUsed" | "_villainLairWebUsed" | "_vmaskBanisherUsed" | "_voraciTeaUsed" | "_volcanoItemRedeemed" | "_volcanoSuperduperheatedMetal" | "_voteToday" | "_VYKEACafeteriaRaided" | "_VYKEALoungeRaided" | "_walfordQuestStartedToday" | "_warbearBankUsed" | "_warbearBreakfastMachineUsed" | "_warbearGyrocopterUsed" | "_warbearSodaMachineUsed" | "_wildfireBarrelHarvested" | "_witchessBuff" | "_workshedItemUsed" | "_zombieClover" | "_preventScurvy" | "lockedItem4637" | "lockedItem4638" | "lockedItem4639" | "lockedItem4646" | "lockedItem4647" | "unknownRecipe3542" | "unknownRecipe3543" | "unknownRecipe3544" | "unknownRecipe3545" | "unknownRecipe3546" | "unknownRecipe3547" | "unknownRecipe3548" | "unknownRecipe3749" | "unknownRecipe3751" | "unknownRecipe4172" | "unknownRecipe4173" | "unknownRecipe4174" | "unknownRecipe5060" | "unknownRecipe5061" | "unknownRecipe5062" | "unknownRecipe5063" | "unknownRecipe5064" | "unknownRecipe5066" | "unknownRecipe5067" | "unknownRecipe5069" | "unknownRecipe5070" | "unknownRecipe5072" | "unknownRecipe5073" | "unknownRecipe5670" | "unknownRecipe5671" | "unknownRecipe6501" | "unknownRecipe6564" | "unknownRecipe6565" | "unknownRecipe6566" | "unknownRecipe6567" | "unknownRecipe6568" | "unknownRecipe6569" | "unknownRecipe6570" | "unknownRecipe6571" | "unknownRecipe6572" | "unknownRecipe6573" | "unknownRecipe6574" | "unknownRecipe6575" | "unknownRecipe6576" | "unknownRecipe6577" | "unknownRecipe6578" | "unknownRecipe7752" | "unknownRecipe7753" | "unknownRecipe7754" | "unknownRecipe7755" | "unknownRecipe7756" | "unknownRecipe7757" | "unknownRecipe7758";
3
- export declare type NumericProperty = "charsheetDropdown" | "chatStyle" | "coinMasterIndex" | "dailyDeedsVersion" | "defaultDropdown1" | "defaultDropdown2" | "defaultDropdownSplit" | "defaultLimit" | "fixedThreadPoolSize" | "itemManagerIndex" | "lastBuffRequestType" | "lastGlobalCounterDay" | "lastImageCacheClear" | "lastRssUpdate" | "previousUpdateRevision" | "relaySkillButtonCount" | "scriptButtonPosition" | "statusDropdown" | "svnThreadPoolSize" | "toolbarPosition" | "_g9Effect" | "addingScrolls" | "affirmationCookiesEaten" | "aminoAcidsUsed" | "antagonisticSnowmanKitCost" | "autoAbortThreshold" | "autoAntidote" | "autoBuyPriceLimit" | "availableCandyCredits" | "availableDimes" | "availableFunPoints" | "availableQuarters" | "availableStoreCredits" | "availableSwagger" | "averageSwagger" | "awolMedicine" | "awolPointsBeanslinger" | "awolPointsCowpuncher" | "awolPointsSnakeoiler" | "awolDeferredPointsBeanslinger" | "awolDeferredPointsCowpuncher" | "awolDeferredPointsSnakeoiler" | "awolVenom" | "bagOTricksCharges" | "ballpitBonus" | "bankedKarma" | "barrelGoal" | "bartenderTurnsUsed" | "basementMallPrices" | "basementSafetyMargin" | "batmanFundsAvailable" | "batmanBonusInitialFunds" | "batmanTimeLeft" | "bearSwagger" | "beeCounter" | "beGregariousCharges" | "beGregariousFightsLeft" | "birdformCold" | "birdformHot" | "birdformRoc" | "birdformSleaze" | "birdformSpooky" | "birdformStench" | "blackBartsBootyCost" | "blackPuddingsDefeated" | "blackForestProgress" | "blankOutUsed" | "bloodweiserDrunk" | "bondPoints" | "bondVillainsDefeated" | "boneAbacusVictories" | "booPeakProgress" | "borisPoints" | "breakableHandling" | "breakableHandling1964" | "breakableHandling9691" | "breakableHandling9692" | "breakableHandling9699" | "breathitinCharges" | "brodenBacteria" | "brodenSprinkles" | "buffBotMessageDisposal" | "buffBotPhilanthropyType" | "buffJimmyIngredients" | "burnoutsDefeated" | "burrowgrubSummonsRemaining" | "camelSpit" | "camerasUsed" | "campAwayDecoration" | "carboLoading" | "catBurglarBankHeists" | "cellarLayout" | "charitableDonations" | "chasmBridgeProgress" | "chefTurnsUsed" | "chessboardsCleared" | "chilledToTheBone" | "cinderellaMinutesToMidnight" | "cinderellaScore" | "cocktailSummons" | "controlPanelOmega" | "cornucopiasOpened" | "cozyCounter6332" | "cozyCounter6333" | "cozyCounter6334" | "crimbo16BeardChakraCleanliness" | "crimbo16BootsChakraCleanliness" | "crimbo16BungChakraCleanliness" | "crimbo16CrimboHatChakraCleanliness" | "crimbo16GutsChakraCleanliness" | "crimbo16HatChakraCleanliness" | "crimbo16JellyChakraCleanliness" | "crimbo16LiverChakraCleanliness" | "crimbo16NippleChakraCleanliness" | "crimbo16NoseChakraCleanliness" | "crimbo16ReindeerChakraCleanliness" | "crimbo16SackChakraCleanliness" | "crimboTreeDays" | "cubelingProgress" | "currentExtremity" | "currentHedgeMazeRoom" | "currentMojoFilters" | "currentNunneryMeat" | "cyrptAlcoveEvilness" | "cyrptCrannyEvilness" | "cyrptNicheEvilness" | "cyrptNookEvilness" | "cyrptTotalEvilness" | "darkGyfftePoints" | "daycareEquipment" | "daycareInstructors" | "daycareLastScavenge" | "daycareToddlers" | "dbNemesisSkill1" | "dbNemesisSkill2" | "dbNemesisSkill3" | "desertExploration" | "desktopHeight" | "desktopWidth" | "dinseyFilthLevel" | "dinseyFunProgress" | "dinseyNastyBearsDefeated" | "dinseySocialJusticeIProgress" | "dinseySocialJusticeIIProgress" | "dinseyTouristsFed" | "dinseyToxicMultiplier" | "doctorBagQuestLights" | "doctorBagUpgrades" | "dreadScroll1" | "dreadScroll2" | "dreadScroll3" | "dreadScroll4" | "dreadScroll5" | "dreadScroll6" | "dreadScroll7" | "dreadScroll8" | "dripAdventuresSinceAscension" | "drippingHallAdventuresSinceAscension" | "drippingTreesAdventuresSinceAscension" | "drippyBatsUnlocked" | "drippyJuice" | "drippyOrbsClaimed" | "drunkenSwagger" | "edDefeatAbort" | "edPoints" | "eldritchTentaclesFought" | "electricKoolAidEaten" | "encountersUntilDMTChoice" | "encountersUntilNEPChoice" | "ensorceleeLevel" | "essenceOfAnnoyanceCost" | "essenceOfBearCost" | "extraRolloverAdventures" | "falloutShelterLevel" | "fingernailsClipped" | "fistSkillsKnown" | "flyeredML" | "fossilB" | "fossilD" | "fossilN" | "fossilP" | "fossilS" | "fossilW" | "fratboysDefeated" | "frenchGuardTurtlesFreed" | "garbageChampagneCharge" | "garbageFireProgress" | "garbageShirtCharge" | "garbageTreeCharge" | "garlandUpgrades" | "gingerDigCount" | "gingerLawChoice" | "gingerMuscleChoice" | "gingerTrainScheduleStudies" | "gladiatorBallMovesKnown" | "gladiatorBladeMovesKnown" | "gladiatorNetMovesKnown" | "glitchItemCost" | "glitchItemImplementationCount" | "glitchItemImplementationLevel" | "glitchSwagger" | "gloverPoints" | "gnasirProgress" | "goldenMrAccessories" | "gongPath" | "goreCollected" | "gourdItemCount" | "grimoire1Summons" | "grimoire2Summons" | "grimoire3Summons" | "grimstoneCharge" | "guardTurtlesFreed" | "guideToSafariCost" | "guyMadeOfBeesCount" | "guzzlrBronzeDeliveries" | "guzzlrDeliveryProgress" | "guzzlrGoldDeliveries" | "guzzlrPlatinumDeliveries" | "haciendaLayout" | "heavyRainsStartingThunder" | "heavyRainsStartingRain" | "heavyRainsStartingLightning" | "heroDonationBoris" | "heroDonationJarlsberg" | "heroDonationSneakyPete" | "hiddenApartmentProgress" | "hiddenBowlingAlleyProgress" | "hiddenHospitalProgress" | "hiddenOfficeProgress" | "hiddenTavernUnlock" | "highTopPumped" | "hippiesDefeated" | "holidayHalsBookCost" | "holidaySwagger" | "homebodylCharges" | "hpAutoRecovery" | "hpAutoRecoveryTarget" | "iceSwagger" | "item9084" | "jarlsbergPoints" | "jungCharge" | "junglePuns" | "knownAscensions" | "kolhsTotalSchoolSpirited" | "lastAnticheeseDay" | "lastArcadeAscension" | "lastBadMoonReset" | "lastBangPotionReset" | "lastBarrelSmashed" | "lastBattlefieldReset" | "lastBreakfast" | "lastCastleGroundUnlock" | "lastCastleTopUnlock" | "lastCellarReset" | "lastChanceThreshold" | "lastChasmReset" | "lastColosseumRoundWon" | "lastCouncilVisit" | "lastCounterDay" | "lastDesertUnlock" | "lastDispensaryOpen" | "lastDMTDuplication" | "lastDwarfFactoryReset" | "lastEVHelmetValue" | "lastEVHelmetReset" | "lastEasterEggBalloon" | "lastEmptiedStorage" | "lastFilthClearance" | "lastGoofballBuy" | "lastGuildStoreOpen" | "lastGuyMadeOfBeesReset" | "lastFratboyCall" | "lastFriarCeremonyAscension" | "lastHippyCall" | "lastIslandUnlock" | "lastKeyotronUse" | "lastKingLiberation" | "lastLightsOutTurn" | "lastMushroomPlot" | "lastMiningReset" | "lastNemesisReset" | "lastPaperStripReset" | "lastPirateEphemeraReset" | "lastPirateInsultReset" | "lastPlusSignUnlock" | "lastQuartetAscension" | "lastQuartetRequest" | "lastSecondFloorUnlock" | "lastSemirareReset" | "lastSkateParkReset" | "lastStillBeatingSpleen" | "lastTavernAscension" | "lastTavernSquare" | "lastTelescopeReset" | "lastTempleAdventures" | "lastTempleButtonsUnlock" | "lastTempleUnlock" | "lastTr4pz0rQuest" | "lastVioletFogMap" | "lastVoteMonsterTurn" | "lastWartDinseyDefeated" | "lastWuTangDefeated" | "lastYearbookCameraAscension" | "lastZapperWand" | "lastZapperWandExplosionDay" | "lawOfAveragesCost" | "libramSummons" | "lightsOutAutomation" | "louvreDesiredGoal" | "louvreGoal" | "lttQuestDifficulty" | "lttQuestStageCount" | "manaBurnSummonThreshold" | "manaBurningThreshold" | "manaBurningTrigger" | "manorDrawerCount" | "manualOfNumberologyCost" | "mapToKokomoCost" | "masksUnlocked" | "maximizerMRUSize" | "maximizerCombinationLimit" | "maximizerEquipmentLevel" | "maximizerEquipmentScope" | "maximizerMaxPrice" | "maximizerPriceLevel" | "maxManaBurn" | "mayflyExperience" | "mayoLevel" | "meansuckerPrice" | "merkinVocabularyMastery" | "miniAdvClass" | "miniMartinisDrunk" | "moleTunnelLevel" | "mothershipProgress" | "mpAutoRecovery" | "mpAutoRecoveryTarget" | "munchiesPillsUsed" | "mushroomGardenCropLevel" | "nextParanormalActivity" | "nextQuantumFamiliarTurn" | "noobPoints" | "noobDeferredPoints" | "noodleSummons" | "nsContestants1" | "nsContestants2" | "nsContestants3" | "numericSwagger" | "nunsVisits" | "oilPeakProgress" | "optimalSwagger" | "optimisticCandleProgress" | "palindomeDudesDefeated" | "parasolUsed" | "pendingMapReflections" | "pirateSwagger" | "plantingDay" | "plumberBadgeCost" | "plumberCostumeCost" | "plumberPoints" | "poolSharkCount" | "poolSkill" | "prismaticSummons" | "procrastinatorLanguageFluency" | "promptAboutCrafting" | "puzzleChampBonus" | "pyramidPosition" | "rockinRobinProgress" | "ROMOfOptimalityCost" | "quantumPoints" | "reagentSummons" | "reanimatorArms" | "reanimatorLegs" | "reanimatorSkulls" | "reanimatorWeirdParts" | "reanimatorWings" | "recentLocations" | "redSnapperProgress" | "relocatePygmyJanitor" | "relocatePygmyLawyer" | "rumpelstiltskinTurnsUsed" | "rumpelstiltskinKidsRescued" | "safariSwagger" | "sausageGrinderUnits" | "schoolOfHardKnocksDiplomaCost" | "schoolSwagger" | "scrapbookCharges" | "scriptMRULength" | "seaodesFound" | "SeasoningSwagger" | "semirareCounter" | "sexChanges" | "shenInitiationDay" | "shockingLickCharges" | "singleFamiliarRun" | "skillBurn3" | "skillBurn90" | "skillBurn153" | "skillBurn154" | "skillBurn155" | "skillBurn1019" | "skillBurn5017" | "skillBurn6014" | "skillBurn6015" | "skillBurn6016" | "skillBurn6020" | "skillBurn6021" | "skillBurn6022" | "skillBurn6023" | "skillBurn6024" | "skillBurn6026" | "skillBurn6028" | "skillBurn7323" | "skillBurn14008" | "skillBurn14028" | "skillBurn14038" | "skillBurn15011" | "skillBurn15028" | "skillBurn17005" | "skillBurn22034" | "skillBurn22035" | "skillBurn23301" | "skillBurn23302" | "skillBurn23303" | "skillBurn23304" | "skillBurn23305" | "skillBurn23306" | "skillLevel46" | "skillLevel47" | "skillLevel48" | "skillLevel117" | "skillLevel118" | "skillLevel121" | "skillLevel128" | "skillLevel134" | "skillLevel144" | "skillLevel180" | "skillLevel188" | "skillLevel7254" | "slimelingFullness" | "slimelingStacksDropped" | "slimelingStacksDue" | "smoresEaten" | "smutOrcNoncombatProgress" | "sneakyPetePoints" | "snojoMoxieWins" | "snojoMuscleWins" | "snojoMysticalityWins" | "sourceAgentsDefeated" | "sourceEnlightenment" | "sourceInterval" | "sourcePoints" | "sourceTerminalGram" | "sourceTerminalPram" | "sourceTerminalSpam" | "spaceBabyLanguageFluency" | "spacePirateLanguageFluency" | "spelunkyNextNoncombat" | "spelunkySacrifices" | "spelunkyWinCount" | "spookyPuttyCopiesMade" | "statbotUses" | "sugarCounter4178" | "sugarCounter4179" | "sugarCounter4180" | "sugarCounter4181" | "sugarCounter4182" | "sugarCounter4183" | "sugarCounter4191" | "summonAnnoyanceCost" | "tacoDanCocktailSauce" | "tacoDanFishMeat" | "tavernLayout" | "telescopeUpgrades" | "tempuraSummons" | "timeSpinnerMedals" | "timesRested" | "tomeSummons" | "totalCharitableDonations" | "turtleBlessingTurns" | "twinPeakProgress" | "unicornHornInflation" | "universalSeasoningCost" | "usable1HWeapons" | "usable1xAccs" | "usable2HWeapons" | "usable3HWeapons" | "usableAccessories" | "usableHats" | "usableOffhands" | "usableOther" | "usablePants" | "usableShirts" | "valueOfAdventure" | "valueOfInventory" | "valueOfStill" | "valueOfTome" | "vintnerWineLevel" | "violetFogGoal" | "walfordBucketProgress" | "warehouseProgress" | "welcomeBackAdv" | "writingDesksDefeated" | "xoSkeleltonXProgress" | "xoSkeleltonOProgress" | "yearbookCameraAscensions" | "yearbookCameraUpgrades" | "youRobotBody" | "youRobotBottom" | "youRobotLeft" | "youRobotPoints" | "youRobotRight" | "youRobotTop" | "zeppelinProtestors" | "zombiePoints" | "_absintheDrops" | "_abstractionDropsCrown" | "_aguaDrops" | "_xenomorphCharge" | "_ancestralRecallCasts" | "_antihangoverBonus" | "_astralDrops" | "_backUpUses" | "_badlyRomanticArrows" | "_badgerCharge" | "_balefulHowlUses" | "_banderRunaways" | "_bastilleGames" | "_beanCannonUses" | "_bearHugs" | "_beerLensDrops" | "_benettonsCasts" | "_birdsSoughtToday" | "_boomBoxFights" | "_boomBoxSongsLeft" | "_bootStomps" | "_boxingGloveArrows" | "_brickoEyeSummons" | "_brickoFights" | "_campAwayCloudBuffs" | "_campAwaySmileBuffs" | "_candySummons" | "_captainHagnkUsed" | "_carnieCandyDrops" | "_carrotNoseDrops" | "_catBurglarCharge" | "_catBurglarHeistsComplete" | "_cheerleaderSteam" | "_chestXRayUsed" | "_chipBags" | "_chocolateCigarsUsed" | "_chocolateSculpturesUsed" | "_chocolatesUsed" | "_chronolithActivations" | "_clanFortuneConsultUses" | "_clipartSummons" | "_coldMedicineConsults" | "_companionshipCasts" | "_dailySpecialPrice" | "_daycareGymScavenges" | "_daycareRecruits" | "_deckCardsDrawn" | "_deluxeKlawSummons" | "_demandSandwich" | "_detectiveCasesCompleted" | "_disavowed" | "_dnaPotionsMade" | "_donhosCasts" | "_dreamJarDrops" | "_drunkPygmyBanishes" | "_edDefeats" | "_edLashCount" | "_elronsCasts" | "_enamorangs" | "_energyCollected" | "_expertCornerCutterUsed" | "_favorRareSummons" | "_feastUsed" | "_feelinTheRhythm" | "_feelPrideUsed" | "_feelExcitementUsed" | "_feelHatredUsed" | "_feelLonelyUsed" | "_feelNervousUsed" | "_feelEnvyUsed" | "_feelDisappointedUsed" | "_feelSuperiorUsed" | "_feelLostUsed" | "_feelNostalgicUsed" | "_feelPeacefulUsed" | "_fingertrapArrows" | "_fireExtinguisherCharge" | "_fragrantHerbsUsed" | "_freeBeachWalksUsed" | "_frButtonsPressed" | "_fudgeWaspFights" | "_gapBuffs" | "_garbageFireDropsCrown" | "_genieFightsUsed" | "_genieWishesUsed" | "_gibbererAdv" | "_gibbererCharge" | "_gingerbreadCityTurns" | "_glarkCableUses" | "_glitchMonsterFights" | "_gnomeAdv" | "_godLobsterFights" | "_goldenMoneyCharge" | "_gongDrops" | "_gothKidCharge" | "_gothKidFights" | "_grimBrotherCharge" | "_grimFairyTaleDrops" | "_grimFairyTaleDropsCrown" | "_grimoireConfiscatorSummons" | "_grimoireGeekySummons" | "_grimstoneMaskDrops" | "_grimstoneMaskDropsCrown" | "_grooseCharge" | "_grooseDrops" | "_guzzlrDeliveries" | "_guzzlrGoldDeliveries" | "_guzzlrPlatinumDeliveries" | "_hareAdv" | "_hareCharge" | "_highTopPumps" | "_hipsterAdv" | "_hoardedCandyDropsCrown" | "_hoboUnderlingSummons" | "_holoWristDrops" | "_holoWristProgress" | "_hotAshesDrops" | "_hotJellyUses" | "_hotTubSoaks" | "_humanMuskUses" | "_iceballUses" | "_inigosCasts" | "_jerksHealthMagazinesUsed" | "_jiggleCheese" | "_jiggleCream" | "_jiggleLife" | "_jiggleSteak" | "_jitbCharge" | "_jungDrops" | "_kgbClicksUsed" | "_kgbDispenserUses" | "_kgbTranquilizerDartUses" | "_klawSummons" | "_kloopCharge" | "_kloopDrops" | "_kolhsAdventures" | "_kolhsSavedByTheBell" | "_lastDailyDungeonRoom" | "_lastSausageMonsterTurn" | "_lastZomboEye" | "_latteRefillsUsed" | "_leafblowerML" | "_legionJackhammerCrafting" | "_llamaCharge" | "_longConUsed" | "_loveChocolatesUsed" | "_lynyrdSnareUses" | "_machineTunnelsAdv" | "_macrometeoriteUses" | "_mafiaThumbRingAdvs" | "_monstersMapped" | "_mayflowerDrops" | "_mayflySummons" | "_mediumSiphons" | "_meteoriteAdesUsed" | "_meteorShowerUses" | "_micrometeoriteUses" | "_miniMartiniDrops" | "_mushroomGardenFights" | "_nanorhinoCharge" | "_navelRunaways" | "_neverendingPartyFreeTurns" | "_newYouQuestSharpensDone" | "_newYouQuestSharpensToDo" | "_nextColdMedicineConsult" | "_nextQuantumAlignment" | "_nightmareFuelCharges" | "_noobSkillCount" | "_nuclearStockpileUsed" | "_oilExtracted" | "_optimisticCandleDropsCrown" | "_oreDropsCrown" | "_otoscopeUsed" | "_pantsgivingBanish" | "_pantsgivingCount" | "_pantsgivingCrumbs" | "_pantsgivingFullness" | "_pasteDrops" | "_peteJukeboxFixed" | "_peteJumpedShark" | "_petePeeledOut" | "_pieDrops" | "_piePartsCount" | "_pixieCharge" | "_pocketProfessorLectures" | "_poisonArrows" | "_pokeGrowFertilizerDrops" | "_poolGames" | "_powderedGoldDrops" | "_powderedMadnessUses" | "_powerfulGloveBatteryPowerUsed" | "_powerPillDrops" | "_powerPillUses" | "_precisionCasts" | "_radlibSummons" | "_raindohCopiesMade" | "_rapidPrototypingUsed" | "_raveStealCount" | "_reflexHammerUsed" | "_resolutionAdv" | "_resolutionRareSummons" | "_riftletAdv" | "_rogueProgramCharge" | "_romanticFightsLeft" | "_saberForceMonsterCount" | "_saberForceUses" | "_saberMod" | "_saltGrainsConsumed" | "_sandwormCharge" | "_saplingsPlanted" | "_sausageFights" | "_sausagesEaten" | "_sausagesMade" | "_sealFigurineUses" | "_sealScreeches" | "_sealsSummoned" | "_shatteringPunchUsed" | "_shortOrderCookCharge" | "_shrubCharge" | "_sloppyDinerBeachBucks" | "_smilesOfMrA" | "_smithsnessSummons" | "_snojoFreeFights" | "_snojoParts" | "_snokebombUsed" | "_snowconeSummons" | "_snowglobeDrops" | "_snowSuitCount" | "_sourceTerminalDigitizeMonsterCount" | "_sourceTerminalDigitizeUses" | "_sourceTerminalDuplicateUses" | "_sourceTerminalEnhanceUses" | "_sourceTerminalExtrudes" | "_sourceTerminalPortscanUses" | "_spaceFurDropsCrown" | "_spacegatePlanetIndex" | "_spacegateTurnsLeft" | "_spaceJellyfishDrops" | "_speakeasyDrinksDrunk" | "_spelunkerCharges" | "_spelunkingTalesDrops" | "_spookyJellyUses" | "_stackLumpsUses" | "_steamCardDrops" | "_stickerSummons" | "_stinkyCheeseCount" | "_stressBallSqueezes" | "_sugarSummons" | "_taffyRareSummons" | "_taffyYellowSummons" | "_thanksgettingFoodsEaten" | "_thingfinderCasts" | "_thinknerdPackageDrops" | "_thorsPliersCrafting" | "_timeHelmetAdv" | "_timeSpinnerMinutesUsed" | "_tokenDrops" | "_transponderDrops" | "_turkeyBlastersUsed" | "_turkeyBooze" | "_turkeyMuscle" | "_turkeyMyst" | "_turkeyMoxie" | "_unaccompaniedMinerUsed" | "_unconsciousCollectiveCharge" | "_universalSeasoningsUsed" | "_universeCalculated" | "_universeImploded" | "_usedReplicaBatoomerang" | "_vampyreCloakeFormUses" | "_villainLairProgress" | "_vitachocCapsulesUsed" | "_vmaskAdv" | "_volcanoItem1" | "_volcanoItem2" | "_volcanoItem3" | "_volcanoItemCount1" | "_volcanoItemCount2" | "_volcanoItemCount3" | "_voteFreeFights" | "_VYKEACompanionLevel" | "_warbearAutoAnvilCrafting" | "_whiteRiceDrops" | "_witchessFights" | "_xoHugsUsed" | "_yellowPixelDropsCrown" | "_zapCount";
4
- export declare type MonsterProperty = "beGregariousMonster" | "cameraMonster" | "chateauMonster" | "crappyCameraMonster" | "crudeMonster" | "crystalBallMonster" | "enamorangMonster" | "envyfishMonster" | "lastCopyableMonster" | "iceSculptureMonster" | "longConMonster" | "makeFriendsMonster" | "merkinLockkeyMonster" | "nosyNoseMonster" | "olfactedMonster" | "photocopyMonster" | "rainDohMonster" | "romanticTarget" | "screencappedMonster" | "spookyPuttyMonster" | "stenchCursedMonster" | "superficiallyInterestedMonster" | "waxMonster" | "yearbookCameraTarget" | "_gallapagosMonster" | "_jiggleCreamedMonster" | "_latteMonster" | "_nanorhinoBanishedMonster" | "_newYouQuestMonster" | "_relativityMonster" | "_saberForceMonster" | "_sourceTerminalDigitizeMonster" | "_voteMonster";
5
- export declare type LocationProperty = "crystalBallLocation" | "currentJunkyardLocation" | "doctorBagQuestLocation" | "ghostLocation" | "guzzlrQuestLocation" | "nextSpookyravenElizabethRoom" | "nextSpookyravenStephenRoom" | "semirareLocation" | "sourceOracleTarget";
6
- export declare type StringProperty = "autoLogin" | "browserBookmarks" | "chatFontSize" | "combatHotkey0" | "combatHotkey1" | "combatHotkey2" | "combatHotkey3" | "combatHotkey4" | "combatHotkey5" | "combatHotkey6" | "combatHotkey7" | "combatHotkey8" | "combatHotkey9" | "commandLineNamespace" | "cookies.inventory" | "dailyDeedsOptions" | "defaultBorderColor" | "displayName" | "externalEditor" | "getBreakfast" | "headerStates" | "highlightList" | "http.proxyHost" | "http.proxyPassword" | "http.proxyPort" | "http.proxyUser" | "https.proxyHost" | "https.proxyPassword" | "https.proxyPort" | "https.proxyUser" | "initialDesktop" | "initialFrames" | "innerChatColor" | "innerTabColor" | "lastRelayUpdate" | "lastRssVersion" | "lastUserAgent" | "lastUsername" | "logPreferenceChangeFilter" | "loginScript" | "loginServerName" | "loginWindowLogo" | "logoutScript" | "outerChatColor" | "outerTabColor" | "previousNotifyList" | "previousUpdateVersion" | "saveState" | "saveStateActive" | "scriptList" | "swingLookAndFeel" | "useDecoratedTabs" | "userAgent" | "afterAdventureScript" | "autoOlfact" | "autoPutty" | "backupCameraMode" | "banishedMonsters" | "banishingShoutMonsters" | "barrelLayout" | "batmanStats" | "batmanZone" | "batmanUpgrades" | "battleAction" | "beachHeadsUnlocked" | "beforePVPScript" | "betweenBattleScript" | "boomBoxSong" | "breakfastAlways" | "breakfastHardcore" | "breakfastSoftcore" | "buffBotCasting" | "buyScript" | "cargoPocketsEmptied" | "cargoPocketScraps" | "chatbotScript" | "chatPlayerScript" | "choiceAdventureScript" | "chosenTrip" | "clanFortuneReply1" | "clanFortuneReply2" | "clanFortuneReply3" | "clanFortuneWord1" | "clanFortuneWord2" | "clanFortuneWord3" | "commerceGhostItem" | "counterScript" | "copperheadClubHazard" | "crimbotChassis" | "crimbotArm" | "crimbotPropulsion" | "csServicesPerformed" | "currentEasyBountyItem" | "currentHardBountyItem" | "currentHippyStore" | "currentJunkyardTool" | "currentMood" | "currentPVPSeason" | "currentPvpVictories" | "currentSpecialBountyItem" | "customCombatScript" | "cyrusAdjectives" | "defaultFlowerLossMessage" | "defaultFlowerWinMessage" | "demonName1" | "demonName2" | "demonName3" | "demonName4" | "demonName5" | "demonName6" | "demonName7" | "demonName8" | "demonName9" | "demonName10" | "demonName11" | "demonName12" | "demonName13" | "dinseyGatorStenchDamage" | "dinseyRollercoasterStats" | "doctorBagQuestItem" | "dolphinItem" | "edPiece" | "ensorcelee" | "EVEDirections" | "extraCosmeticModifiers" | "familiarScript" | "gameProBossSpecialPower" | "grimoireSkillsHardcore" | "grimoireSkillsSoftcore" | "grimstoneMaskPath" | "guzzlrQuestClient" | "guzzlrQuestBooze" | "guzzlrQuestTier" | "harvestGardenHardcore" | "harvestGardenSoftcore" | "hpAutoRecoveryItems" | "invalidBuffMessage" | "jickSwordModifier" | "kingLiberatedScript" | "lassoTraining" | "lastAdventure" | "lastBangPotion819" | "lastBangPotion820" | "lastBangPotion821" | "lastBangPotion822" | "lastBangPotion823" | "lastBangPotion824" | "lastBangPotion825" | "lastBangPotion826" | "lastBangPotion827" | "lastChanceBurn" | "lastChessboard" | "lastDwarfDiceRolls" | "lastDwarfDigitRunes" | "lastDwarfEquipmentRunes" | "lastDwarfFactoryItem118" | "lastDwarfFactoryItem119" | "lastDwarfFactoryItem120" | "lastDwarfFactoryItem360" | "lastDwarfFactoryItem361" | "lastDwarfFactoryItem362" | "lastDwarfFactoryItem363" | "lastDwarfFactoryItem364" | "lastDwarfFactoryItem365" | "lastDwarfFactoryItem910" | "lastDwarfFactoryItem3199" | "lastDwarfOfficeItem3208" | "lastDwarfOfficeItem3209" | "lastDwarfOfficeItem3210" | "lastDwarfOfficeItem3211" | "lastDwarfOfficeItem3212" | "lastDwarfOfficeItem3213" | "lastDwarfOfficeItem3214" | "lastDwarfOreRunes" | "lastDwarfHopper1" | "lastDwarfHopper2" | "lastDwarfHopper3" | "lastDwarfHopper4" | "lastEncounter" | "lastMacroError" | "lastMessageId" | "lastPaperStrip3144" | "lastPaperStrip4138" | "lastPaperStrip4139" | "lastPaperStrip4140" | "lastPaperStrip4141" | "lastPaperStrip4142" | "lastPaperStrip4143" | "lastPaperStrip4144" | "lastPirateEphemera" | "lastPorkoBoard" | "lastPorkoPayouts" | "lastPorkoExpected" | "lastSlimeVial3885" | "lastSlimeVial3886" | "lastSlimeVial3887" | "lastSlimeVial3888" | "lastSlimeVial3889" | "lastSlimeVial3890" | "lastSlimeVial3891" | "lastSlimeVial3892" | "lastSlimeVial3893" | "lastSlimeVial3894" | "lastSlimeVial3895" | "lastSlimeVial3896" | "latteModifier" | "latteUnlocks" | "libramSkillsHardcore" | "libramSkillsSoftcore" | "louvreOverride" | "lovePotion" | "lttQuestName" | "maximizerList" | "maximizerMRUList" | "mayoInMouth" | "mayoMinderSetting" | "merkinQuestPath" | "mineLayout1" | "mineLayout2" | "mineLayout3" | "mineLayout4" | "mineLayout5" | "mineLayout6" | "mpAutoRecoveryItems" | "muffinOnOrder" | "nextAdventure" | "nsChallenge2" | "nsChallenge3" | "nsChallenge4" | "nsChallenge5" | "nsTowerDoorKeysUsed" | "oceanAction" | "oceanDestination" | "pastaThrall1" | "pastaThrall2" | "pastaThrall3" | "pastaThrall4" | "pastaThrall5" | "pastaThrall6" | "pastaThrall7" | "pastaThrall8" | "peteMotorbikeTires" | "peteMotorbikeGasTank" | "peteMotorbikeHeadlight" | "peteMotorbikeCowling" | "peteMotorbikeMuffler" | "peteMotorbikeSeat" | "pieStuffing" | "plantingDate" | "plantingLength" | "plantingScript" | "plumberCostumeWorn" | "pokefamBoosts" | "postAscensionScript" | "preAscensionScript" | "retroCapeSuperhero" | "retroCapeWashingInstructions" | "questDoctorBag" | "questECoBucket" | "questESlAudit" | "questESlBacteria" | "questESlCheeseburger" | "questESlCocktail" | "questESlDebt" | "questESlFish" | "questESlMushStash" | "questESlSalt" | "questESlSprinkles" | "questESpEVE" | "questESpJunglePun" | "questESpGore" | "questESpClipper" | "questESpFakeMedium" | "questESpSerum" | "questESpSmokes" | "questESpOutOfOrder" | "questEStFishTrash" | "questEStGiveMeFuel" | "questEStNastyBears" | "questEStSocialJusticeI" | "questEStSocialJusticeII" | "questEStSuperLuber" | "questEStWorkWithFood" | "questEStZippityDooDah" | "questEUNewYou" | "questF01Primordial" | "questF02Hyboria" | "questF03Future" | "questF04Elves" | "questF05Clancy" | "questG01Meatcar" | "questG02Whitecastle" | "questG03Ego" | "questG04Nemesis" | "questG05Dark" | "questG06Delivery" | "questG07Myst" | "questG08Moxie" | "questG09Muscle" | "questGuzzlr" | "questI01Scapegoat" | "questI02Beat" | "questL02Larva" | "questL03Rat" | "questL04Bat" | "questL05Goblin" | "questL06Friar" | "questL07Cyrptic" | "questL08Trapper" | "questL09Topping" | "questL10Garbage" | "questL11MacGuffin" | "questL11Black" | "questL11Business" | "questL11Curses" | "questL11Desert" | "questL11Doctor" | "questL11Manor" | "questL11Palindome" | "questL11Pyramid" | "questL11Ron" | "questL11Shen" | "questL11Spare" | "questL11Worship" | "questL12War" | "questL12HippyFrat" | "questL13Final" | "questL13Warehouse" | "questLTTQuestByWire" | "questM01Untinker" | "questM02Artist" | "questM03Bugbear" | "questM05Toot" | "questM06Gourd" | "questM07Hammer" | "questM08Baker" | "questM09Rocks" | "questM10Azazel" | "questM11Postal" | "questM12Pirate" | "questM13Escape" | "questM14Bounty" | "questM15Lol" | "questM16Temple" | "questM17Babies" | "questM18Swamp" | "questM19Hippy" | "questM20Necklace" | "questM21Dance" | "questM22Shirt" | "questM23Meatsmith" | "questM24Doc" | "questM25Armorer" | "questM26Oracle" | "questPAGhost" | "questS01OldGuy" | "questS02Monkees" | "raveCombo1" | "raveCombo2" | "raveCombo3" | "raveCombo4" | "raveCombo5" | "raveCombo6" | "recoveryScript" | "relayCounters" | "royalty" | "scriptMRUList" | "seahorseName" | "shenQuestItem" | "shrubGarland" | "shrubGifts" | "shrubLights" | "shrubTopper" | "sideDefeated" | "sidequestArenaCompleted" | "sidequestFarmCompleted" | "sidequestJunkyardCompleted" | "sidequestLighthouseCompleted" | "sidequestNunsCompleted" | "sidequestOrchardCompleted" | "skateParkStatus" | "snowsuit" | "sourceTerminalChips" | "sourceTerminalEducate1" | "sourceTerminalEducate2" | "sourceTerminalEnquiry" | "sourceTerminalEducateKnown" | "sourceTerminalEnhanceKnown" | "sourceTerminalEnquiryKnown" | "sourceTerminalExtrudeKnown" | "spadingData" | "spadingScript" | "spelunkyStatus" | "spelunkyUpgrades" | "spookyravenRecipeUsed" | "stationaryButton1" | "stationaryButton2" | "stationaryButton3" | "stationaryButton4" | "stationaryButton5" | "streamCrossDefaultTarget" | "sweetSynthesisBlacklist" | "telescope1" | "telescope2" | "telescope3" | "telescope4" | "telescope5" | "testudinalTeachings" | "textColors" | "thanksMessage" | "tomeSkillsHardcore" | "tomeSkillsSoftcore" | "trackVoteMonster" | "trapperOre" | "umdLastObtained" | "vintnerWineType" | "violetFogLayout" | "volcanoMaze1" | "volcanoMaze2" | "volcanoMaze3" | "volcanoMaze4" | "volcanoMaze5" | "walfordBucketItem" | "warProgress" | "workteaClue" | "yourFavoriteBird" | "yourFavoriteBirdMods" | "youRobotCPUUpgrades" | "_beachHeadsUsed" | "_beachLayout" | "_beachMinutes" | "_birdOfTheDay" | "_birdOfTheDayMods" | "_bittycar" | "_campAwaySmileBuffSign" | "_cloudTalkMessage" | "_cloudTalkSmoker" | "_dailySpecial" | "_deckCardsSeen" | "_feastedFamiliars" | "_floristPlantsUsed" | "_frAreasUnlocked" | "_frHoursLeft" | "_frMonstersKilled" | "_horsery" | "_horseryCrazyMox" | "_horseryCrazyMus" | "_horseryCrazyMys" | "_horseryCrazyName" | "_horseryCurrentName" | "_horseryDarkName" | "_horseryNormalName" | "_horseryPaleName" | "_jickJarAvailable" | "_jiggleCheesedMonsters" | "_lastCombatStarted" | "_LastPirateRealmIsland" | "_mummeryMods" | "_mummeryUses" | "_newYouQuestSkill" | "_noHatModifier" | "_pantogramModifier" | "_questESp" | "_questPartyFair" | "_questPartyFairProgress" | "_questPartyFairQuest" | "_roboDrinks" | "_spacegateAnimalLife" | "_spacegateCoordinates" | "_spacegateHazards" | "_spacegateIntelligentLife" | "_spacegatePlanetName" | "_spacegatePlantLife" | "_stolenAccordions" | "_tempRelayCounters" | "_timeSpinnerFoodAvailable" | "_unknownEasyBountyItem" | "_unknownHardBountyItem" | "_unknownSpecialBountyItem" | "_untakenEasyBountyItem" | "_untakenHardBountyItem" | "_untakenSpecialBountyItem" | "_userMods" | "_villainLairColor" | "_villainLairKey" | "_voteLocal1" | "_voteLocal2" | "_voteLocal3" | "_voteLocal4" | "_voteMonster1" | "_voteMonster2" | "_voteModifier" | "_VYKEACompanionType" | "_VYKEACompanionRune" | "_VYKEACompanionName";
3
+ export declare type NumericProperty = "charsheetDropdown" | "chatStyle" | "coinMasterIndex" | "dailyDeedsVersion" | "defaultDropdown1" | "defaultDropdown2" | "defaultDropdownSplit" | "defaultLimit" | "fixedThreadPoolSize" | "itemManagerIndex" | "lastBuffRequestType" | "lastGlobalCounterDay" | "lastImageCacheClear" | "lastRssUpdate" | "previousUpdateRevision" | "relaySkillButtonCount" | "scriptButtonPosition" | "statusDropdown" | "svnThreadPoolSize" | "toolbarPosition" | "_g9Effect" | "addingScrolls" | "affirmationCookiesEaten" | "aminoAcidsUsed" | "antagonisticSnowmanKitCost" | "autoAbortThreshold" | "autoAntidote" | "autoBuyPriceLimit" | "availableCandyCredits" | "availableDimes" | "availableFunPoints" | "availableQuarters" | "availableStoreCredits" | "availableSwagger" | "averageSwagger" | "awolMedicine" | "awolPointsBeanslinger" | "awolPointsCowpuncher" | "awolPointsSnakeoiler" | "awolDeferredPointsBeanslinger" | "awolDeferredPointsCowpuncher" | "awolDeferredPointsSnakeoiler" | "awolVenom" | "bagOTricksCharges" | "ballpitBonus" | "bankedKarma" | "barrelGoal" | "bartenderTurnsUsed" | "basementMallPrices" | "basementSafetyMargin" | "batmanFundsAvailable" | "batmanBonusInitialFunds" | "batmanTimeLeft" | "bearSwagger" | "beeCounter" | "beGregariousCharges" | "beGregariousFightsLeft" | "birdformCold" | "birdformHot" | "birdformRoc" | "birdformSleaze" | "birdformSpooky" | "birdformStench" | "blackBartsBootyCost" | "blackPuddingsDefeated" | "blackForestProgress" | "blankOutUsed" | "bloodweiserDrunk" | "bondPoints" | "bondVillainsDefeated" | "boneAbacusVictories" | "booPeakProgress" | "borisPoints" | "breakableHandling" | "breakableHandling1964" | "breakableHandling9691" | "breakableHandling9692" | "breakableHandling9699" | "breathitinCharges" | "brodenBacteria" | "brodenSprinkles" | "buffBotMessageDisposal" | "buffBotPhilanthropyType" | "buffJimmyIngredients" | "burnoutsDefeated" | "burrowgrubSummonsRemaining" | "camelSpit" | "camerasUsed" | "campAwayDecoration" | "carboLoading" | "catBurglarBankHeists" | "cellarLayout" | "charitableDonations" | "chasmBridgeProgress" | "chefTurnsUsed" | "chessboardsCleared" | "chilledToTheBone" | "cinderellaMinutesToMidnight" | "cinderellaScore" | "cocktailSummons" | "commerceGhostCombats" | "controlPanelOmega" | "cornucopiasOpened" | "cozyCounter6332" | "cozyCounter6333" | "cozyCounter6334" | "crimbo16BeardChakraCleanliness" | "crimbo16BootsChakraCleanliness" | "crimbo16BungChakraCleanliness" | "crimbo16CrimboHatChakraCleanliness" | "crimbo16GutsChakraCleanliness" | "crimbo16HatChakraCleanliness" | "crimbo16JellyChakraCleanliness" | "crimbo16LiverChakraCleanliness" | "crimbo16NippleChakraCleanliness" | "crimbo16NoseChakraCleanliness" | "crimbo16ReindeerChakraCleanliness" | "crimbo16SackChakraCleanliness" | "crimboTreeDays" | "cubelingProgress" | "currentExtremity" | "currentHedgeMazeRoom" | "currentMojoFilters" | "currentNunneryMeat" | "cyrptAlcoveEvilness" | "cyrptCrannyEvilness" | "cyrptNicheEvilness" | "cyrptNookEvilness" | "cyrptTotalEvilness" | "darkGyfftePoints" | "daycareEquipment" | "daycareInstructors" | "daycareLastScavenge" | "daycareToddlers" | "dbNemesisSkill1" | "dbNemesisSkill2" | "dbNemesisSkill3" | "desertExploration" | "desktopHeight" | "desktopWidth" | "dinseyFilthLevel" | "dinseyFunProgress" | "dinseyNastyBearsDefeated" | "dinseySocialJusticeIProgress" | "dinseySocialJusticeIIProgress" | "dinseyTouristsFed" | "dinseyToxicMultiplier" | "doctorBagQuestLights" | "doctorBagUpgrades" | "dreadScroll1" | "dreadScroll2" | "dreadScroll3" | "dreadScroll4" | "dreadScroll5" | "dreadScroll6" | "dreadScroll7" | "dreadScroll8" | "dripAdventuresSinceAscension" | "drippingHallAdventuresSinceAscension" | "drippingTreesAdventuresSinceAscension" | "drippyBatsUnlocked" | "drippyJuice" | "drippyOrbsClaimed" | "drunkenSwagger" | "edDefeatAbort" | "edPoints" | "eldritchTentaclesFought" | "electricKoolAidEaten" | "encountersUntilDMTChoice" | "encountersUntilNEPChoice" | "ensorceleeLevel" | "essenceOfAnnoyanceCost" | "essenceOfBearCost" | "extraRolloverAdventures" | "falloutShelterLevel" | "fingernailsClipped" | "fistSkillsKnown" | "flyeredML" | "fossilB" | "fossilD" | "fossilN" | "fossilP" | "fossilS" | "fossilW" | "fratboysDefeated" | "frenchGuardTurtlesFreed" | "garbageChampagneCharge" | "garbageFireProgress" | "garbageShirtCharge" | "garbageTreeCharge" | "garlandUpgrades" | "gingerDigCount" | "gingerLawChoice" | "gingerMuscleChoice" | "gingerTrainScheduleStudies" | "gladiatorBallMovesKnown" | "gladiatorBladeMovesKnown" | "gladiatorNetMovesKnown" | "glitchItemCost" | "glitchItemImplementationCount" | "glitchItemImplementationLevel" | "glitchSwagger" | "gloverPoints" | "gnasirProgress" | "goldenMrAccessories" | "gongPath" | "goreCollected" | "gourdItemCount" | "grimoire1Summons" | "grimoire2Summons" | "grimoire3Summons" | "grimstoneCharge" | "guardTurtlesFreed" | "guideToSafariCost" | "guyMadeOfBeesCount" | "guzzlrBronzeDeliveries" | "guzzlrDeliveryProgress" | "guzzlrGoldDeliveries" | "guzzlrPlatinumDeliveries" | "haciendaLayout" | "heavyRainsStartingThunder" | "heavyRainsStartingRain" | "heavyRainsStartingLightning" | "heroDonationBoris" | "heroDonationJarlsberg" | "heroDonationSneakyPete" | "hiddenApartmentProgress" | "hiddenBowlingAlleyProgress" | "hiddenHospitalProgress" | "hiddenOfficeProgress" | "hiddenTavernUnlock" | "highTopPumped" | "hippiesDefeated" | "holidayHalsBookCost" | "holidaySwagger" | "homebodylCharges" | "hpAutoRecovery" | "hpAutoRecoveryTarget" | "iceSwagger" | "item9084" | "jarlsbergPoints" | "jungCharge" | "junglePuns" | "knownAscensions" | "kolhsTotalSchoolSpirited" | "lastAnticheeseDay" | "lastArcadeAscension" | "lastBadMoonReset" | "lastBangPotionReset" | "lastBarrelSmashed" | "lastBattlefieldReset" | "lastBreakfast" | "lastCastleGroundUnlock" | "lastCastleTopUnlock" | "lastCellarReset" | "lastChanceThreshold" | "lastChasmReset" | "lastColosseumRoundWon" | "lastCouncilVisit" | "lastCounterDay" | "lastDesertUnlock" | "lastDispensaryOpen" | "lastDMTDuplication" | "lastDwarfFactoryReset" | "lastEVHelmetValue" | "lastEVHelmetReset" | "lastEasterEggBalloon" | "lastEmptiedStorage" | "lastFilthClearance" | "lastGoofballBuy" | "lastGuildStoreOpen" | "lastGuyMadeOfBeesReset" | "lastFratboyCall" | "lastFriarCeremonyAscension" | "lastHippyCall" | "lastIslandUnlock" | "lastKeyotronUse" | "lastKingLiberation" | "lastLightsOutTurn" | "lastMushroomPlot" | "lastMiningReset" | "lastNemesisReset" | "lastPaperStripReset" | "lastPirateEphemeraReset" | "lastPirateInsultReset" | "lastPlusSignUnlock" | "lastQuartetAscension" | "lastQuartetRequest" | "lastSecondFloorUnlock" | "lastSemirareReset" | "lastSkateParkReset" | "lastStillBeatingSpleen" | "lastTavernAscension" | "lastTavernSquare" | "lastTelescopeReset" | "lastTempleAdventures" | "lastTempleButtonsUnlock" | "lastTempleUnlock" | "lastTr4pz0rQuest" | "lastVioletFogMap" | "lastVoteMonsterTurn" | "lastWartDinseyDefeated" | "lastWuTangDefeated" | "lastYearbookCameraAscension" | "lastZapperWand" | "lastZapperWandExplosionDay" | "lawOfAveragesCost" | "libramSummons" | "lightsOutAutomation" | "louvreDesiredGoal" | "louvreGoal" | "lttQuestDifficulty" | "lttQuestStageCount" | "manaBurnSummonThreshold" | "manaBurningThreshold" | "manaBurningTrigger" | "manorDrawerCount" | "manualOfNumberologyCost" | "mapToKokomoCost" | "masksUnlocked" | "maximizerMRUSize" | "maximizerCombinationLimit" | "maximizerEquipmentLevel" | "maximizerEquipmentScope" | "maximizerMaxPrice" | "maximizerPriceLevel" | "maxManaBurn" | "mayflyExperience" | "mayoLevel" | "meansuckerPrice" | "merkinVocabularyMastery" | "miniAdvClass" | "miniMartinisDrunk" | "moleTunnelLevel" | "mothershipProgress" | "mpAutoRecovery" | "mpAutoRecoveryTarget" | "munchiesPillsUsed" | "mushroomGardenCropLevel" | "nextParanormalActivity" | "nextQuantumFamiliarTurn" | "noobPoints" | "noobDeferredPoints" | "noodleSummons" | "nsContestants1" | "nsContestants2" | "nsContestants3" | "numericSwagger" | "nunsVisits" | "oilPeakProgress" | "optimalSwagger" | "optimisticCandleProgress" | "palindomeDudesDefeated" | "parasolUsed" | "pendingMapReflections" | "pirateSwagger" | "plantingDay" | "plumberBadgeCost" | "plumberCostumeCost" | "plumberPoints" | "poolSharkCount" | "poolSkill" | "prismaticSummons" | "procrastinatorLanguageFluency" | "promptAboutCrafting" | "puzzleChampBonus" | "pyramidPosition" | "rockinRobinProgress" | "ROMOfOptimalityCost" | "quantumPoints" | "reagentSummons" | "reanimatorArms" | "reanimatorLegs" | "reanimatorSkulls" | "reanimatorWeirdParts" | "reanimatorWings" | "recentLocations" | "redSnapperProgress" | "relocatePygmyJanitor" | "relocatePygmyLawyer" | "rumpelstiltskinTurnsUsed" | "rumpelstiltskinKidsRescued" | "safariSwagger" | "sausageGrinderUnits" | "schoolOfHardKnocksDiplomaCost" | "schoolSwagger" | "scrapbookCharges" | "scriptMRULength" | "seaodesFound" | "SeasoningSwagger" | "semirareCounter" | "sexChanges" | "shenInitiationDay" | "shockingLickCharges" | "singleFamiliarRun" | "skillBurn3" | "skillBurn90" | "skillBurn153" | "skillBurn154" | "skillBurn155" | "skillBurn1019" | "skillBurn5017" | "skillBurn6014" | "skillBurn6015" | "skillBurn6016" | "skillBurn6020" | "skillBurn6021" | "skillBurn6022" | "skillBurn6023" | "skillBurn6024" | "skillBurn6026" | "skillBurn6028" | "skillBurn7323" | "skillBurn14008" | "skillBurn14028" | "skillBurn14038" | "skillBurn15011" | "skillBurn15028" | "skillBurn17005" | "skillBurn22034" | "skillBurn22035" | "skillBurn23301" | "skillBurn23302" | "skillBurn23303" | "skillBurn23304" | "skillBurn23305" | "skillBurn23306" | "skillLevel46" | "skillLevel47" | "skillLevel48" | "skillLevel117" | "skillLevel118" | "skillLevel121" | "skillLevel128" | "skillLevel134" | "skillLevel144" | "skillLevel180" | "skillLevel188" | "skillLevel7254" | "slimelingFullness" | "slimelingStacksDropped" | "slimelingStacksDue" | "smoresEaten" | "smutOrcNoncombatProgress" | "sneakyPetePoints" | "snojoMoxieWins" | "snojoMuscleWins" | "snojoMysticalityWins" | "sourceAgentsDefeated" | "sourceEnlightenment" | "sourceInterval" | "sourcePoints" | "sourceTerminalGram" | "sourceTerminalPram" | "sourceTerminalSpam" | "spaceBabyLanguageFluency" | "spacePirateLanguageFluency" | "spelunkyNextNoncombat" | "spelunkySacrifices" | "spelunkyWinCount" | "spookyPuttyCopiesMade" | "statbotUses" | "sugarCounter4178" | "sugarCounter4179" | "sugarCounter4180" | "sugarCounter4181" | "sugarCounter4182" | "sugarCounter4183" | "sugarCounter4191" | "summonAnnoyanceCost" | "tacoDanCocktailSauce" | "tacoDanFishMeat" | "tavernLayout" | "telescopeUpgrades" | "tempuraSummons" | "timeSpinnerMedals" | "timesRested" | "tomeSummons" | "totalCharitableDonations" | "turtleBlessingTurns" | "twinPeakProgress" | "unicornHornInflation" | "universalSeasoningCost" | "usable1HWeapons" | "usable1xAccs" | "usable2HWeapons" | "usable3HWeapons" | "usableAccessories" | "usableHats" | "usableOffhands" | "usableOther" | "usablePants" | "usableShirts" | "valueOfAdventure" | "valueOfInventory" | "valueOfStill" | "valueOfTome" | "vintnerWineLevel" | "violetFogGoal" | "walfordBucketProgress" | "warehouseProgress" | "welcomeBackAdv" | "writingDesksDefeated" | "xoSkeleltonXProgress" | "xoSkeleltonOProgress" | "yearbookCameraAscensions" | "yearbookCameraUpgrades" | "youRobotBody" | "youRobotBottom" | "youRobotLeft" | "youRobotPoints" | "youRobotRight" | "youRobotTop" | "zeppelinProtestors" | "zombiePoints" | "_absintheDrops" | "_abstractionDropsCrown" | "_aguaDrops" | "_xenomorphCharge" | "_ancestralRecallCasts" | "_antihangoverBonus" | "_astralDrops" | "_backUpUses" | "_badlyRomanticArrows" | "_badgerCharge" | "_balefulHowlUses" | "_banderRunaways" | "_bastilleGames" | "_beanCannonUses" | "_bearHugs" | "_beerLensDrops" | "_benettonsCasts" | "_birdsSoughtToday" | "_boomBoxFights" | "_boomBoxSongsLeft" | "_bootStomps" | "_boxingGloveArrows" | "_brickoEyeSummons" | "_brickoFights" | "_campAwayCloudBuffs" | "_campAwaySmileBuffs" | "_candySummons" | "_captainHagnkUsed" | "_carnieCandyDrops" | "_carrotNoseDrops" | "_catBurglarCharge" | "_catBurglarHeistsComplete" | "_cheerleaderSteam" | "_chestXRayUsed" | "_chipBags" | "_chocolateCigarsUsed" | "_chocolateSculpturesUsed" | "_chocolatesUsed" | "_chronolithActivations" | "_clanFortuneConsultUses" | "_clipartSummons" | "_coldMedicineConsults" | "_companionshipCasts" | "_dailySpecialPrice" | "_daycareGymScavenges" | "_daycareRecruits" | "_deckCardsDrawn" | "_deluxeKlawSummons" | "_demandSandwich" | "_detectiveCasesCompleted" | "_disavowed" | "_dnaPotionsMade" | "_donhosCasts" | "_dreamJarDrops" | "_drunkPygmyBanishes" | "_edDefeats" | "_edLashCount" | "_elronsCasts" | "_enamorangs" | "_energyCollected" | "_expertCornerCutterUsed" | "_favorRareSummons" | "_feastUsed" | "_feelinTheRhythm" | "_feelPrideUsed" | "_feelExcitementUsed" | "_feelHatredUsed" | "_feelLonelyUsed" | "_feelNervousUsed" | "_feelEnvyUsed" | "_feelDisappointedUsed" | "_feelSuperiorUsed" | "_feelLostUsed" | "_feelNostalgicUsed" | "_feelPeacefulUsed" | "_fingertrapArrows" | "_fireExtinguisherCharge" | "_fragrantHerbsUsed" | "_freeBeachWalksUsed" | "_frButtonsPressed" | "_fudgeWaspFights" | "_gapBuffs" | "_garbageFireDropsCrown" | "_genieFightsUsed" | "_genieWishesUsed" | "_gibbererAdv" | "_gibbererCharge" | "_gingerbreadCityTurns" | "_glarkCableUses" | "_glitchMonsterFights" | "_gnomeAdv" | "_godLobsterFights" | "_goldenMoneyCharge" | "_gongDrops" | "_gothKidCharge" | "_gothKidFights" | "_grimBrotherCharge" | "_grimFairyTaleDrops" | "_grimFairyTaleDropsCrown" | "_grimoireConfiscatorSummons" | "_grimoireGeekySummons" | "_grimstoneMaskDrops" | "_grimstoneMaskDropsCrown" | "_grooseCharge" | "_grooseDrops" | "_guzzlrDeliveries" | "_guzzlrGoldDeliveries" | "_guzzlrPlatinumDeliveries" | "_hareAdv" | "_hareCharge" | "_highTopPumps" | "_hipsterAdv" | "_hoardedCandyDropsCrown" | "_hoboUnderlingSummons" | "_holoWristDrops" | "_holoWristProgress" | "_hotAshesDrops" | "_hotJellyUses" | "_hotTubSoaks" | "_humanMuskUses" | "_iceballUses" | "_inigosCasts" | "_jerksHealthMagazinesUsed" | "_jiggleCheese" | "_jiggleCream" | "_jiggleLife" | "_jiggleSteak" | "_jitbCharge" | "_jungDrops" | "_kgbClicksUsed" | "_kgbDispenserUses" | "_kgbTranquilizerDartUses" | "_klawSummons" | "_kloopCharge" | "_kloopDrops" | "_kolhsAdventures" | "_kolhsSavedByTheBell" | "_lastDailyDungeonRoom" | "_lastSausageMonsterTurn" | "_lastZomboEye" | "_latteRefillsUsed" | "_leafblowerML" | "_legionJackhammerCrafting" | "_llamaCharge" | "_longConUsed" | "_loveChocolatesUsed" | "_lynyrdSnareUses" | "_machineTunnelsAdv" | "_macrometeoriteUses" | "_mafiaThumbRingAdvs" | "_monstersMapped" | "_mayflowerDrops" | "_mayflySummons" | "_mediumSiphons" | "_meteoriteAdesUsed" | "_meteorShowerUses" | "_micrometeoriteUses" | "_miniMartiniDrops" | "_mushroomGardenFights" | "_nanorhinoCharge" | "_navelRunaways" | "_neverendingPartyFreeTurns" | "_newYouQuestSharpensDone" | "_newYouQuestSharpensToDo" | "_nextColdMedicineConsult" | "_nextQuantumAlignment" | "_nightmareFuelCharges" | "_noobSkillCount" | "_nuclearStockpileUsed" | "_oilExtracted" | "_optimisticCandleDropsCrown" | "_oreDropsCrown" | "_otoscopeUsed" | "_pantsgivingBanish" | "_pantsgivingCount" | "_pantsgivingCrumbs" | "_pantsgivingFullness" | "_pasteDrops" | "_peteJukeboxFixed" | "_peteJumpedShark" | "_petePeeledOut" | "_pieDrops" | "_piePartsCount" | "_pixieCharge" | "_pocketProfessorLectures" | "_poisonArrows" | "_pokeGrowFertilizerDrops" | "_poolGames" | "_powderedGoldDrops" | "_powderedMadnessUses" | "_powerfulGloveBatteryPowerUsed" | "_powerPillDrops" | "_powerPillUses" | "_precisionCasts" | "_radlibSummons" | "_raindohCopiesMade" | "_rapidPrototypingUsed" | "_raveStealCount" | "_reflexHammerUsed" | "_resolutionAdv" | "_resolutionRareSummons" | "_riftletAdv" | "_rogueProgramCharge" | "_romanticFightsLeft" | "_saberForceMonsterCount" | "_saberForceUses" | "_saberMod" | "_saltGrainsConsumed" | "_sandwormCharge" | "_saplingsPlanted" | "_sausageFights" | "_sausagesEaten" | "_sausagesMade" | "_sealFigurineUses" | "_sealScreeches" | "_sealsSummoned" | "_shatteringPunchUsed" | "_shortOrderCookCharge" | "_shrubCharge" | "_sloppyDinerBeachBucks" | "_smilesOfMrA" | "_smithsnessSummons" | "_snojoFreeFights" | "_snojoParts" | "_snokebombUsed" | "_snowconeSummons" | "_snowglobeDrops" | "_snowSuitCount" | "_sourceTerminalDigitizeMonsterCount" | "_sourceTerminalDigitizeUses" | "_sourceTerminalDuplicateUses" | "_sourceTerminalEnhanceUses" | "_sourceTerminalExtrudes" | "_sourceTerminalPortscanUses" | "_spaceFurDropsCrown" | "_spacegatePlanetIndex" | "_spacegateTurnsLeft" | "_spaceJellyfishDrops" | "_speakeasyDrinksDrunk" | "_spelunkerCharges" | "_spelunkingTalesDrops" | "_spookyJellyUses" | "_stackLumpsUses" | "_steamCardDrops" | "_stickerSummons" | "_stinkyCheeseCount" | "_stressBallSqueezes" | "_sugarSummons" | "_taffyRareSummons" | "_taffyYellowSummons" | "_thanksgettingFoodsEaten" | "_thingfinderCasts" | "_thinknerdPackageDrops" | "_thorsPliersCrafting" | "_timeHelmetAdv" | "_timeSpinnerMinutesUsed" | "_tokenDrops" | "_transponderDrops" | "_turkeyBlastersUsed" | "_turkeyBooze" | "_turkeyMuscle" | "_turkeyMyst" | "_turkeyMoxie" | "_unaccompaniedMinerUsed" | "_unconsciousCollectiveCharge" | "_universalSeasoningsUsed" | "_universeCalculated" | "_universeImploded" | "_usedReplicaBatoomerang" | "_vampyreCloakeFormUses" | "_villainLairProgress" | "_vitachocCapsulesUsed" | "_vmaskAdv" | "_volcanoItem1" | "_volcanoItem2" | "_volcanoItem3" | "_volcanoItemCount1" | "_volcanoItemCount2" | "_volcanoItemCount3" | "_voteFreeFights" | "_VYKEACompanionLevel" | "_warbearAutoAnvilCrafting" | "_whiteRiceDrops" | "_witchessFights" | "_xoHugsUsed" | "_yellowPixelDropsCrown" | "_zapCount";
4
+ export declare type MonsterProperty = "beGregariousMonster" | "cameraMonster" | "chateauMonster" | "crappyCameraMonster" | "crudeMonster" | "enamorangMonster" | "envyfishMonster" | "lastCopyableMonster" | "iceSculptureMonster" | "longConMonster" | "makeFriendsMonster" | "merkinLockkeyMonster" | "nosyNoseMonster" | "olfactedMonster" | "photocopyMonster" | "rainDohMonster" | "romanticTarget" | "screencappedMonster" | "spookyPuttyMonster" | "stenchCursedMonster" | "superficiallyInterestedMonster" | "waxMonster" | "yearbookCameraTarget" | "_gallapagosMonster" | "_jiggleCreamedMonster" | "_latteMonster" | "_nanorhinoBanishedMonster" | "_newYouQuestMonster" | "_relativityMonster" | "_saberForceMonster" | "_sourceTerminalDigitizeMonster" | "_voteMonster";
5
+ export declare type LocationProperty = "currentJunkyardLocation" | "doctorBagQuestLocation" | "ghostLocation" | "guzzlrQuestLocation" | "nextSpookyravenElizabethRoom" | "nextSpookyravenStephenRoom" | "semirareLocation" | "sourceOracleTarget";
6
+ export declare type StringProperty = "autoLogin" | "browserBookmarks" | "chatFontSize" | "combatHotkey0" | "combatHotkey1" | "combatHotkey2" | "combatHotkey3" | "combatHotkey4" | "combatHotkey5" | "combatHotkey6" | "combatHotkey7" | "combatHotkey8" | "combatHotkey9" | "commandLineNamespace" | "cookies.inventory" | "dailyDeedsOptions" | "defaultBorderColor" | "displayName" | "externalEditor" | "getBreakfast" | "headerStates" | "highlightList" | "http.proxyHost" | "http.proxyPassword" | "http.proxyPort" | "http.proxyUser" | "https.proxyHost" | "https.proxyPassword" | "https.proxyPort" | "https.proxyUser" | "initialDesktop" | "initialFrames" | "innerChatColor" | "innerTabColor" | "lastRelayUpdate" | "lastRssVersion" | "lastUserAgent" | "lastUsername" | "logPreferenceChangeFilter" | "loginScript" | "loginServerName" | "loginWindowLogo" | "logoutScript" | "outerChatColor" | "outerTabColor" | "previousNotifyList" | "previousUpdateVersion" | "saveState" | "saveStateActive" | "scriptList" | "swingLookAndFeel" | "useDecoratedTabs" | "userAgent" | "afterAdventureScript" | "autoOlfact" | "autoPutty" | "backupCameraMode" | "banishedMonsters" | "banishingShoutMonsters" | "barrelLayout" | "batmanStats" | "batmanZone" | "batmanUpgrades" | "battleAction" | "beachHeadsUnlocked" | "beforePVPScript" | "betweenBattleScript" | "boomBoxSong" | "breakfastAlways" | "breakfastHardcore" | "breakfastSoftcore" | "buffBotCasting" | "buyScript" | "cargoPocketsEmptied" | "cargoPocketScraps" | "chatbotScript" | "chatPlayerScript" | "choiceAdventureScript" | "chosenTrip" | "clanFortuneReply1" | "clanFortuneReply2" | "clanFortuneReply3" | "clanFortuneWord1" | "clanFortuneWord2" | "clanFortuneWord3" | "commerceGhostItem" | "counterScript" | "copperheadClubHazard" | "crimbotChassis" | "crimbotArm" | "crimbotPropulsion" | "crystalBallPredictions" | "csServicesPerformed" | "currentEasyBountyItem" | "currentHardBountyItem" | "currentHippyStore" | "currentJunkyardTool" | "currentMood" | "currentPVPSeason" | "currentPvpVictories" | "currentSpecialBountyItem" | "customCombatScript" | "cyrusAdjectives" | "defaultFlowerLossMessage" | "defaultFlowerWinMessage" | "demonName1" | "demonName2" | "demonName3" | "demonName4" | "demonName5" | "demonName6" | "demonName7" | "demonName8" | "demonName9" | "demonName10" | "demonName11" | "demonName12" | "demonName13" | "dinseyGatorStenchDamage" | "dinseyRollercoasterStats" | "doctorBagQuestItem" | "dolphinItem" | "edPiece" | "ensorcelee" | "EVEDirections" | "extraCosmeticModifiers" | "familiarScript" | "gameProBossSpecialPower" | "grimoireSkillsHardcore" | "grimoireSkillsSoftcore" | "grimstoneMaskPath" | "guzzlrQuestClient" | "guzzlrQuestBooze" | "guzzlrQuestTier" | "harvestGardenHardcore" | "harvestGardenSoftcore" | "hpAutoRecoveryItems" | "invalidBuffMessage" | "jickSwordModifier" | "kingLiberatedScript" | "lassoTraining" | "lastAdventure" | "lastBangPotion819" | "lastBangPotion820" | "lastBangPotion821" | "lastBangPotion822" | "lastBangPotion823" | "lastBangPotion824" | "lastBangPotion825" | "lastBangPotion826" | "lastBangPotion827" | "lastChanceBurn" | "lastChessboard" | "lastDwarfDiceRolls" | "lastDwarfDigitRunes" | "lastDwarfEquipmentRunes" | "lastDwarfFactoryItem118" | "lastDwarfFactoryItem119" | "lastDwarfFactoryItem120" | "lastDwarfFactoryItem360" | "lastDwarfFactoryItem361" | "lastDwarfFactoryItem362" | "lastDwarfFactoryItem363" | "lastDwarfFactoryItem364" | "lastDwarfFactoryItem365" | "lastDwarfFactoryItem910" | "lastDwarfFactoryItem3199" | "lastDwarfOfficeItem3208" | "lastDwarfOfficeItem3209" | "lastDwarfOfficeItem3210" | "lastDwarfOfficeItem3211" | "lastDwarfOfficeItem3212" | "lastDwarfOfficeItem3213" | "lastDwarfOfficeItem3214" | "lastDwarfOreRunes" | "lastDwarfHopper1" | "lastDwarfHopper2" | "lastDwarfHopper3" | "lastDwarfHopper4" | "lastEncounter" | "lastMacroError" | "lastMessageId" | "lastPaperStrip3144" | "lastPaperStrip4138" | "lastPaperStrip4139" | "lastPaperStrip4140" | "lastPaperStrip4141" | "lastPaperStrip4142" | "lastPaperStrip4143" | "lastPaperStrip4144" | "lastPirateEphemera" | "lastPorkoBoard" | "lastPorkoPayouts" | "lastPorkoExpected" | "lastSlimeVial3885" | "lastSlimeVial3886" | "lastSlimeVial3887" | "lastSlimeVial3888" | "lastSlimeVial3889" | "lastSlimeVial3890" | "lastSlimeVial3891" | "lastSlimeVial3892" | "lastSlimeVial3893" | "lastSlimeVial3894" | "lastSlimeVial3895" | "lastSlimeVial3896" | "latteModifier" | "latteUnlocks" | "libramSkillsHardcore" | "libramSkillsSoftcore" | "louvreOverride" | "lovePotion" | "lttQuestName" | "maximizerList" | "maximizerMRUList" | "mayoInMouth" | "mayoMinderSetting" | "merkinQuestPath" | "mineLayout1" | "mineLayout2" | "mineLayout3" | "mineLayout4" | "mineLayout5" | "mineLayout6" | "mpAutoRecoveryItems" | "muffinOnOrder" | "nextAdventure" | "nsChallenge2" | "nsChallenge3" | "nsChallenge4" | "nsChallenge5" | "nsTowerDoorKeysUsed" | "oceanAction" | "oceanDestination" | "pastaThrall1" | "pastaThrall2" | "pastaThrall3" | "pastaThrall4" | "pastaThrall5" | "pastaThrall6" | "pastaThrall7" | "pastaThrall8" | "peteMotorbikeTires" | "peteMotorbikeGasTank" | "peteMotorbikeHeadlight" | "peteMotorbikeCowling" | "peteMotorbikeMuffler" | "peteMotorbikeSeat" | "pieStuffing" | "plantingDate" | "plantingLength" | "plantingScript" | "plumberCostumeWorn" | "pokefamBoosts" | "postAscensionScript" | "preAscensionScript" | "retroCapeSuperhero" | "retroCapeWashingInstructions" | "questDoctorBag" | "questECoBucket" | "questESlAudit" | "questESlBacteria" | "questESlCheeseburger" | "questESlCocktail" | "questESlDebt" | "questESlFish" | "questESlMushStash" | "questESlSalt" | "questESlSprinkles" | "questESpEVE" | "questESpJunglePun" | "questESpGore" | "questESpClipper" | "questESpFakeMedium" | "questESpSerum" | "questESpSmokes" | "questESpOutOfOrder" | "questEStFishTrash" | "questEStGiveMeFuel" | "questEStNastyBears" | "questEStSocialJusticeI" | "questEStSocialJusticeII" | "questEStSuperLuber" | "questEStWorkWithFood" | "questEStZippityDooDah" | "questEUNewYou" | "questF01Primordial" | "questF02Hyboria" | "questF03Future" | "questF04Elves" | "questF05Clancy" | "questG01Meatcar" | "questG02Whitecastle" | "questG03Ego" | "questG04Nemesis" | "questG05Dark" | "questG06Delivery" | "questG07Myst" | "questG08Moxie" | "questG09Muscle" | "questGuzzlr" | "questI01Scapegoat" | "questI02Beat" | "questL02Larva" | "questL03Rat" | "questL04Bat" | "questL05Goblin" | "questL06Friar" | "questL07Cyrptic" | "questL08Trapper" | "questL09Topping" | "questL10Garbage" | "questL11MacGuffin" | "questL11Black" | "questL11Business" | "questL11Curses" | "questL11Desert" | "questL11Doctor" | "questL11Manor" | "questL11Palindome" | "questL11Pyramid" | "questL11Ron" | "questL11Shen" | "questL11Spare" | "questL11Worship" | "questL12War" | "questL12HippyFrat" | "questL13Final" | "questL13Warehouse" | "questLTTQuestByWire" | "questM01Untinker" | "questM02Artist" | "questM03Bugbear" | "questM05Toot" | "questM06Gourd" | "questM07Hammer" | "questM08Baker" | "questM09Rocks" | "questM10Azazel" | "questM11Postal" | "questM12Pirate" | "questM13Escape" | "questM14Bounty" | "questM15Lol" | "questM16Temple" | "questM17Babies" | "questM18Swamp" | "questM19Hippy" | "questM20Necklace" | "questM21Dance" | "questM22Shirt" | "questM23Meatsmith" | "questM24Doc" | "questM25Armorer" | "questM26Oracle" | "questPAGhost" | "questS01OldGuy" | "questS02Monkees" | "raveCombo1" | "raveCombo2" | "raveCombo3" | "raveCombo4" | "raveCombo5" | "raveCombo6" | "recoveryScript" | "relayCounters" | "royalty" | "scriptMRUList" | "seahorseName" | "shenQuestItem" | "shrubGarland" | "shrubGifts" | "shrubLights" | "shrubTopper" | "sideDefeated" | "sidequestArenaCompleted" | "sidequestFarmCompleted" | "sidequestJunkyardCompleted" | "sidequestLighthouseCompleted" | "sidequestNunsCompleted" | "sidequestOrchardCompleted" | "skateParkStatus" | "snowsuit" | "sourceTerminalChips" | "sourceTerminalEducate1" | "sourceTerminalEducate2" | "sourceTerminalEnquiry" | "sourceTerminalEducateKnown" | "sourceTerminalEnhanceKnown" | "sourceTerminalEnquiryKnown" | "sourceTerminalExtrudeKnown" | "spadingData" | "spadingScript" | "spelunkyStatus" | "spelunkyUpgrades" | "spookyravenRecipeUsed" | "stationaryButton1" | "stationaryButton2" | "stationaryButton3" | "stationaryButton4" | "stationaryButton5" | "streamCrossDefaultTarget" | "sweetSynthesisBlacklist" | "telescope1" | "telescope2" | "telescope3" | "telescope4" | "telescope5" | "testudinalTeachings" | "textColors" | "thanksMessage" | "tomeSkillsHardcore" | "tomeSkillsSoftcore" | "trackVoteMonster" | "trapperOre" | "umdLastObtained" | "vintnerWineType" | "violetFogLayout" | "volcanoMaze1" | "volcanoMaze2" | "volcanoMaze3" | "volcanoMaze4" | "volcanoMaze5" | "walfordBucketItem" | "warProgress" | "workteaClue" | "yourFavoriteBird" | "yourFavoriteBirdMods" | "youRobotCPUUpgrades" | "_beachHeadsUsed" | "_beachLayout" | "_beachMinutes" | "_birdOfTheDay" | "_birdOfTheDayMods" | "_bittycar" | "_campAwaySmileBuffSign" | "_cloudTalkMessage" | "_cloudTalkSmoker" | "_dailySpecial" | "_deckCardsSeen" | "_feastedFamiliars" | "_floristPlantsUsed" | "_frAreasUnlocked" | "_frHoursLeft" | "_frMonstersKilled" | "_horsery" | "_horseryCrazyMox" | "_horseryCrazyMus" | "_horseryCrazyMys" | "_horseryCrazyName" | "_horseryCurrentName" | "_horseryDarkName" | "_horseryNormalName" | "_horseryPaleName" | "_jickJarAvailable" | "_jiggleCheesedMonsters" | "_lastCombatStarted" | "_LastPirateRealmIsland" | "_mummeryMods" | "_mummeryUses" | "_newYouQuestSkill" | "_noHatModifier" | "_pantogramModifier" | "_questESp" | "_questPartyFair" | "_questPartyFairProgress" | "_questPartyFairQuest" | "_roboDrinks" | "_spacegateAnimalLife" | "_spacegateCoordinates" | "_spacegateHazards" | "_spacegateIntelligentLife" | "_spacegatePlanetName" | "_spacegatePlantLife" | "_stolenAccordions" | "_tempRelayCounters" | "_timeSpinnerFoodAvailable" | "_unknownEasyBountyItem" | "_unknownHardBountyItem" | "_unknownSpecialBountyItem" | "_untakenEasyBountyItem" | "_untakenHardBountyItem" | "_untakenSpecialBountyItem" | "_userMods" | "_villainLairColor" | "_villainLairKey" | "_voteLocal1" | "_voteLocal2" | "_voteLocal3" | "_voteLocal4" | "_voteMonster1" | "_voteMonster2" | "_voteModifier" | "_VYKEACompanionType" | "_VYKEACompanionRune" | "_VYKEACompanionName";
7
7
  export declare type NumericOrStringProperty = "statusEngineering" | "statusGalley" | "statusMedbay" | "statusMorgue" | "statusNavigation" | "statusScienceLab" | "statusSonar" | "statusSpecialOps" | "statusWasteProcessing" | "choiceAdventure2" | "choiceAdventure3" | "choiceAdventure4" | "choiceAdventure5" | "choiceAdventure6" | "choiceAdventure7" | "choiceAdventure8" | "choiceAdventure9" | "choiceAdventure10" | "choiceAdventure11" | "choiceAdventure12" | "choiceAdventure14" | "choiceAdventure15" | "choiceAdventure16" | "choiceAdventure17" | "choiceAdventure18" | "choiceAdventure19" | "choiceAdventure20" | "choiceAdventure21" | "choiceAdventure22" | "choiceAdventure23" | "choiceAdventure24" | "choiceAdventure25" | "choiceAdventure26" | "choiceAdventure27" | "choiceAdventure28" | "choiceAdventure29" | "choiceAdventure40" | "choiceAdventure41" | "choiceAdventure42" | "choiceAdventure45" | "choiceAdventure46" | "choiceAdventure47" | "choiceAdventure71" | "choiceAdventure72" | "choiceAdventure73" | "choiceAdventure74" | "choiceAdventure75" | "choiceAdventure76" | "choiceAdventure77" | "choiceAdventure86" | "choiceAdventure87" | "choiceAdventure88" | "choiceAdventure89" | "choiceAdventure90" | "choiceAdventure91" | "choiceAdventure105" | "choiceAdventure106" | "choiceAdventure107" | "choiceAdventure108" | "choiceAdventure109" | "choiceAdventure110" | "choiceAdventure111" | "choiceAdventure112" | "choiceAdventure113" | "choiceAdventure114" | "choiceAdventure115" | "choiceAdventure116" | "choiceAdventure117" | "choiceAdventure118" | "choiceAdventure120" | "choiceAdventure123" | "choiceAdventure125" | "choiceAdventure126" | "choiceAdventure127" | "choiceAdventure129" | "choiceAdventure131" | "choiceAdventure132" | "choiceAdventure135" | "choiceAdventure136" | "choiceAdventure137" | "choiceAdventure138" | "choiceAdventure139" | "choiceAdventure140" | "choiceAdventure141" | "choiceAdventure142" | "choiceAdventure143" | "choiceAdventure144" | "choiceAdventure145" | "choiceAdventure146" | "choiceAdventure147" | "choiceAdventure148" | "choiceAdventure149" | "choiceAdventure151" | "choiceAdventure152" | "choiceAdventure153" | "choiceAdventure154" | "choiceAdventure155" | "choiceAdventure156" | "choiceAdventure157" | "choiceAdventure158" | "choiceAdventure159" | "choiceAdventure160" | "choiceAdventure161" | "choiceAdventure162" | "choiceAdventure163" | "choiceAdventure164" | "choiceAdventure165" | "choiceAdventure166" | "choiceAdventure167" | "choiceAdventure168" | "choiceAdventure169" | "choiceAdventure170" | "choiceAdventure171" | "choiceAdventure172" | "choiceAdventure177" | "choiceAdventure178" | "choiceAdventure180" | "choiceAdventure181" | "choiceAdventure182" | "choiceAdventure184" | "choiceAdventure185" | "choiceAdventure186" | "choiceAdventure187" | "choiceAdventure188" | "choiceAdventure189" | "choiceAdventure191" | "choiceAdventure197" | "choiceAdventure198" | "choiceAdventure199" | "choiceAdventure200" | "choiceAdventure201" | "choiceAdventure202" | "choiceAdventure203" | "choiceAdventure204" | "choiceAdventure205" | "choiceAdventure206" | "choiceAdventure207" | "choiceAdventure208" | "choiceAdventure211" | "choiceAdventure212" | "choiceAdventure213" | "choiceAdventure214" | "choiceAdventure215" | "choiceAdventure216" | "choiceAdventure217" | "choiceAdventure218" | "choiceAdventure219" | "choiceAdventure220" | "choiceAdventure221" | "choiceAdventure222" | "choiceAdventure223" | "choiceAdventure224" | "choiceAdventure225" | "choiceAdventure230" | "choiceAdventure272" | "choiceAdventure273" | "choiceAdventure276" | "choiceAdventure277" | "choiceAdventure278" | "choiceAdventure279" | "choiceAdventure280" | "choiceAdventure281" | "choiceAdventure282" | "choiceAdventure283" | "choiceAdventure284" | "choiceAdventure285" | "choiceAdventure286" | "choiceAdventure287" | "choiceAdventure288" | "choiceAdventure289" | "choiceAdventure290" | "choiceAdventure291" | "choiceAdventure292" | "choiceAdventure293" | "choiceAdventure294" | "choiceAdventure295" | "choiceAdventure296" | "choiceAdventure297" | "choiceAdventure298" | "choiceAdventure299" | "choiceAdventure302" | "choiceAdventure303" | "choiceAdventure304" | "choiceAdventure305" | "choiceAdventure306" | "choiceAdventure307" | "choiceAdventure308" | "choiceAdventure309" | "choiceAdventure310" | "choiceAdventure311" | "choiceAdventure317" | "choiceAdventure318" | "choiceAdventure319" | "choiceAdventure320" | "choiceAdventure321" | "choiceAdventure322" | "choiceAdventure326" | "choiceAdventure327" | "choiceAdventure328" | "choiceAdventure329" | "choiceAdventure330" | "choiceAdventure331" | "choiceAdventure332" | "choiceAdventure333" | "choiceAdventure334" | "choiceAdventure335" | "choiceAdventure336" | "choiceAdventure337" | "choiceAdventure338" | "choiceAdventure339" | "choiceAdventure340" | "choiceAdventure341" | "choiceAdventure342" | "choiceAdventure343" | "choiceAdventure344" | "choiceAdventure345" | "choiceAdventure346" | "choiceAdventure347" | "choiceAdventure348" | "choiceAdventure349" | "choiceAdventure350" | "choiceAdventure351" | "choiceAdventure352" | "choiceAdventure353" | "choiceAdventure354" | "choiceAdventure355" | "choiceAdventure356" | "choiceAdventure357" | "choiceAdventure358" | "choiceAdventure360" | "choiceAdventure361" | "choiceAdventure362" | "choiceAdventure363" | "choiceAdventure364" | "choiceAdventure365" | "choiceAdventure366" | "choiceAdventure367" | "choiceAdventure372" | "choiceAdventure376" | "choiceAdventure387" | "choiceAdventure388" | "choiceAdventure389" | "choiceAdventure390" | "choiceAdventure391" | "choiceAdventure392" | "choiceAdventure393" | "choiceAdventure395" | "choiceAdventure396" | "choiceAdventure397" | "choiceAdventure398" | "choiceAdventure399" | "choiceAdventure400" | "choiceAdventure401" | "choiceAdventure402" | "choiceAdventure403" | "choiceAdventure423" | "choiceAdventure424" | "choiceAdventure425" | "choiceAdventure426" | "choiceAdventure427" | "choiceAdventure428" | "choiceAdventure429" | "choiceAdventure430" | "choiceAdventure431" | "choiceAdventure432" | "choiceAdventure433" | "choiceAdventure435" | "choiceAdventure438" | "choiceAdventure439" | "choiceAdventure442" | "choiceAdventure444" | "choiceAdventure445" | "choiceAdventure446" | "choiceAdventure447" | "choiceAdventure448" | "choiceAdventure449" | "choiceAdventure451" | "choiceAdventure452" | "choiceAdventure453" | "choiceAdventure454" | "choiceAdventure455" | "choiceAdventure456" | "choiceAdventure457" | "choiceAdventure458" | "choiceAdventure460" | "choiceAdventure461" | "choiceAdventure462" | "choiceAdventure463" | "choiceAdventure464" | "choiceAdventure465" | "choiceAdventure467" | "choiceAdventure468" | "choiceAdventure469" | "choiceAdventure470" | "choiceAdventure471" | "choiceAdventure472" | "choiceAdventure473" | "choiceAdventure474" | "choiceAdventure475" | "choiceAdventure477" | "choiceAdventure478" | "choiceAdventure480" | "choiceAdventure483" | "choiceAdventure484" | "choiceAdventure485" | "choiceAdventure486" | "choiceAdventure488" | "choiceAdventure489" | "choiceAdventure490" | "choiceAdventure491" | "choiceAdventure496" | "choiceAdventure497" | "choiceAdventure502" | "choiceAdventure503" | "choiceAdventure504" | "choiceAdventure505" | "choiceAdventure506" | "choiceAdventure507" | "choiceAdventure509" | "choiceAdventure510" | "choiceAdventure511" | "choiceAdventure512" | "choiceAdventure513" | "choiceAdventure514" | "choiceAdventure515" | "choiceAdventure517" | "choiceAdventure518" | "choiceAdventure519" | "choiceAdventure521" | "choiceAdventure522" | "choiceAdventure523" | "choiceAdventure527" | "choiceAdventure528" | "choiceAdventure529" | "choiceAdventure530" | "choiceAdventure531" | "choiceAdventure532" | "choiceAdventure533" | "choiceAdventure534" | "choiceAdventure535" | "choiceAdventure536" | "choiceAdventure538" | "choiceAdventure539" | "choiceAdventure542" | "choiceAdventure543" | "choiceAdventure544" | "choiceAdventure546" | "choiceAdventure548" | "choiceAdventure549" | "choiceAdventure550" | "choiceAdventure551" | "choiceAdventure552" | "choiceAdventure553" | "choiceAdventure554" | "choiceAdventure556" | "choiceAdventure557" | "choiceAdventure558" | "choiceAdventure559" | "choiceAdventure560" | "choiceAdventure561" | "choiceAdventure562" | "choiceAdventure563" | "choiceAdventure564" | "choiceAdventure565" | "choiceAdventure566" | "choiceAdventure567" | "choiceAdventure568" | "choiceAdventure569" | "choiceAdventure571" | "choiceAdventure572" | "choiceAdventure573" | "choiceAdventure574" | "choiceAdventure575" | "choiceAdventure576" | "choiceAdventure577" | "choiceAdventure578" | "choiceAdventure579" | "choiceAdventure581" | "choiceAdventure582" | "choiceAdventure583" | "choiceAdventure584" | "choiceAdventure594" | "choiceAdventure595" | "choiceAdventure596" | "choiceAdventure597" | "choiceAdventure598" | "choiceAdventure599" | "choiceAdventure600" | "choiceAdventure603" | "choiceAdventure604" | "choiceAdventure616" | "choiceAdventure634" | "choiceAdventure640" | "choiceAdventure654" | "choiceAdventure655" | "choiceAdventure656" | "choiceAdventure657" | "choiceAdventure658" | "choiceAdventure664" | "choiceAdventure669" | "choiceAdventure670" | "choiceAdventure671" | "choiceAdventure672" | "choiceAdventure673" | "choiceAdventure674" | "choiceAdventure675" | "choiceAdventure676" | "choiceAdventure677" | "choiceAdventure678" | "choiceAdventure679" | "choiceAdventure681" | "choiceAdventure683" | "choiceAdventure684" | "choiceAdventure685" | "choiceAdventure686" | "choiceAdventure687" | "choiceAdventure688" | "choiceAdventure689" | "choiceAdventure690" | "choiceAdventure691" | "choiceAdventure692" | "choiceAdventure693" | "choiceAdventure694" | "choiceAdventure695" | "choiceAdventure696" | "choiceAdventure697" | "choiceAdventure698" | "choiceAdventure700" | "choiceAdventure701" | "choiceAdventure705" | "choiceAdventure706" | "choiceAdventure707" | "choiceAdventure708" | "choiceAdventure709" | "choiceAdventure710" | "choiceAdventure711" | "choiceAdventure712" | "choiceAdventure713" | "choiceAdventure714" | "choiceAdventure715" | "choiceAdventure716" | "choiceAdventure717" | "choiceAdventure721" | "choiceAdventure725" | "choiceAdventure729" | "choiceAdventure733" | "choiceAdventure737" | "choiceAdventure741" | "choiceAdventure745" | "choiceAdventure749" | "choiceAdventure753" | "choiceAdventure771" | "choiceAdventure778" | "choiceAdventure780" | "choiceAdventure781" | "choiceAdventure783" | "choiceAdventure784" | "choiceAdventure785" | "choiceAdventure786" | "choiceAdventure787" | "choiceAdventure788" | "choiceAdventure789" | "choiceAdventure791" | "choiceAdventure793" | "choiceAdventure794" | "choiceAdventure795" | "choiceAdventure796" | "choiceAdventure797" | "choiceAdventure805" | "choiceAdventure808" | "choiceAdventure809" | "choiceAdventure813" | "choiceAdventure815" | "choiceAdventure830" | "choiceAdventure832" | "choiceAdventure833" | "choiceAdventure834" | "choiceAdventure835" | "choiceAdventure837" | "choiceAdventure838" | "choiceAdventure839" | "choiceAdventure840" | "choiceAdventure841" | "choiceAdventure842" | "choiceAdventure851" | "choiceAdventure852" | "choiceAdventure853" | "choiceAdventure854" | "choiceAdventure855" | "choiceAdventure856" | "choiceAdventure857" | "choiceAdventure858" | "choiceAdventure866" | "choiceAdventure873" | "choiceAdventure875" | "choiceAdventure876" | "choiceAdventure877" | "choiceAdventure878" | "choiceAdventure879" | "choiceAdventure880" | "choiceAdventure881" | "choiceAdventure882" | "choiceAdventure888" | "choiceAdventure889" | "choiceAdventure918" | "choiceAdventure919" | "choiceAdventure920" | "choiceAdventure921" | "choiceAdventure923" | "choiceAdventure924" | "choiceAdventure925" | "choiceAdventure926" | "choiceAdventure927" | "choiceAdventure928" | "choiceAdventure929" | "choiceAdventure930" | "choiceAdventure931" | "choiceAdventure932" | "choiceAdventure940" | "choiceAdventure941" | "choiceAdventure942" | "choiceAdventure943" | "choiceAdventure944" | "choiceAdventure945" | "choiceAdventure946" | "choiceAdventure950" | "choiceAdventure955" | "choiceAdventure957" | "choiceAdventure958" | "choiceAdventure959" | "choiceAdventure960" | "choiceAdventure961" | "choiceAdventure962" | "choiceAdventure963" | "choiceAdventure964" | "choiceAdventure965" | "choiceAdventure966" | "choiceAdventure970" | "choiceAdventure973" | "choiceAdventure974" | "choiceAdventure975" | "choiceAdventure976" | "choiceAdventure977" | "choiceAdventure979" | "choiceAdventure980" | "choiceAdventure981" | "choiceAdventure982" | "choiceAdventure983" | "choiceAdventure988" | "choiceAdventure989" | "choiceAdventure993" | "choiceAdventure998" | "choiceAdventure1000" | "choiceAdventure1003" | "choiceAdventure1005" | "choiceAdventure1006" | "choiceAdventure1007" | "choiceAdventure1008" | "choiceAdventure1009" | "choiceAdventure1010" | "choiceAdventure1011" | "choiceAdventure1012" | "choiceAdventure1013" | "choiceAdventure1015" | "choiceAdventure1016" | "choiceAdventure1017" | "choiceAdventure1018" | "choiceAdventure1019" | "choiceAdventure1020" | "choiceAdventure1021" | "choiceAdventure1022" | "choiceAdventure1023" | "choiceAdventure1026" | "choiceAdventure1027" | "choiceAdventure1028" | "choiceAdventure1029" | "choiceAdventure1030" | "choiceAdventure1031" | "choiceAdventure1032" | "choiceAdventure1033" | "choiceAdventure1034" | "choiceAdventure1035" | "choiceAdventure1036" | "choiceAdventure1037" | "choiceAdventure1038" | "choiceAdventure1039" | "choiceAdventure1040" | "choiceAdventure1041" | "choiceAdventure1042" | "choiceAdventure1044" | "choiceAdventure1045" | "choiceAdventure1046" | "choiceAdventure1048" | "choiceAdventure1051" | "choiceAdventure1052" | "choiceAdventure1053" | "choiceAdventure1054" | "choiceAdventure1055" | "choiceAdventure1056" | "choiceAdventure1057" | "choiceAdventure1059" | "choiceAdventure1060" | "choiceAdventure1061" | "choiceAdventure1062" | "choiceAdventure1065" | "choiceAdventure1067" | "choiceAdventure1068" | "choiceAdventure1069" | "choiceAdventure1070" | "choiceAdventure1071" | "choiceAdventure1073" | "choiceAdventure1077" | "choiceAdventure1080" | "choiceAdventure1081" | "choiceAdventure1082" | "choiceAdventure1083" | "choiceAdventure1084" | "choiceAdventure1085" | "choiceAdventure1091" | "choiceAdventure1094" | "choiceAdventure1095" | "choiceAdventure1096" | "choiceAdventure1097" | "choiceAdventure1102" | "choiceAdventure1106" | "choiceAdventure1107" | "choiceAdventure1108" | "choiceAdventure1110" | "choiceAdventure1114" | "choiceAdventure1115" | "choiceAdventure1116" | "choiceAdventure1118" | "choiceAdventure1119" | "choiceAdventure1120" | "choiceAdventure1121" | "choiceAdventure1122" | "choiceAdventure1123" | "choiceAdventure1171" | "choiceAdventure1172" | "choiceAdventure1173" | "choiceAdventure1174" | "choiceAdventure1175" | "choiceAdventure1193" | "choiceAdventure1195" | "choiceAdventure1196" | "choiceAdventure1197" | "choiceAdventure1198" | "choiceAdventure1199" | "choiceAdventure1202" | "choiceAdventure1203" | "choiceAdventure1204" | "choiceAdventure1205" | "choiceAdventure1206" | "choiceAdventure1207" | "choiceAdventure1208" | "choiceAdventure1209" | "choiceAdventure1210" | "choiceAdventure1211" | "choiceAdventure1212" | "choiceAdventure1213" | "choiceAdventure1214" | "choiceAdventure1215" | "choiceAdventure1219" | "choiceAdventure1222" | "choiceAdventure1223" | "choiceAdventure1224" | "choiceAdventure1225" | "choiceAdventure1226" | "choiceAdventure1227" | "choiceAdventure1228" | "choiceAdventure1229" | "choiceAdventure1236" | "choiceAdventure1237" | "choiceAdventure1238" | "choiceAdventure1239" | "choiceAdventure1240" | "choiceAdventure1241" | "choiceAdventure1242" | "choiceAdventure1243" | "choiceAdventure1244" | "choiceAdventure1245" | "choiceAdventure1246" | "choiceAdventure1247" | "choiceAdventure1248" | "choiceAdventure1249" | "choiceAdventure1250" | "choiceAdventure1251" | "choiceAdventure1252" | "choiceAdventure1253" | "choiceAdventure1254" | "choiceAdventure1255" | "choiceAdventure1256" | "choiceAdventure1266" | "choiceAdventure1280" | "choiceAdventure1281" | "choiceAdventure1282" | "choiceAdventure1283" | "choiceAdventure1284" | "choiceAdventure1285" | "choiceAdventure1286" | "choiceAdventure1287" | "choiceAdventure1288" | "choiceAdventure1289" | "choiceAdventure1290" | "choiceAdventure1291" | "choiceAdventure1292" | "choiceAdventure1293" | "choiceAdventure1294" | "choiceAdventure1295" | "choiceAdventure1296" | "choiceAdventure1297" | "choiceAdventure1298" | "choiceAdventure1299" | "choiceAdventure1300" | "choiceAdventure1301" | "choiceAdventure1302" | "choiceAdventure1303" | "choiceAdventure1304" | "choiceAdventure1305" | "choiceAdventure1307" | "choiceAdventure1310" | "choiceAdventure1312" | "choiceAdventure1313" | "choiceAdventure1314" | "choiceAdventure1315" | "choiceAdventure1316" | "choiceAdventure1317" | "choiceAdventure1318" | "choiceAdventure1319" | "choiceAdventure1321" | "choiceAdventure1322" | "choiceAdventure1323" | "choiceAdventure1324" | "choiceAdventure1325" | "choiceAdventure1326" | "choiceAdventure1327" | "choiceAdventure1328" | "choiceAdventure1332" | "choiceAdventure1333" | "choiceAdventure1335" | "choiceAdventure1340" | "choiceAdventure1341" | "choiceAdventure1345" | "choiceAdventure1389" | "choiceAdventure1392" | "choiceAdventure1399" | "choiceAdventure1405" | "choiceAdventure1411" | "choiceAdventure1415";
8
8
  export declare type FamiliarProperty = "commaFamiliar" | "nextQuantumFamiliar" | "preBlackbirdFamiliar";
9
9
  export declare type StatProperty = "nsChallenge1" | "snojoSetting";
@@ -1,13 +1,16 @@
1
1
  import { EnvironmentType } from "../../lib";
2
+ import { Modifiers } from "../../modifier";
3
+ declare type SpecialFlowerAbility = "Delevels Enemy" | "Blocks Attacks" | "Poison";
2
4
  declare class Flower {
3
5
  name: string;
4
6
  id: number;
5
7
  environment: EnvironmentType;
6
- modifier: string;
8
+ modifier: Modifiers | SpecialFlowerAbility;
7
9
  territorial: boolean;
8
- constructor(name: string, id: number, environment: EnvironmentType, modifier: string, territorial?: boolean);
9
- plantNamesInZone(location?: Location): string[] | undefined;
10
- plantsInZone(location?: Location): Flower[] | undefined;
10
+ constructor(name: string, id: number, environment: EnvironmentType, modifier: Modifiers | SpecialFlowerAbility, territorial?: boolean);
11
+ static plantNamesInZone(location?: Location): string[] | null;
12
+ static plantsInZone(location?: Location): Flower[] | null;
13
+ static modifiersInZone(location?: Location): Modifiers;
11
14
  isPlantedHere(location?: Location): boolean;
12
15
  available(location?: Location): boolean;
13
16
  dig(): boolean;
@@ -1,4 +1,5 @@
1
1
  import { floristAvailable, getFloristPlants, myLocation, visitUrl, } from "kolmafia";
2
+ import { mergeModifiers } from "../../modifier";
2
3
  import { get } from "../../property";
3
4
  class Flower {
4
5
  name;
@@ -13,16 +14,25 @@ class Flower {
13
14
  this.modifier = modifier;
14
15
  this.territorial = territorial;
15
16
  }
16
- plantNamesInZone(location = myLocation()) {
17
- return getFloristPlants()[location.toString()];
17
+ static plantNamesInZone(location = myLocation()) {
18
+ return getFloristPlants()[location.toString()] ?? null;
18
19
  }
19
- plantsInZone(location = myLocation()) {
20
- return this.plantNamesInZone(location)
20
+ static plantsInZone(location = myLocation()) {
21
+ return (this.plantNamesInZone(location)
21
22
  ?.map((flowerName) => toFlower(flowerName))
22
- .filter((flower) => flower !== undefined);
23
+ .filter((flower) => flower !== undefined) ?? null);
24
+ }
25
+ static modifiersInZone(location = myLocation()) {
26
+ const plants = this.plantsInZone(location);
27
+ if (!plants)
28
+ return {};
29
+ const modifiers = plants
30
+ .map((plant) => plant.modifier)
31
+ .map((modifier) => (typeof modifier === "string" ? {} : modifier));
32
+ return mergeModifiers(...modifiers);
23
33
  }
24
34
  isPlantedHere(location = myLocation()) {
25
- const plantedHere = this.plantNamesInZone(location)?.includes(this.name);
35
+ const plantedHere = Flower.plantNamesInZone(location)?.includes(this.name);
26
36
  return plantedHere !== undefined && plantedHere;
27
37
  }
28
38
  available(location = myLocation()) {
@@ -33,7 +43,7 @@ class Flower {
33
43
  dig() {
34
44
  if (!this.isPlantedHere())
35
45
  return false;
36
- const flowers = this.plantNamesInZone();
46
+ const flowers = Flower.plantNamesInZone();
37
47
  if (!flowers || !flowers[2])
38
48
  return false;
39
49
  const plantNumber = getFloristPlants()[myLocation().toString()].indexOf(this.name);
@@ -70,46 +80,98 @@ export function flowersAvailableFor(location = myLocation()) {
70
80
  export function isFull(location = myLocation()) {
71
81
  return flowersIn(location).length === 3;
72
82
  }
73
- export const RabidDogwood = new Flower("Rabid Dogwood", 1, "outdoor", "+30 Monster Level", true);
74
- export const Rutabeggar = new Flower("Rutabeggar", 2, "outdoor", "+25 Item Drop", true);
75
- export const RadishRadish = new Flower("Rad-ish Radish", 3, "outdoor", "+5 Moxie Experience", true);
76
- export const Artichoker = new Flower("Artichoker", 4, "outdoor", "Delevels enemies");
77
- export const SmokeRa = new Flower("Smoke-ra", 5, "outdoor", "Blocks attacks");
78
- export const SkunkCabbage = new Flower("Skunk Cabbage", 6, "outdoor", "Stench damage");
79
- export const DeadlyCinnamon = new Flower("Deadly Cinnamon", 7, "outdoor", "Hot damage");
80
- export const CeleryStalker = new Flower("Celery Stalker", 8, "outdoor", "Spooky damage");
81
- export const LettuceSpray = new Flower("Lettus Spray", 9, "outdoor", "Restores HP");
82
- export const SeltzerWatercress = new Flower("Seltzer Watercress", 10, "outdoor", "Restores MP");
83
- export const WarLily = new Flower("War Lily", 11, "indoor", "+30 Monster Level", true);
84
- export const StealingMagnolia = new Flower("Stealing Magnolia", 12, "indoor", "+25 Item Drop", true);
85
- export const CannedSpinach = new Flower("Canned Spinach", 13, "indoor", "+5 Muscle Experience", true);
86
- export const Impatiens = new Flower("Impatiens", 14, "indoor", "+25 Initiative");
83
+ export const RabidDogwood = new Flower("Rabid Dogwood", 1, "outdoor", {
84
+ "Monster Level": 30,
85
+ }, true);
86
+ export const Rutabeggar = new Flower("Rutabeggar", 2, "outdoor", {
87
+ "Item Drop": 25,
88
+ }, true);
89
+ export const RadishRadish = new Flower("Rad-ish Radish", 3, "outdoor", { "Moxie Experience": 5 }, true);
90
+ export const Artichoker = new Flower("Artichoker", 4, "outdoor", "Delevels Enemy");
91
+ export const SmokeRa = new Flower("Smoke-ra", 5, "outdoor", "Blocks Attacks");
92
+ export const SkunkCabbage = new Flower("Skunk Cabbage", 6, "outdoor", {
93
+ "Stench Damage": 12.5,
94
+ });
95
+ export const DeadlyCinnamon = new Flower("Deadly Cinnamon", 7, "outdoor", {
96
+ "Hot Damage": 12.5,
97
+ });
98
+ export const CeleryStalker = new Flower("Celery Stalker", 8, "outdoor", {
99
+ "Spooky Damage": 12.5,
100
+ });
101
+ export const LettuceSpray = new Flower("Lettus Spray", 9, "outdoor", {
102
+ "HP Regen Min": 10,
103
+ "HP Regen Max": 29,
104
+ });
105
+ export const SeltzerWatercress = new Flower("Seltzer Watercress", 10, "outdoor", { "MP Regen Min": 5, "MP Regen Max": 15 });
106
+ export const WarLily = new Flower("War Lily", 11, "indoor", { "Monster Level": 30 }, true);
107
+ export const StealingMagnolia = new Flower("Stealing Magnolia", 12, "indoor", { "Item Drop": 25 }, true);
108
+ export const CannedSpinach = new Flower("Canned Spinach", 13, "indoor", { "Muscle Experience": 5 }, true);
109
+ export const Impatiens = new Flower("Impatiens", 14, "indoor", {
110
+ Initiative: 25,
111
+ });
87
112
  export const SpiderPlant = new Flower("Spider Plant", 15, "indoor", "Poison");
88
- export const RedFern = new Flower("Red Fern", 16, "indoor", "Delevels enemies");
89
- export const BamBoo = new Flower("Bam BOO!", 17, "indoor", "Spooky damage");
90
- export const ArcticMoss = new Flower("Arctic Moss", 18, "indoor", "Cold damage");
91
- export const AloeGuvnor = new Flower("Aloe Guv'nor", 19, "indoor", "Restores HP");
92
- export const PitcherPlant = new Flower("Pitcher Plant", 20, "indoor", "Restores MP");
93
- export const BlusteryPuffball = new Flower("Blustery Puffball", 21, "underground", "+30 Monster Level", true);
94
- export const HornOfPlenty = new Flower("Horn of Plenty", 22, "underground", "+25 Item Drop", true);
95
- export const WizardsWig = new Flower("Wizard's Wig", 23, "underground", "+5 Mysticality Experience", true);
96
- export const ShuffleTruffle = new Flower("Shuffle Truffle", 24, "underground", "+25 Initiative");
97
- export const DisLichen = new Flower("Dis Lichen", 25, "underground", "Delevels enemies");
98
- export const LooseMorels = new Flower("Loose Morels", 26, "underground", "Sleaze damage");
99
- export const FoulToadstool = new Flower("Foul Toadstool", 27, "underground", "Stench damage");
100
- export const Chillterelle = new Flower("Chillterelle", 28, "underground", "Cold damage");
101
- export const Portlybella = new Flower("Portlybella", 29, "underground", "Retores HP");
102
- export const MaxHeadshroom = new Flower("Max Headshroom", 30, "underground", "Restores MP");
103
- export const Spankton = new Flower("Spankton", 31, "underwater", "Delevels enemies", true);
104
- export const Kelptomaniac = new Flower("Kelptomaniac", 32, "underwater", "+40 Item Drop", true);
105
- export const Crookweed = new Flower("Crookweed", 33, "underwater", "+60 Meat Drop", true);
106
- export const ElectricEelgrass = new Flower("Electric Eelgrass", 34, "underwater", "Blocks attacks");
107
- export const Duckweed = new Flower("Duckweed", 35, "underwater", "Protects once");
108
- export const OrcaOrchid = new Flower("Orca Orchid", 36, "underwater", "Physical damage");
109
- export const Sargassum = new Flower("Sargassum", 37, "underwater", "Stench damage");
110
- export const SubSeaRose = new Flower("Sub-Sea Rose", 38, "underwater", "Cold damage");
111
- export const Snori = new Flower("Snori", 39, "underwater", "Restores HP, Restores MP");
112
- export const UpSeaDaisy = new Flower("Up Sea Daisy", 40, "underwater", "+30 Experience");
113
+ export const RedFern = new Flower("Red Fern", 16, "indoor", "Delevels Enemy");
114
+ export const BamBoo = new Flower("Bam BOO!", 17, "indoor", {
115
+ "Spooky Damage": 12.5,
116
+ });
117
+ export const ArcticMoss = new Flower("Arctic Moss", 18, "indoor", {
118
+ "Cold Damage": 12.5,
119
+ });
120
+ export const AloeGuvnor = new Flower("Aloe Guv'nor", 19, "indoor", {
121
+ "HP Regen Min": 10,
122
+ "HP Regen Max": 30,
123
+ });
124
+ export const PitcherPlant = new Flower("Pitcher Plant", 20, "indoor", {
125
+ "MP Regen Min": 5,
126
+ "MP Regen Max": 15,
127
+ });
128
+ export const BlusteryPuffball = new Flower("Blustery Puffball", 21, "underground", { "Monster Level": 30 }, true);
129
+ export const HornOfPlenty = new Flower("Horn of Plenty", 22, "underground", { "Item Drop": 25 }, true);
130
+ export const WizardsWig = new Flower("Wizard's Wig", 23, "underground", { "Mysticality Experience": 5 }, true);
131
+ export const ShuffleTruffle = new Flower("Shuffle Truffle", 24, "underground", {
132
+ Initiative: 25,
133
+ });
134
+ export const DisLichen = new Flower("Dis Lichen", 25, "underground", "Delevels Enemy");
135
+ export const LooseMorels = new Flower("Loose Morels", 26, "underground", {
136
+ "Sleaze Damage": 12.5,
137
+ });
138
+ export const FoulToadstool = new Flower("Foul Toadstool", 27, "underground", {
139
+ "Stench Damage": 12.5,
140
+ });
141
+ export const Chillterelle = new Flower("Chillterelle", 28, "underground", {
142
+ "Cold Damage": 12.5,
143
+ });
144
+ export const Portlybella = new Flower("Portlybella", 29, "underground", {
145
+ "HP Regen Min": 10,
146
+ "HP Regen Max": 30,
147
+ });
148
+ export const MaxHeadshroom = new Flower("Max Headshroom", 30, "underground", {
149
+ "MP Regen Min": 5,
150
+ "MP Regen Max": 15,
151
+ });
152
+ export const Spankton = new Flower("Spankton", 31, "underwater", "Delevels Enemy", true);
153
+ export const Kelptomaniac = new Flower("Kelptomaniac", 32, "underwater", { "Item Drop": 40 }, true);
154
+ export const Crookweed = new Flower("Crookweed", 33, "underwater", { "Meat Drop": 60 }, true);
155
+ export const ElectricEelgrass = new Flower("Electric Eelgrass", 34, "underwater", "Blocks Attacks");
156
+ export const Duckweed = new Flower("Duckweed", 35, "underwater", "Blocks Attacks");
157
+ export const OrcaOrchid = new Flower("Orca Orchid", 36, "underwater", {
158
+ "Weapon Damage": 12.5,
159
+ });
160
+ export const Sargassum = new Flower("Sargassum", 37, "underwater", {
161
+ "Stench Damage": 12.5,
162
+ });
163
+ export const SubSeaRose = new Flower("Sub-Sea Rose", 38, "underwater", {
164
+ "Cold Damage": 12.5,
165
+ });
166
+ export const Snori = new Flower("Snori", 39, "underwater", {
167
+ "HP Regen Min": 20,
168
+ "HP Regen Max": 30,
169
+ "MP Regen Min": 10,
170
+ "MP Regen Max": 20,
171
+ });
172
+ export const UpSeaDaisy = new Flower("Up Sea Daisy", 40, "underwater", {
173
+ Experience: 30,
174
+ });
113
175
  export const all = Object.freeze([
114
176
  RabidDogwood,
115
177
  Rutabeggar,
@@ -0,0 +1,3 @@
1
+ export declare function have(): boolean;
2
+ export declare function sniffedMonster(): Monster | null;
3
+ export declare function refillsRemaining(): number;
@@ -0,0 +1,13 @@
1
+ import { getCounter } from "kolmafia";
2
+ import { have as haveItem } from "../../lib";
3
+ import { get } from "../../property";
4
+ import { $item } from "../../template-string";
5
+ export function have() {
6
+ return haveItem($item `latte lovers member's mug`);
7
+ }
8
+ export function sniffedMonster() {
9
+ return getCounter("Latte Monster") !== -1 ? get("_latteMonster") : null;
10
+ }
11
+ export function refillsRemaining() {
12
+ return 3 - get("_latteRefillsUsed");
13
+ }
@@ -89,4 +89,6 @@ export declare function havePlatinumBooze(): boolean;
89
89
  export declare function haveBooze(): boolean;
90
90
  export declare const ingredientToPlatinumCocktail: Map<Item, Item>;
91
91
  export declare const platinumCocktailToIngredient: Map<Item, Item>;
92
- export declare function getCheapestPlatinumCocktail(): Item;
92
+ export declare function getCheapestPlatinumCocktail(freeCraft?: boolean): Item;
93
+ export declare function turnsLeftOnQuest(useShoes?: boolean): number;
94
+ export declare function expectedReward(usePants?: boolean): number;
@@ -174,6 +174,33 @@ export const ingredientToPlatinumCocktail = new Map([
174
174
  [$item `Dish of Clarified Butter`, $item `Buttery Boy`],
175
175
  ]);
176
176
  export const platinumCocktailToIngredient = invertMap(ingredientToPlatinumCocktail);
177
- export function getCheapestPlatinumCocktail() {
178
- return (maxBy(Array.from(ingredientToPlatinumCocktail), (ingredientAndCocktail) => mallPrice(ingredientAndCocktail[0])) ?? [$item `Dish of Clarified Butter`, $item `Buttery Boy`])[1];
177
+ export function getCheapestPlatinumCocktail(freeCraft = true) {
178
+ const defaultCocktail = [$item `Dish of Clarified Butter`, $item `Buttery Boy`];
179
+ if (freeCraft) {
180
+ return (maxBy(Array.from(ingredientToPlatinumCocktail), (ingredientAndCocktail) => Math.min(...ingredientAndCocktail.map((item) => mallPrice(item)))) ?? defaultCocktail)[1];
181
+ }
182
+ else {
183
+ return (maxBy(Array.from(ingredientToPlatinumCocktail), (ingredientAndCocktail) => mallPrice(ingredientAndCocktail[1])) ?? defaultCocktail)[1];
184
+ }
185
+ }
186
+ export function turnsLeftOnQuest(useShoes = false) {
187
+ const progressPerTurn = useShoes
188
+ ? Math.floor((10 - get("_guzzlrDeliveries")) * 1.5)
189
+ : 10 - get("_guzzlrDeliveries");
190
+ return Math.ceil((100 - get("guzzlrDeliveryProgress")) / progressPerTurn);
191
+ }
192
+ export function expectedReward(usePants = false) {
193
+ switch (getTier()) {
194
+ case "platinum":
195
+ // 20-25
196
+ return 22.5 + (usePants ? 5 : 0);
197
+ case "gold":
198
+ // 5-7
199
+ return 6 + (usePants ? 3 : 0);
200
+ case "bronze":
201
+ // 2-4
202
+ return 3 + (usePants ? 3 : 0);
203
+ default:
204
+ return 0;
205
+ }
179
206
  }
@@ -0,0 +1 @@
1
+ export declare function currentPredictions(withFree?: boolean): Map<Location, Monster>;
@@ -0,0 +1,15 @@
1
+ import { myTurncount, toLocation, toMonster } from "kolmafia";
2
+ import { get } from "../../property";
3
+ const parsedProp = () => get("crystalBallPredictions")
4
+ .split("|")
5
+ .map((element) => element.split(":"))
6
+ .map(([turncount, location, monster]) => [parseInt(turncount), toLocation(location), toMonster(monster)]);
7
+ export function currentPredictions(withFree = true) {
8
+ const predictions = parsedProp();
9
+ const freeCondition = (predictedTurns, turns) => predictedTurns === turns;
10
+ const nonFreeCondition = (predictedTurns, turns) => predictedTurns + 1 === turns;
11
+ return new Map(predictions
12
+ .filter(([turncount]) => nonFreeCondition(turncount, myTurncount()) ||
13
+ (withFree && freeCondition(turncount, myTurncount())))
14
+ .map(([, location, monster]) => [location, monster]));
15
+ }
@@ -3,9 +3,11 @@ import * as Bandersnatch from "./2009/Bandersnatch";
3
3
  import * as BeachComb from "./2019/BeachComb";
4
4
  import * as ChateauMantegna from "./2015/ChateauMantegna";
5
5
  import * as CrownOfThrones from "./2010/CrownOfThrones";
6
+ import * as CrystalBall from "./2021/CrystalBall";
6
7
  import * as DNALab from "./2014/DNALab";
7
8
  import * as FloristFriar from "./2013/Florist";
8
9
  import * as Guzzlr from "./2020/Guzzlr";
10
+ import * as Latte from "./2018/LatteLoversMembersMug";
9
11
  import * as MayoClinic from "./2015/MayoClinic";
10
12
  import * as ObtuseAngel from "./2011/ObtuseAngel";
11
13
  import * as RainDoh from "./2012/RainDoh";
@@ -16,6 +18,6 @@ import * as SpookyPutty from "./2009/SpookyPutty";
16
18
  import * as TunnelOfLove from "./2017/TunnelOfLove";
17
19
  import * as WinterGarden from "./2014/WinterGarden";
18
20
  import * as Witchess from "./2016/Witchess";
19
- export { AsdonMartin, Bandersnatch, BeachComb, ChateauMantegna, CrownOfThrones, DNALab, FloristFriar, Guzzlr, MayoClinic, ObtuseAngel, RainDoh, SongBoom, SourceTerminal, Snapper, SpookyPutty, TunnelOfLove, WinterGarden, Witchess, };
21
+ export { AsdonMartin, Bandersnatch, BeachComb, ChateauMantegna, CrownOfThrones, CrystalBall, DNALab, FloristFriar, Guzzlr, Latte, MayoClinic, ObtuseAngel, RainDoh, SongBoom, SourceTerminal, Snapper, SpookyPutty, TunnelOfLove, WinterGarden, Witchess, };
20
22
  export * from "./putty-likes";
21
23
  export * from "./LibramSummon";
@@ -3,9 +3,11 @@ import * as Bandersnatch from "./2009/Bandersnatch";
3
3
  import * as BeachComb from "./2019/BeachComb";
4
4
  import * as ChateauMantegna from "./2015/ChateauMantegna";
5
5
  import * as CrownOfThrones from "./2010/CrownOfThrones";
6
+ import * as CrystalBall from "./2021/CrystalBall";
6
7
  import * as DNALab from "./2014/DNALab";
7
8
  import * as FloristFriar from "./2013/Florist";
8
9
  import * as Guzzlr from "./2020/Guzzlr";
10
+ import * as Latte from "./2018/LatteLoversMembersMug";
9
11
  import * as MayoClinic from "./2015/MayoClinic";
10
12
  import * as ObtuseAngel from "./2011/ObtuseAngel";
11
13
  import * as RainDoh from "./2012/RainDoh";
@@ -16,6 +18,6 @@ import * as SpookyPutty from "./2009/SpookyPutty";
16
18
  import * as TunnelOfLove from "./2017/TunnelOfLove";
17
19
  import * as WinterGarden from "./2014/WinterGarden";
18
20
  import * as Witchess from "./2016/Witchess";
19
- export { AsdonMartin, Bandersnatch, BeachComb, ChateauMantegna, CrownOfThrones, DNALab, FloristFriar, Guzzlr, MayoClinic, ObtuseAngel, RainDoh, SongBoom, SourceTerminal, Snapper, SpookyPutty, TunnelOfLove, WinterGarden, Witchess, };
21
+ export { AsdonMartin, Bandersnatch, BeachComb, ChateauMantegna, CrownOfThrones, CrystalBall, DNALab, FloristFriar, Guzzlr, Latte, MayoClinic, ObtuseAngel, RainDoh, SongBoom, SourceTerminal, Snapper, SpookyPutty, TunnelOfLove, WinterGarden, Witchess, };
20
22
  export * from "./putty-likes";
21
23
  export * from "./LibramSummon";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libram",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "description": "JavaScript helper library for KoLmafia",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",