isaacscript-common 43.0.0 → 43.1.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 +6 -0
- package/dist/isaacscript-common.lua +17 -6
- package/dist/src/classes/features/other/extraConsoleCommands/commands.lua +1 -1
- package/dist/src/functions/array.d.ts.map +1 -1
- package/dist/src/functions/array.lua +5 -4
- package/dist/src/functions/trinkets.d.ts +5 -0
- package/dist/src/functions/trinkets.d.ts.map +1 -1
- package/dist/src/functions/trinkets.lua +12 -0
- package/package.json +1 -1
- package/src/classes/features/other/extraConsoleCommands/commands.ts +1 -1
- package/src/functions/array.ts +5 -3
- package/src/functions/trinkets.ts +17 -0
package/dist/index.rollup.d.ts
CHANGED
|
@@ -6393,6 +6393,12 @@ export declare function getPlayersWithTrinket(...trinketTypes: TrinketType[]): E
|
|
|
6393
6393
|
/** Returns a set of the player's current transformations. */
|
|
6394
6394
|
export declare function getPlayerTransformations(player: EntityPlayer): Set<PlayerForm>;
|
|
6395
6395
|
|
|
6396
|
+
/**
|
|
6397
|
+
* Helper function to get all of the trinkets that the player is currently holding. This will not
|
|
6398
|
+
* include any smelted trinkets.
|
|
6399
|
+
*/
|
|
6400
|
+
export declare function getPlayerTrinkets(player: EntityPlayer): TrinketType[];
|
|
6401
|
+
|
|
6396
6402
|
/**
|
|
6397
6403
|
* Use this helper function as a workaround for the `EntityPlayer.GetPocketItem` method not working
|
|
6398
6404
|
* correctly.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 43.
|
|
3
|
+
isaacscript-common 43.1.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -16859,7 +16859,6 @@ local __TS__New = ____lualib.__TS__New
|
|
|
16859
16859
|
local __TS__ArrayEntries = ____lualib.__TS__ArrayEntries
|
|
16860
16860
|
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
16861
16861
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
16862
|
-
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
16863
16862
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
16864
16863
|
local __TS__ArrayUnshift = ____lualib.__TS__ArrayUnshift
|
|
16865
16864
|
local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
@@ -17029,16 +17028,18 @@ function ____exports.arrayRemoveIndexInPlace(self, array, ...)
|
|
|
17029
17028
|
indexesToRemove,
|
|
17030
17029
|
function(____, i) return i >= 0 and i < #array end
|
|
17031
17030
|
)
|
|
17032
|
-
__TS__ArraySort(legalIndexes)
|
|
17033
17031
|
if #legalIndexes == 0 then
|
|
17034
17032
|
return {}
|
|
17035
17033
|
end
|
|
17034
|
+
local legalIndexesSet = __TS__New(ReadonlySet, legalIndexes)
|
|
17036
17035
|
local removedElements = {}
|
|
17037
17036
|
do
|
|
17038
17037
|
local i = #array - 1
|
|
17039
17038
|
while i >= 0 do
|
|
17040
|
-
|
|
17041
|
-
|
|
17039
|
+
if legalIndexesSet:has(i) then
|
|
17040
|
+
local removedElement = __TS__ArraySplice(array, i, 1)
|
|
17041
|
+
__TS__ArrayPushArray(removedElements, removedElement)
|
|
17042
|
+
end
|
|
17042
17043
|
i = i - 1
|
|
17043
17044
|
end
|
|
17044
17045
|
end
|
|
@@ -29679,6 +29680,16 @@ function ____exports.getOpenTrinketSlot(self, player)
|
|
|
29679
29680
|
end
|
|
29680
29681
|
error("The player has an unknown number of trinket slots: " .. tostring(maxTrinkets))
|
|
29681
29682
|
end
|
|
29683
|
+
function ____exports.getPlayerTrinkets(self, player)
|
|
29684
|
+
local trinketTypes = {}
|
|
29685
|
+
for ____, trinketSlot in ipairs(TRINKET_SLOT_VALUES) do
|
|
29686
|
+
local trinketType = player:GetTrinket(trinketSlot)
|
|
29687
|
+
if trinketType ~= TrinketType.NULL then
|
|
29688
|
+
trinketTypes[#trinketTypes + 1] = trinketType
|
|
29689
|
+
end
|
|
29690
|
+
end
|
|
29691
|
+
return trinketTypes
|
|
29692
|
+
end
|
|
29682
29693
|
function ____exports.getTrinketDescription(self, trinketType)
|
|
29683
29694
|
local trinketDescription = TRINKET_DESCRIPTION_MAP:get(trinketType)
|
|
29684
29695
|
if trinketDescription ~= nil then
|
|
@@ -50132,7 +50143,7 @@ function ____exports.character(self, params)
|
|
|
50132
50143
|
playerType = match[2]
|
|
50133
50144
|
else
|
|
50134
50145
|
if num < FIRST_CHARACTER or num > LAST_VANILLA_CHARACTER then
|
|
50135
|
-
print("Invalid
|
|
50146
|
+
print("Invalid character number: " .. tostring(num))
|
|
50136
50147
|
return
|
|
50137
50148
|
end
|
|
50138
50149
|
playerType = num
|
|
@@ -550,7 +550,7 @@ function ____exports.character(self, params)
|
|
|
550
550
|
playerType = match[2]
|
|
551
551
|
else
|
|
552
552
|
if num < FIRST_CHARACTER or num > LAST_VANILLA_CHARACTER then
|
|
553
|
-
print("Invalid
|
|
553
|
+
print("Invalid character number: " .. tostring(num))
|
|
554
554
|
return
|
|
555
555
|
end
|
|
556
556
|
playerType = num
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/functions/array.ts"],"names":[],"mappings":";;;AAMA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EAC1B,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GACzB,OAAO,CAST;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,aAAa,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACjC,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,CAAC,EAAE,CAIL;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,aAAa,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACjC,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,CAAC,EAAE,CAIL;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EACrC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,OAAO,CAcT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,gBAAgB,EAAE,CAAC,EAAE,GACvB,CAAC,EAAE,CAYL;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,aAAa,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,EACjC,GAAG,eAAe,EAAE,GAAG,EAAE,GACxB,CAAC,EAAE,CAWL;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,eAAe,EAAE,GAAG,EAAE,GACxB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/functions/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ local __TS__New = ____lualib.__TS__New
|
|
|
7
7
|
local __TS__ArrayEntries = ____lualib.__TS__ArrayEntries
|
|
8
8
|
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
9
9
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
10
|
-
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
11
10
|
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
12
11
|
local __TS__ArrayUnshift = ____lualib.__TS__ArrayUnshift
|
|
13
12
|
local __TS__ArraySlice = ____lualib.__TS__ArraySlice
|
|
@@ -248,16 +247,18 @@ function ____exports.arrayRemoveIndexInPlace(self, array, ...)
|
|
|
248
247
|
indexesToRemove,
|
|
249
248
|
function(____, i) return i >= 0 and i < #array end
|
|
250
249
|
)
|
|
251
|
-
__TS__ArraySort(legalIndexes)
|
|
252
250
|
if #legalIndexes == 0 then
|
|
253
251
|
return {}
|
|
254
252
|
end
|
|
253
|
+
local legalIndexesSet = __TS__New(ReadonlySet, legalIndexes)
|
|
255
254
|
local removedElements = {}
|
|
256
255
|
do
|
|
257
256
|
local i = #array - 1
|
|
258
257
|
while i >= 0 do
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
if legalIndexesSet:has(i) then
|
|
259
|
+
local removedElement = __TS__ArraySplice(array, i, 1)
|
|
260
|
+
__TS__ArrayPushArray(removedElements, removedElement)
|
|
261
|
+
end
|
|
261
262
|
i = i - 1
|
|
262
263
|
end
|
|
263
264
|
end
|
|
@@ -44,6 +44,11 @@ export declare function getMysteriousPaperEffectForFrame(player: EntityPlayer, f
|
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
46
|
export declare function getOpenTrinketSlot(player: EntityPlayer): int | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Helper function to get all of the trinkets that the player is currently holding. This will not
|
|
49
|
+
* include any smelted trinkets.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getPlayerTrinkets(player: EntityPlayer): TrinketType[];
|
|
47
52
|
/**
|
|
48
53
|
* Helper function to get the in-game description for a trinket. Returns "Unknown" if the provided
|
|
49
54
|
* trinket type was not valid.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trinkets.d.ts","sourceRoot":"","sources":["../../../src/functions/trinkets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AA+BvE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAE1E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,GAAG,GACf,qBAAqB,GAAG,SAAS,CAUnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,GAAG,SAAS,CAkBxE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CActE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAOtE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAc/D;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAO3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAOhE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAYjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI,CAiBN;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CAOT"}
|
|
1
|
+
{"version":3,"file":"trinkets.d.ts","sourceRoot":"","sources":["../../../src/functions/trinkets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AA+BvE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAE1E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,GAAG,GACf,qBAAqB,GAAG,SAAS,CAUnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,GAAG,SAAS,CAkBxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,EAAE,CAWrE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CActE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAOtE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAc/D;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAO3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAOhE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAErE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAYjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,IAAI,CAiBN;AAED,6FAA6F;AAC7F,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO,CAOT"}
|
|
@@ -109,6 +109,18 @@ function ____exports.getOpenTrinketSlot(self, player)
|
|
|
109
109
|
end
|
|
110
110
|
error("The player has an unknown number of trinket slots: " .. tostring(maxTrinkets))
|
|
111
111
|
end
|
|
112
|
+
--- Helper function to get all of the trinkets that the player is currently holding. This will not
|
|
113
|
+
-- include any smelted trinkets.
|
|
114
|
+
function ____exports.getPlayerTrinkets(self, player)
|
|
115
|
+
local trinketTypes = {}
|
|
116
|
+
for ____, trinketSlot in ipairs(TRINKET_SLOT_VALUES) do
|
|
117
|
+
local trinketType = player:GetTrinket(trinketSlot)
|
|
118
|
+
if trinketType ~= TrinketType.NULL then
|
|
119
|
+
trinketTypes[#trinketTypes + 1] = trinketType
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
return trinketTypes
|
|
123
|
+
end
|
|
112
124
|
--- Helper function to get the in-game description for a trinket. Returns "Unknown" if the provided
|
|
113
125
|
-- trinket type was not valid.
|
|
114
126
|
--
|
package/package.json
CHANGED
|
@@ -446,7 +446,7 @@ export function character(params: string): void {
|
|
|
446
446
|
playerType = match[1];
|
|
447
447
|
} else {
|
|
448
448
|
if (num < FIRST_CHARACTER || num > LAST_VANILLA_CHARACTER) {
|
|
449
|
-
print(`Invalid
|
|
449
|
+
print(`Invalid character number: ${num}`);
|
|
450
450
|
return;
|
|
451
451
|
}
|
|
452
452
|
|
package/src/functions/array.ts
CHANGED
|
@@ -160,17 +160,19 @@ export function arrayRemoveIndexInPlace<T>(
|
|
|
160
160
|
const legalIndexes = indexesToRemove.filter(
|
|
161
161
|
(i) => i >= 0 && i < array.length,
|
|
162
162
|
);
|
|
163
|
-
legalIndexes.sort();
|
|
164
163
|
|
|
165
164
|
if (legalIndexes.length === 0) {
|
|
166
165
|
return [];
|
|
167
166
|
}
|
|
168
167
|
|
|
168
|
+
const legalIndexesSet = new ReadonlySet(legalIndexes);
|
|
169
169
|
const removedElements: T[] = [];
|
|
170
170
|
|
|
171
171
|
for (let i = array.length - 1; i >= 0; i--) {
|
|
172
|
-
|
|
173
|
-
|
|
172
|
+
if (legalIndexesSet.has(i)) {
|
|
173
|
+
const removedElement = array.splice(i, 1);
|
|
174
|
+
removedElements.push(...removedElement);
|
|
175
|
+
}
|
|
174
176
|
}
|
|
175
177
|
|
|
176
178
|
return removedElements;
|
|
@@ -118,6 +118,23 @@ export function getOpenTrinketSlot(player: EntityPlayer): int | undefined {
|
|
|
118
118
|
error(`The player has an unknown number of trinket slots: ${maxTrinkets}`);
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
+
/**
|
|
122
|
+
* Helper function to get all of the trinkets that the player is currently holding. This will not
|
|
123
|
+
* include any smelted trinkets.
|
|
124
|
+
*/
|
|
125
|
+
export function getPlayerTrinkets(player: EntityPlayer): TrinketType[] {
|
|
126
|
+
const trinketTypes: TrinketType[] = [];
|
|
127
|
+
|
|
128
|
+
for (const trinketSlot of TRINKET_SLOT_VALUES) {
|
|
129
|
+
const trinketType = player.GetTrinket(trinketSlot);
|
|
130
|
+
if (trinketType !== TrinketType.NULL) {
|
|
131
|
+
trinketTypes.push(trinketType);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return trinketTypes;
|
|
136
|
+
}
|
|
137
|
+
|
|
121
138
|
/**
|
|
122
139
|
* Helper function to get the in-game description for a trinket. Returns "Unknown" if the provided
|
|
123
140
|
* trinket type was not valid.
|