isaacscript-common 1.2.22 → 1.2.23
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/functions/collectibleCacheFlag.d.ts +1 -1
- package/dist/functions/flying.d.ts +18 -0
- package/dist/functions/flying.lua +44 -0
- package/dist/functions/set.d.ts +9 -2
- package/dist/functions/set.lua +8 -0
- package/dist/functions/transformations.d.ts +3 -1
- package/dist/functions/transformations.lua +14 -2
- package/dist/functions/trinketCacheFlag.d.ts +5 -0
- package/dist/functions/trinketCacheFlag.lua +41 -0
- package/dist/functions/trinkets.d.ts +1 -0
- package/dist/functions/trinkets.lua +10 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.lua +16 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
2
|
/**
|
|
3
3
|
* Returns a set containing every collectible type with the given cache flag, including modded
|
|
4
|
-
*
|
|
4
|
+
* collectibles.
|
|
5
5
|
*/
|
|
6
6
|
export declare function getCollectiblesForCacheFlag(cacheFlag: CacheFlag): Set<CollectibleType | int>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Returns a set of all of the collectibles that grant flight. This is derived from collectibles
|
|
4
|
+
* that have `CacheFlag.CACHE_FLYING` set in the "items.xml" file.
|
|
5
|
+
*
|
|
6
|
+
* Collectibles that only grant flight conditionally are manually pruned. Collectibles such as Empty
|
|
7
|
+
* Vessel should be checked for via the `hasFlyingTemporaryEffect` function.
|
|
8
|
+
*
|
|
9
|
+
* @param pruneConditionalItems Whether or not collectibles that only grant flight conditionally
|
|
10
|
+
* should be included in the set (like Empty Vessel).
|
|
11
|
+
*/
|
|
12
|
+
export declare function getFlyingCollectibles(pruneConditionalItems: boolean): Set<CollectibleType | int>;
|
|
13
|
+
/**
|
|
14
|
+
* Returns a set of all of the trinkets that grant flight. (All trinkets that grant flight do so
|
|
15
|
+
* conditionally, like Bat Wing.)
|
|
16
|
+
*/
|
|
17
|
+
export declare function getFlyingTrinkets(): Set<CollectibleType | int>;
|
|
18
|
+
export declare function hasFlyingTemporaryEffect(player: EntityPlayer): boolean;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____lualib = require("lualib_bundle")
|
|
3
|
+
local Set = ____lualib.Set
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local ____collectibleCacheFlag = require("functions.collectibleCacheFlag")
|
|
8
|
+
local getCollectiblesForCacheFlag = ____collectibleCacheFlag.getCollectiblesForCacheFlag
|
|
9
|
+
local ____set = require("functions.set")
|
|
10
|
+
local copySet = ____set.copySet
|
|
11
|
+
local deleteSetsFromSet = ____set.deleteSetsFromSet
|
|
12
|
+
local FLYING_TRINKETS = __TS__New(Set, {TrinketType.TRINKET_BAT_WING, TrinketType.TRINKET_AZAZELS_STUMP})
|
|
13
|
+
function ____exports.getFlyingCollectibles(self, pruneConditionalItems)
|
|
14
|
+
local collectiblesWithFlyingCacheFlag = getCollectiblesForCacheFlag(nil, CacheFlag.CACHE_FLYING)
|
|
15
|
+
local collectiblesWithAllCacheFlag = getCollectiblesForCacheFlag(nil, CacheFlag.CACHE_ALL)
|
|
16
|
+
deleteSetsFromSet(nil, collectiblesWithFlyingCacheFlag, collectiblesWithAllCacheFlag)
|
|
17
|
+
if pruneConditionalItems then
|
|
18
|
+
collectiblesWithFlyingCacheFlag:delete(CollectibleType.COLLECTIBLE_BIBLE)
|
|
19
|
+
collectiblesWithFlyingCacheFlag:delete(CollectibleType.COLLECTIBLE_EMPTY_VESSEL)
|
|
20
|
+
collectiblesWithFlyingCacheFlag:delete(CollectibleType.COLLECTIBLE_ASTRAL_PROJECTION)
|
|
21
|
+
collectiblesWithFlyingCacheFlag:delete(CollectibleType.COLLECTIBLE_RECALL)
|
|
22
|
+
end
|
|
23
|
+
return collectiblesWithFlyingCacheFlag
|
|
24
|
+
end
|
|
25
|
+
function ____exports.getFlyingTrinkets(self)
|
|
26
|
+
return copySet(nil, FLYING_TRINKETS)
|
|
27
|
+
end
|
|
28
|
+
function ____exports.hasFlyingTemporaryEffect(self, player)
|
|
29
|
+
local effects = player:GetEffects()
|
|
30
|
+
local flyingCollectibles = ____exports.getFlyingCollectibles(nil, false)
|
|
31
|
+
for ____, collectibleType in __TS__Iterator(flyingCollectibles:values()) do
|
|
32
|
+
if effects:HasCollectibleEffect(collectibleType) then
|
|
33
|
+
return true
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
local flyingTrinkets = ____exports.getFlyingTrinkets(nil)
|
|
37
|
+
for ____, trinketType in __TS__Iterator(flyingTrinkets:values()) do
|
|
38
|
+
if effects:HasTrinketEffect(trinketType) then
|
|
39
|
+
return true
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
return false
|
|
43
|
+
end
|
|
44
|
+
return ____exports
|
package/dist/functions/set.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Helper function to add all of the
|
|
3
|
-
*
|
|
2
|
+
* Helper function to add all of the values in one set to another set. The first set passed will be
|
|
3
|
+
* modified in place.
|
|
4
4
|
*
|
|
5
5
|
* This function is variadic, meaning that you can specify N sets to add to the first set.
|
|
6
6
|
*/
|
|
@@ -13,3 +13,10 @@ export declare function copySet<T>(oldSet: Set<T>): Set<T>;
|
|
|
13
13
|
* This function is variadic, meaning that you can specify N sets.
|
|
14
14
|
*/
|
|
15
15
|
export declare function combineSets<T>(...sets: Array<Set<T>>): Set<T>;
|
|
16
|
+
/**
|
|
17
|
+
* Helper function to delete all of the values in one set from another set. The first set passed
|
|
18
|
+
* will be modified in place.
|
|
19
|
+
*
|
|
20
|
+
* This function is variadic, meaning that you can specify N sets to remove from the first set.
|
|
21
|
+
*/
|
|
22
|
+
export declare function deleteSetsFromSet<T>(mainSet: Set<T>, ...setsToRemove: Array<Set<T>>): void;
|
package/dist/functions/set.lua
CHANGED
|
@@ -29,4 +29,12 @@ function ____exports.combineSets(self, ...)
|
|
|
29
29
|
end
|
|
30
30
|
return newSet
|
|
31
31
|
end
|
|
32
|
+
function ____exports.deleteSetsFromSet(self, mainSet, ...)
|
|
33
|
+
local setsToRemove = {...}
|
|
34
|
+
for ____, set in ipairs(setsToRemove) do
|
|
35
|
+
for ____, value in __TS__Iterator(set:values()) do
|
|
36
|
+
mainSet:delete(value)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
32
40
|
return ____exports
|
|
@@ -11,5 +11,7 @@ export declare function getPlayerNumTransformationCollectibles(player: EntityPla
|
|
|
11
11
|
* // transformationName is "Beelzebub"
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export declare function getTransformationName(
|
|
14
|
+
export declare function getTransformationName(playerForm: PlayerForm): string;
|
|
15
15
|
export declare function getTransformationsForCollectibleType(collectibleType: CollectibleType | int): Set<PlayerForm>;
|
|
16
|
+
export declare function isTransformationFlying(playerForm: PlayerForm): boolean;
|
|
17
|
+
export declare function playerHasFlyingTransformation(player: EntityPlayer): boolean;
|
|
@@ -27,6 +27,7 @@ local TRANSFORMATION_TO_TAG_MAP = __TS__New(Map, {
|
|
|
27
27
|
{PlayerForm.PLAYERFORM_SPIDERBABY, 16384}
|
|
28
28
|
})
|
|
29
29
|
local TRANSFORMATIONS_NOT_BASED_ON_ITEMS = __TS__New(Set, {PlayerForm.PLAYERFORM_ADULTHOOD, PlayerForm.PLAYERFORM_STOMPY, PlayerForm.PLAYERFORM_FLIGHT})
|
|
30
|
+
local TRANSFORMATIONS_THAT_GRANT_FLYING = __TS__New(Set, {PlayerForm.PLAYERFORM_GUPPY, PlayerForm.PLAYERFORM_LORD_OF_THE_FLIES, PlayerForm.PLAYERFORM_ANGEL, PlayerForm.PLAYERFORM_EVIL_ANGEL})
|
|
30
31
|
local TRANSFORMATION_TO_COLLECTIBLE_TYPES_MAP = __TS__New(Map)
|
|
31
32
|
local COLLECTIBLE_TYPE_TO_TRANSFORMATION_MAP = __TS__New(Map)
|
|
32
33
|
local function initMaps(self)
|
|
@@ -89,9 +90,9 @@ function ____exports.getPlayerNumTransformationCollectibles(self, player, player
|
|
|
89
90
|
end
|
|
90
91
|
return numCollectibles
|
|
91
92
|
end
|
|
92
|
-
function ____exports.getTransformationName(self,
|
|
93
|
+
function ____exports.getTransformationName(self, playerForm)
|
|
93
94
|
local defaultName = "Unknown"
|
|
94
|
-
local transformationName = TRANSFORMATION_NAME_MAP:get(
|
|
95
|
+
local transformationName = TRANSFORMATION_NAME_MAP:get(playerForm)
|
|
95
96
|
return transformationName == nil and defaultName or transformationName
|
|
96
97
|
end
|
|
97
98
|
function ____exports.getTransformationsForCollectibleType(self, collectibleType)
|
|
@@ -101,4 +102,15 @@ function ____exports.getTransformationsForCollectibleType(self, collectibleType)
|
|
|
101
102
|
local transformations = COLLECTIBLE_TYPE_TO_TRANSFORMATION_MAP:get(collectibleType)
|
|
102
103
|
return transformations == nil and __TS__New(Set) or copySet(nil, transformations)
|
|
103
104
|
end
|
|
105
|
+
function ____exports.isTransformationFlying(self, playerForm)
|
|
106
|
+
return TRANSFORMATIONS_THAT_GRANT_FLYING:has(playerForm)
|
|
107
|
+
end
|
|
108
|
+
function ____exports.playerHasFlyingTransformation(self, player)
|
|
109
|
+
for ____, playerForm in __TS__Iterator(TRANSFORMATIONS_THAT_GRANT_FLYING:values()) do
|
|
110
|
+
if player:HasPlayerForm(playerForm) then
|
|
111
|
+
return true
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
return false
|
|
115
|
+
end
|
|
104
116
|
return ____exports
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____lualib = require("lualib_bundle")
|
|
3
|
+
local Map = ____lualib.Map
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local Set = ____lualib.Set
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local ____set = require("functions.set")
|
|
8
|
+
local copySet = ____set.copySet
|
|
9
|
+
local ____trinkets = require("functions.trinkets")
|
|
10
|
+
local getMaxTrinketID = ____trinkets.getMaxTrinketID
|
|
11
|
+
local trinketHasCacheFlag = ____trinkets.trinketHasCacheFlag
|
|
12
|
+
local ____util = require("functions.util")
|
|
13
|
+
local getEnumValues = ____util.getEnumValues
|
|
14
|
+
local CACHE_FLAG_TO_TRINKETS_MAP = __TS__New(Map)
|
|
15
|
+
local function initCacheFlagMap(self)
|
|
16
|
+
local maxTrinketID = getMaxTrinketID(nil)
|
|
17
|
+
for ____, cacheFlag in ipairs(getEnumValues(nil, CacheFlag)) do
|
|
18
|
+
local trinketsSet = __TS__New(Set)
|
|
19
|
+
do
|
|
20
|
+
local trinketType = 1
|
|
21
|
+
while trinketType <= maxTrinketID do
|
|
22
|
+
if trinketHasCacheFlag(nil, trinketType, cacheFlag) then
|
|
23
|
+
trinketsSet:add(trinketType)
|
|
24
|
+
end
|
|
25
|
+
trinketType = trinketType + 1
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
CACHE_FLAG_TO_TRINKETS_MAP:set(cacheFlag, trinketsSet)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
function ____exports.getTrinketsForCacheFlag(self, cacheFlag)
|
|
32
|
+
if CACHE_FLAG_TO_TRINKETS_MAP.size == 0 then
|
|
33
|
+
initCacheFlagMap(nil)
|
|
34
|
+
end
|
|
35
|
+
local trinketsSet = CACHE_FLAG_TO_TRINKETS_MAP:get(cacheFlag)
|
|
36
|
+
if trinketsSet == nil then
|
|
37
|
+
return __TS__New(Set)
|
|
38
|
+
end
|
|
39
|
+
return copySet(nil, trinketsSet)
|
|
40
|
+
end
|
|
41
|
+
return ____exports
|
|
@@ -52,3 +52,4 @@ export declare function isGoldenTrinket(trinketType: TrinketType | int): boolean
|
|
|
52
52
|
* avoid calling this function multiple times. 1 by default.
|
|
53
53
|
*/
|
|
54
54
|
export declare function smeltTrinket(player: EntityPlayer, trinketType: TrinketType | int, numTrinkets?: number): void;
|
|
55
|
+
export declare function trinketHasCacheFlag(trinketType: TrinketType | int, cacheFlag: CacheFlag): boolean;
|
|
@@ -10,6 +10,8 @@ local ____trinketNameMap = require("maps.trinketNameMap")
|
|
|
10
10
|
local TRINKET_NAME_MAP = ____trinketNameMap.TRINKET_NAME_MAP
|
|
11
11
|
local ____entity = require("functions.entity")
|
|
12
12
|
local getPickups = ____entity.getPickups
|
|
13
|
+
local ____flag = require("functions.flag")
|
|
14
|
+
local hasFlag = ____flag.hasFlag
|
|
13
15
|
local ____player = require("functions.player")
|
|
14
16
|
local useActiveItemTemp = ____player.useActiveItemTemp
|
|
15
17
|
local ____trinketGive = require("functions.trinketGive")
|
|
@@ -98,4 +100,12 @@ function ____exports.smeltTrinket(self, player, trinketType, numTrinkets)
|
|
|
98
100
|
end
|
|
99
101
|
giveTrinketsBack(nil, player, trinketSituation)
|
|
100
102
|
end
|
|
103
|
+
function ____exports.trinketHasCacheFlag(self, trinketType, cacheFlag)
|
|
104
|
+
local itemConfig = Isaac.GetItemConfig()
|
|
105
|
+
local itemConfigItem = itemConfig:GetTrinket(trinketType)
|
|
106
|
+
if itemConfigItem == nil then
|
|
107
|
+
return false
|
|
108
|
+
end
|
|
109
|
+
return hasFlag(nil, itemConfigItem.CacheFlags, cacheFlag)
|
|
110
|
+
end
|
|
101
111
|
return ____exports
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export * from "./functions/doors";
|
|
|
24
24
|
export * from "./functions/entity";
|
|
25
25
|
export * from "./functions/familiars";
|
|
26
26
|
export * from "./functions/flag";
|
|
27
|
+
export * from "./functions/flying";
|
|
27
28
|
export * from "./functions/globals";
|
|
28
29
|
export * from "./functions/gridEntity";
|
|
29
30
|
export * from "./functions/input";
|
|
@@ -49,6 +50,7 @@ export * from "./functions/sprite";
|
|
|
49
50
|
export * from "./functions/stage";
|
|
50
51
|
export * from "./functions/tears";
|
|
51
52
|
export * from "./functions/transformations";
|
|
53
|
+
export * from "./functions/trinketCacheFlag";
|
|
52
54
|
export * from "./functions/trinketGive";
|
|
53
55
|
export * from "./functions/trinkets";
|
|
54
56
|
export * from "./functions/trinketSet";
|
package/dist/index.lua
CHANGED
|
@@ -198,6 +198,14 @@ do
|
|
|
198
198
|
end
|
|
199
199
|
end
|
|
200
200
|
end
|
|
201
|
+
do
|
|
202
|
+
local ____export = require("functions.flying")
|
|
203
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
204
|
+
if ____exportKey ~= "default" then
|
|
205
|
+
____exports[____exportKey] = ____exportValue
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
end
|
|
201
209
|
do
|
|
202
210
|
local ____export = require("functions.globals")
|
|
203
211
|
for ____exportKey, ____exportValue in pairs(____export) do
|
|
@@ -398,6 +406,14 @@ do
|
|
|
398
406
|
end
|
|
399
407
|
end
|
|
400
408
|
end
|
|
409
|
+
do
|
|
410
|
+
local ____export = require("functions.trinketCacheFlag")
|
|
411
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
412
|
+
if ____exportKey ~= "default" then
|
|
413
|
+
____exports[____exportKey] = ____exportValue
|
|
414
|
+
end
|
|
415
|
+
end
|
|
416
|
+
end
|
|
401
417
|
do
|
|
402
418
|
local ____export = require("functions.trinketGive")
|
|
403
419
|
for ____exportKey, ____exportValue in pairs(____export) do
|