isaacscript-common 3.11.0 → 3.14.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/callbacks/postBombInitLate.lua +1 -1
- package/callbacks/postBoneSwing.lua +1 -1
- package/callbacks/postCollectibleInitFirst.lua +1 -1
- package/callbacks/postCursedTeleport.lua +1 -1
- package/callbacks/postCustomDoorEnter.lua +1 -1
- package/callbacks/postDiceRoomActivated.d.ts +1 -0
- package/callbacks/postDiceRoomActivated.lua +41 -0
- package/callbacks/postEffectInitLate.lua +1 -1
- package/callbacks/postEffectStateChanged.lua +1 -1
- package/callbacks/postFamiliarInitLate.lua +1 -1
- package/callbacks/postFamiliarStateChanged.lua +1 -1
- package/callbacks/postGreedModeWave.lua +1 -1
- package/callbacks/postHolyMantleRemoved.lua +1 -1
- package/callbacks/postItemDischarged.d.ts +1 -1
- package/callbacks/postItemDischarged.lua +1 -1
- package/callbacks/postKnifeInitLate.lua +1 -1
- package/callbacks/postLaserInitLate.lua +1 -1
- package/callbacks/postNPCInitLate.lua +1 -1
- package/callbacks/postNPCStateChanged.lua +1 -1
- package/callbacks/postPickupCollect.lua +1 -1
- package/callbacks/postPickupInitFirst.lua +1 -1
- package/callbacks/postPickupInitLate.lua +1 -1
- package/callbacks/postPickupStateChanged.lua +1 -1
- package/callbacks/postPlayerChangeHealth.lua +1 -1
- package/callbacks/postPlayerChangeType.lua +1 -1
- package/callbacks/postPlayerCollectible.lua +1 -1
- package/callbacks/postPlayerFatalDamage.lua +1 -1
- package/callbacks/postPlayerInitLate.lua +1 -1
- package/callbacks/postProjectileInitLate.lua +1 -1
- package/callbacks/postPurchase.lua +1 -1
- package/callbacks/postRoomClearChanged.lua +1 -1
- package/callbacks/postSacrifice.lua +1 -1
- package/callbacks/postSlotDestroyed.lua +1 -1
- package/callbacks/postTearInitLate.lua +1 -1
- package/callbacks/postTearInitVeryLate.lua +1 -1
- package/callbacks/postTransformation.lua +1 -1
- package/callbacks/postTrinketBreak.lua +1 -1
- package/callbacks/preBerserkDeath.lua +1 -1
- package/callbacks/preNewLevel.lua +1 -1
- package/callbacks/subscriptions/postDiceRoomActivated.d.ts +5 -0
- package/callbacks/subscriptions/postDiceRoomActivated.lua +29 -0
- package/constants.d.ts +2 -2
- package/enums/ModCallbackCustom.d.ts +84 -72
- package/enums/ModCallbackCustom.lua +74 -72
- package/functions/collectibles.d.ts +5 -0
- package/functions/collectibles.lua +50 -30
- package/functions/effects.d.ts +6 -0
- package/functions/effects.lua +12 -0
- package/functions/entity.d.ts +6 -0
- package/functions/entity.lua +44 -0
- package/functions/log.d.ts +5 -0
- package/functions/log.lua +40 -10
- package/functions/utils.d.ts +1 -0
- package/functions/utils.lua +1 -0
- package/index.d.ts +1 -0
- package/index.lua +8 -0
- package/initCustomCallbacks.lua +75 -72
- package/interfaces/AddCallbackParameterCustom.d.ts +2 -0
- package/objects/callbackRegisterFunctions.lua +3 -0
- package/package.json +2 -2
|
@@ -24,148 +24,150 @@ ____exports.ModCallbackCustom.POST_CUSTOM_DOOR_ENTER = 7
|
|
|
24
24
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CUSTOM_DOOR_ENTER] = "POST_CUSTOM_DOOR_ENTER"
|
|
25
25
|
____exports.ModCallbackCustom.POST_CUSTOM_REVIVE = 8
|
|
26
26
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CUSTOM_REVIVE] = "POST_CUSTOM_REVIVE"
|
|
27
|
-
____exports.ModCallbackCustom.
|
|
27
|
+
____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED = 9
|
|
28
|
+
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED] = "POST_DICE_ROOM_ACTIVATED"
|
|
29
|
+
____exports.ModCallbackCustom.POST_DOOR_RENDER = 10
|
|
28
30
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DOOR_RENDER] = "POST_DOOR_RENDER"
|
|
29
|
-
____exports.ModCallbackCustom.POST_DOOR_UPDATE =
|
|
31
|
+
____exports.ModCallbackCustom.POST_DOOR_UPDATE = 11
|
|
30
32
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DOOR_UPDATE] = "POST_DOOR_UPDATE"
|
|
31
|
-
____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE =
|
|
33
|
+
____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE = 12
|
|
32
34
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE] = "POST_EFFECT_INIT_LATE"
|
|
33
|
-
____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED =
|
|
35
|
+
____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED = 13
|
|
34
36
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED] = "POST_EFFECT_STATE_CHANGED"
|
|
35
|
-
____exports.ModCallbackCustom.POST_ESAU_JR =
|
|
37
|
+
____exports.ModCallbackCustom.POST_ESAU_JR = 14
|
|
36
38
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ESAU_JR] = "POST_ESAU_JR"
|
|
37
|
-
____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE =
|
|
39
|
+
____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE = 15
|
|
38
40
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE] = "POST_FAMILIAR_INIT_LATE"
|
|
39
|
-
____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED =
|
|
41
|
+
____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED = 16
|
|
40
42
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED] = "POST_FAMILIAR_STATE_CHANGED"
|
|
41
|
-
____exports.ModCallbackCustom.POST_FIRST_ESAU_JR =
|
|
43
|
+
____exports.ModCallbackCustom.POST_FIRST_ESAU_JR = 17
|
|
42
44
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FIRST_ESAU_JR] = "POST_FIRST_ESAU_JR"
|
|
43
|
-
____exports.ModCallbackCustom.POST_FIRST_FLIP =
|
|
45
|
+
____exports.ModCallbackCustom.POST_FIRST_FLIP = 18
|
|
44
46
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FIRST_FLIP] = "POST_FIRST_FLIP"
|
|
45
|
-
____exports.ModCallbackCustom.POST_FLIP =
|
|
47
|
+
____exports.ModCallbackCustom.POST_FLIP = 19
|
|
46
48
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FLIP] = "POST_FLIP"
|
|
47
|
-
____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED =
|
|
49
|
+
____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED = 20
|
|
48
50
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED] = "POST_GAME_STARTED_REORDERED"
|
|
49
|
-
____exports.ModCallbackCustom.POST_GREED_MODE_WAVE =
|
|
51
|
+
____exports.ModCallbackCustom.POST_GREED_MODE_WAVE = 21
|
|
50
52
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GREED_MODE_WAVE] = "POST_GREED_MODE_WAVE"
|
|
51
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN =
|
|
53
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 22
|
|
52
54
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN] = "POST_GRID_ENTITY_BROKEN"
|
|
53
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION =
|
|
55
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 23
|
|
54
56
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION] = "POST_GRID_ENTITY_COLLISION"
|
|
55
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT =
|
|
57
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 24
|
|
56
58
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT] = "POST_GRID_ENTITY_INIT"
|
|
57
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE =
|
|
59
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 25
|
|
58
60
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE] = "POST_GRID_ENTITY_REMOVE"
|
|
59
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER =
|
|
61
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 26
|
|
60
62
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER] = "POST_GRID_ENTITY_RENDER"
|
|
61
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED =
|
|
63
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 27
|
|
62
64
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED] = "POST_GRID_ENTITY_STATE_CHANGED"
|
|
63
|
-
____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE =
|
|
65
|
+
____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 28
|
|
64
66
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE] = "POST_GRID_ENTITY_UPDATE"
|
|
65
|
-
____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED =
|
|
67
|
+
____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 29
|
|
66
68
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED] = "POST_HOLY_MANTLE_REMOVED"
|
|
67
|
-
____exports.ModCallbackCustom.POST_ITEM_DISCHARGE =
|
|
69
|
+
____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 30
|
|
68
70
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_DISCHARGE] = "POST_ITEM_DISCHARGE"
|
|
69
|
-
____exports.ModCallbackCustom.POST_ITEM_PICKUP =
|
|
71
|
+
____exports.ModCallbackCustom.POST_ITEM_PICKUP = 31
|
|
70
72
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_PICKUP] = "POST_ITEM_PICKUP"
|
|
71
|
-
____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE =
|
|
73
|
+
____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 32
|
|
72
74
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE] = "POST_KNIFE_INIT_LATE"
|
|
73
|
-
____exports.ModCallbackCustom.POST_LASER_INIT_LATE =
|
|
75
|
+
____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 33
|
|
74
76
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_LASER_INIT_LATE] = "POST_LASER_INIT_LATE"
|
|
75
|
-
____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED =
|
|
77
|
+
____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 34
|
|
76
78
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = "POST_NEW_LEVEL_REORDERED"
|
|
77
|
-
____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY =
|
|
79
|
+
____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 35
|
|
78
80
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
|
|
79
|
-
____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED =
|
|
81
|
+
____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 36
|
|
80
82
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
|
|
81
|
-
____exports.ModCallbackCustom.POST_NPC_INIT_LATE =
|
|
83
|
+
____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 37
|
|
82
84
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
|
|
83
|
-
____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED =
|
|
85
|
+
____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 38
|
|
84
86
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
|
|
85
|
-
____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED =
|
|
87
|
+
____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 39
|
|
86
88
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
|
|
87
|
-
____exports.ModCallbackCustom.POST_PICKUP_COLLECT =
|
|
89
|
+
____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 40
|
|
88
90
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
|
|
89
|
-
____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST =
|
|
91
|
+
____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 41
|
|
90
92
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
|
|
91
|
-
____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE =
|
|
93
|
+
____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 42
|
|
92
94
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
|
|
93
|
-
____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED =
|
|
95
|
+
____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 43
|
|
94
96
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
|
|
95
|
-
____exports.ModCallbackCustom.POST_PIT_RENDER =
|
|
97
|
+
____exports.ModCallbackCustom.POST_PIT_RENDER = 44
|
|
96
98
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_RENDER] = "POST_PIT_RENDER"
|
|
97
|
-
____exports.ModCallbackCustom.POST_PIT_UPDATE =
|
|
99
|
+
____exports.ModCallbackCustom.POST_PIT_UPDATE = 45
|
|
98
100
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
|
|
99
|
-
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH =
|
|
101
|
+
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 46
|
|
100
102
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
|
|
101
|
-
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE =
|
|
103
|
+
____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 47
|
|
102
104
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
|
|
103
|
-
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED =
|
|
105
|
+
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 48
|
|
104
106
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
|
|
105
|
-
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED =
|
|
107
|
+
____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 49
|
|
106
108
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
|
|
107
|
-
____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE =
|
|
109
|
+
____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 50
|
|
108
110
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
|
|
109
|
-
____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE =
|
|
111
|
+
____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 51
|
|
110
112
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
|
|
111
|
-
____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED =
|
|
113
|
+
____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED = 52
|
|
112
114
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED] = "POST_PLAYER_INIT_REORDERED"
|
|
113
|
-
____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED =
|
|
115
|
+
____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 53
|
|
114
116
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
|
|
115
|
-
____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED =
|
|
117
|
+
____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 54
|
|
116
118
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
|
|
117
|
-
____exports.ModCallbackCustom.POST_POOP_RENDER =
|
|
119
|
+
____exports.ModCallbackCustom.POST_POOP_RENDER = 55
|
|
118
120
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_RENDER] = "POST_POOP_RENDER"
|
|
119
|
-
____exports.ModCallbackCustom.POST_POOP_UPDATE =
|
|
121
|
+
____exports.ModCallbackCustom.POST_POOP_UPDATE = 56
|
|
120
122
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
|
|
121
|
-
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER =
|
|
123
|
+
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 57
|
|
122
124
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
|
|
123
|
-
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE =
|
|
125
|
+
____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 58
|
|
124
126
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
|
|
125
|
-
____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE =
|
|
127
|
+
____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 59
|
|
126
128
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
|
|
127
|
-
____exports.ModCallbackCustom.POST_PURCHASE =
|
|
129
|
+
____exports.ModCallbackCustom.POST_PURCHASE = 60
|
|
128
130
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PURCHASE] = "POST_PURCHASE"
|
|
129
|
-
____exports.ModCallbackCustom.POST_ROCK_RENDER =
|
|
131
|
+
____exports.ModCallbackCustom.POST_ROCK_RENDER = 61
|
|
130
132
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
|
|
131
|
-
____exports.ModCallbackCustom.POST_ROCK_UPDATE =
|
|
133
|
+
____exports.ModCallbackCustom.POST_ROCK_UPDATE = 62
|
|
132
134
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
|
|
133
|
-
____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED =
|
|
135
|
+
____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 63
|
|
134
136
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
|
|
135
|
-
____exports.ModCallbackCustom.POST_SACRIFICE =
|
|
137
|
+
____exports.ModCallbackCustom.POST_SACRIFICE = 64
|
|
136
138
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
|
|
137
|
-
____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED =
|
|
139
|
+
____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 65
|
|
138
140
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
|
|
139
|
-
____exports.ModCallbackCustom.POST_SLOT_DESTROYED =
|
|
141
|
+
____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 66
|
|
140
142
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
|
|
141
|
-
____exports.ModCallbackCustom.POST_SLOT_INIT =
|
|
143
|
+
____exports.ModCallbackCustom.POST_SLOT_INIT = 67
|
|
142
144
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
|
|
143
|
-
____exports.ModCallbackCustom.POST_SLOT_RENDER =
|
|
145
|
+
____exports.ModCallbackCustom.POST_SLOT_RENDER = 68
|
|
144
146
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
|
|
145
|
-
____exports.ModCallbackCustom.POST_SLOT_UPDATE =
|
|
147
|
+
____exports.ModCallbackCustom.POST_SLOT_UPDATE = 69
|
|
146
148
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
|
|
147
|
-
____exports.ModCallbackCustom.POST_SPIKES_RENDER =
|
|
149
|
+
____exports.ModCallbackCustom.POST_SPIKES_RENDER = 70
|
|
148
150
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
|
|
149
|
-
____exports.ModCallbackCustom.POST_SPIKES_UPDATE =
|
|
151
|
+
____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 71
|
|
150
152
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
|
|
151
|
-
____exports.ModCallbackCustom.POST_TEAR_INIT_LATE =
|
|
153
|
+
____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 72
|
|
152
154
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
|
|
153
|
-
____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE =
|
|
155
|
+
____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 73
|
|
154
156
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
|
|
155
|
-
____exports.ModCallbackCustom.POST_TNT_RENDER =
|
|
157
|
+
____exports.ModCallbackCustom.POST_TNT_RENDER = 74
|
|
156
158
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
|
|
157
|
-
____exports.ModCallbackCustom.POST_TNT_UPDATE =
|
|
159
|
+
____exports.ModCallbackCustom.POST_TNT_UPDATE = 75
|
|
158
160
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
|
|
159
|
-
____exports.ModCallbackCustom.POST_TRANSFORMATION =
|
|
161
|
+
____exports.ModCallbackCustom.POST_TRANSFORMATION = 76
|
|
160
162
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
|
|
161
|
-
____exports.ModCallbackCustom.POST_TRINKET_BREAK =
|
|
163
|
+
____exports.ModCallbackCustom.POST_TRINKET_BREAK = 77
|
|
162
164
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
|
|
163
|
-
____exports.ModCallbackCustom.PRE_BERSERK_DEATH =
|
|
165
|
+
____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 78
|
|
164
166
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
|
|
165
|
-
____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE =
|
|
167
|
+
____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 79
|
|
166
168
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
|
|
167
|
-
____exports.ModCallbackCustom.PRE_ITEM_PICKUP =
|
|
169
|
+
____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 80
|
|
168
170
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
|
|
169
|
-
____exports.ModCallbackCustom.PRE_NEW_LEVEL =
|
|
171
|
+
____exports.ModCallbackCustom.PRE_NEW_LEVEL = 81
|
|
170
172
|
____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
|
|
171
173
|
return ____exports
|
|
@@ -191,6 +191,11 @@ export declare function setCollectibleBlind(collectible: EntityPickup): void;
|
|
|
191
191
|
* For more information, see the documentation for the "clearSprite" helper function.
|
|
192
192
|
*/
|
|
193
193
|
export declare function setCollectibleEmpty(collectible: EntityPickup): void;
|
|
194
|
+
/**
|
|
195
|
+
* Helper function to change a collectible into a "glitched" item (like the ones that appear when
|
|
196
|
+
* the player has TMTRAINER).
|
|
197
|
+
*/
|
|
198
|
+
export declare function setCollectibleGlitched(collectible: EntityPickup): void;
|
|
194
199
|
/**
|
|
195
200
|
* Helper function to change the sprite of a collectible pedestal entity.
|
|
196
201
|
*
|
|
@@ -13,6 +13,7 @@ local game = ____cachedClasses.game
|
|
|
13
13
|
local itemConfig = ____cachedClasses.itemConfig
|
|
14
14
|
local ____constants = require("constants")
|
|
15
15
|
local BLIND_ITEM_PNG_PATH = ____constants.BLIND_ITEM_PNG_PATH
|
|
16
|
+
local DEFAULT_ITEM_POOL_TYPE = ____constants.DEFAULT_ITEM_POOL_TYPE
|
|
16
17
|
local ____constantsFirstLast = require("constantsFirstLast")
|
|
17
18
|
local FIRST_COLLECTIBLE_TYPE = ____constantsFirstLast.FIRST_COLLECTIBLE_TYPE
|
|
18
19
|
local FIRST_MODDED_COLLECTIBLE_TYPE = ____constantsFirstLast.FIRST_MODDED_COLLECTIBLE_TYPE
|
|
@@ -44,6 +45,22 @@ function initQuestionMarkSprite(self)
|
|
|
44
45
|
sprite:LoadGraphics()
|
|
45
46
|
return sprite
|
|
46
47
|
end
|
|
48
|
+
function ____exports.clearCollectibleSprite(self, collectible)
|
|
49
|
+
____exports.setCollectibleSprite(nil, collectible, nil)
|
|
50
|
+
end
|
|
51
|
+
--- Helper function to remove the collectible from a collectible pedestal and make it appear as if a
|
|
52
|
+
-- player has already taken the item. This is accomplished by changing the sub-type to
|
|
53
|
+
-- `CollectibleType.NULL` and then setting the sprite to an empty/missing PNG file.
|
|
54
|
+
--
|
|
55
|
+
-- For more information, see the documentation for the "clearSprite" helper function.
|
|
56
|
+
function ____exports.setCollectibleEmpty(self, collectible)
|
|
57
|
+
if not isCollectible(nil, collectible) then
|
|
58
|
+
local entityID = getEntityID(nil, collectible)
|
|
59
|
+
error("The \"setCollectibleEmpty\" function was given a non-collectible: " .. entityID)
|
|
60
|
+
end
|
|
61
|
+
collectible.SubType = CollectibleType.NULL
|
|
62
|
+
____exports.clearCollectibleSprite(nil, collectible)
|
|
63
|
+
end
|
|
47
64
|
--- Helper function to change the sprite of a collectible pedestal entity.
|
|
48
65
|
--
|
|
49
66
|
-- For more information about removing the collectible sprite, see the documentation for the
|
|
@@ -67,13 +84,30 @@ function ____exports.setCollectibleSprite(self, collectible, pngPath)
|
|
|
67
84
|
sprite:LoadGraphics()
|
|
68
85
|
end
|
|
69
86
|
end
|
|
87
|
+
--- Helper function to change the collectible on a pedestal. Simply updating the `SubType` property
|
|
88
|
+
-- is not sufficient because the sprite will not change.
|
|
89
|
+
function ____exports.setCollectibleSubType(self, collectible, newCollectibleType)
|
|
90
|
+
if not isCollectible(nil, collectible) then
|
|
91
|
+
local entityID = getEntityID(nil, collectible)
|
|
92
|
+
error("The \"setCollectibleSubType\" function was given a non-collectible: " .. entityID)
|
|
93
|
+
end
|
|
94
|
+
if newCollectibleType == CollectibleType.NULL then
|
|
95
|
+
____exports.setCollectibleEmpty(nil, collectible)
|
|
96
|
+
return
|
|
97
|
+
end
|
|
98
|
+
collectible:Morph(
|
|
99
|
+
EntityType.PICKUP,
|
|
100
|
+
PickupVariant.COLLECTIBLE,
|
|
101
|
+
newCollectibleType,
|
|
102
|
+
true,
|
|
103
|
+
true,
|
|
104
|
+
true
|
|
105
|
+
)
|
|
106
|
+
end
|
|
70
107
|
COLLECTIBLE_SPRITE_LAYER = 1
|
|
71
108
|
COLLECTIBLE_SHADOW_LAYER = 4
|
|
72
109
|
local GLITCHED_ITEM_THRESHOLD = 4000000000
|
|
73
110
|
local questionMarkSprite = initQuestionMarkSprite(nil)
|
|
74
|
-
function ____exports.clearCollectibleSprite(self, collectible)
|
|
75
|
-
____exports.setCollectibleSprite(nil, collectible, nil)
|
|
76
|
-
end
|
|
77
111
|
--- Helper function to check if two collectible sprites have the same sprite sheet loaded.
|
|
78
112
|
function ____exports.collectibleSpriteEquals(self, sprite1, sprite2)
|
|
79
113
|
local xStart = -1
|
|
@@ -384,38 +418,24 @@ function ____exports.setCollectibleBlind(self, collectible)
|
|
|
384
418
|
end
|
|
385
419
|
____exports.setCollectibleSprite(nil, collectible, BLIND_ITEM_PNG_PATH)
|
|
386
420
|
end
|
|
387
|
-
--- Helper function to
|
|
388
|
-
-- player has
|
|
389
|
-
|
|
390
|
-
--
|
|
391
|
-
-- For more information, see the documentation for the "clearSprite" helper function.
|
|
392
|
-
function ____exports.setCollectibleEmpty(self, collectible)
|
|
421
|
+
--- Helper function to change a collectible into a "glitched" item (like the ones that appear when
|
|
422
|
+
-- the player has TMTRAINER).
|
|
423
|
+
function ____exports.setCollectibleGlitched(self, collectible)
|
|
393
424
|
if not isCollectible(nil, collectible) then
|
|
394
425
|
local entityID = getEntityID(nil, collectible)
|
|
395
|
-
error("The \"
|
|
426
|
+
error("The \"setCollectibleGlitched\" function was given a non-collectible: " .. entityID)
|
|
396
427
|
end
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
-- is not sufficient because the sprite will not change.
|
|
402
|
-
function ____exports.setCollectibleSubType(self, collectible, newCollectibleType)
|
|
403
|
-
if not isCollectible(nil, collectible) then
|
|
404
|
-
local entityID = getEntityID(nil, collectible)
|
|
405
|
-
error("The \"setCollectibleSubType\" function was given a non-collectible: " .. entityID)
|
|
428
|
+
local player = Isaac.GetPlayer()
|
|
429
|
+
local hasTMTRAINER = player:HasCollectible(CollectibleType.TMTRAINER)
|
|
430
|
+
if not hasTMTRAINER then
|
|
431
|
+
player:AddCollectible(CollectibleType.TMTRAINER, 0, false)
|
|
406
432
|
end
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
433
|
+
local itemPool = game:GetItemPool()
|
|
434
|
+
local collectibleType = itemPool:GetCollectible(DEFAULT_ITEM_POOL_TYPE)
|
|
435
|
+
____exports.setCollectibleSubType(nil, collectible, collectibleType)
|
|
436
|
+
if not hasTMTRAINER then
|
|
437
|
+
player:RemoveCollectible(CollectibleType.TMTRAINER)
|
|
410
438
|
end
|
|
411
|
-
collectible:Morph(
|
|
412
|
-
EntityType.PICKUP,
|
|
413
|
-
PickupVariant.COLLECTIBLE,
|
|
414
|
-
newCollectibleType,
|
|
415
|
-
true,
|
|
416
|
-
true,
|
|
417
|
-
true
|
|
418
|
-
)
|
|
419
439
|
end
|
|
420
440
|
--- Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that
|
|
421
441
|
-- the build has been rerolled.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
2
|
+
/// <reference types="isaac-typescript-definitions" />
|
|
3
|
+
/** For `EntityType.EFFECT` (1000), `EffectVariant.DICE_FLOOR` (76) */
|
|
4
|
+
export declare const DICE_FLOOR_TRIGGER_SQUARE_SIZE = 75;
|
|
5
|
+
/** Helper function to see if a player is close enough to activate a Dice Room floor. */
|
|
6
|
+
export declare function isCloseEnoughToTriggerDiceFloor(player: EntityPlayer, diceFloor: EntityEffect): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____math = require("functions.math")
|
|
3
|
+
local inRectangle = ____math.inRectangle
|
|
4
|
+
--- For `EntityType.EFFECT` (1000), `EffectVariant.DICE_FLOOR` (76)
|
|
5
|
+
____exports.DICE_FLOOR_TRIGGER_SQUARE_SIZE = 75
|
|
6
|
+
--- Helper function to see if a player is close enough to activate a Dice Room floor.
|
|
7
|
+
function ____exports.isCloseEnoughToTriggerDiceFloor(self, player, diceFloor)
|
|
8
|
+
local topLeft = diceFloor.Position + Vector(-____exports.DICE_FLOOR_TRIGGER_SQUARE_SIZE, -____exports.DICE_FLOOR_TRIGGER_SQUARE_SIZE)
|
|
9
|
+
local bottomRight = diceFloor.Position + Vector(____exports.DICE_FLOOR_TRIGGER_SQUARE_SIZE, ____exports.DICE_FLOOR_TRIGGER_SQUARE_SIZE)
|
|
10
|
+
return inRectangle(nil, player.Position, topLeft, bottomRight)
|
|
11
|
+
end
|
|
12
|
+
return ____exports
|
package/functions/entity.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="typescript-to-lua/language-extensions" />
|
|
1
2
|
import { EntityType } from "isaac-typescript-definitions";
|
|
2
3
|
import { AnyEntity } from "../types/AnyEntity";
|
|
3
4
|
/**
|
|
@@ -61,6 +62,11 @@ export declare function getClosestEntityTo<T extends AnyEntity>(referenceEntity:
|
|
|
61
62
|
* `matchingEntityType` is specified.
|
|
62
63
|
*/
|
|
63
64
|
export declare function getEntities(entityType?: EntityType, variant?: number, subType?: number, ignoreFriendly?: boolean): Entity[];
|
|
65
|
+
/**
|
|
66
|
+
* Helper function to get all the fields on an entity. For example, this is useful for comparing it
|
|
67
|
+
* to another entity later.
|
|
68
|
+
*/
|
|
69
|
+
export declare function getEntityFields(entity: Entity): LuaTable<string, unknown>;
|
|
64
70
|
/** Helper function to return a string containing the entity's type, variant, and sub-type. */
|
|
65
71
|
export declare function getEntityID(entity: Entity): string;
|
|
66
72
|
/**
|
package/functions/entity.lua
CHANGED
|
@@ -10,10 +10,14 @@ local ____constants = require("constants")
|
|
|
10
10
|
local VectorZero = ____constants.VectorZero
|
|
11
11
|
local ____storyBossesSet = require("sets.storyBossesSet")
|
|
12
12
|
local STORY_BOSSES_SET = ____storyBossesSet.STORY_BOSSES_SET
|
|
13
|
+
local ____isaacAPIClass = require("functions.isaacAPIClass")
|
|
14
|
+
local getIsaacAPIClassName = ____isaacAPIClass.getIsaacAPIClassName
|
|
13
15
|
local ____random = require("functions.random")
|
|
14
16
|
local getRandom = ____random.getRandom
|
|
15
17
|
local ____rng = require("functions.rng")
|
|
16
18
|
local newRNG = ____rng.newRNG
|
|
19
|
+
local ____utils = require("functions.utils")
|
|
20
|
+
local isPrimitive = ____utils.isPrimitive
|
|
17
21
|
--- Helper function to remove all of the entities in the supplied array.
|
|
18
22
|
--
|
|
19
23
|
-- @param entities The array of entities to remove.
|
|
@@ -156,6 +160,46 @@ function ____exports.getEntities(self, entityType, variant, subType, ignoreFrien
|
|
|
156
160
|
end
|
|
157
161
|
return Isaac.FindByType(entityType, variant, subType, ignoreFriendly)
|
|
158
162
|
end
|
|
163
|
+
--- Helper function to get all the fields on an entity. For example, this is useful for comparing it
|
|
164
|
+
-- to another entity later.
|
|
165
|
+
function ____exports.getEntityFields(self, entity)
|
|
166
|
+
local metatable = getmetatable(entity)
|
|
167
|
+
if metatable == nil then
|
|
168
|
+
error("Failed to get the metatable for an entity.")
|
|
169
|
+
end
|
|
170
|
+
local propGetTable = metatable.__propget
|
|
171
|
+
if propGetTable == nil then
|
|
172
|
+
error("Failed to get the \"__propget\" table for an entity.")
|
|
173
|
+
end
|
|
174
|
+
local entityFields = {}
|
|
175
|
+
for key in pairs(propGetTable) do
|
|
176
|
+
local indexKey = key
|
|
177
|
+
local value = entity[indexKey]
|
|
178
|
+
if isPrimitive(nil, value) then
|
|
179
|
+
entityFields[indexKey] = value
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
local className = getIsaacAPIClassName(nil, entity)
|
|
183
|
+
if className == "Entity" then
|
|
184
|
+
return entityFields
|
|
185
|
+
end
|
|
186
|
+
local parentTable = metatable.__parent
|
|
187
|
+
if parentTable == nil then
|
|
188
|
+
error("Failed to get the \"__parent\" table for an entity.")
|
|
189
|
+
end
|
|
190
|
+
local parentPropGetTable = parentTable.__propget
|
|
191
|
+
if parentPropGetTable == nil then
|
|
192
|
+
error("Failed to get the parent's \"__propget\" table for an entity.")
|
|
193
|
+
end
|
|
194
|
+
for key in pairs(parentPropGetTable) do
|
|
195
|
+
local indexKey = key
|
|
196
|
+
local value = entity[indexKey]
|
|
197
|
+
if isPrimitive(nil, value) then
|
|
198
|
+
entityFields[indexKey] = value
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
return entityFields
|
|
202
|
+
end
|
|
159
203
|
--- Helper function to return a string containing the entity's type, variant, and sub-type.
|
|
160
204
|
function ____exports.getEntityID(self, entity)
|
|
161
205
|
return (((tostring(entity.Type) .. ".") .. tostring(entity.Variant)) .. ".") .. tostring(entity.SubType)
|
package/functions/log.d.ts
CHANGED
|
@@ -60,6 +60,11 @@ export declare function logSet(this: void, set: Set<AnyNotNil>): void;
|
|
|
60
60
|
/** Helper function for logging every sound effect that is currently playing. */
|
|
61
61
|
export declare function logSounds(this: void): void;
|
|
62
62
|
export declare function logTable(this: void, table: unknown, parentTables?: number): void;
|
|
63
|
+
/**
|
|
64
|
+
* Helper function to print out the differences between the entries of two tables. Note that this
|
|
65
|
+
* will only do a shallow comparison.
|
|
66
|
+
*/
|
|
67
|
+
export declare function logTableDifferences<K, V>(table1: LuaTable<K, V>, table2: LuaTable<K, V>): void;
|
|
63
68
|
/** Helper function for printing out every tear flag that is turned on. Useful when debugging. */
|
|
64
69
|
export declare function logTearFlags(this: void, flags: TearFlag | BitFlags<TearFlag>): void;
|
|
65
70
|
/** Helper function for printing out every use flag that is turned on. Useful when debugging. */
|
package/functions/log.lua
CHANGED
|
@@ -5,6 +5,7 @@ local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
|
|
|
5
5
|
local Map = ____lualib.Map
|
|
6
6
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
7
7
|
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
8
|
+
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
8
9
|
local ____exports = {}
|
|
9
10
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
10
11
|
local DamageFlag = ____isaac_2Dtypescript_2Ddefinitions.DamageFlag
|
|
@@ -46,6 +47,7 @@ local getRoomData = ____roomData.getRoomData
|
|
|
46
47
|
local getRoomGridIndex = ____roomData.getRoomGridIndex
|
|
47
48
|
local getRoomListIndex = ____roomData.getRoomListIndex
|
|
48
49
|
local ____set = require("functions.set")
|
|
50
|
+
local combineSets = ____set.combineSets
|
|
49
51
|
local getSortedSetValues = ____set.getSortedSetValues
|
|
50
52
|
local ____trinkets = require("functions.trinkets")
|
|
51
53
|
local getTrinketName = ____trinkets.getTrinketName
|
|
@@ -368,9 +370,9 @@ function ____exports.logMap(map)
|
|
|
368
370
|
__TS__ArraySort(mapKeys)
|
|
369
371
|
for ____, key in ipairs(mapKeys) do
|
|
370
372
|
local value = map:get(key)
|
|
371
|
-
____exports.log((("
|
|
373
|
+
____exports.log(((" " .. tostring(key)) .. " --> ") .. tostring(value))
|
|
372
374
|
end
|
|
373
|
-
____exports.log("The size of the map was: " .. tostring(map.size))
|
|
375
|
+
____exports.log(" The size of the map was: " .. tostring(map.size))
|
|
374
376
|
end
|
|
375
377
|
function ____exports.logPlayerHealth(player)
|
|
376
378
|
local playerName = getPlayerName(nil, player)
|
|
@@ -432,7 +434,7 @@ function ____exports.logSet(set)
|
|
|
432
434
|
for ____, value in ipairs(setValues) do
|
|
433
435
|
____exports.log(" Value: " .. tostring(value))
|
|
434
436
|
end
|
|
435
|
-
____exports.log("The size of the set was: " .. tostring(set.size))
|
|
437
|
+
____exports.log(" The size of the set was: " .. tostring(set.size))
|
|
436
438
|
end
|
|
437
439
|
--- Helper function for logging every sound effect that is currently playing.
|
|
438
440
|
function ____exports.logSounds()
|
|
@@ -457,13 +459,17 @@ function ____exports.logTable(____table, parentTables)
|
|
|
457
459
|
" ",
|
|
458
460
|
math.floor(numSpaces)
|
|
459
461
|
)
|
|
460
|
-
|
|
461
|
-
|
|
462
|
+
local tableType = type(____table)
|
|
463
|
+
if tableType ~= "table" then
|
|
464
|
+
____exports.log(((indentation .. "n/a (encountered a variable of type \"") .. tableType) .. "\" instead of a table)")
|
|
462
465
|
return
|
|
463
466
|
end
|
|
464
|
-
local
|
|
465
|
-
|
|
466
|
-
|
|
467
|
+
local luaTable = ____table
|
|
468
|
+
local keys = __TS__ObjectKeys(luaTable)
|
|
469
|
+
__TS__ArraySort(keys)
|
|
470
|
+
for ____, key in ipairs(keys) do
|
|
471
|
+
local value = luaTable[key]
|
|
472
|
+
____exports.log(((indentation .. key) .. " --> ") .. tostring(value))
|
|
467
473
|
local valueType = type(value)
|
|
468
474
|
if valueType == "table" then
|
|
469
475
|
if key == "__class" then
|
|
@@ -472,9 +478,33 @@ function ____exports.logTable(____table, parentTables)
|
|
|
472
478
|
____exports.logTable(value, parentTables + 1)
|
|
473
479
|
end
|
|
474
480
|
end
|
|
475
|
-
numKeys = numKeys + 1
|
|
476
481
|
end
|
|
477
|
-
____exports.log((indentation .. "The size of the table was: ") .. tostring(
|
|
482
|
+
____exports.log((indentation .. "The size of the table was: ") .. tostring(#keys))
|
|
483
|
+
end
|
|
484
|
+
--- Helper function to print out the differences between the entries of two tables. Note that this
|
|
485
|
+
-- will only do a shallow comparison.
|
|
486
|
+
function ____exports.logTableDifferences(self, table1, table2)
|
|
487
|
+
____exports.log("Comparing two Lua tables:")
|
|
488
|
+
local table1Keys = __TS__ObjectKeys(table1)
|
|
489
|
+
local table1KeysSet = __TS__New(Set, table1Keys)
|
|
490
|
+
local table2Keys = __TS__ObjectKeys(table2)
|
|
491
|
+
local table2KeysSet = __TS__New(Set, table2Keys)
|
|
492
|
+
local keysSet = combineSets(nil, table1KeysSet, table2KeysSet)
|
|
493
|
+
local keys = {__TS__Spread(keysSet:values())}
|
|
494
|
+
__TS__ArraySort(keys)
|
|
495
|
+
for ____, key in ipairs(keys) do
|
|
496
|
+
if not table1KeysSet:has(key) then
|
|
497
|
+
____exports.log(" Table 1 is missing key: " .. key)
|
|
498
|
+
elseif not table2KeysSet:has(key) then
|
|
499
|
+
____exports.log(" Table 2 is missing key: " .. key)
|
|
500
|
+
else
|
|
501
|
+
local value1 = table1[key]
|
|
502
|
+
local value2 = table2[key]
|
|
503
|
+
if value1 ~= value2 then
|
|
504
|
+
____exports.log((((((" " .. key) .. " --> \"") .. tostring(value1)) .. "\" versus \"") .. tostring(value2)) .. "\"")
|
|
505
|
+
end
|
|
506
|
+
end
|
|
507
|
+
end
|
|
478
508
|
end
|
|
479
509
|
--- Helper function for printing out every tear flag that is turned on. Useful when debugging.
|
|
480
510
|
function ____exports.logTearFlags(flags)
|
package/functions/utils.d.ts
CHANGED
|
@@ -66,6 +66,7 @@ export declare function hexToKColor(hexString: string, alpha: float): KColor;
|
|
|
66
66
|
* If only one argument is specified, then it will assume that the start is 0.
|
|
67
67
|
*/
|
|
68
68
|
export declare function irange(start: int, end?: int): int[];
|
|
69
|
+
/** Helper function to detect if a variable is a boolean, number, or string. */
|
|
69
70
|
export declare function isPrimitive(variable: unknown): boolean;
|
|
70
71
|
/**
|
|
71
72
|
* Since this is a UI element, we do not want to draw it in water reflections. `renderOffset` will
|
package/functions/utils.lua
CHANGED
|
@@ -120,6 +120,7 @@ function ____exports.irange(self, start, ____end)
|
|
|
120
120
|
end
|
|
121
121
|
return array
|
|
122
122
|
end
|
|
123
|
+
--- Helper function to detect if a variable is a boolean, number, or string.
|
|
123
124
|
function ____exports.isPrimitive(self, variable)
|
|
124
125
|
local ____type = __TS__TypeOf(variable)
|
|
125
126
|
return ____type == "boolean" or ____type == "number" or ____type == "string"
|
package/index.d.ts
CHANGED
|
@@ -51,6 +51,7 @@ export * from "./functions/direction";
|
|
|
51
51
|
export * from "./functions/doors";
|
|
52
52
|
export * from "./functions/easing";
|
|
53
53
|
export * from "./functions/eden";
|
|
54
|
+
export * from "./functions/effects";
|
|
54
55
|
export * from "./functions/entity";
|
|
55
56
|
export * from "./functions/entitySpecific";
|
|
56
57
|
export * from "./functions/entityTypes";
|
package/index.lua
CHANGED
|
@@ -401,6 +401,14 @@ do
|
|
|
401
401
|
end
|
|
402
402
|
end
|
|
403
403
|
end
|
|
404
|
+
do
|
|
405
|
+
local ____export = require("functions.effects")
|
|
406
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
407
|
+
if ____exportKey ~= "default" then
|
|
408
|
+
____exports[____exportKey] = ____exportValue
|
|
409
|
+
end
|
|
410
|
+
end
|
|
411
|
+
end
|
|
404
412
|
do
|
|
405
413
|
local ____export = require("functions.entity")
|
|
406
414
|
for ____exportKey, ____exportValue in pairs(____export) do
|