isaacscript-common 7.11.0 → 7.12.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/features/customPickup.d.ts +3 -0
- package/dist/features/customPickup.d.ts.map +1 -0
- package/dist/features/customPickup.lua +10 -0
- package/dist/features/customStage/customStageGridEntities.d.ts.map +1 -1
- package/dist/features/customStage/customStageGridEntities.lua +61 -35
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.lua +5 -0
- package/dist/initFeatures.d.ts.map +1 -1
- package/dist/initFeatures.lua +3 -0
- package/dist/interfaces/CustomStageTSConfig.d.ts +47 -0
- package/dist/interfaces/CustomStageTSConfig.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/features/customPickup.ts +9 -0
- package/src/features/customStage/customStageGridEntities.ts +58 -16
- package/src/index.ts +1 -0
- package/src/initFeatures.ts +2 -0
- package/src/interfaces/CustomStageTSConfig.ts +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customPickup.d.ts","sourceRoot":"","sources":["../../src/features/customPickup.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,IAAI,IAAI,CAAG;AAE3C,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____featuresInitialized = require("featuresInitialized")
|
|
3
|
+
local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
|
|
4
|
+
local FEATURE_NAME = "customPickup"
|
|
5
|
+
function ____exports.customPickupInit(self)
|
|
6
|
+
end
|
|
7
|
+
function ____exports.registerCustomPickup(self)
|
|
8
|
+
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
9
|
+
end
|
|
10
|
+
return ____exports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customStageGridEntities.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/customStageGridEntities.ts"],"names":[],"mappings":";AAkBA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AASnE,0CAA0C;AAC1C,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,
|
|
1
|
+
{"version":3,"file":"customStageGridEntities.d.ts","sourceRoot":"","sources":["../../../src/features/customStage/customStageGridEntities.ts"],"names":[],"mappings":";AAkBA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AASnE,0CAA0C;AAC1C,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,CAwCN;AAED,oCAAoC;AACpC,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,CAyDN;AAED,mCAAmC;AACnC,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,CAwBN;AAED,mCAAmC;AACnC,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,CAwBN;AAuDD,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,CAwBN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GACrB,IAAI,CAsBN"}
|
|
@@ -34,9 +34,9 @@ local ____v = require("features.customStage.v")
|
|
|
34
34
|
local v = ____v.default
|
|
35
35
|
function getNewDoorPNGPath(self, customStage, fileName)
|
|
36
36
|
repeat
|
|
37
|
-
local
|
|
38
|
-
local
|
|
39
|
-
if
|
|
37
|
+
local ____switch30 = fileName
|
|
38
|
+
local ____cond30 = ____switch30 == "gfx/grid/door_01_normaldoor.anm2"
|
|
39
|
+
if ____cond30 then
|
|
40
40
|
do
|
|
41
41
|
local ____customStage_doorPNGPaths_normal_0 = customStage.doorPNGPaths
|
|
42
42
|
if ____customStage_doorPNGPaths_normal_0 ~= nil then
|
|
@@ -45,8 +45,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
45
45
|
return ____customStage_doorPNGPaths_normal_0
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
|
-
|
|
49
|
-
if
|
|
48
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_02_treasureroomdoor.anm2"
|
|
49
|
+
if ____cond30 then
|
|
50
50
|
do
|
|
51
51
|
local ____customStage_doorPNGPaths_treasureRoom_2 = customStage.doorPNGPaths
|
|
52
52
|
if ____customStage_doorPNGPaths_treasureRoom_2 ~= nil then
|
|
@@ -55,8 +55,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
55
55
|
return ____customStage_doorPNGPaths_treasureRoom_2
|
|
56
56
|
end
|
|
57
57
|
end
|
|
58
|
-
|
|
59
|
-
if
|
|
58
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_03_ambushroomdoor.anm2"
|
|
59
|
+
if ____cond30 then
|
|
60
60
|
do
|
|
61
61
|
local ____customStage_doorPNGPaths_normalChallengeRoom_4 = customStage.doorPNGPaths
|
|
62
62
|
if ____customStage_doorPNGPaths_normalChallengeRoom_4 ~= nil then
|
|
@@ -65,8 +65,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
65
65
|
return ____customStage_doorPNGPaths_normalChallengeRoom_4
|
|
66
66
|
end
|
|
67
67
|
end
|
|
68
|
-
|
|
69
|
-
if
|
|
68
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_04_selfsacrificeroomdoor.anm2"
|
|
69
|
+
if ____cond30 then
|
|
70
70
|
do
|
|
71
71
|
local ____customStage_doorPNGPaths_curseRoom_6 = customStage.doorPNGPaths
|
|
72
72
|
if ____customStage_doorPNGPaths_curseRoom_6 ~= nil then
|
|
@@ -75,8 +75,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
75
75
|
return ____customStage_doorPNGPaths_curseRoom_6
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
|
-
|
|
79
|
-
if
|
|
78
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_05_arcaderoomdoor.anm2"
|
|
79
|
+
if ____cond30 then
|
|
80
80
|
do
|
|
81
81
|
local ____customStage_doorPNGPaths_arcade_8 = customStage.doorPNGPaths
|
|
82
82
|
if ____customStage_doorPNGPaths_arcade_8 ~= nil then
|
|
@@ -85,8 +85,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
85
85
|
return ____customStage_doorPNGPaths_arcade_8
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
|
-
|
|
89
|
-
if
|
|
88
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_07_devilroomdoor.anm2"
|
|
89
|
+
if ____cond30 then
|
|
90
90
|
do
|
|
91
91
|
local ____customStage_doorPNGPaths_devilRoom_10 = customStage.doorPNGPaths
|
|
92
92
|
if ____customStage_doorPNGPaths_devilRoom_10 ~= nil then
|
|
@@ -95,8 +95,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
95
95
|
return ____customStage_doorPNGPaths_devilRoom_10
|
|
96
96
|
end
|
|
97
97
|
end
|
|
98
|
-
|
|
99
|
-
if
|
|
98
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_07_holyroomdoor.anm2"
|
|
99
|
+
if ____cond30 then
|
|
100
100
|
do
|
|
101
101
|
local ____customStage_doorPNGPaths_angelRoom_12 = customStage.doorPNGPaths
|
|
102
102
|
if ____customStage_doorPNGPaths_angelRoom_12 ~= nil then
|
|
@@ -105,8 +105,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
105
105
|
return ____customStage_doorPNGPaths_angelRoom_12
|
|
106
106
|
end
|
|
107
107
|
end
|
|
108
|
-
|
|
109
|
-
if
|
|
108
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_08_holeinwall.anm2"
|
|
109
|
+
if ____cond30 then
|
|
110
110
|
do
|
|
111
111
|
local ____customStage_doorPNGPaths_secretRoom_14 = customStage.doorPNGPaths
|
|
112
112
|
if ____customStage_doorPNGPaths_secretRoom_14 ~= nil then
|
|
@@ -115,8 +115,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
115
115
|
return ____customStage_doorPNGPaths_secretRoom_14
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
|
-
|
|
119
|
-
if
|
|
118
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_09_bossambushroomdoor.anm2"
|
|
119
|
+
if ____cond30 then
|
|
120
120
|
do
|
|
121
121
|
local ____customStage_doorPNGPaths_bossChallengeRoom_16 = customStage.doorPNGPaths
|
|
122
122
|
if ____customStage_doorPNGPaths_bossChallengeRoom_16 ~= nil then
|
|
@@ -125,8 +125,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
125
125
|
return ____customStage_doorPNGPaths_bossChallengeRoom_16
|
|
126
126
|
end
|
|
127
127
|
end
|
|
128
|
-
|
|
129
|
-
if
|
|
128
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_10_bossroomdoor.anm2"
|
|
129
|
+
if ____cond30 then
|
|
130
130
|
do
|
|
131
131
|
local ____customStage_doorPNGPaths_bossRoom_18 = customStage.doorPNGPaths
|
|
132
132
|
if ____customStage_doorPNGPaths_bossRoom_18 ~= nil then
|
|
@@ -135,8 +135,8 @@ function getNewDoorPNGPath(self, customStage, fileName)
|
|
|
135
135
|
return ____customStage_doorPNGPaths_bossRoom_18
|
|
136
136
|
end
|
|
137
137
|
end
|
|
138
|
-
|
|
139
|
-
if
|
|
138
|
+
____cond30 = ____cond30 or ____switch30 == "gfx/grid/door_15_bossrushdoor.anm2"
|
|
139
|
+
if ____cond30 then
|
|
140
140
|
do
|
|
141
141
|
local ____customStage_doorPNGPaths_bossRush_20 = customStage.doorPNGPaths
|
|
142
142
|
if ____customStage_doorPNGPaths_bossRush_20 ~= nil then
|
|
@@ -157,10 +157,9 @@ function removeEntitiesSpawnedFromGridEntity(self, entities, gridEntity)
|
|
|
157
157
|
end
|
|
158
158
|
--- For `GridEntityType.DECORATION` (1)
|
|
159
159
|
function ____exports.setCustomDecorationGraphics(self, customStage, gridEntity)
|
|
160
|
-
if customStage.decorationsPNGPath == nil then
|
|
160
|
+
if customStage.decorationsPNGPath == nil and customStage.decorationsANM2Path == nil then
|
|
161
161
|
return
|
|
162
162
|
end
|
|
163
|
-
local pngPath = removeCharactersBefore(nil, customStage.decorationsPNGPath, "gfx/")
|
|
164
163
|
if isCustomGridEntity(nil, gridEntity) then
|
|
165
164
|
return
|
|
166
165
|
end
|
|
@@ -170,17 +169,23 @@ function ____exports.setCustomDecorationGraphics(self, customStage, gridEntity)
|
|
|
170
169
|
end
|
|
171
170
|
local sprite = gridEntity:GetSprite()
|
|
172
171
|
local fileName = sprite:GetFilename()
|
|
173
|
-
if string.lower(fileName)
|
|
172
|
+
if string.lower(fileName) ~= "gfx/grid/props_01_basement.anm2" then
|
|
173
|
+
return
|
|
174
|
+
end
|
|
175
|
+
if customStage.decorationsANM2Path ~= nil then
|
|
176
|
+
local anm2Path = removeCharactersBefore(nil, customStage.decorationsANM2Path, "gfx/")
|
|
177
|
+
sprite:Load(anm2Path, true)
|
|
178
|
+
elseif customStage.decorationsPNGPath ~= nil then
|
|
179
|
+
local pngPath = removeCharactersBefore(nil, customStage.decorationsPNGPath, "gfx/")
|
|
174
180
|
sprite:ReplaceSpritesheet(0, pngPath)
|
|
175
181
|
sprite:LoadGraphics()
|
|
176
182
|
end
|
|
177
183
|
end
|
|
178
184
|
--- For `GridEntityType.ROCK` (2)
|
|
179
185
|
function ____exports.setCustomRockGraphics(self, customStage, gridEntity)
|
|
180
|
-
if customStage.rocksPNGPath == nil then
|
|
186
|
+
if customStage.rocksPNGPath == nil and customStage.rocksANM2Path == nil then
|
|
181
187
|
return
|
|
182
188
|
end
|
|
183
|
-
local pngPath = removeCharactersBefore(nil, customStage.rocksPNGPath, "gfx/")
|
|
184
189
|
if isCustomGridEntity(nil, gridEntity) then
|
|
185
190
|
return
|
|
186
191
|
end
|
|
@@ -190,13 +195,34 @@ function ____exports.setCustomRockGraphics(self, customStage, gridEntity)
|
|
|
190
195
|
end
|
|
191
196
|
local sprite = gridEntity:GetSprite()
|
|
192
197
|
local fileName = sprite:GetFilename()
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
repeat
|
|
199
|
+
local ____switch13 = fileName
|
|
200
|
+
local ____cond13 = ____switch13 == "gfx/grid/grid_rock.anm2"
|
|
201
|
+
if ____cond13 then
|
|
202
|
+
do
|
|
203
|
+
if customStage.rocksANM2Path ~= nil then
|
|
204
|
+
local anm2Path = removeCharactersBefore(nil, customStage.rocksANM2Path, "gfx/")
|
|
205
|
+
sprite:Load(anm2Path, true)
|
|
206
|
+
elseif customStage.rocksPNGPath ~= nil then
|
|
207
|
+
local pngPath = removeCharactersBefore(nil, customStage.rocksPNGPath, "gfx/")
|
|
208
|
+
sprite:ReplaceSpritesheet(0, pngPath)
|
|
209
|
+
sprite:LoadGraphics()
|
|
210
|
+
end
|
|
211
|
+
break
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
____cond13 = ____cond13 or ____switch13 == "gfx/grid/grid_pit.anm2"
|
|
215
|
+
if ____cond13 then
|
|
216
|
+
do
|
|
217
|
+
if customStage.rocksPNGPath ~= nil then
|
|
218
|
+
local pngPath = removeCharactersBefore(nil, customStage.rocksPNGPath, "gfx/")
|
|
219
|
+
sprite:ReplaceSpritesheet(1, pngPath)
|
|
220
|
+
sprite:LoadGraphics()
|
|
221
|
+
end
|
|
222
|
+
break
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
until true
|
|
200
226
|
end
|
|
201
227
|
--- For `GridEntityType.PIT` (7)
|
|
202
228
|
function ____exports.setCustomPitGraphics(self, customStage, gridEntity)
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export { registerCharacterStats } from "./features/characterStats";
|
|
|
19
19
|
export { getCollectibleItemPoolType } from "./features/collectibleItemPoolType";
|
|
20
20
|
export { initCustomDoor, spawnCustomDoor } from "./features/customDoor";
|
|
21
21
|
export { removeCustomGridEntity, spawnCustomGridEntity, } from "./features/customGridEntity";
|
|
22
|
+
export { registerCustomPickup } from "./features/customPickup";
|
|
22
23
|
export * from "./features/customStage/exports";
|
|
23
24
|
export * from "./features/customTrapdoor/exports";
|
|
24
25
|
export * from "./features/debugDisplay/exports";
|
package/dist/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/index.lua
CHANGED
|
@@ -156,6 +156,11 @@ do
|
|
|
156
156
|
____exports.removeCustomGridEntity = removeCustomGridEntity
|
|
157
157
|
____exports.spawnCustomGridEntity = spawnCustomGridEntity
|
|
158
158
|
end
|
|
159
|
+
do
|
|
160
|
+
local ____customPickup = require("features.customPickup")
|
|
161
|
+
local registerCustomPickup = ____customPickup.registerCustomPickup
|
|
162
|
+
____exports.registerCustomPickup = registerCustomPickup
|
|
163
|
+
end
|
|
159
164
|
do
|
|
160
165
|
local ____export = require("features.customStage.exports")
|
|
161
166
|
for ____exportKey, ____exportValue in pairs(____export) do
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initFeatures.d.ts","sourceRoot":"","sources":["../src/initFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"initFeatures.d.ts","sourceRoot":"","sources":["../src/initFeatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA8BpD,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAGnD"}
|
package/dist/initFeatures.lua
CHANGED
|
@@ -8,6 +8,8 @@ local ____collectibleItemPoolType = require("features.collectibleItemPoolType")
|
|
|
8
8
|
local collectibleItemPoolTypeInit = ____collectibleItemPoolType.collectibleItemPoolTypeInit
|
|
9
9
|
local ____customGridEntity = require("features.customGridEntity")
|
|
10
10
|
local customGridEntityInit = ____customGridEntity.customGridEntityInit
|
|
11
|
+
local ____customPickup = require("features.customPickup")
|
|
12
|
+
local customPickupInit = ____customPickup.customPickupInit
|
|
11
13
|
local ____init = require("features.customStage.init")
|
|
12
14
|
local customStageInit = ____init.customStageInit
|
|
13
15
|
local ____init = require("features.customTrapdoor.init")
|
|
@@ -63,6 +65,7 @@ function initFeaturesMajor(self, mod)
|
|
|
63
65
|
customGridEntityInit(nil, mod)
|
|
64
66
|
end
|
|
65
67
|
function initFeaturesMinor(self, mod)
|
|
68
|
+
customPickupInit(nil)
|
|
66
69
|
customTrapdoorInit(nil, mod)
|
|
67
70
|
disableAllSoundInit(nil, mod)
|
|
68
71
|
disableInputsInit(nil, mod)
|
|
@@ -119,8 +119,22 @@ export interface CustomStageTSConfig {
|
|
|
119
119
|
*
|
|
120
120
|
* If not specified, the vanilla Basement decorations spritesheet will be used. For reference,
|
|
121
121
|
* this is located at: `resources/gfx/grid/props_01_basement.png`
|
|
122
|
+
*
|
|
123
|
+
* If you want to have custom animations for your decorations, then do not use this field and use
|
|
124
|
+
* `decorationsANM2Path` instead.
|
|
122
125
|
*/
|
|
123
126
|
decorationsPNGPath?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Optional. The full path to the anm2 file that contains the custom animations for the
|
|
129
|
+
* decorations of the floor.
|
|
130
|
+
*
|
|
131
|
+
* If not specified, the vanilla Basement decorations spritesheet will be used. For reference,
|
|
132
|
+
* this is located at: `resources/gfx/grid/props_01_basement.png`
|
|
133
|
+
*
|
|
134
|
+
* If you do not want to have custom animations for your decorations, then do not use this field
|
|
135
|
+
* and use `decorationsPNGPath` instead.
|
|
136
|
+
*/
|
|
137
|
+
decorationsANM2Path?: string;
|
|
124
138
|
/**
|
|
125
139
|
* Optional. The full path to the spritesheet that contains the graphics of the rocks/blocks/urns
|
|
126
140
|
* for the floor.
|
|
@@ -132,16 +146,49 @@ export interface CustomStageTSConfig {
|
|
|
132
146
|
*
|
|
133
147
|
* If not specified, the vanilla Basement rocks spritesheet will be used. For reference, this is
|
|
134
148
|
* located at: `resources-dlc3/gfx/grid/rocks_basement.png`
|
|
149
|
+
*
|
|
150
|
+
* If you want to have custom animations for your rocks, then do not use this field and use
|
|
151
|
+
* `rocksANM2Path` instead.
|
|
135
152
|
*/
|
|
136
153
|
rocksPNGPath?: string;
|
|
154
|
+
/**
|
|
155
|
+
* Optional. The full path to the anm2 file that contains the custom animations for the
|
|
156
|
+
* rocks/blocks/urns of the floor.
|
|
157
|
+
*
|
|
158
|
+
* If specified, it is assumed that you have your own custom rock alt type, and all vanilla
|
|
159
|
+
* rewards/enemies that spawn from urns will be automatically removed. Use the
|
|
160
|
+
* `POST_GRID_ENTITY_BROKEN` callback to make your own custom rewards. Or, if you want to emulate
|
|
161
|
+
* a vanilla urn/mushroom/skull/polyp/bucket, use the `spawnRockAltReward` helper function.
|
|
162
|
+
*
|
|
163
|
+
* If not specified, the vanilla Basement rocks spritesheet will be used. For reference, this is
|
|
164
|
+
* located at: `resources-dlc3/gfx/grid/rocks_basement.png`
|
|
165
|
+
*
|
|
166
|
+
* If you do not want to have custom animations for your rocks, then do not use this field and use
|
|
167
|
+
* `rocksPNGPath` instead.
|
|
168
|
+
*/
|
|
169
|
+
rocksANM2Path?: string;
|
|
137
170
|
/**
|
|
138
171
|
* Optional. The full path to the spritesheet that contains the graphics of the pits for the
|
|
139
172
|
* floor.
|
|
140
173
|
*
|
|
141
174
|
* If not specified, the vanilla Basement pits spritesheet will be used. For reference, this is
|
|
142
175
|
* located at: `resources/gfx/grid/grid_pit.png`
|
|
176
|
+
*
|
|
177
|
+
* If you do not want to have custom animations for your pits, then do not use this field and use
|
|
178
|
+
* `pitsANM2Path` instead.
|
|
143
179
|
*/
|
|
144
180
|
pitsPNGPath?: string;
|
|
181
|
+
/**
|
|
182
|
+
* Optional. The full path to the anm2 file that contains the custom animations for the pits of
|
|
183
|
+
* the floor.
|
|
184
|
+
*
|
|
185
|
+
* If not specified, the vanilla Basement pits spritesheet will be used. For reference, this is
|
|
186
|
+
* located at: `resources/gfx/grid/grid_pit.png`
|
|
187
|
+
*
|
|
188
|
+
* If you do not want to have custom animations for your pits, then do not use this field and use
|
|
189
|
+
* `pitsPNGPath` instead.
|
|
190
|
+
*/
|
|
191
|
+
pitsANM2Path?: string;
|
|
145
192
|
/**
|
|
146
193
|
* Optional. A collection of paths that contain graphics for the doors of the floor. If not
|
|
147
194
|
* specified, the doors for Basement will be used.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomStageTSConfig.d.ts","sourceRoot":"","sources":["../../src/interfaces/CustomStageTSConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE;QACjB;;;;;;;;WAQG;QACH,OAAO,EAAE,MAAM,EAAE,CAAC;QAElB;;;;;;;;WAQG;QACH,OAAO,EAAE,MAAM,EAAE,CAAC;QAElB;;;;;;;;;;WAUG;QACH,KAAK,EAAE,MAAM,EAAE,CAAC;QAEhB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IAEF
|
|
1
|
+
{"version":3,"file":"CustomStageTSConfig.d.ts","sourceRoot":"","sources":["../../src/interfaces/CustomStageTSConfig.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -32,15 +32,13 @@ export function setCustomDecorationGraphics(
|
|
|
32
32
|
): void {
|
|
33
33
|
// If the end-user did not specify custom decoration graphics, default to Basement graphics. (We
|
|
34
34
|
// don't have to adjust anything for this case.)
|
|
35
|
-
if (
|
|
35
|
+
if (
|
|
36
|
+
customStage.decorationsPNGPath === undefined &&
|
|
37
|
+
customStage.decorationsANM2Path === undefined
|
|
38
|
+
) {
|
|
36
39
|
return;
|
|
37
40
|
}
|
|
38
41
|
|
|
39
|
-
const pngPath = removeCharactersBefore(
|
|
40
|
-
customStage.decorationsPNGPath,
|
|
41
|
-
"gfx/",
|
|
42
|
-
);
|
|
43
|
-
|
|
44
42
|
if (isCustomGridEntity(gridEntity)) {
|
|
45
43
|
return;
|
|
46
44
|
}
|
|
@@ -53,7 +51,21 @@ export function setCustomDecorationGraphics(
|
|
|
53
51
|
const sprite = gridEntity.GetSprite();
|
|
54
52
|
const fileName = sprite.GetFilename();
|
|
55
53
|
// On Windows, this is: gfx/grid/Props_01_Basement.anm2
|
|
56
|
-
if (fileName.toLowerCase()
|
|
54
|
+
if (fileName.toLowerCase() !== "gfx/grid/props_01_basement.anm2") {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (customStage.decorationsANM2Path !== undefined) {
|
|
59
|
+
const anm2Path = removeCharactersBefore(
|
|
60
|
+
customStage.decorationsANM2Path,
|
|
61
|
+
"gfx/",
|
|
62
|
+
);
|
|
63
|
+
sprite.Load(anm2Path, true);
|
|
64
|
+
} else if (customStage.decorationsPNGPath !== undefined) {
|
|
65
|
+
const pngPath = removeCharactersBefore(
|
|
66
|
+
customStage.decorationsPNGPath,
|
|
67
|
+
"gfx/",
|
|
68
|
+
);
|
|
57
69
|
sprite.ReplaceSpritesheet(0, pngPath);
|
|
58
70
|
sprite.LoadGraphics();
|
|
59
71
|
}
|
|
@@ -66,12 +78,13 @@ export function setCustomRockGraphics(
|
|
|
66
78
|
): void {
|
|
67
79
|
// If the end-user did not specify custom rock graphics, default to Basement graphics. (We don't
|
|
68
80
|
// have to adjust anything for this case.)
|
|
69
|
-
if (
|
|
81
|
+
if (
|
|
82
|
+
customStage.rocksPNGPath === undefined &&
|
|
83
|
+
customStage.rocksANM2Path === undefined
|
|
84
|
+
) {
|
|
70
85
|
return;
|
|
71
86
|
}
|
|
72
87
|
|
|
73
|
-
const pngPath = removeCharactersBefore(customStage.rocksPNGPath, "gfx/");
|
|
74
|
-
|
|
75
88
|
if (isCustomGridEntity(gridEntity)) {
|
|
76
89
|
return;
|
|
77
90
|
}
|
|
@@ -83,12 +96,41 @@ export function setCustomRockGraphics(
|
|
|
83
96
|
|
|
84
97
|
const sprite = gridEntity.GetSprite();
|
|
85
98
|
const fileName = sprite.GetFilename();
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
|
|
100
|
+
switch (fileName) {
|
|
101
|
+
case "gfx/grid/grid_rock.anm2": {
|
|
102
|
+
// The normal case of a rock.
|
|
103
|
+
if (customStage.rocksANM2Path !== undefined) {
|
|
104
|
+
const anm2Path = removeCharactersBefore(
|
|
105
|
+
customStage.rocksANM2Path,
|
|
106
|
+
"gfx/",
|
|
107
|
+
);
|
|
108
|
+
sprite.Load(anm2Path, true);
|
|
109
|
+
} else if (customStage.rocksPNGPath !== undefined) {
|
|
110
|
+
const pngPath = removeCharactersBefore(
|
|
111
|
+
customStage.rocksPNGPath,
|
|
112
|
+
"gfx/",
|
|
113
|
+
);
|
|
114
|
+
sprite.ReplaceSpritesheet(0, pngPath);
|
|
115
|
+
sprite.LoadGraphics();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
case "gfx/grid/grid_pit.anm2": {
|
|
122
|
+
// The case of when a rock is blown on a pit to make a bridge.
|
|
123
|
+
if (customStage.rocksPNGPath !== undefined) {
|
|
124
|
+
const pngPath = removeCharactersBefore(
|
|
125
|
+
customStage.rocksPNGPath,
|
|
126
|
+
"gfx/",
|
|
127
|
+
);
|
|
128
|
+
sprite.ReplaceSpritesheet(1, pngPath);
|
|
129
|
+
sprite.LoadGraphics();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
92
134
|
}
|
|
93
135
|
}
|
|
94
136
|
|
package/src/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ export {
|
|
|
25
25
|
removeCustomGridEntity,
|
|
26
26
|
spawnCustomGridEntity,
|
|
27
27
|
} from "./features/customGridEntity";
|
|
28
|
+
export { registerCustomPickup } from "./features/customPickup";
|
|
28
29
|
export * from "./features/customStage/exports";
|
|
29
30
|
export * from "./features/customTrapdoor/exports";
|
|
30
31
|
export * from "./features/debugDisplay/exports";
|
package/src/initFeatures.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { characterHealthConversionInit } from "./features/characterHealthConvers
|
|
|
3
3
|
import { characterStatsInit } from "./features/characterStats";
|
|
4
4
|
import { collectibleItemPoolTypeInit } from "./features/collectibleItemPoolType";
|
|
5
5
|
import { customGridEntityInit } from "./features/customGridEntity";
|
|
6
|
+
import { customPickupInit } from "./features/customPickup";
|
|
6
7
|
import { customStageInit } from "./features/customStage/init";
|
|
7
8
|
import { customTrapdoorInit } from "./features/customTrapdoor/init";
|
|
8
9
|
import { deployJSONRoomInit } from "./features/deployJSONRoom";
|
|
@@ -42,6 +43,7 @@ function initFeaturesMajor(mod: ModUpgraded) {
|
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
function initFeaturesMinor(mod: ModUpgraded) {
|
|
46
|
+
customPickupInit();
|
|
45
47
|
customTrapdoorInit(mod);
|
|
46
48
|
disableAllSoundInit(mod);
|
|
47
49
|
disableInputsInit(mod);
|
|
@@ -132,9 +132,24 @@ export interface CustomStageTSConfig {
|
|
|
132
132
|
*
|
|
133
133
|
* If not specified, the vanilla Basement decorations spritesheet will be used. For reference,
|
|
134
134
|
* this is located at: `resources/gfx/grid/props_01_basement.png`
|
|
135
|
+
*
|
|
136
|
+
* If you want to have custom animations for your decorations, then do not use this field and use
|
|
137
|
+
* `decorationsANM2Path` instead.
|
|
135
138
|
*/
|
|
136
139
|
decorationsPNGPath?: string;
|
|
137
140
|
|
|
141
|
+
/**
|
|
142
|
+
* Optional. The full path to the anm2 file that contains the custom animations for the
|
|
143
|
+
* decorations of the floor.
|
|
144
|
+
*
|
|
145
|
+
* If not specified, the vanilla Basement decorations spritesheet will be used. For reference,
|
|
146
|
+
* this is located at: `resources/gfx/grid/props_01_basement.png`
|
|
147
|
+
*
|
|
148
|
+
* If you do not want to have custom animations for your decorations, then do not use this field
|
|
149
|
+
* and use `decorationsPNGPath` instead.
|
|
150
|
+
*/
|
|
151
|
+
decorationsANM2Path?: string;
|
|
152
|
+
|
|
138
153
|
/**
|
|
139
154
|
* Optional. The full path to the spritesheet that contains the graphics of the rocks/blocks/urns
|
|
140
155
|
* for the floor.
|
|
@@ -146,18 +161,53 @@ export interface CustomStageTSConfig {
|
|
|
146
161
|
*
|
|
147
162
|
* If not specified, the vanilla Basement rocks spritesheet will be used. For reference, this is
|
|
148
163
|
* located at: `resources-dlc3/gfx/grid/rocks_basement.png`
|
|
164
|
+
*
|
|
165
|
+
* If you want to have custom animations for your rocks, then do not use this field and use
|
|
166
|
+
* `rocksANM2Path` instead.
|
|
149
167
|
*/
|
|
150
168
|
rocksPNGPath?: string;
|
|
151
169
|
|
|
170
|
+
/**
|
|
171
|
+
* Optional. The full path to the anm2 file that contains the custom animations for the
|
|
172
|
+
* rocks/blocks/urns of the floor.
|
|
173
|
+
*
|
|
174
|
+
* If specified, it is assumed that you have your own custom rock alt type, and all vanilla
|
|
175
|
+
* rewards/enemies that spawn from urns will be automatically removed. Use the
|
|
176
|
+
* `POST_GRID_ENTITY_BROKEN` callback to make your own custom rewards. Or, if you want to emulate
|
|
177
|
+
* a vanilla urn/mushroom/skull/polyp/bucket, use the `spawnRockAltReward` helper function.
|
|
178
|
+
*
|
|
179
|
+
* If not specified, the vanilla Basement rocks spritesheet will be used. For reference, this is
|
|
180
|
+
* located at: `resources-dlc3/gfx/grid/rocks_basement.png`
|
|
181
|
+
*
|
|
182
|
+
* If you do not want to have custom animations for your rocks, then do not use this field and use
|
|
183
|
+
* `rocksPNGPath` instead.
|
|
184
|
+
*/
|
|
185
|
+
rocksANM2Path?: string;
|
|
186
|
+
|
|
152
187
|
/**
|
|
153
188
|
* Optional. The full path to the spritesheet that contains the graphics of the pits for the
|
|
154
189
|
* floor.
|
|
155
190
|
*
|
|
156
191
|
* If not specified, the vanilla Basement pits spritesheet will be used. For reference, this is
|
|
157
192
|
* located at: `resources/gfx/grid/grid_pit.png`
|
|
193
|
+
*
|
|
194
|
+
* If you do not want to have custom animations for your pits, then do not use this field and use
|
|
195
|
+
* `pitsANM2Path` instead.
|
|
158
196
|
*/
|
|
159
197
|
pitsPNGPath?: string;
|
|
160
198
|
|
|
199
|
+
/**
|
|
200
|
+
* Optional. The full path to the anm2 file that contains the custom animations for the pits of
|
|
201
|
+
* the floor.
|
|
202
|
+
*
|
|
203
|
+
* If not specified, the vanilla Basement pits spritesheet will be used. For reference, this is
|
|
204
|
+
* located at: `resources/gfx/grid/grid_pit.png`
|
|
205
|
+
*
|
|
206
|
+
* If you do not want to have custom animations for your pits, then do not use this field and use
|
|
207
|
+
* `pitsPNGPath` instead.
|
|
208
|
+
*/
|
|
209
|
+
pitsANM2Path?: string;
|
|
210
|
+
|
|
161
211
|
/**
|
|
162
212
|
* Optional. A collection of paths that contain graphics for the doors of the floor. If not
|
|
163
213
|
* specified, the doors for Basement will be used.
|