isaacscript-common 1.2.38 → 1.2.41
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/constants.d.ts +13 -13
- package/dist/features/disableInputs.d.ts +1 -1
- package/dist/functions/array.d.ts +11 -11
- package/dist/functions/cards.lua +0 -2
- package/dist/functions/challenges.lua +0 -2
- package/dist/functions/collectibles.lua +0 -3
- package/dist/functions/entity.lua +1 -1
- package/dist/functions/familiars.d.ts +48 -0
- package/dist/functions/familiars.lua +63 -1
- package/dist/functions/flying.d.ts +1 -1
- package/dist/functions/gridEntity.lua +0 -1
- package/dist/functions/pills.lua +0 -2
- package/dist/functions/set.d.ts +4 -4
- package/dist/functions/trinkets.lua +0 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.lua +0 -8
- package/dist/maps/cardDescriptionMap.d.ts +1 -1
- package/dist/maps/cardNameMap.d.ts +1 -1
- package/dist/maps/challengeNameMap.d.ts +1 -1
- package/dist/maps/collectibleDescriptionMap.d.ts +1 -1
- package/dist/maps/collectibleNameMap.d.ts +1 -1
- package/dist/maps/gridEntityXMLMap.d.ts +4 -1
- package/dist/maps/pillEffectClassMap.d.ts +1 -1
- package/dist/maps/pillEffectNameMap.d.ts +1 -1
- package/dist/maps/pillEffectTypeMap.d.ts +1 -1
- package/dist/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +1 -1
- package/dist/maps/transformationNameMap.d.ts +1 -1
- package/dist/maps/trinketDescriptionMap.d.ts +1 -1
- package/dist/maps/trinketNameMap.d.ts +1 -1
- package/dist/sets/cards.d.ts +6 -6
- package/dist/upgradeMod.lua +0 -3
- package/package.json +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -11,19 +11,19 @@ export declare const AZAZEL_DEFAULT_BRIMSTONE_DISTANCE = 75.125;
|
|
|
11
11
|
export declare const BLIND_ITEM_PNG_PATH = "gfx/items/collectibles/questionmark.png";
|
|
12
12
|
/** Bombs explode when their frame count is equal to this value. */
|
|
13
13
|
export declare const BOMB_EXPLODE_FRAME = 45;
|
|
14
|
-
export declare const CHARACTERS_WITH_AN_ACTIVE_ITEM:
|
|
15
|
-
export declare const CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART:
|
|
16
|
-
export declare const CHARACTERS_WITH_FREE_DEVIL_DEALS:
|
|
14
|
+
export declare const CHARACTERS_WITH_AN_ACTIVE_ITEM: ReadonlySet<PlayerType>;
|
|
15
|
+
export declare const CHARACTERS_WITH_BLACK_HEART_FROM_ETERNAL_HEART: ReadonlySet<PlayerType>;
|
|
16
|
+
export declare const CHARACTERS_WITH_FREE_DEVIL_DEALS: ReadonlySet<PlayerType>;
|
|
17
17
|
/**
|
|
18
18
|
* The set of characters where red heart containers will be turned into soul hearts (e.g. Blue
|
|
19
19
|
* Baby). This includes The Lost and Tainted Lost. This does not include Keeper or Tainted Keeper.
|
|
20
20
|
*/
|
|
21
|
-
export declare const CHARACTERS_WITH_NO_RED_HEARTS:
|
|
21
|
+
export declare const CHARACTERS_WITH_NO_RED_HEARTS: ReadonlySet<PlayerType>;
|
|
22
22
|
/**
|
|
23
23
|
* The set of characters where soul hearts will be automatically stripped away (e.g. Bethany). This
|
|
24
24
|
* includes The Lost and Tainted Lost.
|
|
25
25
|
*/
|
|
26
|
-
export declare const CHARACTERS_WITH_NO_SOUL_HEARTS:
|
|
26
|
+
export declare const CHARACTERS_WITH_NO_SOUL_HEARTS: ReadonlySet<PlayerType>;
|
|
27
27
|
/**
|
|
28
28
|
* A collection of common colors that can be reused. Note that if you want to further modify these
|
|
29
29
|
* colors, you should copy them first with the `copyColor` function.
|
|
@@ -53,7 +53,7 @@ export declare const EGGY_STATE_FRAME_OF_FINAL_SPIDER = 45;
|
|
|
53
53
|
* information, see the documentation for the `clearSprite()` helper function.
|
|
54
54
|
*/
|
|
55
55
|
export declare const EMPTY_PNG_PATH = "gfx/none.png";
|
|
56
|
-
export declare const FAMILIARS_THAT_SHOOT_PLAYER_TEARS:
|
|
56
|
+
export declare const FAMILIARS_THAT_SHOOT_PLAYER_TEARS: ReadonlySet<FamiliarVariant>;
|
|
57
57
|
/** As of Repentance, the final stage is floor 13 (which is the Home floor). */
|
|
58
58
|
export declare const FINAL_STAGE: number;
|
|
59
59
|
/**
|
|
@@ -72,7 +72,7 @@ export declare const ISAAC_FRAMES_PER_SECOND = 60;
|
|
|
72
72
|
* This is the set of characters that look like The Lost and play the "LostDeath" animation when
|
|
73
73
|
* they die.
|
|
74
74
|
*/
|
|
75
|
-
export declare const LOST_STYLE_PLAYER_TYPES:
|
|
75
|
+
export declare const LOST_STYLE_PLAYER_TYPES: ReadonlySet<PlayerType>;
|
|
76
76
|
/** In a 2x2 room, there can be 8 doors. */
|
|
77
77
|
export declare const MAX_NUM_DOORS = 8;
|
|
78
78
|
/**
|
|
@@ -104,13 +104,13 @@ export declare const MAX_VANILLA_CHARACTER = PlayerType.PLAYER_THESOUL_B;
|
|
|
104
104
|
export declare const MAX_VANILLA_COLLECTIBLE_TYPE = CollectibleType.COLLECTIBLE_MOMS_RING;
|
|
105
105
|
export declare const SECOND_IN_MILLISECONDS = 1000;
|
|
106
106
|
export declare const MINUTE_IN_MILLISECONDS: number;
|
|
107
|
-
export declare const MOVEMENT_ACTIONS: ButtonAction[];
|
|
108
|
-
export declare const MOVEMENT_ACTIONS_SET:
|
|
107
|
+
export declare const MOVEMENT_ACTIONS: readonly ButtonAction[];
|
|
108
|
+
export declare const MOVEMENT_ACTIONS_SET: ReadonlySet<ButtonAction>;
|
|
109
109
|
export declare const ONE_BY_ONE_ROOM_GRID_SIZE = 135;
|
|
110
|
-
export declare const SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES:
|
|
111
|
-
export declare const SHOOTING_ACTIONS: ButtonAction[];
|
|
112
|
-
export declare const SHOOTING_ACTIONS_SET:
|
|
113
|
-
export declare const STORY_BOSSES:
|
|
110
|
+
export declare const SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES: ReadonlySet<CollectibleType>;
|
|
111
|
+
export declare const SHOOTING_ACTIONS: readonly ButtonAction[];
|
|
112
|
+
export declare const SHOOTING_ACTIONS_SET: ReadonlySet<ButtonAction>;
|
|
113
|
+
export declare const STORY_BOSSES: ReadonlySet<EntityType>;
|
|
114
114
|
/**
|
|
115
115
|
* This is the number of draw coordinates that each heart spans on the UI in the upper left hand
|
|
116
116
|
* corner.
|
|
@@ -22,7 +22,7 @@ export declare function disableAllInputs(): void;
|
|
|
22
22
|
* Note that calling any of the various `enable` or `disable` functions will override the effects of
|
|
23
23
|
* this function.
|
|
24
24
|
*/
|
|
25
|
-
export declare function enableAllInputsExceptFor(blacklist: Set<ButtonAction>): void;
|
|
25
|
+
export declare function enableAllInputsExceptFor(blacklist: Set<ButtonAction> | ReadonlySet<ButtonAction>): void;
|
|
26
26
|
/**
|
|
27
27
|
* Helper function to disable all inputs besides the ones provided.
|
|
28
28
|
* This is useful because `EntityPlayer.ControlsEnabled` can be changed by the game under certain
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
* specified arrays. This function is variadic, meaning that you can specify N arguments to combine
|
|
6
6
|
* N arrays. Note that this will only perform a shallow copy of the array elements.
|
|
7
7
|
*/
|
|
8
|
-
export declare function arrayCombine<T>(...arrays: T[][]): T[];
|
|
8
|
+
export declare function arrayCombine<T>(...arrays: Array<T[] | readonly T[]>): T[];
|
|
9
9
|
/** Helper function to perform a shallow copy. */
|
|
10
|
-
export declare function arrayCopy<T>(array: T[]): T[];
|
|
10
|
+
export declare function arrayCopy<T>(array: T[] | readonly T[]): T[];
|
|
11
11
|
export declare function arrayEmpty<T>(array: T[]): void;
|
|
12
12
|
/**
|
|
13
13
|
* Helper function for determining if two arrays contain the exact same elements. Note that this
|
|
14
14
|
* only performs a shallow comparison.
|
|
15
15
|
*/
|
|
16
|
-
export declare function arrayEquals<T>(array1: T[], array2: T[]): boolean;
|
|
17
|
-
export declare function arrayInArray<T>(arrayToMatch: T[], parentArray: T[][]): boolean;
|
|
16
|
+
export declare function arrayEquals<T>(array1: T[] | readonly T[], array2: T[] | readonly T[]): boolean;
|
|
17
|
+
export declare function arrayInArray<T>(arrayToMatch: T[] | readonly T[], parentArray: Array<T[] | readonly T[]>): boolean;
|
|
18
18
|
/**
|
|
19
19
|
* Initializes an array with all elements containing the specified default value.
|
|
20
20
|
*
|
|
@@ -29,14 +29,14 @@ export declare function arrayInit<T>(defaultValue: T, size: int): T[];
|
|
|
29
29
|
*
|
|
30
30
|
* From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
|
|
31
31
|
*/
|
|
32
|
-
export declare function arrayShuffle<T>(originalArray: T[], seed?: number): T[];
|
|
32
|
+
export declare function arrayShuffle<T>(originalArray: T[] | readonly T[], seed?: number): T[];
|
|
33
33
|
/**
|
|
34
34
|
* Shuffles the provided array in-place using the Fisher-Yates algorithm.
|
|
35
35
|
*
|
|
36
36
|
* From: https://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
|
|
37
37
|
*/
|
|
38
38
|
export declare function arrayShuffleInPlace<T>(array: T[], seed?: number): void;
|
|
39
|
-
export declare function arraySum(array:
|
|
39
|
+
export declare function arraySum(array: number[] | readonly number[]): number;
|
|
40
40
|
export declare function arrayToString<T>(array: T[]): string;
|
|
41
41
|
/**
|
|
42
42
|
* Shallow copies and removes the specified element(s) from the array. Returns the copied array. If
|
|
@@ -45,14 +45,14 @@ export declare function arrayToString<T>(array: T[]): string;
|
|
|
45
45
|
*
|
|
46
46
|
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
47
47
|
*/
|
|
48
|
-
export declare function arrayRemove<T>(originalArray: T[], ...elements: T[]): T[];
|
|
48
|
+
export declare function arrayRemove<T>(originalArray: T[] | readonly T[], ...elements: T[]): T[];
|
|
49
49
|
/**
|
|
50
50
|
* Removes the specified element(s) from the array. If the specified element(s) are not found in the
|
|
51
51
|
* array, this function will do nothing. Returns whether or not one or more elements were removed.
|
|
52
52
|
*
|
|
53
53
|
* This function is variadic, meaning that you can specify N arguments to remove N elements.
|
|
54
54
|
*/
|
|
55
|
-
export declare function arrayRemoveInPlace<T>(array: T[], ...elements: T[]): boolean;
|
|
55
|
+
export declare function arrayRemoveInPlace<T>(array: T[], ...elements: T[] | readonly T[]): boolean;
|
|
56
56
|
/**
|
|
57
57
|
* Helper function to get a random element from the provided array.
|
|
58
58
|
*
|
|
@@ -60,7 +60,7 @@ export declare function arrayRemoveInPlace<T>(array: T[], ...elements: T[]): boo
|
|
|
60
60
|
* @param seed Optional. The seed used to select the random element. `Random()` by default.
|
|
61
61
|
* @param exceptions Optional. An array of elements to skip over if selected.
|
|
62
62
|
*/
|
|
63
|
-
export declare function getRandomArrayElement<T>(array: T[], seed?: number, exceptions?: T[]): T;
|
|
63
|
+
export declare function getRandomArrayElement<T>(array: T[] | readonly T[], seed?: number, exceptions?: T[] | readonly T[]): T;
|
|
64
64
|
/**
|
|
65
65
|
* Helper function to get a random element from the provided array. Once the random element is
|
|
66
66
|
* decided, it is then removed from the array (in-place).
|
|
@@ -69,8 +69,8 @@ export declare function getRandomArrayElement<T>(array: T[], seed?: number, exce
|
|
|
69
69
|
* @param seed Optional. The seed used to select the random element. `Random()` by default.
|
|
70
70
|
* @param exceptions Optional. An array of elements to skip over if selected.
|
|
71
71
|
*/
|
|
72
|
-
export declare function getRandomArrayElementAndRemove<T>(array: T[], seed?: number, exceptions?: T[]): T;
|
|
73
|
-
export declare function getRandomArrayIndex<T>(array: T[], seed?: number): int;
|
|
72
|
+
export declare function getRandomArrayElementAndRemove<T>(array: T[], seed?: number, exceptions?: T[] | readonly T[]): T;
|
|
73
|
+
export declare function getRandomArrayIndex<T>(array: T[] | readonly T[], seed?: number): int;
|
|
74
74
|
/**
|
|
75
75
|
* Since Lua uses tables for every non-primitive data structure, it is non-trivial to determine if a
|
|
76
76
|
* particular table is being used as an array. isArray returns true if:
|
package/dist/functions/cards.lua
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
2
|
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Map = ____lualib.Map
|
|
4
|
-
local Set = ____lualib.Set
|
|
5
3
|
local __TS__ArrayPush = ____lualib.__TS__ArrayPush
|
|
6
4
|
local ____exports = {}
|
|
7
5
|
local ____cardDescriptionMap = require("maps.cardDescriptionMap")
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
-
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Map = ____lualib.Map
|
|
4
2
|
local ____exports = {}
|
|
5
3
|
local ____challengeNameMap = require("maps.challengeNameMap")
|
|
6
4
|
local CHALLENGE_NAME_MAP = ____challengeNameMap.CHALLENGE_NAME_MAP
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
-
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Set = ____lualib.Set
|
|
4
|
-
local Map = ____lualib.Map
|
|
5
2
|
local ____exports = {}
|
|
6
3
|
local COLLECTIBLE_SPRITE_LAYER, COLLECTIBLE_SHADOW_LAYER
|
|
7
4
|
local ____constants = require("constants")
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
2
|
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Set = ____lualib.Set
|
|
4
3
|
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
5
4
|
local __TS__ArrayPush = ____lualib.__TS__ArrayPush
|
|
5
|
+
local Set = ____lualib.Set
|
|
6
6
|
local __TS__New = ____lualib.__TS__New
|
|
7
7
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
8
8
|
local Map = ____lualib.Map
|
|
@@ -1,4 +1,52 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to add and remove familiars based on a target amount that you specify. Use this
|
|
4
|
+
* instead of the `EntityPlayer.CheckFamiliar` method so that the InitSeed of the spawned familiar
|
|
5
|
+
* will be set properly. Note that when using this function, you need to automatically account for
|
|
6
|
+
* Box of Friends.
|
|
7
|
+
*
|
|
8
|
+
* This function is meant to be called in the EvaluateCache callback (when the cache flag is equal
|
|
9
|
+
* to `CacheFlag.CACHE_FAMILIARS`).
|
|
10
|
+
*
|
|
11
|
+
* Note that this function is only meant to be used in special circumstances. For general purpose
|
|
12
|
+
* usage, please use the `checkFamiliarFromCollectibles` helper function instead.
|
|
13
|
+
*
|
|
14
|
+
* @param player The player that owns the familiars.
|
|
15
|
+
* @param collectibleType The collectible type of the collectible associated with this familiar.
|
|
16
|
+
* @param numTargetFamiliars The number of familiars that should exist. This function will add or
|
|
17
|
+
* remove familiars until it matches the target count.
|
|
18
|
+
* @param familiarVariant The variant of the familiar to spawn or remove.
|
|
19
|
+
* @param familiarSubType Optional. The sub-type of the familiar to spawn or remove. If not
|
|
20
|
+
* specified, it will search for existing familiars of all sub-types, and spawn new familiars with a
|
|
21
|
+
* sub-type of 0.
|
|
22
|
+
* @returns The amount of familiars that were added or removed. For example, the player has 0
|
|
23
|
+
* collectibles and there were 2 familiars, this function would remove the 2 familiars and return
|
|
24
|
+
* -2.
|
|
25
|
+
*/
|
|
26
|
+
export declare function checkFamiliar(player: EntityPlayer, collectibleType: int, numTargetFamiliars: int, familiarVariant: int, familiarSubType?: int): int;
|
|
27
|
+
/**
|
|
28
|
+
* Helper function to add and remove familiars based on the amount of associated collectibles that a
|
|
29
|
+
* player has. Use this instead of the `EntityPlayer.CheckFamiliar` method so that the InitSeed of
|
|
30
|
+
* the spawned familiar will be set properly and Box of Friends functions correctly.
|
|
31
|
+
*
|
|
32
|
+
* This function is meant to be called in the EvaluateCache callback (when the cache flag is equal
|
|
33
|
+
* to `CacheFlag.CACHE_FAMILIARS`).
|
|
34
|
+
*
|
|
35
|
+
* Use this function when the amount of familiars should be equal to the amount of associated
|
|
36
|
+
* collectibles that the player has (plus any extras from having used Box of Friends). If you
|
|
37
|
+
* instead need to have a custom amount of familiars, use the `checkFamiliars` function instead.
|
|
38
|
+
*
|
|
39
|
+
* @param player The player that owns the familiars and collectibles.
|
|
40
|
+
* @param collectibleType The collectible type of the collectible associated with this familiar.
|
|
41
|
+
* @param familiarVariant The variant of the familiar to spawn or remove.
|
|
42
|
+
* @param familiarSubType Optional. The sub-type of the familiar to spawn or remove. If not
|
|
43
|
+
* specified, it will search for existing familiars of all sub-types, and spawn new familiars with a
|
|
44
|
+
* sub-type of 0.
|
|
45
|
+
* @returns The amount of familiars that were added or removed. For example, the player has 0
|
|
46
|
+
* collectibles and there were 2 familiars, this function would remove the 2 familiars and return
|
|
47
|
+
* -2.
|
|
48
|
+
*/
|
|
49
|
+
export declare function checkFamiliarFromCollectibles(player: EntityPlayer, collectibleType: int, familiarVariant: int, familiarSubType?: int): int;
|
|
2
50
|
/**
|
|
3
51
|
* Helper function to get all of the familiars in the room.
|
|
4
52
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
2
|
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local
|
|
3
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
4
4
|
local __TS__ArrayPush = ____lualib.__TS__ArrayPush
|
|
5
5
|
local ____exports = {}
|
|
6
6
|
local ____constants = require("constants")
|
|
@@ -25,6 +25,68 @@ function ____exports.getFamiliars(self, matchingVariant, matchingSubType)
|
|
|
25
25
|
end
|
|
26
26
|
return familiars
|
|
27
27
|
end
|
|
28
|
+
function ____exports.checkFamiliar(self, player, collectibleType, numTargetFamiliars, familiarVariant, familiarSubType)
|
|
29
|
+
local game = Game()
|
|
30
|
+
local familiarSubTypeToSearchFor = familiarSubType == nil and -1 or familiarSubType
|
|
31
|
+
local playerPtrHash = GetPtrHash(player)
|
|
32
|
+
local familiars = ____exports.getFamiliars(nil, familiarVariant, familiarSubTypeToSearchFor)
|
|
33
|
+
local familiarsForThisPlayer = __TS__ArrayFilter(
|
|
34
|
+
familiars,
|
|
35
|
+
function(____, familiar) return GetPtrHash(familiar.Player) == playerPtrHash end
|
|
36
|
+
)
|
|
37
|
+
if #familiarsForThisPlayer == numTargetFamiliars then
|
|
38
|
+
return 0
|
|
39
|
+
end
|
|
40
|
+
if #familiarsForThisPlayer > numTargetFamiliars then
|
|
41
|
+
local numFamiliarsToRemove = #familiarsForThisPlayer - numTargetFamiliars
|
|
42
|
+
do
|
|
43
|
+
local i = 0
|
|
44
|
+
while i < numFamiliarsToRemove do
|
|
45
|
+
local familiar = familiarsForThisPlayer[i + 1]
|
|
46
|
+
familiar:Remove()
|
|
47
|
+
i = i + 1
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
return numFamiliarsToRemove * -1
|
|
51
|
+
end
|
|
52
|
+
local numFamiliarsToSpawn = numTargetFamiliars - #familiarsForThisPlayer
|
|
53
|
+
local collectibleRNG = player:GetCollectibleRNG(collectibleType)
|
|
54
|
+
local familiarSubTypeToUse = familiarSubType == nil and 0 or familiarSubType
|
|
55
|
+
do
|
|
56
|
+
local i = 0
|
|
57
|
+
while i < numFamiliarsToSpawn do
|
|
58
|
+
collectibleRNG:Next()
|
|
59
|
+
local familiar = game:Spawn(
|
|
60
|
+
EntityType.ENTITY_FAMILIAR,
|
|
61
|
+
familiarVariant,
|
|
62
|
+
player.Position,
|
|
63
|
+
Vector.Zero,
|
|
64
|
+
player,
|
|
65
|
+
familiarSubTypeToUse,
|
|
66
|
+
collectibleRNG:GetSeed()
|
|
67
|
+
):ToFamiliar()
|
|
68
|
+
if familiar ~= nil then
|
|
69
|
+
familiar.Player = player
|
|
70
|
+
end
|
|
71
|
+
i = i + 1
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
return numFamiliarsToSpawn
|
|
75
|
+
end
|
|
76
|
+
function ____exports.checkFamiliarFromCollectibles(self, player, collectibleType, familiarVariant, familiarSubType)
|
|
77
|
+
local numCollectibles = player:GetCollectibleNum(collectibleType)
|
|
78
|
+
local effects = player:GetEffects()
|
|
79
|
+
local numBoxOfFriendsUses = effects:GetCollectibleEffectNum(CollectibleType.COLLECTIBLE_BOX_OF_FRIENDS)
|
|
80
|
+
local numTargetFamiliars = numCollectibles * (numBoxOfFriendsUses + 1)
|
|
81
|
+
return ____exports.checkFamiliar(
|
|
82
|
+
nil,
|
|
83
|
+
player,
|
|
84
|
+
collectibleType,
|
|
85
|
+
numTargetFamiliars,
|
|
86
|
+
familiarVariant,
|
|
87
|
+
familiarSubType
|
|
88
|
+
)
|
|
89
|
+
end
|
|
28
90
|
function ____exports.isFamiliarThatShootsPlayerTears(self, familiar)
|
|
29
91
|
return FAMILIARS_THAT_SHOOT_PLAYER_TEARS:has(familiar.Type)
|
|
30
92
|
end
|
|
@@ -14,6 +14,6 @@ export declare function getFlyingCollectibles(pruneConditionalItems: boolean): S
|
|
|
14
14
|
* Returns a set of all of the trinkets that grant flight. (All trinkets that grant flight do so
|
|
15
15
|
* conditionally, like Bat Wing.)
|
|
16
16
|
*/
|
|
17
|
-
export declare function getFlyingTrinkets():
|
|
17
|
+
export declare function getFlyingTrinkets(): ReadonlySet<CollectibleType | int>;
|
|
18
18
|
export declare function hasFlyingTemporaryEffect(player: EntityPlayer): boolean;
|
|
19
19
|
export declare function isFlyingCharacter(player: EntityPlayer): boolean;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
2
|
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Map = ____lualib.Map
|
|
4
3
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
5
4
|
local Set = ____lualib.Set
|
|
6
5
|
local __TS__New = ____lualib.__TS__New
|
package/dist/functions/pills.lua
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
-
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Map = ____lualib.Map
|
|
4
2
|
local ____exports = {}
|
|
5
3
|
local ____pillEffectClassMap = require("maps.pillEffectClassMap")
|
|
6
4
|
local PILL_EFFECT_CLASS_MAP = ____pillEffectClassMap.PILL_EFFECT_CLASS_MAP
|
package/dist/functions/set.d.ts
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
*
|
|
5
5
|
* This function is variadic, meaning that you can specify N sets to add to the first set.
|
|
6
6
|
*/
|
|
7
|
-
export declare function addSetsToSet<T>(mainSet: Set<T>, ...setsToAdd: Array<Set<T>>): void;
|
|
7
|
+
export declare function addSetsToSet<T>(mainSet: Set<T>, ...setsToAdd: Array<Set<T> | ReadonlySet<T>>): void;
|
|
8
8
|
/** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
|
|
9
|
-
export declare function copySet<T>(oldSet: Set<T>): Set<T>;
|
|
9
|
+
export declare function copySet<T>(oldSet: Set<T> | ReadonlySet<T>): Set<T>;
|
|
10
10
|
/**
|
|
11
11
|
* Helper function to create a new set that is the composition of two or more sets.
|
|
12
12
|
*
|
|
13
13
|
* This function is variadic, meaning that you can specify N sets.
|
|
14
14
|
*/
|
|
15
|
-
export declare function combineSets<T>(...sets: Array<Set<T>>): Set<T>;
|
|
15
|
+
export declare function combineSets<T>(...sets: Array<Set<T> | ReadonlySet<T>>): Set<T>;
|
|
16
16
|
/**
|
|
17
17
|
* Helper function to delete all of the values in one set from another set. The first set passed
|
|
18
18
|
* will be modified in place.
|
|
19
19
|
*
|
|
20
20
|
* This function is variadic, meaning that you can specify N sets to remove from the first set.
|
|
21
21
|
*/
|
|
22
|
-
export declare function deleteSetsFromSet<T>(mainSet: Set<T>, ...setsToRemove: Array<Set<T>>): void;
|
|
22
|
+
export declare function deleteSetsFromSet<T>(mainSet: Set<T>, ...setsToRemove: Array<Set<T> | ReadonlySet<T>>): void;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
-
local ____lualib = require("lualib_bundle")
|
|
3
|
-
local Map = ____lualib.Map
|
|
4
2
|
local ____exports = {}
|
|
5
3
|
local ____constants = require("constants")
|
|
6
4
|
local GOLDEN_TRINKET_SHIFT = ____constants.GOLDEN_TRINKET_SHIFT
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { forceNewLevelCallback, forceNewRoomCallback, } from "./callbacks/reorderedCallbacks";
|
|
2
2
|
export * from "./constants";
|
|
3
|
-
export * from "./features/checkFamiliar";
|
|
4
3
|
export { deployJSONRoom, deployRandomJSONRoom, emptyRoom, } from "./features/deployJSONRoom";
|
|
5
4
|
export { disableAllInputs, disableAllInputsExceptFor, disableMovementInputs, disableShootingInputs, enableAllInputs, enableAllInputsExceptFor, } from "./features/disableInputs";
|
|
6
5
|
export { forgottenSwitch } from "./features/forgottenSwitch";
|
package/dist/index.lua
CHANGED
|
@@ -15,14 +15,6 @@ do
|
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
|
-
do
|
|
19
|
-
local ____export = require("features.checkFamiliar")
|
|
20
|
-
for ____exportKey, ____exportValue in pairs(____export) do
|
|
21
|
-
if ____exportKey ~= "default" then
|
|
22
|
-
____exports[____exportKey] = ____exportValue
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
18
|
do
|
|
27
19
|
local ____deployJSONRoom = require("features.deployJSONRoom")
|
|
28
20
|
local deployJSONRoom = ____deployJSONRoom.deployJSONRoom
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const CARD_DESCRIPTION_MAP:
|
|
2
|
+
export declare const CARD_DESCRIPTION_MAP: ReadonlyMap<Card, string>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const CARD_NAME_MAP:
|
|
2
|
+
export declare const CARD_NAME_MAP: ReadonlyMap<Card, string>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const CHALLENGE_NAME_MAP:
|
|
2
|
+
export declare const CHALLENGE_NAME_MAP: ReadonlyMap<Challenge, string>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const COLLECTIBLE_DESCRIPTION_MAP:
|
|
2
|
+
export declare const COLLECTIBLE_DESCRIPTION_MAP: ReadonlyMap<CollectibleType, string>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const COLLECTIBLE_NAME_MAP:
|
|
2
|
+
export declare const COLLECTIBLE_NAME_MAP: ReadonlyMap<CollectibleType, string>;
|
|
@@ -3,4 +3,7 @@
|
|
|
3
3
|
* This maps the GridEntityXMLType (i.e. the type contained in the room XML/STB file) to the
|
|
4
4
|
* GridEntityType and the variant used by the game.
|
|
5
5
|
*/
|
|
6
|
-
export declare const GRID_ENTITY_XML_MAP:
|
|
6
|
+
export declare const GRID_ENTITY_XML_MAP: ReadonlyMap<GridEntityXMLType, [
|
|
7
|
+
GridEntityType,
|
|
8
|
+
int
|
|
9
|
+
]>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
2
|
import { PillEffectClass } from "../types/PillEffectClass";
|
|
3
|
-
export declare const PILL_EFFECT_CLASS_MAP:
|
|
3
|
+
export declare const PILL_EFFECT_CLASS_MAP: ReadonlyMap<PillEffect, PillEffectClass>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const PILL_EFFECT_NAME_MAP:
|
|
2
|
+
export declare const PILL_EFFECT_NAME_MAP: ReadonlyMap<PillEffect, string>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
2
|
import { PillEffectType } from "../types/PillEffectType";
|
|
3
|
-
export declare const PILL_EFFECT_TYPE_MAP:
|
|
3
|
+
export declare const PILL_EFFECT_TYPE_MAP: ReadonlyMap<PillEffect, PillEffectType>;
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Only used for special room shapes where the top left wall grid index is not equal to
|
|
4
4
|
* `DEFAULT_TOP_LEFT_WALL_GRID_INDEX`.
|
|
5
5
|
*/
|
|
6
|
-
export declare const ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP:
|
|
6
|
+
export declare const ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP: ReadonlyMap<RoomShape, int>;
|
|
7
7
|
export declare const DEFAULT_TOP_LEFT_WALL_GRID_INDEX = 0;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const TRANSFORMATION_NAME_MAP:
|
|
2
|
+
export declare const TRANSFORMATION_NAME_MAP: ReadonlyMap<PlayerForm, string>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const TRINKET_DESCRIPTION_MAP:
|
|
2
|
+
export declare const TRINKET_DESCRIPTION_MAP: ReadonlyMap<TrinketType, string>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
-
export declare const TRINKET_NAME_MAP:
|
|
2
|
+
export declare const TRINKET_NAME_MAP: ReadonlyMap<TrinketType, string>;
|
package/dist/sets/cards.d.ts
CHANGED
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
* Contains all of the entries in the `Card` enum that are not a rune and not an object (e.g. Fool,
|
|
4
4
|
* Reverse Fool, Wild Card, etc.).
|
|
5
5
|
*/
|
|
6
|
-
export declare const CARDS: Card[];
|
|
6
|
+
export declare const CARDS: readonly Card[];
|
|
7
7
|
/**
|
|
8
8
|
* Contains all of the entries in the `Card` enum that are not a rune and not an object (e.g. Fool,
|
|
9
9
|
* Reverse Fool, Wild Card, etc.).
|
|
10
10
|
*/
|
|
11
|
-
export declare const CARD_SET:
|
|
11
|
+
export declare const CARD_SET: ReadonlySet<Card>;
|
|
12
12
|
/**
|
|
13
13
|
* Contains all of the entries in the `Card` enum that are a rune (e.g. Rune of Hagalaz, Blank Rune,
|
|
14
14
|
* Black Rune, Rune Shard, Soul of Isaac, etc.).
|
|
15
15
|
*/
|
|
16
|
-
export declare const RUNES: Card[];
|
|
16
|
+
export declare const RUNES: readonly Card[];
|
|
17
17
|
/**
|
|
18
18
|
* Contains all of the entries in the `Card` enum that are a rune (e.g. Rune of Hagalaz, Blank Rune,
|
|
19
19
|
* Black Rune, Rune Shard, Soul of Isaac, etc.).
|
|
20
20
|
*/
|
|
21
|
-
export declare const RUNE_SET:
|
|
21
|
+
export declare const RUNE_SET: ReadonlySet<Card>;
|
|
22
22
|
/** Contains all of the entries in the `Card` enum that are objects (like Dice Shard). */
|
|
23
|
-
export declare const POCKET_ITEM_OBJECTS: Card[];
|
|
23
|
+
export declare const POCKET_ITEM_OBJECTS: readonly Card[];
|
|
24
24
|
/** Contains all of the entries in the `Card` enum that are objects (like Dice Shard). */
|
|
25
|
-
export declare const POCKET_ITEM_OBJECT_SET:
|
|
25
|
+
export declare const POCKET_ITEM_OBJECT_SET: ReadonlySet<Card>;
|
package/dist/upgradeMod.lua
CHANGED
|
@@ -69,8 +69,6 @@ local ____preNewLevel = require("callbacks.preNewLevel")
|
|
|
69
69
|
local preNewLevelCallbackInit = ____preNewLevel.preNewLevelCallbackInit
|
|
70
70
|
local ____reorderedCallbacks = require("callbacks.reorderedCallbacks")
|
|
71
71
|
local reorderedCallbacksInit = ____reorderedCallbacks.reorderedCallbacksInit
|
|
72
|
-
local ____checkFamiliar = require("features.checkFamiliar")
|
|
73
|
-
local checkFamiliarInit = ____checkFamiliar.checkFamiliarInit
|
|
74
72
|
local ____deployJSONRoom = require("features.deployJSONRoom")
|
|
75
73
|
local deployJSONRoomInit = ____deployJSONRoom.deployJSONRoomInit
|
|
76
74
|
local ____disableInputs = require("features.disableInputs")
|
|
@@ -129,7 +127,6 @@ function initCustomCallbacks(self, mod)
|
|
|
129
127
|
postGridEntityCollisionInit(nil, mod)
|
|
130
128
|
end
|
|
131
129
|
function initFeatures(self, mod)
|
|
132
|
-
checkFamiliarInit(nil, mod)
|
|
133
130
|
deployJSONRoomInit(nil, mod)
|
|
134
131
|
disableInputsInit(nil, mod)
|
|
135
132
|
forgottenSwitchInit(nil, mod)
|