isaacscript-common 6.15.0 → 6.16.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/callbacks/postGridEntityCustomCollision.d.ts +2 -0
- package/dist/callbacks/postGridEntityCustomCollision.d.ts.map +1 -0
- package/dist/callbacks/postGridEntityCustomCollision.lua +71 -0
- package/dist/callbacks/postGridEntityCustomRender.lua +0 -7
- package/dist/callbacks/postGridEntityCustomUpdate.lua +0 -7
- package/dist/callbacks/subscriptions/postGridEntityCustomBroken.d.ts +6 -0
- package/dist/callbacks/subscriptions/postGridEntityCustomBroken.d.ts.map +1 -0
- package/dist/callbacks/subscriptions/postGridEntityCustomBroken.lua +29 -0
- package/dist/callbacks/subscriptions/postGridEntityCustomCollision.d.ts +6 -0
- package/dist/callbacks/subscriptions/postGridEntityCustomCollision.d.ts.map +1 -0
- package/dist/callbacks/subscriptions/postGridEntityCustomCollision.lua +29 -0
- package/dist/enums/ModCallbackCustom.d.ts +96 -62
- package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
- package/dist/enums/ModCallbackCustom.lua +64 -60
- package/dist/features/customGridEntity.d.ts +5 -1
- package/dist/features/customGridEntity.d.ts.map +1 -1
- package/dist/features/customGridEntity.lua +65 -5
- package/dist/functions/color.d.ts +11 -15
- package/dist/functions/color.d.ts.map +1 -1
- package/dist/functions/color.lua +55 -74
- package/dist/functions/deepCopy.d.ts.map +1 -1
- package/dist/functions/deepCopy.lua +22 -1
- package/dist/functions/gridEntities.d.ts +0 -16
- package/dist/functions/gridEntities.d.ts.map +1 -1
- package/dist/functions/gridEntities.lua +0 -19
- package/dist/functions/isaacAPIClass.d.ts +1 -1
- package/dist/functions/isaacAPIClass.d.ts.map +1 -1
- package/dist/functions/kColor.d.ts +11 -15
- package/dist/functions/kColor.d.ts.map +1 -1
- package/dist/functions/kColor.lua +42 -61
- package/dist/functions/mergeTests.lua +2 -2
- package/dist/functions/npcs.d.ts +1 -29
- package/dist/functions/npcs.d.ts.map +1 -1
- package/dist/functions/npcs.lua +0 -45
- package/dist/functions/projectiles.d.ts +32 -0
- package/dist/functions/projectiles.d.ts.map +1 -0
- package/dist/functions/projectiles.lua +73 -0
- package/dist/functions/rng.d.ts +11 -15
- package/dist/functions/rng.d.ts.map +1 -1
- package/dist/functions/rng.lua +32 -52
- package/dist/functions/rockAlt.d.ts +27 -3
- package/dist/functions/rockAlt.d.ts.map +1 -1
- package/dist/functions/rockAlt.lua +113 -33
- package/dist/functions/serialization.d.ts +26 -7
- package/dist/functions/serialization.d.ts.map +1 -1
- package/dist/functions/serialization.lua +51 -19
- package/dist/functions/table.d.ts +2 -2
- package/dist/functions/table.lua +2 -2
- package/dist/functions/tstlClass.d.ts +1 -1
- package/dist/functions/tstlClass.d.ts.map +1 -1
- package/dist/functions/vector.d.ts +11 -15
- package/dist/functions/vector.d.ts.map +1 -1
- package/dist/functions/vector.lua +36 -55
- package/dist/initCustomCallbacks.d.ts.map +1 -1
- package/dist/initCustomCallbacks.lua +3 -0
- package/dist/interfaces/AddCallbackParameterCustom.d.ts +4 -0
- package/dist/interfaces/AddCallbackParameterCustom.d.ts.map +1 -1
- package/dist/objects/callbackRegisterFunctions.d.ts.map +1 -1
- package/dist/objects/callbackRegisterFunctions.lua +6 -0
- package/dist/objects/isaacAPIClassTypeToFunctions.d.ts +12 -0
- package/dist/objects/isaacAPIClassTypeToFunctions.d.ts.map +1 -0
- package/dist/objects/isaacAPIClassTypeToFunctions.lua +25 -0
- package/dist/types/{private/IsaacAPIClass.d.ts → IsaacAPIClass.d.ts} +0 -0
- package/dist/types/IsaacAPIClass.d.ts.map +1 -0
- package/dist/types/{private/IsaacAPIClass.lua → IsaacAPIClass.lua} +0 -0
- package/dist/types/{private/SerializedIsaacAPIClass.d.ts → SerializedIsaacAPIClass.d.ts} +0 -0
- package/dist/types/SerializedIsaacAPIClass.d.ts.map +1 -0
- package/dist/types/{private/SerializedIsaacAPIClass.lua → SerializedIsaacAPIClass.lua} +0 -0
- package/dist/types/{private/TSTLClass.d.ts → TSTLClass.d.ts} +0 -0
- package/dist/types/TSTLClass.d.ts.map +1 -0
- package/dist/types/{private/TSTLClass.lua → TSTLClass.lua} +0 -0
- package/package.json +2 -2
- package/src/callbacks/postGridEntityCustomCollision.ts +74 -0
- package/src/callbacks/postGridEntityCustomRender.ts +1 -17
- package/src/callbacks/postGridEntityCustomUpdate.ts +1 -17
- package/src/callbacks/subscriptions/postGridEntityCustomBroken.ts +41 -0
- package/src/callbacks/subscriptions/postGridEntityCustomCollision.ts +43 -0
- package/src/enums/ModCallbackCustom.ts +38 -2
- package/src/features/customGridEntity.ts +76 -0
- package/src/functions/color.ts +67 -87
- package/src/functions/deepCopy.ts +15 -2
- package/src/functions/gridEntities.ts +0 -23
- package/src/functions/isaacAPIClass.ts +1 -1
- package/src/functions/kColor.ts +65 -84
- package/src/functions/mergeTests.ts +2 -2
- package/src/functions/npcs.ts +1 -58
- package/src/functions/projectiles.ts +78 -0
- package/src/functions/rng.ts +45 -65
- package/src/functions/rockAlt.ts +127 -40
- package/src/functions/serialization.ts +81 -25
- package/src/functions/table.ts +2 -2
- package/src/functions/tstlClass.ts +1 -1
- package/src/functions/vector.ts +55 -74
- package/src/initCustomCallbacks.ts +2 -0
- package/src/interfaces/AddCallbackParameterCustom.ts +4 -0
- package/src/objects/callbackRegisterFunctions.ts +6 -0
- package/src/objects/isaacAPIClassTypeToFunctions.ts +63 -0
- package/src/types/{private/IsaacAPIClass.ts → IsaacAPIClass.ts} +0 -0
- package/src/types/{private/SerializedIsaacAPIClass.ts → SerializedIsaacAPIClass.ts} +0 -0
- package/src/types/{private/TSTLClass.ts → TSTLClass.ts} +0 -0
- package/dist/objects/isaacAPIClassTypeToCopyFunction.d.ts +0 -6
- package/dist/objects/isaacAPIClassTypeToCopyFunction.d.ts.map +0 -1
- package/dist/objects/isaacAPIClassTypeToCopyFunction.lua +0 -13
- package/dist/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +0 -5
- package/dist/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts.map +0 -1
- package/dist/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +0 -13
- package/dist/types/private/IsaacAPIClass.d.ts.map +0 -1
- package/dist/types/private/SerializedIsaacAPIClass.d.ts.map +0 -1
- package/dist/types/private/TSTLClass.d.ts.map +0 -1
- package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
- package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
|
@@ -56,124 +56,128 @@ ____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 23
|
|
|
56
56
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN] = "POST_GRID_ENTITY_BROKEN"
|
|
57
57
|
____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 24
|
|
58
58
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION] = "POST_GRID_ENTITY_COLLISION"
|
|
59
|
-
____exports.ModCallbackCustom.
|
|
59
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN = 25
|
|
60
|
+
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN] = "POST_GRID_ENTITY_CUSTOM_BROKEN"
|
|
61
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION = 26
|
|
62
|
+
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION] = "POST_GRID_ENTITY_CUSTOM_COLLISION"
|
|
63
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER = 27
|
|
60
64
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER] = "POST_GRID_ENTITY_CUSTOM_RENDER"
|
|
61
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE =
|
|
65
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE = 28
|
|
62
66
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE] = "POST_GRID_ENTITY_CUSTOM_UPDATE"
|
|
63
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT =
|
|
67
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 29
|
|
64
68
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT] = "POST_GRID_ENTITY_INIT"
|
|
65
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE =
|
|
69
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 30
|
|
66
70
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE] = "POST_GRID_ENTITY_REMOVE"
|
|
67
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER =
|
|
71
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 31
|
|
68
72
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER] = "POST_GRID_ENTITY_RENDER"
|
|
69
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED =
|
|
73
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 32
|
|
70
74
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED] = "POST_GRID_ENTITY_STATE_CHANGED"
|
|
71
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE =
|
|
75
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 33
|
|
72
76
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE] = "POST_GRID_ENTITY_UPDATE"
|
|
73
|
-
____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED =
|
|
77
|
+
____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 34
|
|
74
78
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED] = "POST_HOLY_MANTLE_REMOVED"
|
|
75
|
-
____exports.ModCallbackCustom.POST_ITEM_DISCHARGE =
|
|
79
|
+
____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 35
|
|
76
80
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_DISCHARGE] = "POST_ITEM_DISCHARGE"
|
|
77
|
-
____exports.ModCallbackCustom.POST_ITEM_PICKUP =
|
|
81
|
+
____exports.ModCallbackCustom.POST_ITEM_PICKUP = 36
|
|
78
82
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_PICKUP] = "POST_ITEM_PICKUP"
|
|
79
|
-
____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE =
|
|
83
|
+
____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 37
|
|
80
84
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE] = "POST_KNIFE_INIT_LATE"
|
|
81
|
-
____exports.ModCallbackCustom.POST_LASER_INIT_LATE =
|
|
85
|
+
____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 38
|
|
82
86
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_LASER_INIT_LATE] = "POST_LASER_INIT_LATE"
|
|
83
|
-
____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED =
|
|
87
|
+
____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 39
|
|
84
88
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = "POST_NEW_LEVEL_REORDERED"
|
|
85
|
-
____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY =
|
|
89
|
+
____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 40
|
|
86
90
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
|
|
87
|
-
____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED =
|
|
91
|
+
____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 41
|
|
88
92
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
|
|
89
|
-
____exports.ModCallbackCustom.POST_NPC_INIT_LATE =
|
|
93
|
+
____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 42
|
|
90
94
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
|
|
91
|
-
____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED =
|
|
95
|
+
____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 43
|
|
92
96
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
|
|
93
|
-
____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED =
|
|
97
|
+
____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 44
|
|
94
98
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
|
|
95
|
-
____exports.ModCallbackCustom.POST_PICKUP_COLLECT =
|
|
99
|
+
____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 45
|
|
96
100
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
|
|
97
|
-
____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST =
|
|
101
|
+
____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 46
|
|
98
102
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
|
|
99
|
-
____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE =
|
|
103
|
+
____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 47
|
|
100
104
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
|
|
101
|
-
____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED =
|
|
105
|
+
____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 48
|
|
102
106
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
|
|
103
|
-
____exports.ModCallbackCustom.POST_PIT_RENDER =
|
|
107
|
+
____exports.ModCallbackCustom.POST_PIT_RENDER = 49
|
|
104
108
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_RENDER] = "POST_PIT_RENDER"
|
|
105
|
-
____exports.ModCallbackCustom.POST_PIT_UPDATE =
|
|
109
|
+
____exports.ModCallbackCustom.POST_PIT_UPDATE = 50
|
|
106
110
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
|
|
107
|
-
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH =
|
|
111
|
+
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 51
|
|
108
112
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
|
|
109
|
-
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE =
|
|
113
|
+
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 52
|
|
110
114
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
|
|
111
|
-
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED =
|
|
115
|
+
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 53
|
|
112
116
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
|
|
113
|
-
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED =
|
|
117
|
+
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 54
|
|
114
118
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
|
|
115
|
-
____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE =
|
|
119
|
+
____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 55
|
|
116
120
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
|
|
117
|
-
____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST =
|
|
121
|
+
____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST = 56
|
|
118
122
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST] = "POST_PLAYER_INIT_FIRST"
|
|
119
|
-
____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE =
|
|
123
|
+
____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 57
|
|
120
124
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
|
|
121
|
-
____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED =
|
|
125
|
+
____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 58
|
|
122
126
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
|
|
123
|
-
____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED =
|
|
127
|
+
____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 59
|
|
124
128
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
|
|
125
|
-
____exports.ModCallbackCustom.POST_POOP_RENDER =
|
|
129
|
+
____exports.ModCallbackCustom.POST_POOP_RENDER = 60
|
|
126
130
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_RENDER] = "POST_POOP_RENDER"
|
|
127
|
-
____exports.ModCallbackCustom.POST_POOP_UPDATE =
|
|
131
|
+
____exports.ModCallbackCustom.POST_POOP_UPDATE = 61
|
|
128
132
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
|
|
129
|
-
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER =
|
|
133
|
+
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 62
|
|
130
134
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
|
|
131
|
-
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE =
|
|
135
|
+
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 63
|
|
132
136
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
|
|
133
|
-
____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE =
|
|
137
|
+
____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 64
|
|
134
138
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
|
|
135
|
-
____exports.ModCallbackCustom.POST_PURCHASE =
|
|
139
|
+
____exports.ModCallbackCustom.POST_PURCHASE = 65
|
|
136
140
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PURCHASE] = "POST_PURCHASE"
|
|
137
|
-
____exports.ModCallbackCustom.POST_ROCK_RENDER =
|
|
141
|
+
____exports.ModCallbackCustom.POST_ROCK_RENDER = 66
|
|
138
142
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
|
|
139
|
-
____exports.ModCallbackCustom.POST_ROCK_UPDATE =
|
|
143
|
+
____exports.ModCallbackCustom.POST_ROCK_UPDATE = 67
|
|
140
144
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
|
|
141
|
-
____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED =
|
|
145
|
+
____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 68
|
|
142
146
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
|
|
143
|
-
____exports.ModCallbackCustom.POST_SACRIFICE =
|
|
147
|
+
____exports.ModCallbackCustom.POST_SACRIFICE = 69
|
|
144
148
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
|
|
145
|
-
____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED =
|
|
149
|
+
____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 70
|
|
146
150
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
|
|
147
|
-
____exports.ModCallbackCustom.POST_SLOT_DESTROYED =
|
|
151
|
+
____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 71
|
|
148
152
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
|
|
149
|
-
____exports.ModCallbackCustom.POST_SLOT_INIT =
|
|
153
|
+
____exports.ModCallbackCustom.POST_SLOT_INIT = 72
|
|
150
154
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
|
|
151
|
-
____exports.ModCallbackCustom.POST_SLOT_RENDER =
|
|
155
|
+
____exports.ModCallbackCustom.POST_SLOT_RENDER = 73
|
|
152
156
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
|
|
153
|
-
____exports.ModCallbackCustom.POST_SLOT_UPDATE =
|
|
157
|
+
____exports.ModCallbackCustom.POST_SLOT_UPDATE = 74
|
|
154
158
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
|
|
155
|
-
____exports.ModCallbackCustom.POST_SPIKES_RENDER =
|
|
159
|
+
____exports.ModCallbackCustom.POST_SPIKES_RENDER = 75
|
|
156
160
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
|
|
157
|
-
____exports.ModCallbackCustom.POST_SPIKES_UPDATE =
|
|
161
|
+
____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 76
|
|
158
162
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
|
|
159
|
-
____exports.ModCallbackCustom.POST_TEAR_INIT_LATE =
|
|
163
|
+
____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 77
|
|
160
164
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
|
|
161
|
-
____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE =
|
|
165
|
+
____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 78
|
|
162
166
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
|
|
163
|
-
____exports.ModCallbackCustom.POST_TNT_RENDER =
|
|
167
|
+
____exports.ModCallbackCustom.POST_TNT_RENDER = 79
|
|
164
168
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
|
|
165
|
-
____exports.ModCallbackCustom.POST_TNT_UPDATE =
|
|
169
|
+
____exports.ModCallbackCustom.POST_TNT_UPDATE = 80
|
|
166
170
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
|
|
167
|
-
____exports.ModCallbackCustom.POST_TRANSFORMATION =
|
|
171
|
+
____exports.ModCallbackCustom.POST_TRANSFORMATION = 81
|
|
168
172
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
|
|
169
|
-
____exports.ModCallbackCustom.POST_TRINKET_BREAK =
|
|
173
|
+
____exports.ModCallbackCustom.POST_TRINKET_BREAK = 82
|
|
170
174
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
|
|
171
|
-
____exports.ModCallbackCustom.PRE_BERSERK_DEATH =
|
|
175
|
+
____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 83
|
|
172
176
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
|
|
173
|
-
____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE =
|
|
177
|
+
____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 84
|
|
174
178
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
|
|
175
|
-
____exports.ModCallbackCustom.PRE_ITEM_PICKUP =
|
|
179
|
+
____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 85
|
|
176
180
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
|
|
177
|
-
____exports.ModCallbackCustom.PRE_NEW_LEVEL =
|
|
181
|
+
____exports.ModCallbackCustom.PRE_NEW_LEVEL = 86
|
|
178
182
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
|
|
179
183
|
return ____exports
|
|
@@ -25,8 +25,12 @@ import { CustomGridEntityData } from "../interfaces/CustomGridEntityData";
|
|
|
25
25
|
* @param defaultAnimation Optional. The name of the animation to play after the sprite is
|
|
26
26
|
* initialized and after the player re-enters a room with this grid entity
|
|
27
27
|
* in it. If not specified, the default animation in the anm2 will be used.
|
|
28
|
+
* @param breakable Optional. Whether or not an explosion will be able to break this grid entity.
|
|
29
|
+
* False by default. Use the `POST_GRID_ENTITY_CUSTOM_BROKEN` callback to detect
|
|
30
|
+
* when it breaks. Due to technical limitations, you can only set the grid entity
|
|
31
|
+
* to be breakable if it has a collision class.
|
|
28
32
|
*/
|
|
29
|
-
export declare function spawnCustomGridEntity(gridEntityTypeCustom: GridEntityType, gridIndexOrPosition: int | Vector, gridCollisionClass: GridCollisionClass, anm2Path: string, defaultAnimation?: string): GridEntity;
|
|
33
|
+
export declare function spawnCustomGridEntity(gridEntityTypeCustom: GridEntityType, gridIndexOrPosition: int | Vector, gridCollisionClass: GridCollisionClass, anm2Path: string, defaultAnimation?: string, breakable?: boolean): GridEntity;
|
|
30
34
|
/**
|
|
31
35
|
* Helper function to remove a custom grid entity created by the `spawnCustomGrid` function.
|
|
32
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customGridEntity.d.ts","sourceRoot":"","sources":["../../src/features/customGridEntity.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"customGridEntity.d.ts","sourceRoot":"","sources":["../../src/features/customGridEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,kBAAkB,EAClB,cAAc,EAGf,MAAM,8BAA8B,CAAC;AAgBtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AA0K1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,qBAAqB,CACnC,oBAAoB,EAAE,cAAc,EACpC,mBAAmB,EAAE,GAAG,GAAG,MAAM,EACjC,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,UAAQ,GAChB,UAAU,CA8DZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,+BAA+B,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,EAC1D,UAAU,UAAO,GAChB,UAAU,GAAG,SAAS,CAqCxB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,KAAK,CAC5C;IAAC,UAAU,EAAE,UAAU;IAAE,IAAI,EAAE,oBAAoB;CAAC,CACrD,CAiBA"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local Map = ____lualib.Map
|
|
3
3
|
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local Set = ____lualib.Set
|
|
4
5
|
local __TS__Iterator = ____lualib.__TS__Iterator
|
|
5
6
|
local ____exports = {}
|
|
6
|
-
local preUseItemWeNeedToGoDeeper, postNewRoomReordered, v
|
|
7
|
+
local entityTakeDmgDummy, preUseItemWeNeedToGoDeeper, postNewRoomReordered, v
|
|
7
8
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
8
9
|
local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
|
|
10
|
+
local DamageFlag = ____isaac_2Dtypescript_2Ddefinitions.DamageFlag
|
|
11
|
+
local EntityType = ____isaac_2Dtypescript_2Ddefinitions.EntityType
|
|
9
12
|
local GridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.GridCollisionClass
|
|
10
13
|
local GridEntityType = ____isaac_2Dtypescript_2Ddefinitions.GridEntityType
|
|
11
14
|
local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
|
|
12
15
|
local ____cachedClasses = require("cachedClasses")
|
|
13
16
|
local game = ____cachedClasses.game
|
|
17
|
+
local ____postGridEntityCustomBroken = require("callbacks.subscriptions.postGridEntityCustomBroken")
|
|
18
|
+
local postGridEntityCustomBrokenFire = ____postGridEntityCustomBroken.postGridEntityCustomBrokenFire
|
|
14
19
|
local ____DefaultMap = require("classes.DefaultMap")
|
|
15
20
|
local DefaultMap = ____DefaultMap.DefaultMap
|
|
16
21
|
local ____DecorationVariant = require("enums.DecorationVariant")
|
|
@@ -19,6 +24,10 @@ local ____ModCallbackCustom = require("enums.ModCallbackCustom")
|
|
|
19
24
|
local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
|
|
20
25
|
local ____featuresInitialized = require("featuresInitialized")
|
|
21
26
|
local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
|
|
27
|
+
local ____entitiesSpecific = require("functions.entitiesSpecific")
|
|
28
|
+
local spawnNPC = ____entitiesSpecific.spawnNPC
|
|
29
|
+
local ____flag = require("functions.flag")
|
|
30
|
+
local hasFlag = ____flag.hasFlag
|
|
22
31
|
local ____gridEntities = require("functions.gridEntities")
|
|
23
32
|
local removeGridEntity = ____gridEntities.removeGridEntity
|
|
24
33
|
local spawnGridEntityWithVariant = ____gridEntities.spawnGridEntityWithVariant
|
|
@@ -30,6 +39,32 @@ local ____runInNFrames = require("features.runInNFrames")
|
|
|
30
39
|
local runNextGameFrame = ____runInNFrames.runNextGameFrame
|
|
31
40
|
local ____exports = require("features.saveDataManager.exports")
|
|
32
41
|
local saveDataManager = ____exports.saveDataManager
|
|
42
|
+
function entityTakeDmgDummy(self, tookDamage, _damageAmount, damageFlags, _damageSource, _damageCountdownFrames)
|
|
43
|
+
local ptrHash = GetPtrHash(tookDamage)
|
|
44
|
+
if not v.room.dummyPtrHashes:has(ptrHash) then
|
|
45
|
+
return nil
|
|
46
|
+
end
|
|
47
|
+
if not hasFlag(nil, damageFlags, DamageFlag.EXPLOSION) then
|
|
48
|
+
return false
|
|
49
|
+
end
|
|
50
|
+
local room = game:GetRoom()
|
|
51
|
+
local roomListIndex = getRoomListIndex(nil)
|
|
52
|
+
local roomCustomGridEntities = v.level.customGridEntities:get(roomListIndex)
|
|
53
|
+
if roomCustomGridEntities == nil then
|
|
54
|
+
return false
|
|
55
|
+
end
|
|
56
|
+
local gridIndex = room:GetGridIndex(tookDamage.Position)
|
|
57
|
+
local data = roomCustomGridEntities:get(gridIndex)
|
|
58
|
+
if data == nil then
|
|
59
|
+
return false
|
|
60
|
+
end
|
|
61
|
+
local gridEntity = room:GetGridEntity(gridIndex)
|
|
62
|
+
if gridEntity == nil then
|
|
63
|
+
error("Failed to get the grid entity for a custom grid entity that broke at grid index: " .. tostring(gridIndex))
|
|
64
|
+
end
|
|
65
|
+
postGridEntityCustomBrokenFire(nil, gridEntity, data.gridEntityTypeCustom)
|
|
66
|
+
return false
|
|
67
|
+
end
|
|
33
68
|
function preUseItemWeNeedToGoDeeper(self, _collectibleType, _rng, player, _useFlags, _activeSlot, _customVarData)
|
|
34
69
|
local room = game:GetRoom()
|
|
35
70
|
local roomListIndex = getRoomListIndex(nil)
|
|
@@ -79,14 +114,14 @@ function postNewRoomReordered(self)
|
|
|
79
114
|
local decoration = room:GetGridEntity(gridIndex)
|
|
80
115
|
if decoration == nil then
|
|
81
116
|
roomCustomGridEntities:delete(gridIndex)
|
|
82
|
-
goto
|
|
117
|
+
goto __continue19
|
|
83
118
|
end
|
|
84
119
|
local sprite = decoration:GetSprite()
|
|
85
120
|
sprite:Load(data.anm2Path, true)
|
|
86
121
|
local animationToPlay = data.defaultAnimation == nil and sprite:GetDefaultAnimation() or data.defaultAnimation
|
|
87
122
|
sprite:Play(animationToPlay, true)
|
|
88
123
|
end
|
|
89
|
-
::
|
|
124
|
+
::__continue19::
|
|
90
125
|
end
|
|
91
126
|
end
|
|
92
127
|
local FEATURE_NAME = "customGridEntity"
|
|
@@ -95,12 +130,16 @@ v = {
|
|
|
95
130
|
DefaultMap,
|
|
96
131
|
function() return __TS__New(Map) end
|
|
97
132
|
)},
|
|
98
|
-
room = {
|
|
133
|
+
room = {
|
|
134
|
+
dummyPtrHashes = __TS__New(Set),
|
|
135
|
+
manuallyUsingShovel = false
|
|
136
|
+
}
|
|
99
137
|
}
|
|
100
138
|
---
|
|
101
139
|
-- @internal
|
|
102
140
|
function ____exports.customGridEntityInit(self, mod)
|
|
103
141
|
saveDataManager(nil, FEATURE_NAME, v)
|
|
142
|
+
mod:AddCallback(ModCallback.ENTITY_TAKE_DMG, entityTakeDmgDummy, EntityType.DUMMY)
|
|
104
143
|
mod:AddCallback(ModCallback.PRE_USE_ITEM, preUseItemWeNeedToGoDeeper, CollectibleType.WE_NEED_TO_GO_DEEPER)
|
|
105
144
|
mod:AddCallbackCustom(ModCallbackCustom.POST_NEW_ROOM_REORDERED, postNewRoomReordered)
|
|
106
145
|
end
|
|
@@ -128,8 +167,18 @@ end
|
|
|
128
167
|
-- @param defaultAnimation Optional. The name of the animation to play after the sprite is
|
|
129
168
|
-- initialized and after the player re-enters a room with this grid entity
|
|
130
169
|
-- in it. If not specified, the default animation in the anm2 will be used.
|
|
131
|
-
|
|
170
|
+
-- @param breakable Optional. Whether or not an explosion will be able to break this grid entity.
|
|
171
|
+
-- False by default. Use the `POST_GRID_ENTITY_CUSTOM_BROKEN` callback to detect
|
|
172
|
+
-- when it breaks. Due to technical limitations, you can only set the grid entity
|
|
173
|
+
-- to be breakable if it has a collision class.
|
|
174
|
+
function ____exports.spawnCustomGridEntity(self, gridEntityTypeCustom, gridIndexOrPosition, gridCollisionClass, anm2Path, defaultAnimation, breakable)
|
|
175
|
+
if breakable == nil then
|
|
176
|
+
breakable = false
|
|
177
|
+
end
|
|
132
178
|
errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
|
|
179
|
+
if breakable and gridCollisionClass == GridCollisionClass.NONE then
|
|
180
|
+
error("Failed to spawn a custom grid entity because it is not possible to have breakable custom grid entities with a collision class of: GridCollisionClass.NONE (0)")
|
|
181
|
+
end
|
|
133
182
|
local room = game:GetRoom()
|
|
134
183
|
local roomListIndex = getRoomListIndex(nil)
|
|
135
184
|
local gridIndex = isVector(nil, gridIndexOrPosition) and room:GetGridIndex(gridIndexOrPosition) or gridIndexOrPosition
|
|
@@ -153,6 +202,17 @@ function ____exports.spawnCustomGridEntity(self, gridEntityTypeCustom, gridIndex
|
|
|
153
202
|
}
|
|
154
203
|
local roomCustomGridEntities = v.level.customGridEntities:getAndSetDefault(roomListIndex)
|
|
155
204
|
roomCustomGridEntities:set(gridIndex, customGridEntityData)
|
|
205
|
+
if breakable then
|
|
206
|
+
local position = room:GetGridPosition(gridIndex)
|
|
207
|
+
local dummy = spawnNPC(
|
|
208
|
+
nil,
|
|
209
|
+
EntityType.DUMMY,
|
|
210
|
+
0,
|
|
211
|
+
0,
|
|
212
|
+
position
|
|
213
|
+
)
|
|
214
|
+
dummy.Visible = false
|
|
215
|
+
end
|
|
156
216
|
return decoration
|
|
157
217
|
end
|
|
158
218
|
--- Helper function to remove a custom grid entity created by the `spawnCustomGrid` function.
|
|
@@ -2,25 +2,17 @@
|
|
|
2
2
|
/// <reference types="isaac-typescript-definitions" />
|
|
3
3
|
/// <reference types="isaac-typescript-definitions" />
|
|
4
4
|
/// <reference types="isaac-typescript-definitions" />
|
|
5
|
-
|
|
6
|
-
declare type SerializedColor = LuaMap<string, unknown> & {
|
|
5
|
+
export declare type SerializedColor = LuaMap<string, unknown> & {
|
|
7
6
|
readonly __serializedColorBrand: symbol;
|
|
8
7
|
};
|
|
9
|
-
interface CopyColorReturn {
|
|
10
|
-
[SerializationType.NONE]: Color;
|
|
11
|
-
[SerializationType.SERIALIZE]: SerializedColor;
|
|
12
|
-
[SerializationType.DESERIALIZE]: Color;
|
|
13
|
-
}
|
|
14
8
|
export declare function colorEquals(color1: Color, color2: Color): boolean;
|
|
9
|
+
/** Helper function to copy a `Color` Isaac API class. */
|
|
10
|
+
export declare function copyColor(color: Color): Color;
|
|
15
11
|
/**
|
|
16
|
-
* Helper function to
|
|
17
|
-
*
|
|
18
|
-
* @param color The Color object to copy. In the case of deserialization, this will actually be a
|
|
19
|
-
* Lua table instead of an instantiated Color class.
|
|
20
|
-
* @param serializationType Default is `SerializationType.NONE`.
|
|
12
|
+
* Helper function to convert a `SerializedColor` object to a normal `Color` object. (This is used
|
|
13
|
+
* by the save data manager when reading data from the "save#.dat" file.)
|
|
21
14
|
*/
|
|
22
|
-
export declare function
|
|
23
|
-
export declare function copyColor<C extends Color | SerializedColor>(color: C): CopyColorReturn[SerializationType.NONE];
|
|
15
|
+
export declare function deserializeColor(color: SerializedColor): Color;
|
|
24
16
|
/**
|
|
25
17
|
* Helper function to get a random color.
|
|
26
18
|
*
|
|
@@ -36,5 +28,9 @@ export declare function isColor(object: unknown): object is Color;
|
|
|
36
28
|
* manager and/or the `deepCopy` function.
|
|
37
29
|
*/
|
|
38
30
|
export declare function isSerializedColor(object: unknown): object is SerializedColor;
|
|
39
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Helper function to convert a `Color` object to a `SerializedColor` object. (This is used by the
|
|
33
|
+
* save data manager when writing data from the "save#.dat" file.)
|
|
34
|
+
*/
|
|
35
|
+
export declare function serializeColor(color: Color): SerializedColor;
|
|
40
36
|
//# sourceMappingURL=color.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/functions/color.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../src/functions/color.ts"],"names":[],"mappings":";;;;AAOA,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACtD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC,CAAC;AAKF,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAEjE;AAED,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAgB7C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CA8B9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,KAAK,SAAI,GACR,KAAK,CAQP;AAED,6EAA6E;AAC7E,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,KAAK,CAExD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,eAAe,CAM5E;AACD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAW5D"}
|
package/dist/functions/color.lua
CHANGED
|
@@ -2,8 +2,6 @@ local ____exports = {}
|
|
|
2
2
|
local OBJECT_NAME
|
|
3
3
|
local ____SerializationBrand = require("enums.private.SerializationBrand")
|
|
4
4
|
local SerializationBrand = ____SerializationBrand.SerializationBrand
|
|
5
|
-
local ____SerializationType = require("enums.SerializationType")
|
|
6
|
-
local SerializationType = ____SerializationType.SerializationType
|
|
7
5
|
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
8
6
|
local isaacAPIClassEquals = ____isaacAPIClass.isaacAPIClassEquals
|
|
9
7
|
local isIsaacAPIClassOfType = ____isaacAPIClass.isIsaacAPIClassOfType
|
|
@@ -36,79 +34,51 @@ OBJECT_NAME = "Color"
|
|
|
36
34
|
function ____exports.colorEquals(self, color1, color2)
|
|
37
35
|
return isaacAPIClassEquals(nil, color1, color2, KEYS)
|
|
38
36
|
end
|
|
39
|
-
--- Helper function to copy a `Color`
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
--- Helper function to copy a `Color` Isaac API class.
|
|
38
|
+
function ____exports.copyColor(self, color)
|
|
39
|
+
if not ____exports.isColor(nil, color) then
|
|
40
|
+
error(((("Failed to copy a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
41
|
+
end
|
|
42
|
+
return Color(
|
|
43
|
+
color.R,
|
|
44
|
+
color.G,
|
|
45
|
+
color.B,
|
|
46
|
+
color.A,
|
|
47
|
+
color.RO,
|
|
48
|
+
color.GO,
|
|
49
|
+
color.BO
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
--- Helper function to convert a `SerializedColor` object to a normal `Color` object. (This is used
|
|
53
|
+
-- by the save data manager when reading data from the "save#.dat" file.)
|
|
54
|
+
function ____exports.deserializeColor(self, color)
|
|
55
|
+
if not isTable(nil, color) then
|
|
56
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object was not a Lua table.")
|
|
57
|
+
end
|
|
58
|
+
local r, g, b, a, ro, go, bo = table.unpack(getNumbersFromTable(
|
|
59
|
+
nil,
|
|
60
|
+
color,
|
|
61
|
+
OBJECT_NAME,
|
|
62
|
+
table.unpack(KEYS)
|
|
63
|
+
))
|
|
64
|
+
if r == nil then
|
|
65
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: R")
|
|
66
|
+
end
|
|
67
|
+
if g == nil then
|
|
68
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: G")
|
|
69
|
+
end
|
|
70
|
+
if b == nil then
|
|
71
|
+
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: B")
|
|
47
72
|
end
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
color.R,
|
|
58
|
-
color.G,
|
|
59
|
-
color.B,
|
|
60
|
-
color.A,
|
|
61
|
-
color.RO,
|
|
62
|
-
color.GO,
|
|
63
|
-
color.BO
|
|
64
|
-
)
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
____cond4 = ____cond4 or ____switch4 == SerializationType.SERIALIZE
|
|
68
|
-
if ____cond4 then
|
|
69
|
-
do
|
|
70
|
-
if not ____exports.isColor(nil, color) then
|
|
71
|
-
error(((("Failed to serialize a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
72
|
-
end
|
|
73
|
-
local colorTable = {}
|
|
74
|
-
copyValuesToTable(nil, color, KEYS, colorTable)
|
|
75
|
-
colorTable[SerializationBrand.COLOR] = ""
|
|
76
|
-
return colorTable
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
____cond4 = ____cond4 or ____switch4 == SerializationType.DESERIALIZE
|
|
80
|
-
if ____cond4 then
|
|
81
|
-
do
|
|
82
|
-
if not isTable(nil, color) then
|
|
83
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object was not a Lua table.")
|
|
84
|
-
end
|
|
85
|
-
local r, g, b, a, ro, go, bo = table.unpack(getNumbersFromTable(
|
|
86
|
-
nil,
|
|
87
|
-
color,
|
|
88
|
-
OBJECT_NAME,
|
|
89
|
-
table.unpack(KEYS)
|
|
90
|
-
))
|
|
91
|
-
if r == nil then
|
|
92
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: r")
|
|
93
|
-
end
|
|
94
|
-
if g == nil then
|
|
95
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: g")
|
|
96
|
-
end
|
|
97
|
-
if b == nil then
|
|
98
|
-
error(("Failed to deserialize a " .. OBJECT_NAME) .. " object since the provided object did not have a value for: b")
|
|
99
|
-
end
|
|
100
|
-
return Color(
|
|
101
|
-
r,
|
|
102
|
-
g,
|
|
103
|
-
b,
|
|
104
|
-
a,
|
|
105
|
-
ro,
|
|
106
|
-
go,
|
|
107
|
-
bo
|
|
108
|
-
)
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
until true
|
|
73
|
+
return Color(
|
|
74
|
+
r,
|
|
75
|
+
g,
|
|
76
|
+
b,
|
|
77
|
+
a,
|
|
78
|
+
ro,
|
|
79
|
+
go,
|
|
80
|
+
bo
|
|
81
|
+
)
|
|
112
82
|
end
|
|
113
83
|
--- Helper function to get a random color.
|
|
114
84
|
--
|
|
@@ -140,4 +110,15 @@ function ____exports.isSerializedColor(self, object)
|
|
|
140
110
|
table.unpack(KEYS)
|
|
141
111
|
) and object[SerializationBrand.COLOR] ~= nil
|
|
142
112
|
end
|
|
113
|
+
--- Helper function to convert a `Color` object to a `SerializedColor` object. (This is used by the
|
|
114
|
+
-- save data manager when writing data from the "save#.dat" file.)
|
|
115
|
+
function ____exports.serializeColor(self, color)
|
|
116
|
+
if not ____exports.isColor(nil, color) then
|
|
117
|
+
error(((("Failed to serialize a " .. OBJECT_NAME) .. " object since the provided object was not a userdata ") .. OBJECT_NAME) .. " class.")
|
|
118
|
+
end
|
|
119
|
+
local colorTable = {}
|
|
120
|
+
copyValuesToTable(nil, color, KEYS, colorTable)
|
|
121
|
+
colorTable[SerializationBrand.COLOR] = ""
|
|
122
|
+
return colorTable
|
|
123
|
+
end
|
|
143
124
|
return ____exports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepCopy.d.ts","sourceRoot":"","sources":["../../src/functions/deepCopy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"deepCopy.d.ts","sourceRoot":"","sources":["../../src/functions/deepCopy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AA6B/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,EACd,iBAAiB,oBAAyB,EAC1C,oBAAoB,SAAK,EACzB,SAAS,UAAQ,GAChB,OAAO,CAkDT"}
|
|
@@ -31,6 +31,7 @@ local ____serialization = require("functions.serialization")
|
|
|
31
31
|
local copyIsaacAPIClass = ____serialization.copyIsaacAPIClass
|
|
32
32
|
local deserializeIsaacAPIClass = ____serialization.deserializeIsaacAPIClass
|
|
33
33
|
local isSerializedIsaacAPIClass = ____serialization.isSerializedIsaacAPIClass
|
|
34
|
+
local serializeIsaacAPIClass = ____serialization.serializeIsaacAPIClass
|
|
34
35
|
local ____tstlClass = require("functions.tstlClass")
|
|
35
36
|
local getTSTLClassName = ____tstlClass.getTSTLClassName
|
|
36
37
|
local isDefaultMap = ____tstlClass.isDefaultMap
|
|
@@ -520,7 +521,27 @@ function deepCopyUserdata(self, value, serializationType, traversalDescription)
|
|
|
520
521
|
if not COPYABLE_ISAAC_API_CLASS_TYPES_SET:has(classType) then
|
|
521
522
|
error((("The deep copy function does not support copying \"" .. traversalDescription) .. "\", since it is an Isaac API class of type: ") .. classType)
|
|
522
523
|
end
|
|
523
|
-
|
|
524
|
+
repeat
|
|
525
|
+
local ____switch99 = serializationType
|
|
526
|
+
local ____cond99 = ____switch99 == SerializationType.NONE
|
|
527
|
+
if ____cond99 then
|
|
528
|
+
do
|
|
529
|
+
return copyIsaacAPIClass(nil, value)
|
|
530
|
+
end
|
|
531
|
+
end
|
|
532
|
+
____cond99 = ____cond99 or ____switch99 == SerializationType.SERIALIZE
|
|
533
|
+
if ____cond99 then
|
|
534
|
+
do
|
|
535
|
+
return serializeIsaacAPIClass(nil, value)
|
|
536
|
+
end
|
|
537
|
+
end
|
|
538
|
+
____cond99 = ____cond99 or ____switch99 == SerializationType.DESERIALIZE
|
|
539
|
+
if ____cond99 then
|
|
540
|
+
do
|
|
541
|
+
return deserializeIsaacAPIClass(nil, value)
|
|
542
|
+
end
|
|
543
|
+
end
|
|
544
|
+
until true
|
|
524
545
|
end
|
|
525
546
|
COPYABLE_ISAAC_API_CLASS_TYPES_SET = __TS__New(
|
|
526
547
|
Set,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CrawlSpaceVariant, GridEntityType, GridEntityXMLType, TrapdoorVariant } from "isaac-typescript-definitions";
|
|
2
|
-
import { RockAltType } from "../enums/RockAltType";
|
|
3
2
|
import { AnyGridEntity } from "../types/AnyGridEntity";
|
|
4
3
|
/**
|
|
5
4
|
* Helper function to convert the grid entity type found in a room XML file to the corresponding
|
|
@@ -82,21 +81,6 @@ export declare function getGridEntityIDFromConstituents(gridEntityType: GridEnti
|
|
|
82
81
|
* If you want to match every variant, use the `getGridEntities` function instead.
|
|
83
82
|
*/
|
|
84
83
|
export declare function getMatchingGridEntities(gridEntityType: GridEntityType, variant: int): GridEntity[];
|
|
85
|
-
/**
|
|
86
|
-
* Helper function to get the alternate rock type (i.e. urn, mushroom, etc.) that the current room
|
|
87
|
-
* will have.
|
|
88
|
-
*
|
|
89
|
-
* The rock type is based on the backdrop of the room.
|
|
90
|
-
*
|
|
91
|
-
* For example, if you change the backdrop of the starting room of the run to `BackdropType.CAVES`,
|
|
92
|
-
* and then spawn `GridEntityType.ROCK_ALT`, it will be a mushroom instead of an urn. Additionally,
|
|
93
|
-
* if it is destroyed, it will generate mushroom-appropriate rewards.
|
|
94
|
-
*
|
|
95
|
-
* On the other hand, if an urn is spawned first before the backdrop is changed to
|
|
96
|
-
* `BackdropType.CAVES`, the graphic of the urn will not switch to a mushroom. However, when
|
|
97
|
-
* destroyed, the urn will still generate mushroom-appropriate rewards.
|
|
98
|
-
*/
|
|
99
|
-
export declare function getRockAltType(): RockAltType;
|
|
100
84
|
export declare function getSurroundingGridEntities(gridEntity: GridEntity): GridEntity[];
|
|
101
85
|
export declare function getTopLeftWall(): GridEntity | undefined;
|
|
102
86
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gridEntities.d.ts","sourceRoot":"","sources":["../../src/functions/gridEntities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,cAAc,EACd,iBAAiB,EAGjB,eAAe,EAChB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"gridEntities.d.ts","sourceRoot":"","sources":["../../src/functions/gridEntities.ts"],"names":[],"mappings":"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"}
|