isaacscript-common 72.5.0 → 72.6.0
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/index.rollup.d.ts +13 -0
- package/dist/isaacscript-common.lua +6607 -6588
- package/dist/src/functions/itemPool.d.ts +4 -0
- package/dist/src/functions/itemPool.d.ts.map +1 -1
- package/dist/src/functions/itemPool.lua +6 -0
- package/dist/src/functions/logMisc.d.ts +8 -1
- package/dist/src/functions/logMisc.d.ts.map +1 -1
- package/dist/src/functions/logMisc.lua +18 -0
- package/package.json +1 -1
- package/src/functions/itemPool.ts +8 -0
- package/src/functions/logMisc.ts +30 -1
|
@@ -13,6 +13,10 @@ export declare function getDefaultCollectibleTypesInItemPool(itemPoolType: ItemP
|
|
|
13
13
|
* "normal" item pools when playing in Greed Mode.
|
|
14
14
|
*/
|
|
15
15
|
export declare function getDefaultItemPoolsForCollectibleType(collectibleType: CollectibleType): ItemPoolType[];
|
|
16
|
+
/**
|
|
17
|
+
* Helper function to get the name for an item pool type as it appears in the "itempools.xml" file.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getItemPoolName(itemPoolType: ItemPoolType): string;
|
|
16
20
|
/**
|
|
17
21
|
* Helper function to get a random item pool. This is not as simple as getting a random value from
|
|
18
22
|
* the `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemPool.d.ts","sourceRoot":"","sources":["../../../src/functions/itemPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"itemPool.d.ts","sourceRoot":"","sources":["../../../src/functions/itemPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAyC5D;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,YAAY,GACzB,GAAG,CAAC,eAAe,CAAC,CAEtB;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACnD,eAAe,EAAE,eAAe,GAC/B,YAAY,EAAE,CAgBhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAElE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS,GAChC,YAAY,CAMd;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,GACzB,OAAO,CAIT;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,gBAAgB,EAAE,eAAe,EAAE,GACrC,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAM3E"}
|
|
@@ -10,6 +10,8 @@ local ____cachedEnumValues = require("src.arrays.cachedEnumValues")
|
|
|
10
10
|
local ITEM_POOL_TYPE_VALUES = ____cachedEnumValues.ITEM_POOL_TYPE_VALUES
|
|
11
11
|
local ____cachedClasses = require("src.core.cachedClasses")
|
|
12
12
|
local game = ____cachedClasses.game
|
|
13
|
+
local ____itemPoolTypeToItemPoolName = require("src.maps.itemPoolTypeToItemPoolName")
|
|
14
|
+
local ITEM_POOL_TYPE_TO_ITEM_POOL_NAME = ____itemPoolTypeToItemPoolName.ITEM_POOL_TYPE_TO_ITEM_POOL_NAME
|
|
13
15
|
local ____itemPoolTypeToCollectibleTypesSet = require("src.objects.itemPoolTypeToCollectibleTypesSet")
|
|
14
16
|
local ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET = ____itemPoolTypeToCollectibleTypesSet.ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET
|
|
15
17
|
local ____array = require("src.functions.array")
|
|
@@ -77,6 +79,10 @@ function ____exports.getDefaultItemPoolsForCollectibleType(self, collectibleType
|
|
|
77
79
|
end
|
|
78
80
|
return collectibleItemPoolTypes
|
|
79
81
|
end
|
|
82
|
+
--- Helper function to get the name for an item pool type as it appears in the "itempools.xml" file.
|
|
83
|
+
function ____exports.getItemPoolName(self, itemPoolType)
|
|
84
|
+
return ITEM_POOL_TYPE_TO_ITEM_POOL_NAME[itemPoolType]
|
|
85
|
+
end
|
|
80
86
|
--- Helper function to get a random item pool. This is not as simple as getting a random value from
|
|
81
87
|
-- the `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the
|
|
82
88
|
-- Greed Mode item pools should be excluded if not playing in Greed Mode.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
|
-
import type { CollectibleType } from "isaac-typescript-definitions";
|
|
2
|
+
import type { CollectibleType, ItemPoolType } from "isaac-typescript-definitions";
|
|
3
3
|
import { DamageFlag, DisplayFlag, EntityFlag, ProjectileFlag, TearFlag, UseFlag } from "isaac-typescript-definitions";
|
|
4
4
|
/**
|
|
5
5
|
* Helper function to log all of the values in an array.
|
|
@@ -33,6 +33,13 @@ export declare function logEntityID(this: void, entity: Entity): void;
|
|
|
33
33
|
export declare function logFlags<T extends BitFlag | BitFlag128>(this: void, flags: T | BitFlags<T>, flagEnum: Record<string, T>, description?: string): void;
|
|
34
34
|
/** Helper function for logging every game state flag that is turned on. Useful when debugging. */
|
|
35
35
|
export declare function logGameStateFlags(this: void): void;
|
|
36
|
+
/**
|
|
37
|
+
* Helper function to log the names of a item pool type array.
|
|
38
|
+
*
|
|
39
|
+
* @param itemPoolTypes The item pool types to log.
|
|
40
|
+
* @param name Optional. The name of the array, which will be logged before the elements.
|
|
41
|
+
*/
|
|
42
|
+
export declare function logItemPoolTypes(this: void, itemPoolTypes: ItemPoolType[] | readonly ItemPoolType[], name?: string): void;
|
|
36
43
|
/**
|
|
37
44
|
* Helper function to log a `KColor` object.
|
|
38
45
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logMisc.d.ts","sourceRoot":"","sources":["../../../src/functions/logMisc.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"logMisc.d.ts","sourceRoot":"","sources":["../../../src/functions/logMisc.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ local ____flag = require("src.functions.flag")
|
|
|
45
45
|
local hasFlag = ____flag.hasFlag
|
|
46
46
|
local ____isaacAPIClass = require("src.functions.isaacAPIClass")
|
|
47
47
|
local getIsaacAPIClassName = ____isaacAPIClass.getIsaacAPIClassName
|
|
48
|
+
local ____itemPool = require("src.functions.itemPool")
|
|
49
|
+
local getItemPoolName = ____itemPool.getItemPoolName
|
|
48
50
|
local ____log = require("src.functions.log")
|
|
49
51
|
local log = ____log.log
|
|
50
52
|
local ____playerHealth = require("src.functions.playerHealth")
|
|
@@ -169,6 +171,22 @@ function ____exports.logGameStateFlags()
|
|
|
169
171
|
log(" n/a (no flags)")
|
|
170
172
|
end
|
|
171
173
|
end
|
|
174
|
+
--- Helper function to log the names of a item pool type array.
|
|
175
|
+
--
|
|
176
|
+
-- @param itemPoolTypes The item pool types to log.
|
|
177
|
+
-- @param name Optional. The name of the array, which will be logged before the elements.
|
|
178
|
+
function ____exports.logItemPoolTypes(itemPoolTypes, name)
|
|
179
|
+
if name == nil then
|
|
180
|
+
name = "item pool types"
|
|
181
|
+
end
|
|
182
|
+
log(("Logging " .. name) .. ":")
|
|
183
|
+
local i = 1
|
|
184
|
+
for ____, itemPoolType in ipairs(itemPoolTypes) do
|
|
185
|
+
local itemPoolName = getItemPoolName(nil, itemPoolType)
|
|
186
|
+
log(((((tostring(i) .. ") ") .. itemPoolName) .. " (") .. tostring(itemPoolType)) .. ")")
|
|
187
|
+
i = i + 1
|
|
188
|
+
end
|
|
189
|
+
end
|
|
172
190
|
--- Helper function to log a `KColor` object.
|
|
173
191
|
--
|
|
174
192
|
-- @param kColor The `KColor` object to log.
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@ import type {
|
|
|
5
5
|
import { ItemPoolType } from "isaac-typescript-definitions";
|
|
6
6
|
import { ITEM_POOL_TYPE_VALUES } from "../arrays/cachedEnumValues";
|
|
7
7
|
import { game } from "../core/cachedClasses";
|
|
8
|
+
import { ITEM_POOL_TYPE_TO_ITEM_POOL_NAME } from "../maps/itemPoolTypeToItemPoolName";
|
|
8
9
|
import { ITEM_POOL_TYPE_TO_COLLECTIBLE_TYPES_SET } from "../objects/itemPoolTypeToCollectibleTypesSet";
|
|
9
10
|
import { arrayRemove, getRandomArrayElement } from "./array";
|
|
10
11
|
|
|
@@ -79,6 +80,13 @@ export function getDefaultItemPoolsForCollectibleType(
|
|
|
79
80
|
return collectibleItemPoolTypes;
|
|
80
81
|
}
|
|
81
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Helper function to get the name for an item pool type as it appears in the "itempools.xml" file.
|
|
85
|
+
*/
|
|
86
|
+
export function getItemPoolName(itemPoolType: ItemPoolType): string {
|
|
87
|
+
return ITEM_POOL_TYPE_TO_ITEM_POOL_NAME[itemPoolType];
|
|
88
|
+
}
|
|
89
|
+
|
|
82
90
|
/**
|
|
83
91
|
* Helper function to get a random item pool. This is not as simple as getting a random value from
|
|
84
92
|
* the `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the
|
package/src/functions/logMisc.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
CollectibleType,
|
|
3
|
+
ItemPoolType,
|
|
4
|
+
} from "isaac-typescript-definitions";
|
|
2
5
|
import {
|
|
3
6
|
DamageFlag,
|
|
4
7
|
DisplayFlag,
|
|
@@ -25,6 +28,7 @@ import { getEntityID } from "./entities";
|
|
|
25
28
|
import { getEnumEntries } from "./enums";
|
|
26
29
|
import { hasFlag } from "./flag";
|
|
27
30
|
import { getIsaacAPIClassName } from "./isaacAPIClass";
|
|
31
|
+
import { getItemPoolName } from "./itemPool";
|
|
28
32
|
import { log } from "./log";
|
|
29
33
|
import { getPlayerHealth } from "./playerHealth";
|
|
30
34
|
import { getEffectsList, getPlayerName } from "./players";
|
|
@@ -178,6 +182,31 @@ export function logGameStateFlags(this: void): void {
|
|
|
178
182
|
}
|
|
179
183
|
}
|
|
180
184
|
|
|
185
|
+
/**
|
|
186
|
+
* Helper function to log the names of a item pool type array.
|
|
187
|
+
*
|
|
188
|
+
* @param itemPoolTypes The item pool types to log.
|
|
189
|
+
* @param name Optional. The name of the array, which will be logged before the elements.
|
|
190
|
+
*/
|
|
191
|
+
export function logItemPoolTypes(
|
|
192
|
+
this: void,
|
|
193
|
+
itemPoolTypes: ItemPoolType[] | readonly ItemPoolType[],
|
|
194
|
+
name?: string,
|
|
195
|
+
): void {
|
|
196
|
+
if (name === undefined) {
|
|
197
|
+
name = "item pool types";
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
log(`Logging ${name}:`);
|
|
201
|
+
|
|
202
|
+
let i = 1;
|
|
203
|
+
for (const itemPoolType of itemPoolTypes) {
|
|
204
|
+
const itemPoolName = getItemPoolName(itemPoolType);
|
|
205
|
+
log(`${i}) ${itemPoolName} (${itemPoolType})`);
|
|
206
|
+
i++;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
181
210
|
/**
|
|
182
211
|
* Helper function to log a `KColor` object.
|
|
183
212
|
*
|