libram 0.8.26 → 0.8.28

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.
Files changed (195) hide show
  1. package/package.json +9 -8
  2. package/dist/Clan.d.ts +0 -128
  3. package/dist/Clan.js +0 -300
  4. package/dist/Copier.d.ts +0 -9
  5. package/dist/Copier.js +0 -15
  6. package/dist/Dungeon.d.ts +0 -45
  7. package/dist/Dungeon.js +0 -115
  8. package/dist/Kmail.d.ts +0 -104
  9. package/dist/Kmail.js +0 -182
  10. package/dist/actions/ActionSource.d.ts +0 -131
  11. package/dist/actions/ActionSource.js +0 -177
  12. package/dist/actions/Banish.d.ts +0 -16
  13. package/dist/actions/Banish.js +0 -121
  14. package/dist/actions/FreeKill.d.ts +0 -16
  15. package/dist/actions/FreeKill.js +0 -94
  16. package/dist/actions/FreeRun.d.ts +0 -16
  17. package/dist/actions/FreeRun.js +0 -77
  18. package/dist/actions/index.d.ts +0 -4
  19. package/dist/actions/index.js +0 -4
  20. package/dist/ascend.d.ts +0 -83
  21. package/dist/ascend.js +0 -268
  22. package/dist/challengePaths/2014/HeavyRains.d.ts +0 -22
  23. package/dist/challengePaths/2014/HeavyRains.js +0 -75
  24. package/dist/challengePaths/2015/CommunityService.d.ts +0 -125
  25. package/dist/challengePaths/2015/CommunityService.js +0 -334
  26. package/dist/challengePaths/2016/NuclearAutumn.d.ts +0 -13
  27. package/dist/challengePaths/2016/NuclearAutumn.js +0 -21
  28. package/dist/challengePaths/index.d.ts +0 -4
  29. package/dist/challengePaths/index.js +0 -4
  30. package/dist/combat.d.ts +0 -414
  31. package/dist/combat.js +0 -711
  32. package/dist/console.d.ts +0 -12
  33. package/dist/console.js +0 -14
  34. package/dist/counter.d.ts +0 -22
  35. package/dist/counter.js +0 -37
  36. package/dist/diet/index.d.ts +0 -80
  37. package/dist/diet/index.js +0 -662
  38. package/dist/diet/knapsack.d.ts +0 -8
  39. package/dist/diet/knapsack.js +0 -128
  40. package/dist/index.d.ts +0 -29
  41. package/dist/index.js +0 -26
  42. package/dist/lib.d.ts +0 -497
  43. package/dist/lib.js +0 -958
  44. package/dist/logger.d.ts +0 -35
  45. package/dist/logger.js +0 -62
  46. package/dist/maximize.d.ts +0 -121
  47. package/dist/maximize.js +0 -525
  48. package/dist/modifier.d.ts +0 -41
  49. package/dist/modifier.js +0 -160
  50. package/dist/modifierTypes.d.ts +0 -16
  51. package/dist/modifierTypes.js +0 -9
  52. package/dist/mood.d.ts +0 -105
  53. package/dist/mood.js +0 -349
  54. package/dist/moonSign.d.ts +0 -13
  55. package/dist/moonSign.js +0 -25
  56. package/dist/overlappingNames.d.ts +0 -3
  57. package/dist/overlappingNames.js +0 -42
  58. package/dist/property.d.ts +0 -222
  59. package/dist/property.js +0 -385
  60. package/dist/propertyTypes.d.ts +0 -19
  61. package/dist/propertyTypes.js +0 -10
  62. package/dist/propertyTyping.d.ts +0 -65
  63. package/dist/propertyTyping.js +0 -91
  64. package/dist/resources/2007/CandyHearts.d.ts +0 -9
  65. package/dist/resources/2007/CandyHearts.js +0 -24
  66. package/dist/resources/2008/DivineFavors.d.ts +0 -9
  67. package/dist/resources/2008/DivineFavors.js +0 -27
  68. package/dist/resources/2008/Stickers.d.ts +0 -49
  69. package/dist/resources/2008/Stickers.js +0 -84
  70. package/dist/resources/2009/Bandersnatch.d.ts +0 -56
  71. package/dist/resources/2009/Bandersnatch.js +0 -93
  72. package/dist/resources/2009/LoveSongs.d.ts +0 -9
  73. package/dist/resources/2009/LoveSongs.js +0 -24
  74. package/dist/resources/2009/SpookyPutty.d.ts +0 -31
  75. package/dist/resources/2009/SpookyPutty.js +0 -49
  76. package/dist/resources/2010/Brickos.d.ts +0 -9
  77. package/dist/resources/2010/Brickos.js +0 -21
  78. package/dist/resources/2010/CrownOfThrones.d.ts +0 -68
  79. package/dist/resources/2010/CrownOfThrones.js +0 -418
  80. package/dist/resources/2010/LookingGlass.d.ts +0 -29
  81. package/dist/resources/2010/LookingGlass.js +0 -89
  82. package/dist/resources/2011/Gygaxian.d.ts +0 -9
  83. package/dist/resources/2011/Gygaxian.js +0 -24
  84. package/dist/resources/2011/ObtuseAngel.d.ts +0 -33
  85. package/dist/resources/2011/ObtuseAngel.js +0 -51
  86. package/dist/resources/2011/StompingBoots.d.ts +0 -37
  87. package/dist/resources/2011/StompingBoots.js +0 -57
  88. package/dist/resources/2012/RainDoh.d.ts +0 -25
  89. package/dist/resources/2012/RainDoh.js +0 -37
  90. package/dist/resources/2012/ReagnimatedGnome.d.ts +0 -31
  91. package/dist/resources/2012/ReagnimatedGnome.js +0 -46
  92. package/dist/resources/2012/Resolutions.d.ts +0 -9
  93. package/dist/resources/2012/Resolutions.js +0 -28
  94. package/dist/resources/2013/Florist.d.ts +0 -81
  95. package/dist/resources/2013/Florist.js +0 -245
  96. package/dist/resources/2013/JungMan.d.ts +0 -33
  97. package/dist/resources/2013/JungMan.js +0 -69
  98. package/dist/resources/2013/PulledTaffy.d.ts +0 -9
  99. package/dist/resources/2013/PulledTaffy.js +0 -33
  100. package/dist/resources/2014/CrimboShrub.d.ts +0 -42
  101. package/dist/resources/2014/CrimboShrub.js +0 -89
  102. package/dist/resources/2014/DNALab.d.ts +0 -56
  103. package/dist/resources/2014/DNALab.js +0 -162
  104. package/dist/resources/2014/WinterGarden.d.ts +0 -23
  105. package/dist/resources/2014/WinterGarden.js +0 -35
  106. package/dist/resources/2015/BarrelShrine.d.ts +0 -8
  107. package/dist/resources/2015/BarrelShrine.js +0 -25
  108. package/dist/resources/2015/ChateauMantegna.d.ts +0 -52
  109. package/dist/resources/2015/ChateauMantegna.js +0 -99
  110. package/dist/resources/2015/DeckOfEveryCard.d.ts +0 -29
  111. package/dist/resources/2015/DeckOfEveryCard.js +0 -122
  112. package/dist/resources/2015/Dinseylandfill.d.ts +0 -89
  113. package/dist/resources/2015/Dinseylandfill.js +0 -205
  114. package/dist/resources/2015/MayoClinic.d.ts +0 -23
  115. package/dist/resources/2015/MayoClinic.js +0 -49
  116. package/dist/resources/2016/GingerBread.d.ts +0 -32
  117. package/dist/resources/2016/GingerBread.js +0 -73
  118. package/dist/resources/2016/SourceTerminal.d.ts +0 -181
  119. package/dist/resources/2016/SourceTerminal.js +0 -275
  120. package/dist/resources/2016/Witchess.d.ts +0 -17
  121. package/dist/resources/2016/Witchess.js +0 -47
  122. package/dist/resources/2017/AsdonMartin.d.ts +0 -59
  123. package/dist/resources/2017/AsdonMartin.js +0 -238
  124. package/dist/resources/2017/Horsery.d.ts +0 -19
  125. package/dist/resources/2017/Horsery.js +0 -42
  126. package/dist/resources/2017/MummingTrunk.d.ts +0 -8
  127. package/dist/resources/2017/MummingTrunk.js +0 -33
  128. package/dist/resources/2017/Pantogram.d.ts +0 -92
  129. package/dist/resources/2017/Pantogram.js +0 -174
  130. package/dist/resources/2017/Robortender.d.ts +0 -30
  131. package/dist/resources/2017/Robortender.js +0 -90
  132. package/dist/resources/2017/Spacegate.d.ts +0 -86
  133. package/dist/resources/2017/Spacegate.js +0 -178
  134. package/dist/resources/2017/TunnelOfLove.d.ts +0 -39
  135. package/dist/resources/2017/TunnelOfLove.js +0 -120
  136. package/dist/resources/2018/LatteLoversMembersMug.d.ts +0 -392
  137. package/dist/resources/2018/LatteLoversMembersMug.js +0 -303
  138. package/dist/resources/2018/SongBoom.d.ts +0 -33
  139. package/dist/resources/2018/SongBoom.js +0 -55
  140. package/dist/resources/2019/BeachComb.d.ts +0 -72
  141. package/dist/resources/2019/BeachComb.js +0 -118
  142. package/dist/resources/2019/CampAway.d.ts +0 -39
  143. package/dist/resources/2019/CampAway.js +0 -72
  144. package/dist/resources/2019/Snapper.d.ts +0 -33
  145. package/dist/resources/2019/Snapper.js +0 -73
  146. package/dist/resources/2020/Cartography.d.ts +0 -16
  147. package/dist/resources/2020/Cartography.js +0 -48
  148. package/dist/resources/2020/Guzzlr.d.ts +0 -160
  149. package/dist/resources/2020/Guzzlr.js +0 -275
  150. package/dist/resources/2020/RetroCape.d.ts +0 -51
  151. package/dist/resources/2020/RetroCape.js +0 -115
  152. package/dist/resources/2021/CrystalBall.d.ts +0 -14
  153. package/dist/resources/2021/CrystalBall.js +0 -39
  154. package/dist/resources/2021/DaylightShavings.d.ts +0 -40
  155. package/dist/resources/2021/DaylightShavings.js +0 -74
  156. package/dist/resources/2022/AutumnAton.d.ts +0 -78
  157. package/dist/resources/2022/AutumnAton.js +0 -182
  158. package/dist/resources/2022/CombatLoversLocket.d.ts +0 -44
  159. package/dist/resources/2022/CombatLoversLocket.js +0 -82
  160. package/dist/resources/2022/GreyGoose.d.ts +0 -59
  161. package/dist/resources/2022/GreyGoose.js +0 -90
  162. package/dist/resources/2022/JuneCleaver.d.ts +0 -47
  163. package/dist/resources/2022/JuneCleaver.js +0 -69
  164. package/dist/resources/2022/TrainSet.d.ts +0 -146
  165. package/dist/resources/2022/TrainSet.js +0 -228
  166. package/dist/resources/2023/AugustScepter.d.ts +0 -25
  167. package/dist/resources/2023/AugustScepter.js +0 -40
  168. package/dist/resources/2023/BurningLeaves.d.ts +0 -25
  169. package/dist/resources/2023/BurningLeaves.js +0 -74
  170. package/dist/resources/2023/CinchoDeMayo.d.ts +0 -25
  171. package/dist/resources/2023/CinchoDeMayo.js +0 -45
  172. package/dist/resources/2023/ClosedCircuitPayphone.d.ts +0 -80
  173. package/dist/resources/2023/ClosedCircuitPayphone.js +0 -129
  174. package/dist/resources/2023/CursedMonkeyPaw.d.ts +0 -46
  175. package/dist/resources/2023/CursedMonkeyPaw.js +0 -113
  176. package/dist/resources/2024/AprilingBandHelmet.d.ts +0 -50
  177. package/dist/resources/2024/AprilingBandHelmet.js +0 -103
  178. package/dist/resources/2024/ChestMimic.d.ts +0 -35
  179. package/dist/resources/2024/ChestMimic.js +0 -108
  180. package/dist/resources/LibramSummon.d.ts +0 -18
  181. package/dist/resources/LibramSummon.js +0 -74
  182. package/dist/resources/index.d.ts +0 -54
  183. package/dist/resources/index.js +0 -54
  184. package/dist/resources/putty-likes.d.ts +0 -21
  185. package/dist/resources/putty-likes.js +0 -33
  186. package/dist/session.d.ts +0 -169
  187. package/dist/session.js +0 -284
  188. package/dist/since.d.ts +0 -51
  189. package/dist/since.js +0 -108
  190. package/dist/template-string.d.ts +0 -324
  191. package/dist/template-string.js +0 -265
  192. package/dist/url.d.ts +0 -35
  193. package/dist/url.js +0 -67
  194. package/dist/utils.d.ts +0 -178
  195. package/dist/utils.js +0 -255
@@ -1,33 +0,0 @@
1
- /**
2
- * @returns Whether we `have` the SongBoom™ BoomBox
3
- */
4
- export declare function have(): boolean;
5
- declare const keywords: {
6
- "Eye of the Giger": string;
7
- "Food Vibrations": string;
8
- "Remainin' Alive": string;
9
- "These Fists Were Made for Punchin'": string;
10
- "Total Eclipse of Your Meat": string;
11
- };
12
- export declare type SongBoomSong = keyof typeof keywords | null;
13
- export declare const songBoomSongs: Set<string>;
14
- /**
15
- * @returns The `SongBoomSong` you currently have active; `null` if none is active at this time
16
- */
17
- export declare function song(): SongBoomSong;
18
- /**
19
- * @returns Song changes left today.
20
- */
21
- export declare function songChangesLeft(): number;
22
- /**
23
- * Change the song. Throws an error if unable.
24
- *
25
- * @param newSong Song to change to.
26
- * @returns Whether we successfully changed the song; `false` thus means that this was already our current song.
27
- */
28
- export declare function setSong(newSong: SongBoomSong): boolean;
29
- /**
30
- * @returns Progress to next song drop (e.g. gathered meat-clip).
31
- */
32
- export declare function dropProgress(): number;
33
- export {};
@@ -1,55 +0,0 @@
1
- import { cliExecute } from "kolmafia";
2
- import { have as haveItem } from "../../lib";
3
- import { get } from "../../property";
4
- import { $item } from "../../template-string";
5
- const item = $item `SongBoom™ BoomBox`;
6
- /**
7
- * @returns Whether we `have` the SongBoom™ BoomBox
8
- */
9
- export function have() {
10
- return haveItem(item);
11
- }
12
- const keywords = {
13
- "Eye of the Giger": "spooky",
14
- "Food Vibrations": "food",
15
- "Remainin' Alive": "dr",
16
- "These Fists Were Made for Punchin'": "damage",
17
- "Total Eclipse of Your Meat": "meat",
18
- };
19
- export const songBoomSongs = new Set(Object.keys(keywords));
20
- /**
21
- * @returns The `SongBoomSong` you currently have active; `null` if none is active at this time
22
- */
23
- export function song() {
24
- const stored = get("boomBoxSong");
25
- return songBoomSongs.has(stored) ? stored : null;
26
- }
27
- /**
28
- * @returns Song changes left today.
29
- */
30
- export function songChangesLeft() {
31
- return get("_boomBoxSongsLeft");
32
- }
33
- /**
34
- * Change the song. Throws an error if unable.
35
- *
36
- * @param newSong Song to change to.
37
- * @returns Whether we successfully changed the song; `false` thus means that this was already our current song.
38
- */
39
- export function setSong(newSong) {
40
- if (song() !== newSong) {
41
- if (songChangesLeft() === 0)
42
- throw new Error("Out of song changes!");
43
- cliExecute(`boombox ${newSong ? keywords[newSong] : "none"}`);
44
- return true;
45
- }
46
- else {
47
- return false;
48
- }
49
- }
50
- /**
51
- * @returns Progress to next song drop (e.g. gathered meat-clip).
52
- */
53
- export function dropProgress() {
54
- return get("_boomBoxFights");
55
- }
@@ -1,72 +0,0 @@
1
- import { Effect } from "kolmafia";
2
- /**
3
- * Determines whether we `have` the beach comb
4
- *
5
- * @returns Whether we `have` the beach comb
6
- */
7
- export declare function have(): boolean;
8
- /**
9
- * Determines whether we `have` the beach comb or the driftwood beach comb
10
- *
11
- * @returns Whether we `have` either the beach comb or the driftwood beach comb
12
- */
13
- export declare function available(): boolean;
14
- export declare const headBuffs: readonly [Effect, Effect, Effect, Effect, Effect, Effect, Effect, Effect, Effect, Effect, Effect];
15
- export declare const head: {
16
- readonly HOT: Effect;
17
- readonly COLD: Effect;
18
- readonly STENCH: Effect;
19
- readonly SPOOKY: Effect;
20
- readonly SLEAZE: Effect;
21
- readonly MUSCLE: Effect;
22
- readonly MYSTICALITY: Effect;
23
- readonly INITIATIVE: Effect;
24
- readonly FAMILIAR: Effect;
25
- readonly EXPERIENCE: Effect;
26
- };
27
- /**
28
- * Column starts at 0, rows at 1
29
- */
30
- export declare type BeachTile = {
31
- minute: number;
32
- row: number;
33
- column: number;
34
- };
35
- /**
36
- * Calculates the tide level for a given game day
37
- *
38
- * @param day The day to check the tide level of; defaults to today
39
- * @returns The tide level as an integer
40
- */
41
- export declare function tideLevel(day?: number): number;
42
- /**
43
- * Determines whether a given tile can currently be combed, based on the tide level
44
- *
45
- * @param tile The tile to check
46
- * @returns Whether today's tides permit the combing of this tile
47
- */
48
- export declare function canComb(tile: BeachTile): boolean;
49
- /**
50
- * @returns The number of free combs we have available for today
51
- */
52
- export declare function freeCombs(): number;
53
- /**
54
- * Comb a tile or tiles; skips any presently uncombablle tiles
55
- *
56
- * @param tiles The tiles to comb
57
- */
58
- export declare function comb(...tiles: BeachTile[]): void;
59
- /**
60
- * Determines whether a given Beach Head can be combed today
61
- *
62
- * @param target The head in question, either as the Effect it grants or as its name
63
- * @returns Whether the given head is combable
64
- */
65
- export declare function headAvailable(target: Effect | keyof typeof head): boolean;
66
- /**
67
- * Tries to comb a given Beach Head
68
- *
69
- * @param target The Beach Head to comb, given either as its effect or as its name
70
- * @returns Whether we have the head effect at the end of the whole rigamarole; this means that if you `tryHead` when you already have the effect, it will (presumably) fail to comb but will return `true`
71
- */
72
- export declare function tryHead(target: Effect | keyof typeof head): boolean;
@@ -1,118 +0,0 @@
1
- import { cliExecute, Effect, gamedayToInt, getProperty, handlingChoice, Item, runChoice, } from "kolmafia";
2
- import { have as have_ } from "../../lib";
3
- import { get } from "../../property";
4
- import { $effect } from "../../template-string";
5
- import { clamp } from "../../utils";
6
- /**
7
- * Determines whether we `have` the beach comb
8
- *
9
- * @returns Whether we `have` the beach comb
10
- */
11
- export function have() {
12
- return have_(Item.get("Beach Comb"));
13
- }
14
- /**
15
- * Determines whether we `have` the beach comb or the driftwood beach comb
16
- *
17
- * @returns Whether we `have` either the beach comb or the driftwood beach comb
18
- */
19
- export function available() {
20
- return have() || have_(Item.get("driftwood beach comb"));
21
- }
22
- export const headBuffs = [
23
- $effect `Hot-Headed`,
24
- $effect `Cold as Nice`,
25
- $effect `A Brush with Grossness`,
26
- $effect `Does It Have a Skull In There??`,
27
- $effect `Oiled, Slick`,
28
- $effect `Lack of Body-Building`,
29
- $effect `We're All Made of Starfish`,
30
- $effect `Pomp & Circumsands`,
31
- $effect `Resting Beach Face`,
32
- $effect `Do I Know You From Somewhere?`,
33
- $effect `You Learned Something Maybe!`,
34
- ];
35
- export const head = {
36
- HOT: $effect `Hot-Headed`,
37
- COLD: $effect `Cold as Nice`,
38
- STENCH: $effect `A Brush with Grossness`,
39
- SPOOKY: $effect `Does It Have a Skull In There??`,
40
- SLEAZE: $effect `Oiled, Slick`,
41
- MUSCLE: $effect `Lack of Body-Building`,
42
- MYSTICALITY: $effect `We're All Made of Starfish`,
43
- INITIATIVE: $effect `Resting Beach Face`,
44
- FAMILIAR: $effect `Do I Know You From Somewhere?`,
45
- EXPERIENCE: $effect `You Learned Something Maybe!`,
46
- };
47
- /**
48
- * Calculates the tide level for a given game day
49
- *
50
- * @param day The day to check the tide level of; defaults to today
51
- * @returns The tide level as an integer
52
- */
53
- export function tideLevel(day = gamedayToInt()) {
54
- const dayOfMonth = 1 + (day % 8);
55
- return 4 - Math.abs(4 - dayOfMonth);
56
- }
57
- /**
58
- * Determines whether a given tile can currently be combed, based on the tide level
59
- *
60
- * @param tile The tile to check
61
- * @returns Whether today's tides permit the combing of this tile
62
- */
63
- export function canComb(tile) {
64
- return tile.row > tideLevel();
65
- }
66
- /**
67
- * @returns The number of free combs we have available for today
68
- */
69
- export function freeCombs() {
70
- return available() ? clamp(11 - get("_freeBeachWalksUsed"), 0, 11) : 0;
71
- }
72
- /**
73
- * Comb a tile or tiles; skips any presently uncombablle tiles
74
- *
75
- * @param tiles The tiles to comb
76
- */
77
- export function comb(...tiles) {
78
- if (!available() || !tiles.length)
79
- return;
80
- for (const tile of tiles) {
81
- if (canComb(tile)) {
82
- const { minute, row, column } = tile;
83
- cliExecute(`beach wander ${minute}`);
84
- cliExecute(`beach comb ${row} ${column}`);
85
- }
86
- }
87
- if (handlingChoice())
88
- runChoice(5);
89
- }
90
- /**
91
- * Determines whether a given Beach Head can be combed today
92
- *
93
- * @param target The head in question, either as the Effect it grants or as its name
94
- * @returns Whether the given head is combable
95
- */
96
- export function headAvailable(target) {
97
- const effect = target instanceof Effect ? target : head[target];
98
- const headNumber = 1 + headBuffs.indexOf(effect);
99
- return (getProperty("beachHeadsUnlocked")
100
- .split(",")
101
- .includes(headNumber.toString()) &&
102
- !getProperty("_beachHeadsUsed").split(",").includes(headNumber.toString()));
103
- }
104
- /**
105
- * Tries to comb a given Beach Head
106
- *
107
- * @param target The Beach Head to comb, given either as its effect or as its name
108
- * @returns Whether we have the head effect at the end of the whole rigamarole; this means that if you `tryHead` when you already have the effect, it will (presumably) fail to comb but will return `true`
109
- */
110
- export function tryHead(target) {
111
- const effect = target instanceof Effect ? target : head[target];
112
- if (!headBuffs.includes(effect))
113
- return false;
114
- if (!headAvailable(target))
115
- return false;
116
- cliExecute(effect.default);
117
- return have_(effect);
118
- }
@@ -1,39 +0,0 @@
1
- import { Effect } from "kolmafia";
2
- /**
3
- * Determines whether we `have` the campsite
4
- *
5
- * @returns Whether we `have` the campsite
6
- */
7
- export declare function have(): boolean;
8
- /**
9
- * @returns Number of cloud buffs acquired today
10
- */
11
- export declare function getCloudBuffsToday(): number;
12
- /**
13
- * @returns Number of cloud buffs acquired today
14
- */
15
- export declare function getSmileBuffsToday(): number;
16
- /**
17
- * @returns Number of buffs acquired today from gazing at the stars
18
- */
19
- export declare function getBuffsToday(): number;
20
- /**
21
- * @returns Whether player has acquired all their buffs today from gazing at the stars
22
- */
23
- export declare function canGaze(): boolean;
24
- /**
25
- * Gaze at the stars
26
- */
27
- export declare function gaze(): void;
28
- /**
29
- * @param daycountToCheck Daycount to check, defaults to today
30
- * @returns The buff that the user will get if they gaze on the supplied daycount
31
- */
32
- export declare function getGazeBuff(daycountToCheck?: number): Effect;
33
- /**
34
- * Retrieve a number of campfire smokes and use them selecting randomly from the supplied messages
35
- *
36
- * @param messages Array of messages to blow
37
- * @param times Number of times to blow smoke
38
- */
39
- export declare function blowSmoke(messages: string[], times?: number): void;
@@ -1,72 +0,0 @@
1
- import { Effect, daycount, myPath, mySign, retrieveItem, use, visitUrl, } from "kolmafia";
2
- import { signIdToName } from "../../moonSign";
3
- import { get, withChoice } from "../../property";
4
- import { $item } from "../../template-string";
5
- import { random } from "../../utils";
6
- /**
7
- * Determines whether we `have` the campsite
8
- *
9
- * @returns Whether we `have` the campsite
10
- */
11
- export function have() {
12
- return get("getawayCampsiteUnlocked");
13
- }
14
- /**
15
- * @returns Number of cloud buffs acquired today
16
- */
17
- export function getCloudBuffsToday() {
18
- return get("_campAwayCloudBuffs");
19
- }
20
- /**
21
- * @returns Number of cloud buffs acquired today
22
- */
23
- export function getSmileBuffsToday() {
24
- return get("_campAwaySmileBuffs");
25
- }
26
- /**
27
- * @returns Number of buffs acquired today from gazing at the stars
28
- */
29
- export function getBuffsToday() {
30
- return getCloudBuffsToday() + getSmileBuffsToday();
31
- }
32
- /**
33
- * @returns Whether player has acquired all their buffs today from gazing at the stars
34
- */
35
- export function canGaze() {
36
- return getBuffsToday() < 4;
37
- }
38
- /**
39
- * Gaze at the stars
40
- */
41
- export function gaze() {
42
- if (!canGaze())
43
- return;
44
- visitUrl("place.php?whichplace=campaway&action=campaway_sky");
45
- }
46
- /**
47
- * @param daycountToCheck Daycount to check, defaults to today
48
- * @returns The buff that the user will get if they gaze on the supplied daycount
49
- */
50
- export function getGazeBuff(daycountToCheck = daycount()) {
51
- const buffSign = signIdToName(((daycountToCheck + myPath().id) % 9) + 1);
52
- const effectName = [];
53
- if (buffSign === mySign())
54
- effectName.push("Big");
55
- effectName.push("Smile of the", buffSign);
56
- return Effect.get(effectName.join(" "));
57
- }
58
- /**
59
- * Retrieve a number of campfire smokes and use them selecting randomly from the supplied messages
60
- *
61
- * @param messages Array of messages to blow
62
- * @param times Number of times to blow smoke
63
- */
64
- export function blowSmoke(messages, times = 1) {
65
- const smoke = $item `campfire smoke`;
66
- retrieveItem(smoke, times);
67
- for (let i = 0; i < times; i++) {
68
- withChoice(1394, `1&message=${random(messages)}`, () => {
69
- use(smoke);
70
- });
71
- }
72
- }
@@ -1,33 +0,0 @@
1
- import { Item, Phylum } from "kolmafia";
2
- /**
3
- * Map of phylum to item that phylum drops.
4
- */
5
- export declare const phylumItem: Map<Phylum, Item>;
6
- /**
7
- * Map of drop item to phylum it drops from.
8
- */
9
- export declare const itemPhylum: Map<Item, Phylum>;
10
- /**
11
- * Return whether you have a Red-Nosed Snapper.
12
- *
13
- * @returns True if you have a Red-Nosed Snapper, false otherwise.
14
- */
15
- export declare function have(): boolean;
16
- /**
17
- * Get the phylum currently being tracked by the snapper.
18
- *
19
- * @returns Tracked phylum, or null if no phylum tracked.
20
- */
21
- export declare function getTrackedPhylum(): Phylum | null;
22
- /**
23
- * Set snapper tracking to a certain phylum.
24
- *
25
- * @param phylum Phylum to track.
26
- */
27
- export declare function trackPhylum(phylum: Phylum): void;
28
- /**
29
- * Get progress to next snapper drop.
30
- *
31
- * @returns Number of fights completed (out of 11) to reach next drop.
32
- */
33
- export declare function getProgress(): number;
@@ -1,73 +0,0 @@
1
- import { cliExecute, Familiar, haveFamiliar, Item, myFamiliar, Phylum, useFamiliar, } from "kolmafia";
2
- import { get } from "../../property";
3
- const familiar = Familiar.get("Red-Nosed Snapper");
4
- /**
5
- * Map of phylum to item that phylum drops.
6
- */
7
- export const phylumItem = new Map([
8
- [Phylum.get("beast"), Item.get("patch of extra-warm fur")],
9
- [Phylum.get("bug"), Item.get("a bug's lymph")],
10
- [Phylum.get("constellation"), Item.get("micronova")],
11
- [Phylum.get("construct"), Item.get("industrial lubricant")],
12
- [Phylum.get("demon"), Item.get("infernal snowball")],
13
- [Phylum.get("dude"), Item.get("human musk")],
14
- [Phylum.get("elemental"), Item.get("livid energy")],
15
- [Phylum.get("elf"), Item.get("peppermint syrup")],
16
- [Phylum.get("fish"), Item.get("fish sauce")],
17
- [Phylum.get("goblin"), Item.get("guffin")],
18
- [Phylum.get("hippy"), Item.get("organic potpourri")],
19
- [Phylum.get("hobo"), Item.get("beggin' cologne")],
20
- [Phylum.get("horror"), Item.get("powdered madness")],
21
- [Phylum.get("humanoid"), Item.get("vial of humanoid growth hormone")],
22
- [Phylum.get("mer-kin"), Item.get("Mer-kin eyedrops")],
23
- [Phylum.get("orc"), Item.get("boot flask")],
24
- [Phylum.get("penguin"), Item.get("envelope full of Meat")],
25
- [Phylum.get("pirate"), Item.get("Shantix™")],
26
- [Phylum.get("plant"), Item.get("goodberry")],
27
- [Phylum.get("slime"), Item.get("extra-strength goo")],
28
- [Phylum.get("undead"), Item.get("unfinished pleasure")],
29
- [Phylum.get("weird"), Item.get("non-Euclidean angle")],
30
- ]);
31
- /**
32
- * Map of drop item to phylum it drops from.
33
- */
34
- export const itemPhylum = new Map([...phylumItem].map(([phylum, item]) => [item, phylum]));
35
- /**
36
- * Return whether you have a Red-Nosed Snapper.
37
- *
38
- * @returns True if you have a Red-Nosed Snapper, false otherwise.
39
- */
40
- export function have() {
41
- return haveFamiliar(familiar);
42
- }
43
- /**
44
- * Get the phylum currently being tracked by the snapper.
45
- *
46
- * @returns Tracked phylum, or null if no phylum tracked.
47
- */
48
- export function getTrackedPhylum() {
49
- return get("redSnapperPhylum");
50
- }
51
- /**
52
- * Set snapper tracking to a certain phylum.
53
- *
54
- * @param phylum Phylum to track.
55
- */
56
- export function trackPhylum(phylum) {
57
- const currentFamiliar = myFamiliar();
58
- try {
59
- useFamiliar(familiar);
60
- cliExecute(`snapper ${phylum}`);
61
- }
62
- finally {
63
- useFamiliar(currentFamiliar);
64
- }
65
- }
66
- /**
67
- * Get progress to next snapper drop.
68
- *
69
- * @returns Number of fights completed (out of 11) to reach next drop.
70
- */
71
- export function getProgress() {
72
- return get("redSnapperProgress");
73
- }
@@ -1,16 +0,0 @@
1
- import { Location, Monster } from "kolmafia";
2
- /**
3
- * Determines whether you `have` the skill Comprehensive Cartography
4
- *
5
- * @returns Whether you currently `have` the skill
6
- */
7
- export declare function have(): boolean;
8
- /**
9
- * Map a particular monster in a particular location
10
- * You'll need to set your autoattack or CCS in advance of using this. Additionally, it will loop to try to avoid time-spinner pranks or zone intro adventures
11
- *
12
- * @param location The location to target
13
- * @param monster The monster to target
14
- * @returns Whether we successfully mapped the monster
15
- */
16
- export declare function mapMonster(location: Location, monster: Monster): boolean;
@@ -1,48 +0,0 @@
1
- import { canAdventure, currentRound, handlingChoice, lastChoice, myTurncount, runChoice, toUrl, useSkill, visitUrl, } from "kolmafia";
2
- import { have as _have } from "../../lib";
3
- import { get } from "../../property";
4
- import { $skill } from "../../template-string";
5
- const passive = $skill `Comprehensive Cartography`;
6
- /**
7
- * Determines whether you `have` the skill Comprehensive Cartography
8
- *
9
- * @returns Whether you currently `have` the skill
10
- */
11
- export function have() {
12
- return _have(passive);
13
- }
14
- /**
15
- * Map a particular monster in a particular location
16
- * You'll need to set your autoattack or CCS in advance of using this. Additionally, it will loop to try to avoid time-spinner pranks or zone intro adventures
17
- *
18
- * @param location The location to target
19
- * @param monster The monster to target
20
- * @returns Whether we successfully mapped the monster
21
- */
22
- export function mapMonster(location, monster) {
23
- if (!have())
24
- return false;
25
- if (get("_monstersMapped") >= 3)
26
- return false;
27
- if (!canAdventure(location))
28
- return false;
29
- useSkill($skill `Map the Monsters`);
30
- if (!get("mappingMonsters"))
31
- return false;
32
- const turns = myTurncount();
33
- while (currentRound() < 1) {
34
- // Not in combat
35
- if (myTurncount() > turns) {
36
- throw new Error("Map the Monsters unsuccessful?");
37
- }
38
- visitUrl(toUrl(location));
39
- if (handlingChoice() && lastChoice() === 1435) {
40
- runChoice(1, `heyscriptswhatsupwinkwink=${monster.id}`);
41
- return true;
42
- }
43
- else {
44
- runChoice(-1, false);
45
- }
46
- }
47
- return false;
48
- }