isaacscript-common 21.7.0 → 21.8.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 +7 -0
- package/dist/isaacscript-common.lua +81 -1
- package/dist/src/arrays/cachedEnumValues.d.ts +2 -1
- package/dist/src/arrays/cachedEnumValues.d.ts.map +1 -1
- package/dist/src/arrays/cachedEnumValues.lua +2 -0
- package/dist/src/functions/itemPool.d.ts +8 -0
- package/dist/src/functions/itemPool.d.ts.map +1 -0
- package/dist/src/functions/itemPool.lua +63 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.lua +8 -0
- package/package.json +1 -1
- package/src/arrays/cachedEnumValues.ts +4 -0
- package/src/functions/itemPool.ts +50 -0
- package/src/index.ts +1 -0
package/dist/index.rollup.d.ts
CHANGED
|
@@ -5921,6 +5921,13 @@ export declare function getRandomIndexFromWeightedArray<T>(weightedArray: Weight
|
|
|
5921
5921
|
*/
|
|
5922
5922
|
export declare function getRandomInt(min: int, max: int, seedOrRNG?: Seed | RNG, exceptions?: int[] | readonly int[]): int;
|
|
5923
5923
|
|
|
5924
|
+
/**
|
|
5925
|
+
* Helper function to get a random item pool. This is as simple as getting a random value from the
|
|
5926
|
+
* `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the Greed
|
|
5927
|
+
* Mode item pools should be excluded if not playing in Greed Mode.
|
|
5928
|
+
*/
|
|
5929
|
+
export declare function getRandomItemPool(): ItemPoolType;
|
|
5930
|
+
|
|
5924
5931
|
/**
|
|
5925
5932
|
* Helper function to get a random JSON entity from an array of JSON entities.
|
|
5926
5933
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 21.
|
|
3
|
+
isaacscript-common 21.8.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -20336,6 +20336,7 @@ local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
|
|
|
20336
20336
|
local GridEntityXMLType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityXMLType
|
|
20337
20337
|
local ItemConfigCardType = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigCardType
|
|
20338
20338
|
local ItemConfigTag = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigTag
|
|
20339
|
+
local ItemPoolType = ____isaac_2Dtypescript_2Ddefinitions.ItemPoolType
|
|
20339
20340
|
local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
|
|
20340
20341
|
local PillColor = ____isaac_2Dtypescript_2Ddefinitions.PillColor
|
|
20341
20342
|
local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
|
|
@@ -20360,6 +20361,7 @@ ____exports.GRID_ENTITY_TYPE_VALUES = getEnumValues(nil, GridEntityType)
|
|
|
20360
20361
|
____exports.GRID_ENTITY_XML_TYPE_VALUES = getEnumValues(nil, GridEntityXMLType)
|
|
20361
20362
|
____exports.ITEM_CONFIG_TAG_VALUES = getEnumValues(nil, ItemConfigTag)
|
|
20362
20363
|
____exports.ITEM_CONFIG_CARD_TYPE_VALUES = getEnumValues(nil, ItemConfigCardType)
|
|
20364
|
+
____exports.ITEM_POOL_TYPE_VALUES = getEnumValues(nil, ItemPoolType)
|
|
20363
20365
|
____exports.KEYBOARD_VALUES = getEnumValues(nil, Keyboard)
|
|
20364
20366
|
____exports.HEALTH_TYPE_VALUES = getEnumValues(nil, HealthType)
|
|
20365
20367
|
____exports.PILL_COLOR_VALUES = getEnumValues(nil, PillColor)
|
|
@@ -51382,6 +51384,68 @@ function ____exports.initArray(self, defaultValue, size)
|
|
|
51382
51384
|
)
|
|
51383
51385
|
return array
|
|
51384
51386
|
end
|
|
51387
|
+
return ____exports
|
|
51388
|
+
end,
|
|
51389
|
+
["src.functions.itemPool"] = function(...)
|
|
51390
|
+
local ____lualib = require("lualib_bundle")
|
|
51391
|
+
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
51392
|
+
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
51393
|
+
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
51394
|
+
local ____exports = {}
|
|
51395
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
|
|
51396
|
+
local ItemPoolType = ____isaac_2Dtypescript_2Ddefinitions.ItemPoolType
|
|
51397
|
+
local ____cachedEnumValues = require("src.arrays.cachedEnumValues")
|
|
51398
|
+
local ITEM_POOL_TYPE_VALUES = ____cachedEnumValues.ITEM_POOL_TYPE_VALUES
|
|
51399
|
+
local ____array = require("src.functions.array")
|
|
51400
|
+
local arrayRemove = ____array.arrayRemove
|
|
51401
|
+
local getRandomArrayElement = ____array.getRandomArrayElement
|
|
51402
|
+
local ____run = require("src.functions.run")
|
|
51403
|
+
local isGreedMode = ____run.isGreedMode
|
|
51404
|
+
local NORMAL_MODE_ONLY_ITEM_POOL_TYPES = {
|
|
51405
|
+
ItemPoolType.TREASURE,
|
|
51406
|
+
ItemPoolType.BOSS,
|
|
51407
|
+
ItemPoolType.SHOP,
|
|
51408
|
+
ItemPoolType.DEVIL,
|
|
51409
|
+
ItemPoolType.ANGEL,
|
|
51410
|
+
ItemPoolType.CURSE,
|
|
51411
|
+
ItemPoolType.SECRET
|
|
51412
|
+
}
|
|
51413
|
+
local GREED_MODE_ONLY_ITEM_POOL_TYPES = {
|
|
51414
|
+
ItemPoolType.GREED_TREASURE,
|
|
51415
|
+
ItemPoolType.GREED_BOSS,
|
|
51416
|
+
ItemPoolType.GREED_SHOP,
|
|
51417
|
+
ItemPoolType.GREED_DEVIL,
|
|
51418
|
+
ItemPoolType.GREED_ANGEL,
|
|
51419
|
+
ItemPoolType.GREED_CURSE,
|
|
51420
|
+
ItemPoolType.GREED_SECRET
|
|
51421
|
+
}
|
|
51422
|
+
local FAKE_ITEM_POOL_TYPES = {ItemPoolType.SHELL_GAME}
|
|
51423
|
+
local ____arrayRemove_1 = arrayRemove
|
|
51424
|
+
local ____array_0 = __TS__SparseArrayNew(
|
|
51425
|
+
nil,
|
|
51426
|
+
ITEM_POOL_TYPE_VALUES,
|
|
51427
|
+
table.unpack(GREED_MODE_ONLY_ITEM_POOL_TYPES)
|
|
51428
|
+
)
|
|
51429
|
+
__TS__SparseArrayPush(
|
|
51430
|
+
____array_0,
|
|
51431
|
+
table.unpack(FAKE_ITEM_POOL_TYPES)
|
|
51432
|
+
)
|
|
51433
|
+
local NORMAL_MODE_ITEM_POOL_TYPES = ____arrayRemove_1(__TS__SparseArraySpread(____array_0))
|
|
51434
|
+
local ____arrayRemove_3 = arrayRemove
|
|
51435
|
+
local ____array_2 = __TS__SparseArrayNew(
|
|
51436
|
+
nil,
|
|
51437
|
+
ITEM_POOL_TYPE_VALUES,
|
|
51438
|
+
table.unpack(NORMAL_MODE_ONLY_ITEM_POOL_TYPES)
|
|
51439
|
+
)
|
|
51440
|
+
__TS__SparseArrayPush(
|
|
51441
|
+
____array_2,
|
|
51442
|
+
table.unpack(FAKE_ITEM_POOL_TYPES)
|
|
51443
|
+
)
|
|
51444
|
+
local GREED_MODE_ITEM_POOL_TYPES = ____arrayRemove_3(__TS__SparseArraySpread(____array_2))
|
|
51445
|
+
function ____exports.getRandomItemPool(self)
|
|
51446
|
+
local itemPoolTypes = isGreedMode(nil) and GREED_MODE_ITEM_POOL_TYPES or NORMAL_MODE_ITEM_POOL_TYPES
|
|
51447
|
+
return getRandomArrayElement(nil, itemPoolTypes)
|
|
51448
|
+
end
|
|
51385
51449
|
return ____exports
|
|
51386
51450
|
end,
|
|
51387
51451
|
["src.objects.languageNames"] = function(...)
|
|
@@ -52408,6 +52472,14 @@ do
|
|
|
52408
52472
|
end
|
|
52409
52473
|
end
|
|
52410
52474
|
end
|
|
52475
|
+
do
|
|
52476
|
+
local ____export = require("src.functions.itemPool")
|
|
52477
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
52478
|
+
if ____exportKey ~= "default" then
|
|
52479
|
+
____exports[____exportKey] = ____exportValue
|
|
52480
|
+
end
|
|
52481
|
+
end
|
|
52482
|
+
end
|
|
52411
52483
|
do
|
|
52412
52484
|
local ____export = require("src.functions.jsonHelpers")
|
|
52413
52485
|
for ____exportKey, ____exportValue in pairs(____export) do
|
|
@@ -53508,6 +53580,14 @@ do
|
|
|
53508
53580
|
end
|
|
53509
53581
|
end
|
|
53510
53582
|
end
|
|
53583
|
+
do
|
|
53584
|
+
local ____export = require("src.functions.itemPool")
|
|
53585
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
53586
|
+
if ____exportKey ~= "default" then
|
|
53587
|
+
____exports[____exportKey] = ____exportValue
|
|
53588
|
+
end
|
|
53589
|
+
end
|
|
53590
|
+
end
|
|
53511
53591
|
do
|
|
53512
53592
|
local ____export = require("src.functions.jsonHelpers")
|
|
53513
53593
|
for ____exportKey, ____exportValue in pairs(____export) do
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActiveSlot, CacheFlag, ControllerIndex, DoorSlot, DoorSlotFlag, GridEntityType, GridEntityXMLType, ItemConfigCardType, ItemConfigTag, Keyboard, PillColor, PlayerForm, PocketItemSlot, RoomShape, SoundEffect, TrinketSlot } from "isaac-typescript-definitions";
|
|
1
|
+
import { ActiveSlot, CacheFlag, ControllerIndex, DoorSlot, DoorSlotFlag, GridEntityType, GridEntityXMLType, ItemConfigCardType, ItemConfigTag, ItemPoolType, Keyboard, PillColor, PlayerForm, PocketItemSlot, RoomShape, SoundEffect, TrinketSlot } from "isaac-typescript-definitions";
|
|
2
2
|
import { HealthType } from "../enums/HealthType";
|
|
3
3
|
import { SerializationBrand } from "../enums/SerializationBrand";
|
|
4
4
|
import { StatType } from "../enums/StatType";
|
|
@@ -11,6 +11,7 @@ export declare const GRID_ENTITY_TYPE_VALUES: readonly GridEntityType[];
|
|
|
11
11
|
export declare const GRID_ENTITY_XML_TYPE_VALUES: readonly GridEntityXMLType[];
|
|
12
12
|
export declare const ITEM_CONFIG_TAG_VALUES: readonly ItemConfigTag[];
|
|
13
13
|
export declare const ITEM_CONFIG_CARD_TYPE_VALUES: readonly ItemConfigCardType[];
|
|
14
|
+
export declare const ITEM_POOL_TYPE_VALUES: readonly ItemPoolType[];
|
|
14
15
|
export declare const KEYBOARD_VALUES: readonly Keyboard[];
|
|
15
16
|
export declare const HEALTH_TYPE_VALUES: readonly HealthType[];
|
|
16
17
|
export declare const PILL_COLOR_VALUES: readonly PillColor[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachedEnumValues.d.ts","sourceRoot":"","sources":["../../../src/arrays/cachedEnumValues.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAC9B,CAAC;AAEjC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE7E,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,2BAA2B,EAAE,SAAS,iBAAiB,EAClC,CAAC;AAEnC,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAC7B,CAAC;AAE/B,eAAO,MAAM,4BAA4B,EAAE,SAAS,kBAAkB,EACnC,CAAC;AAEpC,eAAO,MAAM,eAAe,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE5E,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,0BAA0B,EAAE,SAAS,kBAAkB,EACjC,CAAC;AAEpC,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC;AAE7B,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE7E,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"cachedEnumValues.d.ts","sourceRoot":"","sources":["../../../src/arrays/cachedEnumValues.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAC9B,CAAC;AAEjC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE7E,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,2BAA2B,EAAE,SAAS,iBAAiB,EAClC,CAAC;AAEnC,eAAO,MAAM,sBAAsB,EAAE,SAAS,aAAa,EAC7B,CAAC;AAE/B,eAAO,MAAM,4BAA4B,EAAE,SAAS,kBAAkB,EACnC,CAAC;AAEpC,eAAO,MAAM,qBAAqB,EAAE,SAAS,YAAY,EAC5B,CAAC;AAE9B,eAAO,MAAM,eAAe,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE5E,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EACzB,CAAC;AAE5B,eAAO,MAAM,uBAAuB,EAAE,SAAS,cAAc,EAC9B,CAAC;AAEhC,eAAO,MAAM,iBAAiB,EAAE,SAAS,SAAS,EAA6B,CAAC;AAEhF,eAAO,MAAM,0BAA0B,EAAE,SAAS,kBAAkB,EACjC,CAAC;AAEpC,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC;AAE7B,eAAO,MAAM,gBAAgB,EAAE,SAAS,QAAQ,EAA4B,CAAC;AAE7E,eAAO,MAAM,mBAAmB,EAAE,SAAS,WAAW,EAC1B,CAAC"}
|
|
@@ -9,6 +9,7 @@ local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
|
|
|
9
9
|
local GridEntityXMLType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityXMLType
|
|
10
10
|
local ItemConfigCardType = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigCardType
|
|
11
11
|
local ItemConfigTag = ____isaac_2Dtypescript_2Ddefinitions.ItemConfigTag
|
|
12
|
+
local ItemPoolType = ____isaac_2Dtypescript_2Ddefinitions.ItemPoolType
|
|
12
13
|
local Keyboard = ____isaac_2Dtypescript_2Ddefinitions.Keyboard
|
|
13
14
|
local PillColor = ____isaac_2Dtypescript_2Ddefinitions.PillColor
|
|
14
15
|
local PlayerForm = ____isaac_2Dtypescript_2Ddefinitions.PlayerForm
|
|
@@ -33,6 +34,7 @@ ____exports.GRID_ENTITY_TYPE_VALUES = getEnumValues(nil, GridEntityType)
|
|
|
33
34
|
____exports.GRID_ENTITY_XML_TYPE_VALUES = getEnumValues(nil, GridEntityXMLType)
|
|
34
35
|
____exports.ITEM_CONFIG_TAG_VALUES = getEnumValues(nil, ItemConfigTag)
|
|
35
36
|
____exports.ITEM_CONFIG_CARD_TYPE_VALUES = getEnumValues(nil, ItemConfigCardType)
|
|
37
|
+
____exports.ITEM_POOL_TYPE_VALUES = getEnumValues(nil, ItemPoolType)
|
|
36
38
|
____exports.KEYBOARD_VALUES = getEnumValues(nil, Keyboard)
|
|
37
39
|
____exports.HEALTH_TYPE_VALUES = getEnumValues(nil, HealthType)
|
|
38
40
|
____exports.PILL_COLOR_VALUES = getEnumValues(nil, PillColor)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ItemPoolType } from "isaac-typescript-definitions";
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to get a random item pool. This is as simple as getting a random value from the
|
|
4
|
+
* `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the Greed
|
|
5
|
+
* Mode item pools should be excluded if not playing in Greed Mode.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getRandomItemPool(): ItemPoolType;
|
|
8
|
+
//# sourceMappingURL=itemPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itemPool.d.ts","sourceRoot":"","sources":["../../../src/functions/itemPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAuC5D;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,CAKhD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
3
|
+
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
4
|
+
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
7
|
+
local ItemPoolType = ____isaac_2Dtypescript_2Ddefinitions.ItemPoolType
|
|
8
|
+
local ____cachedEnumValues = require("src.arrays.cachedEnumValues")
|
|
9
|
+
local ITEM_POOL_TYPE_VALUES = ____cachedEnumValues.ITEM_POOL_TYPE_VALUES
|
|
10
|
+
local ____array = require("src.functions.array")
|
|
11
|
+
local arrayRemove = ____array.arrayRemove
|
|
12
|
+
local getRandomArrayElement = ____array.getRandomArrayElement
|
|
13
|
+
local ____run = require("src.functions.run")
|
|
14
|
+
local isGreedMode = ____run.isGreedMode
|
|
15
|
+
local NORMAL_MODE_ONLY_ITEM_POOL_TYPES = {
|
|
16
|
+
ItemPoolType.TREASURE,
|
|
17
|
+
ItemPoolType.BOSS,
|
|
18
|
+
ItemPoolType.SHOP,
|
|
19
|
+
ItemPoolType.DEVIL,
|
|
20
|
+
ItemPoolType.ANGEL,
|
|
21
|
+
ItemPoolType.CURSE,
|
|
22
|
+
ItemPoolType.SECRET
|
|
23
|
+
}
|
|
24
|
+
local GREED_MODE_ONLY_ITEM_POOL_TYPES = {
|
|
25
|
+
ItemPoolType.GREED_TREASURE,
|
|
26
|
+
ItemPoolType.GREED_BOSS,
|
|
27
|
+
ItemPoolType.GREED_SHOP,
|
|
28
|
+
ItemPoolType.GREED_DEVIL,
|
|
29
|
+
ItemPoolType.GREED_ANGEL,
|
|
30
|
+
ItemPoolType.GREED_CURSE,
|
|
31
|
+
ItemPoolType.GREED_SECRET
|
|
32
|
+
}
|
|
33
|
+
local FAKE_ITEM_POOL_TYPES = {ItemPoolType.SHELL_GAME}
|
|
34
|
+
local ____arrayRemove_1 = arrayRemove
|
|
35
|
+
local ____array_0 = __TS__SparseArrayNew(
|
|
36
|
+
nil,
|
|
37
|
+
ITEM_POOL_TYPE_VALUES,
|
|
38
|
+
table.unpack(GREED_MODE_ONLY_ITEM_POOL_TYPES)
|
|
39
|
+
)
|
|
40
|
+
__TS__SparseArrayPush(
|
|
41
|
+
____array_0,
|
|
42
|
+
table.unpack(FAKE_ITEM_POOL_TYPES)
|
|
43
|
+
)
|
|
44
|
+
local NORMAL_MODE_ITEM_POOL_TYPES = ____arrayRemove_1(__TS__SparseArraySpread(____array_0))
|
|
45
|
+
local ____arrayRemove_3 = arrayRemove
|
|
46
|
+
local ____array_2 = __TS__SparseArrayNew(
|
|
47
|
+
nil,
|
|
48
|
+
ITEM_POOL_TYPE_VALUES,
|
|
49
|
+
table.unpack(NORMAL_MODE_ONLY_ITEM_POOL_TYPES)
|
|
50
|
+
)
|
|
51
|
+
__TS__SparseArrayPush(
|
|
52
|
+
____array_2,
|
|
53
|
+
table.unpack(FAKE_ITEM_POOL_TYPES)
|
|
54
|
+
)
|
|
55
|
+
local GREED_MODE_ITEM_POOL_TYPES = ____arrayRemove_3(__TS__SparseArraySpread(____array_2))
|
|
56
|
+
--- Helper function to get a random item pool. This is as simple as getting a random value from the
|
|
57
|
+
-- `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the Greed
|
|
58
|
+
-- Mode item pools should be excluded if not playing in Greed Mode.
|
|
59
|
+
function ____exports.getRandomItemPool(self)
|
|
60
|
+
local itemPoolTypes = isGreedMode(nil) and GREED_MODE_ITEM_POOL_TYPES or NORMAL_MODE_ITEM_POOL_TYPES
|
|
61
|
+
return getRandomArrayElement(nil, itemPoolTypes)
|
|
62
|
+
end
|
|
63
|
+
return ____exports
|
package/dist/src/index.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export * from "./functions/hex";
|
|
|
61
61
|
export * from "./functions/initArray";
|
|
62
62
|
export * from "./functions/input";
|
|
63
63
|
export * from "./functions/isaacAPIClass";
|
|
64
|
+
export * from "./functions/itemPool";
|
|
64
65
|
export * from "./functions/jsonHelpers";
|
|
65
66
|
export * from "./functions/jsonRoom";
|
|
66
67
|
export * from "./functions/kColor";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.lua
CHANGED
|
@@ -503,6 +503,14 @@ do
|
|
|
503
503
|
end
|
|
504
504
|
end
|
|
505
505
|
end
|
|
506
|
+
do
|
|
507
|
+
local ____export = require("src.functions.itemPool")
|
|
508
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
509
|
+
if ____exportKey ~= "default" then
|
|
510
|
+
____exports[____exportKey] = ____exportValue
|
|
511
|
+
end
|
|
512
|
+
end
|
|
513
|
+
end
|
|
506
514
|
do
|
|
507
515
|
local ____export = require("src.functions.jsonHelpers")
|
|
508
516
|
for ____exportKey, ____exportValue in pairs(____export) do
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
GridEntityXMLType,
|
|
11
11
|
ItemConfigCardType,
|
|
12
12
|
ItemConfigTag,
|
|
13
|
+
ItemPoolType,
|
|
13
14
|
Keyboard,
|
|
14
15
|
PillColor,
|
|
15
16
|
PlayerForm,
|
|
@@ -48,6 +49,9 @@ export const ITEM_CONFIG_TAG_VALUES: readonly ItemConfigTag[] =
|
|
|
48
49
|
export const ITEM_CONFIG_CARD_TYPE_VALUES: readonly ItemConfigCardType[] =
|
|
49
50
|
getEnumValues(ItemConfigCardType);
|
|
50
51
|
|
|
52
|
+
export const ITEM_POOL_TYPE_VALUES: readonly ItemPoolType[] =
|
|
53
|
+
getEnumValues(ItemPoolType);
|
|
54
|
+
|
|
51
55
|
export const KEYBOARD_VALUES: readonly Keyboard[] = getEnumValues(Keyboard);
|
|
52
56
|
|
|
53
57
|
export const HEALTH_TYPE_VALUES: readonly HealthType[] =
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ItemPoolType } from "isaac-typescript-definitions";
|
|
2
|
+
import { ITEM_POOL_TYPE_VALUES } from "../arrays/cachedEnumValues";
|
|
3
|
+
import { arrayRemove, getRandomArrayElement } from "./array";
|
|
4
|
+
import { isGreedMode } from "./run";
|
|
5
|
+
|
|
6
|
+
const NORMAL_MODE_ONLY_ITEM_POOL_TYPES = [
|
|
7
|
+
ItemPoolType.TREASURE, // 0
|
|
8
|
+
ItemPoolType.BOSS, // 2
|
|
9
|
+
ItemPoolType.SHOP, // 1
|
|
10
|
+
ItemPoolType.DEVIL, // 3
|
|
11
|
+
ItemPoolType.ANGEL, // 4
|
|
12
|
+
ItemPoolType.CURSE, // 12
|
|
13
|
+
ItemPoolType.SECRET, // 5
|
|
14
|
+
] as const;
|
|
15
|
+
|
|
16
|
+
const GREED_MODE_ONLY_ITEM_POOL_TYPES = [
|
|
17
|
+
ItemPoolType.GREED_TREASURE, // 16
|
|
18
|
+
ItemPoolType.GREED_BOSS, // 17
|
|
19
|
+
ItemPoolType.GREED_SHOP, // 18
|
|
20
|
+
ItemPoolType.GREED_DEVIL, // 19
|
|
21
|
+
ItemPoolType.GREED_ANGEL, // 20
|
|
22
|
+
ItemPoolType.GREED_CURSE, // 21
|
|
23
|
+
ItemPoolType.GREED_SECRET, // 22
|
|
24
|
+
] as const;
|
|
25
|
+
|
|
26
|
+
const FAKE_ITEM_POOL_TYPES = [ItemPoolType.SHELL_GAME] as const;
|
|
27
|
+
|
|
28
|
+
const NORMAL_MODE_ITEM_POOL_TYPES: readonly ItemPoolType[] = arrayRemove(
|
|
29
|
+
ITEM_POOL_TYPE_VALUES,
|
|
30
|
+
...GREED_MODE_ONLY_ITEM_POOL_TYPES,
|
|
31
|
+
...FAKE_ITEM_POOL_TYPES,
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const GREED_MODE_ITEM_POOL_TYPES: readonly ItemPoolType[] = arrayRemove(
|
|
35
|
+
ITEM_POOL_TYPE_VALUES,
|
|
36
|
+
...NORMAL_MODE_ONLY_ITEM_POOL_TYPES,
|
|
37
|
+
...FAKE_ITEM_POOL_TYPES,
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Helper function to get a random item pool. This is as simple as getting a random value from the
|
|
42
|
+
* `ItemPoolType` enum, since `ItemPoolType.SHELL_GAME` (7) is not a real item pool and the Greed
|
|
43
|
+
* Mode item pools should be excluded if not playing in Greed Mode.
|
|
44
|
+
*/
|
|
45
|
+
export function getRandomItemPool(): ItemPoolType {
|
|
46
|
+
const itemPoolTypes = isGreedMode()
|
|
47
|
+
? GREED_MODE_ITEM_POOL_TYPES
|
|
48
|
+
: NORMAL_MODE_ITEM_POOL_TYPES;
|
|
49
|
+
return getRandomArrayElement(itemPoolTypes);
|
|
50
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -61,6 +61,7 @@ export * from "./functions/hex";
|
|
|
61
61
|
export * from "./functions/initArray";
|
|
62
62
|
export * from "./functions/input";
|
|
63
63
|
export * from "./functions/isaacAPIClass";
|
|
64
|
+
export * from "./functions/itemPool";
|
|
64
65
|
export * from "./functions/jsonHelpers";
|
|
65
66
|
export * from "./functions/jsonRoom";
|
|
66
67
|
export * from "./functions/kColor";
|