isaacscript-common 4.0.2 → 4.0.5
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/postPlayerCollectible.lua +4 -2
- package/functions/collectibleSet.d.ts +37 -2
- package/functions/collectibleSet.lua +62 -15
- package/functions/player.lua +3 -4
- package/package.json +2 -2
- package/cachedClasses.ts +0 -39
- package/callbacks/customRevive.ts +0 -215
- package/callbacks/itemPickup.ts +0 -101
- package/callbacks/postAmbush.ts +0 -73
- package/callbacks/postBombExploded.ts +0 -26
- package/callbacks/postBombInitLate.ts +0 -36
- package/callbacks/postBoneSwing.ts +0 -64
- package/callbacks/postCollectibleInitFirst.ts +0 -40
- package/callbacks/postCursedTeleport.ts +0 -185
- package/callbacks/postCustomDoorEnter.ts +0 -292
- package/callbacks/postDiceRoomActivated.ts +0 -60
- package/callbacks/postDoorRender.ts +0 -26
- package/callbacks/postDoorUpdate.ts +0 -26
- package/callbacks/postEffectInitLate.ts +0 -36
- package/callbacks/postEffectStateChanged.ts +0 -43
- package/callbacks/postEsauJr.ts +0 -109
- package/callbacks/postFamiliarInitLate.ts +0 -36
- package/callbacks/postFamiliarStateChanged.ts +0 -43
- package/callbacks/postFlip.ts +0 -90
- package/callbacks/postGreedModeWave.ts +0 -41
- package/callbacks/postGridEntity.ts +0 -164
- package/callbacks/postGridEntityCollision.ts +0 -69
- package/callbacks/postGridEntityRender.ts +0 -26
- package/callbacks/postHolyMantleRemoved.ts +0 -55
- package/callbacks/postItemDischarged.ts +0 -154
- package/callbacks/postKnifeInitLate.ts +0 -36
- package/callbacks/postLaserInitLate.ts +0 -36
- package/callbacks/postNPCInitLate.ts +0 -36
- package/callbacks/postNPCStateChanged.ts +0 -42
- package/callbacks/postNewRoomEarly.ts +0 -96
- package/callbacks/postPickupCollect.ts +0 -48
- package/callbacks/postPickupInitFirst.ts +0 -70
- package/callbacks/postPickupInitLate.ts +0 -36
- package/callbacks/postPickupStateChanged.ts +0 -43
- package/callbacks/postPitRender.ts +0 -26
- package/callbacks/postPitUpdate.ts +0 -26
- package/callbacks/postPlayerChangeHealth.ts +0 -62
- package/callbacks/postPlayerChangeType.ts +0 -56
- package/callbacks/postPlayerCollectible.ts +0 -113
- package/callbacks/postPlayerFatalDamage.ts +0 -141
- package/callbacks/postPlayerInitLate.ts +0 -37
- package/callbacks/postPlayerReordered.ts +0 -142
- package/callbacks/postPoopRender.ts +0 -26
- package/callbacks/postPoopUpdate.ts +0 -26
- package/callbacks/postPressurePlateRender.ts +0 -26
- package/callbacks/postPressurePlateUpdate.ts +0 -26
- package/callbacks/postProjectileInitLate.ts +0 -36
- package/callbacks/postPurchase.ts +0 -64
- package/callbacks/postRockRender.ts +0 -26
- package/callbacks/postRockUpdate.ts +0 -26
- package/callbacks/postRoomClearChanged.ts +0 -57
- package/callbacks/postSacrifice.ts +0 -64
- package/callbacks/postSlotDestroyed.ts +0 -92
- package/callbacks/postSlotInitUpdate.ts +0 -68
- package/callbacks/postSlotRender.ts +0 -69
- package/callbacks/postSpikesRender.ts +0 -26
- package/callbacks/postSpikesUpdate.ts +0 -26
- package/callbacks/postTNTRender.ts +0 -26
- package/callbacks/postTNTUpdate.ts +0 -26
- package/callbacks/postTearInitLate.ts +0 -36
- package/callbacks/postTearInitVeryLate.ts +0 -41
- package/callbacks/postTransformation.ts +0 -59
- package/callbacks/postTrinketBreak.ts +0 -112
- package/callbacks/preBerserkDeath.ts +0 -49
- package/callbacks/preNewLevel.ts +0 -55
- package/callbacks/reorderedCallbacks.ts +0 -168
- package/callbacks/subscriptions/postAmbushFinished.ts +0 -32
- package/callbacks/subscriptions/postAmbushStarted.ts +0 -32
- package/callbacks/subscriptions/postBombInitLate.ts +0 -32
- package/callbacks/subscriptions/postBoneExploded.ts +0 -32
- package/callbacks/subscriptions/postBoneSwing.ts +0 -24
- package/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
- package/callbacks/subscriptions/postCursedTeleport.ts +0 -24
- package/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
- package/callbacks/subscriptions/postCustomRevive.ts +0 -36
- package/callbacks/subscriptions/postDiceRoomActivated.ts +0 -38
- package/callbacks/subscriptions/postDoorRender.ts +0 -35
- package/callbacks/subscriptions/postDoorUpdate.ts +0 -35
- package/callbacks/subscriptions/postEffectInitLate.ts +0 -32
- package/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
- package/callbacks/subscriptions/postEsauJr.ts +0 -24
- package/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
- package/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
- package/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
- package/callbacks/subscriptions/postFirstFlip.ts +0 -24
- package/callbacks/subscriptions/postFlip.ts +0 -22
- package/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
- package/callbacks/subscriptions/postGreedModeWave.ts +0 -24
- package/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
- package/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
- package/callbacks/subscriptions/postGridEntityInit.ts +0 -51
- package/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
- package/callbacks/subscriptions/postGridEntityRender.ts +0 -51
- package/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
- package/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
- package/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
- package/callbacks/subscriptions/postItemDischarged.ts +0 -43
- package/callbacks/subscriptions/postItemPickup.ts +0 -64
- package/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
- package/callbacks/subscriptions/postLaserInitLate.ts +0 -32
- package/callbacks/subscriptions/postNPCInitLate.ts +0 -32
- package/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
- package/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
- package/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
- package/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
- package/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
- package/callbacks/subscriptions/postPickupCollect.ts +0 -35
- package/callbacks/subscriptions/postPickupInitFirst.ts +0 -32
- package/callbacks/subscriptions/postPickupInitLate.ts +0 -32
- package/callbacks/subscriptions/postPickupStateChanged.ts +0 -40
- package/callbacks/subscriptions/postPitRender.ts +0 -35
- package/callbacks/subscriptions/postPitUpdate.ts +0 -35
- package/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -49
- package/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
- package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +0 -38
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +0 -38
- package/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -68
- package/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
- package/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
- package/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
- package/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
- package/callbacks/subscriptions/postPoopRender.ts +0 -35
- package/callbacks/subscriptions/postPoopUpdate.ts +0 -35
- package/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
- package/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
- package/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
- package/callbacks/subscriptions/postPurchase.ts +0 -31
- package/callbacks/subscriptions/postRockRender.ts +0 -35
- package/callbacks/subscriptions/postRockUpdate.ts +0 -35
- package/callbacks/subscriptions/postRoomClearChanged.ts +0 -30
- package/callbacks/subscriptions/postSacrifice.ts +0 -43
- package/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
- package/callbacks/subscriptions/postSlotDestroyed.ts +0 -55
- package/callbacks/subscriptions/postSlotInit.ts +0 -32
- package/callbacks/subscriptions/postSlotRender.ts +0 -32
- package/callbacks/subscriptions/postSlotUpdate.ts +0 -32
- package/callbacks/subscriptions/postSpikesRender.ts +0 -35
- package/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
- package/callbacks/subscriptions/postTNTRender.ts +0 -35
- package/callbacks/subscriptions/postTNTUpdate.ts +0 -35
- package/callbacks/subscriptions/postTearInitLate.ts +0 -32
- package/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
- package/callbacks/subscriptions/postTransformation.ts +0 -40
- package/callbacks/subscriptions/postTrinketBreak.ts +0 -38
- package/callbacks/subscriptions/preBerserkDeath.ts +0 -42
- package/callbacks/subscriptions/preCustomRevive.ts +0 -46
- package/callbacks/subscriptions/preItemPickup.ts +0 -64
- package/callbacks/subscriptions/preNewLevel.ts +0 -24
- package/classes/DefaultMap.ts +0 -174
- package/classes/ModUpgraded.ts +0 -84
- package/constants.ts +0 -162
- package/constantsFirstLast.ts +0 -217
- package/enums/AmbushType.ts +0 -4
- package/enums/HealthType.ts +0 -16
- package/enums/ModCallbackCustom.ts +0 -1278
- package/enums/PocketItemType.ts +0 -8
- package/enums/SerializationType.ts +0 -5
- package/enums/SlotDestructionType.ts +0 -4
- package/enums/private/CopyableIsaacAPIClassType.ts +0 -7
- package/enums/private/SaveDataKey.ts +0 -14
- package/enums/private/SerializationBrand.ts +0 -42
- package/features/characterHealthConversion.ts +0 -111
- package/features/characterStats.ts +0 -61
- package/features/debugDisplay/debugDisplay.ts +0 -221
- package/features/debugDisplay/exports.ts +0 -368
- package/features/debugDisplay/v.ts +0 -65
- package/features/deployJSONRoom.ts +0 -743
- package/features/disableInputs.ts +0 -193
- package/features/disableSound.ts +0 -77
- package/features/extraConsoleCommands/commandsDisplay.ts +0 -290
- package/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
- package/features/extraConsoleCommands/init.ts +0 -334
- package/features/extraConsoleCommands/listCommands.ts +0 -1299
- package/features/extraConsoleCommands/v.ts +0 -14
- package/features/fadeInRemover.ts +0 -60
- package/features/fastReset.ts +0 -75
- package/features/forgottenSwitch.ts +0 -50
- package/features/getCollectibleItemPoolType.ts +0 -66
- package/features/persistentEntities.ts +0 -183
- package/features/playerInventory.ts +0 -135
- package/features/ponyDetection.ts +0 -74
- package/features/preventCollectibleRotation.ts +0 -115
- package/features/runInNFrames.ts +0 -148
- package/features/saveDataManager/constants.ts +0 -4
- package/features/saveDataManager/exports.ts +0 -229
- package/features/saveDataManager/load.ts +0 -99
- package/features/saveDataManager/main.ts +0 -195
- package/features/saveDataManager/maps.ts +0 -13
- package/features/saveDataManager/merge.ts +0 -194
- package/features/saveDataManager/save.ts +0 -74
- package/features/saveDataManager/serializationBrand.ts +0 -16
- package/features/sirenHelpers.ts +0 -129
- package/features/taintedLazarusPlayers.ts +0 -113
- package/featuresInitialized.ts +0 -20
- package/functions/ambush.ts +0 -47
- package/functions/array.ts +0 -410
- package/functions/benchmark.ts +0 -36
- package/functions/bitwise.ts +0 -24
- package/functions/bombs.ts +0 -12
- package/functions/boss.ts +0 -227
- package/functions/cacheFlag.ts +0 -12
- package/functions/cards.ts +0 -271
- package/functions/challenges.ts +0 -13
- package/functions/character.ts +0 -126
- package/functions/charge.ts +0 -237
- package/functions/chargeBar.ts +0 -67
- package/functions/collectibleCacheFlag.ts +0 -90
- package/functions/collectibleSet.ts +0 -56
- package/functions/collectibleTag.ts +0 -89
- package/functions/collectibles.ts +0 -659
- package/functions/color.ts +0 -128
- package/functions/debug.ts +0 -68
- package/functions/deepCopy.ts +0 -535
- package/functions/deepCopyTests.ts +0 -386
- package/functions/direction.ts +0 -49
- package/functions/doors.ts +0 -347
- package/functions/easing.ts +0 -182
- package/functions/eden.ts +0 -47
- package/functions/effects.ts +0 -20
- package/functions/entity.ts +0 -439
- package/functions/entitySpecific.ts +0 -889
- package/functions/entityTypes.ts +0 -6
- package/functions/enums.ts +0 -146
- package/functions/familiars.ts +0 -106
- package/functions/flag.ts +0 -165
- package/functions/flying.ts +0 -117
- package/functions/globals.ts +0 -242
- package/functions/gridEntity.ts +0 -511
- package/functions/gridEntitySpecific.ts +0 -112
- package/functions/input.ts +0 -139
- package/functions/isaacAPIClass.ts +0 -67
- package/functions/jsonHelpers.ts +0 -45
- package/functions/jsonRoom.ts +0 -100
- package/functions/kColor.ts +0 -129
- package/functions/language.ts +0 -13
- package/functions/level.ts +0 -31
- package/functions/log.ts +0 -720
- package/functions/map.ts +0 -56
- package/functions/math.ts +0 -149
- package/functions/mergeTests.ts +0 -288
- package/functions/npc.ts +0 -148
- package/functions/pickupVariants.ts +0 -60
- package/functions/pickups.ts +0 -499
- package/functions/pills.ts +0 -205
- package/functions/player.ts +0 -1056
- package/functions/playerDataStructures.ts +0 -150
- package/functions/playerHealth.ts +0 -382
- package/functions/playerIndex.ts +0 -195
- package/functions/pocketItems.ts +0 -149
- package/functions/positionVelocity.ts +0 -188
- package/functions/random.ts +0 -77
- package/functions/revive.ts +0 -201
- package/functions/rng.ts +0 -172
- package/functions/roomData.ts +0 -199
- package/functions/roomGrid.ts +0 -109
- package/functions/roomShape.ts +0 -80
- package/functions/rooms.ts +0 -648
- package/functions/run.ts +0 -36
- package/functions/saveFile.ts +0 -128
- package/functions/seeds.ts +0 -19
- package/functions/serialization.ts +0 -91
- package/functions/set.ts +0 -95
- package/functions/sound.ts +0 -9
- package/functions/spawnCollectible.ts +0 -104
- package/functions/sprite.ts +0 -107
- package/functions/stage.ts +0 -125
- package/functions/string.ts +0 -47
- package/functions/table.ts +0 -189
- package/functions/tears.ts +0 -32
- package/functions/transformations.ts +0 -131
- package/functions/trinketCacheFlag.ts +0 -60
- package/functions/trinketGive.ts +0 -157
- package/functions/trinkets.ts +0 -215
- package/functions/tstlClass.ts +0 -157
- package/functions/types.ts +0 -36
- package/functions/ui.ts +0 -138
- package/functions/utils.ts +0 -189
- package/functions/vector.ts +0 -126
- package/index.ts +0 -172
- package/initCustomCallbacks.ts +0 -132
- package/initFeatures.ts +0 -39
- package/interfaces/AddCallbackParameterCustom.ts +0 -188
- package/interfaces/ChargeBarSprites.ts +0 -12
- package/interfaces/JSONDoor.ts +0 -13
- package/interfaces/JSONEntity.ts +0 -16
- package/interfaces/JSONRoom.ts +0 -36
- package/interfaces/JSONRooms.ts +0 -12
- package/interfaces/JSONSpawn.ts +0 -14
- package/interfaces/PlayerHealth.ts +0 -16
- package/interfaces/PocketItemDescription.ts +0 -9
- package/interfaces/SaveData.ts +0 -29
- package/interfaces/TrinketSituation.ts +0 -9
- package/interfaces/private/TSTLClassMetatable.ts +0 -8
- package/maps/PHDPillConversions.ts +0 -21
- package/maps/cardMap.ts +0 -209
- package/maps/characterMap.ts +0 -87
- package/maps/collectibleDescriptionMap.ts +0 -732
- package/maps/collectibleNameMap.ts +0 -731
- package/maps/defaultPlayerStatMap.ts +0 -17
- package/maps/falsePHDPillConversions.ts +0 -35
- package/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
- package/maps/gridEntityXMLMap.ts +0 -176
- package/maps/pillEffectMap.ts +0 -88
- package/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
- package/maps/roomTypeMap.ts +0 -40
- package/maps/trinketDescriptionMap.ts +0 -200
- package/maps/trinketNameMap.ts +0 -198
- package/objects/LRoomShapeToRectangles.ts +0 -44
- package/objects/callbackRegisterFunctions.ts +0 -187
- package/objects/cardDescriptions.ts +0 -105
- package/objects/cardNames.ts +0 -105
- package/objects/cardTypes.ts +0 -104
- package/objects/challengeNames.ts +0 -52
- package/objects/characterNames.ts +0 -48
- package/objects/coinSubTypeToValue.ts +0 -14
- package/objects/colors.ts +0 -16
- package/objects/directionNames.ts +0 -11
- package/objects/directionToDegrees.ts +0 -11
- package/objects/directionToVector.ts +0 -12
- package/objects/doorSlotFlagToDoorSlot.ts +0 -16
- package/objects/doorSlotToDirection.ts +0 -14
- package/objects/isaacAPIClassTypeToBrand.ts +0 -11
- package/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
- package/objects/languageNames.ts +0 -13
- package/objects/oppositeDoorSlots.ts +0 -15
- package/objects/pillEffectClasses.ts +0 -63
- package/objects/pillEffectNames.ts +0 -57
- package/objects/pillEffectTypes.ts +0 -62
- package/objects/roomShapeBounds.ts +0 -71
- package/objects/roomShapeLayoutSizes.ts +0 -45
- package/objects/roomShapeToBottomRightPosition.ts +0 -25
- package/objects/roomShapeToDoorSlots.ts +0 -83
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
- package/objects/roomShapeToGridWidth.ts +0 -21
- package/objects/roomShapeToTopLeftPosition.ts +0 -26
- package/objects/roomShapeVolumes.ts +0 -38
- package/objects/roomTypeNames.ts +0 -36
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
- package/objects/stageTypeToLetter.ts +0 -15
- package/objects/transformationNames.ts +0 -18
- package/patchErrorFunctions.ts +0 -92
- package/sets/LRoomShapesSet.ts +0 -8
- package/sets/bossSets.ts +0 -470
- package/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
- package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
- package/sets/charactersWithFreeDevilDealsSet.ts +0 -4
- package/sets/charactersWithNoRedHeartsSet.ts +0 -17
- package/sets/charactersWithNoSoulHeartsSet.ts +0 -14
- package/sets/chestPickupVariantsSet.ts +0 -16
- package/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
- package/sets/lostStyleCharactersSet.ts +0 -13
- package/sets/mineShaftRoomSubTypesSet.ts +0 -10
- package/sets/redHeartSubTypesSet.ts +0 -7
- package/sets/sinEntityTypesSet.ts +0 -11
- package/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
- package/sets/storyBossesSet.ts +0 -17
- package/types/AnyEntity.ts +0 -12
- package/types/AwaitingTextInput.d.ts +0 -2
- package/types/CollectibleIndex.ts +0 -16
- package/types/PickingUpItem.ts +0 -89
- package/types/PlayerIndex.ts +0 -13
- package/types/private/IsaacAPIClass.ts +0 -3
- package/types/private/SerializedIsaacAPIClass.ts +0 -3
- package/types/private/TSTLClass.ts +0 -3
- package/upgradeMod.ts +0 -55
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getPressurePlates } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postPressurePlateUpdateFire,
|
|
5
|
-
postPressurePlateUpdateHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postPressurePlateUpdate";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postPressurePlateUpdateInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postPressurePlateUpdateHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_UPDATE (1)
|
|
18
|
-
function postUpdate() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const pressurePlate of getPressurePlates()) {
|
|
24
|
-
postPressurePlateUpdateFire(pressurePlate);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
3
|
-
import {
|
|
4
|
-
postProjectileInitLateFire,
|
|
5
|
-
postProjectileInitLateHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postProjectileInitLate";
|
|
7
|
-
|
|
8
|
-
const v = {
|
|
9
|
-
room: {
|
|
10
|
-
firedSet: new Set<PtrHash>(),
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/** @internal */
|
|
15
|
-
export function postProjectileInitLateInit(mod: Mod): void {
|
|
16
|
-
saveDataManager("postProjectileInitLate", v, hasSubscriptions);
|
|
17
|
-
|
|
18
|
-
mod.AddCallback(ModCallback.POST_PROJECTILE_UPDATE, postProjectileUpdate); // 44
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function hasSubscriptions() {
|
|
22
|
-
return postProjectileInitLateHasSubscriptions();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// ModCallback.POST_PROJECTILE_UPDATE (44)
|
|
26
|
-
function postProjectileUpdate(projectile: EntityProjectile) {
|
|
27
|
-
if (!hasSubscriptions()) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const index = GetPtrHash(projectile);
|
|
32
|
-
if (!v.room.firedSet.has(index)) {
|
|
33
|
-
v.room.firedSet.add(index);
|
|
34
|
-
postProjectileInitLateFire(projectile);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { DefaultMap } from "../classes/DefaultMap";
|
|
2
|
-
import { ModUpgraded } from "../classes/ModUpgraded";
|
|
3
|
-
import { ModCallbackCustom } from "../enums/ModCallbackCustom";
|
|
4
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
5
|
-
import { getPickups } from "../functions/entitySpecific";
|
|
6
|
-
import {
|
|
7
|
-
defaultMapGetPlayer,
|
|
8
|
-
mapSetPlayer,
|
|
9
|
-
} from "../functions/playerDataStructures";
|
|
10
|
-
import { PlayerIndex } from "../types/PlayerIndex";
|
|
11
|
-
import {
|
|
12
|
-
postPurchaseFire,
|
|
13
|
-
postPurchaseHasSubscriptions,
|
|
14
|
-
} from "./subscriptions/postPurchase";
|
|
15
|
-
|
|
16
|
-
const v = {
|
|
17
|
-
room: {
|
|
18
|
-
playersHoldingItemOnLastFrameMap: new DefaultMap<PlayerIndex, boolean>(
|
|
19
|
-
false,
|
|
20
|
-
),
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/** @internal */
|
|
25
|
-
export function postPurchaseInit(mod: ModUpgraded): void {
|
|
26
|
-
saveDataManager("postPurchase", v, hasSubscriptions);
|
|
27
|
-
|
|
28
|
-
mod.AddCallbackCustom(
|
|
29
|
-
ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED,
|
|
30
|
-
postPEffectUpdateReordered,
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function hasSubscriptions() {
|
|
35
|
-
return postPurchaseHasSubscriptions();
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED
|
|
39
|
-
function postPEffectUpdateReordered(player: EntityPlayer) {
|
|
40
|
-
if (!hasSubscriptions()) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
const isHoldingItem = player.IsHoldingItem();
|
|
45
|
-
const wasHoldingItemOnLastFrame = defaultMapGetPlayer(
|
|
46
|
-
v.room.playersHoldingItemOnLastFrameMap,
|
|
47
|
-
player,
|
|
48
|
-
);
|
|
49
|
-
mapSetPlayer(v.room.playersHoldingItemOnLastFrameMap, player, isHoldingItem);
|
|
50
|
-
|
|
51
|
-
if (!wasHoldingItemOnLastFrame && isHoldingItem) {
|
|
52
|
-
playerPickedUpNewItem(player);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function playerPickedUpNewItem(player: EntityPlayer) {
|
|
57
|
-
const pickups = getPickups();
|
|
58
|
-
const disappearingPickup = pickups.find(
|
|
59
|
-
(pickup) => !pickup.Exists() && pickup.Price !== 0,
|
|
60
|
-
);
|
|
61
|
-
if (disappearingPickup !== undefined) {
|
|
62
|
-
postPurchaseFire(player, disappearingPickup);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getRocks } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postRockRenderFire,
|
|
5
|
-
postRockRenderHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postRockRender";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postRockRenderInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_RENDER, postRender); // 2
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postRockRenderHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_RENDER (2)
|
|
18
|
-
function postRender() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const rock of getRocks()) {
|
|
24
|
-
postRockRenderFire(rock);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getRocks } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postRockUpdateFire,
|
|
5
|
-
postRockUpdateHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postRockUpdate";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postRockUpdateInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postRockUpdateHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_UPDATE (1)
|
|
18
|
-
function postUpdate() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const rock of getRocks()) {
|
|
24
|
-
postRockUpdateFire(rock);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { game } from "../cachedClasses";
|
|
3
|
-
import { ModUpgraded } from "../classes/ModUpgraded";
|
|
4
|
-
import { ModCallbackCustom } from "../enums/ModCallbackCustom";
|
|
5
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
6
|
-
import {
|
|
7
|
-
postRoomClearChangedFire,
|
|
8
|
-
postRoomClearChangedHasSubscriptions,
|
|
9
|
-
} from "./subscriptions/postRoomClearChanged";
|
|
10
|
-
|
|
11
|
-
const v = {
|
|
12
|
-
room: {
|
|
13
|
-
cleared: false,
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/** @internal */
|
|
18
|
-
export function postRoomClearChangedInit(mod: ModUpgraded): void {
|
|
19
|
-
saveDataManager("postRoomClearChanged", v, hasSubscriptions);
|
|
20
|
-
|
|
21
|
-
mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
|
|
22
|
-
mod.AddCallbackCustom(
|
|
23
|
-
ModCallbackCustom.POST_NEW_ROOM_REORDERED,
|
|
24
|
-
postNewRoomReordered,
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function hasSubscriptions() {
|
|
29
|
-
return postRoomClearChangedHasSubscriptions();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// ModCallback.POST_UPDATE (1)
|
|
33
|
-
function postUpdate() {
|
|
34
|
-
if (!hasSubscriptions()) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const room = game.GetRoom();
|
|
39
|
-
const roomClear = room.IsClear();
|
|
40
|
-
|
|
41
|
-
if (roomClear !== v.room.cleared) {
|
|
42
|
-
v.room.cleared = roomClear;
|
|
43
|
-
postRoomClearChangedFire(roomClear);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// ModCallbackCustom.POST_NEW_ROOM_REORDERED
|
|
48
|
-
function postNewRoomReordered() {
|
|
49
|
-
if (!hasSubscriptions()) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const room = game.GetRoom();
|
|
54
|
-
const roomClear = room.IsClear();
|
|
55
|
-
|
|
56
|
-
v.room.cleared = roomClear;
|
|
57
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
DamageFlag,
|
|
3
|
-
EntityType,
|
|
4
|
-
ModCallback,
|
|
5
|
-
RoomType,
|
|
6
|
-
} from "isaac-typescript-definitions";
|
|
7
|
-
import { game } from "../cachedClasses";
|
|
8
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
9
|
-
import { hasFlag } from "../functions/flag";
|
|
10
|
-
import {
|
|
11
|
-
postSacrificeFire,
|
|
12
|
-
postSacrificeHasSubscriptions,
|
|
13
|
-
} from "./subscriptions/postSacrifice";
|
|
14
|
-
|
|
15
|
-
const v = {
|
|
16
|
-
level: {
|
|
17
|
-
numSacrifices: 0,
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/** @internal */
|
|
22
|
-
export function postSacrificeInit(mod: Mod): void {
|
|
23
|
-
saveDataManager("postSacrifice", v, hasSubscriptions);
|
|
24
|
-
|
|
25
|
-
mod.AddCallback(
|
|
26
|
-
ModCallback.ENTITY_TAKE_DMG,
|
|
27
|
-
entityTakeDmgPlayer,
|
|
28
|
-
EntityType.PLAYER,
|
|
29
|
-
); // 11
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function hasSubscriptions() {
|
|
33
|
-
return postSacrificeHasSubscriptions();
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// ModCallback.ENTITY_TAKE_DMG (11)
|
|
37
|
-
// EntityType.PLAYER (1)
|
|
38
|
-
function entityTakeDmgPlayer(
|
|
39
|
-
tookDamage: Entity,
|
|
40
|
-
_damageAmount: float,
|
|
41
|
-
damageFlags: BitFlags<DamageFlag>,
|
|
42
|
-
_damageSource: EntityRef,
|
|
43
|
-
_damageCountdownFrames: int,
|
|
44
|
-
): boolean | undefined {
|
|
45
|
-
if (!hasSubscriptions()) {
|
|
46
|
-
return undefined;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const player = tookDamage.ToPlayer();
|
|
50
|
-
if (player === undefined) {
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
const room = game.GetRoom();
|
|
55
|
-
const roomType = room.GetType();
|
|
56
|
-
const isSpikeDamage = hasFlag(damageFlags, DamageFlag.SPIKES);
|
|
57
|
-
|
|
58
|
-
if (roomType === RoomType.SACRIFICE && isSpikeDamage) {
|
|
59
|
-
v.level.numSacrifices += 1;
|
|
60
|
-
postSacrificeFire(player, v.level.numSacrifices);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return undefined;
|
|
64
|
-
}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
// Normally, when a slot is destroyed, the grid collision class changes to
|
|
2
|
-
// `EntityGridCollisionClass.GROUND` and sticks around in the room. Thus, checking for this case is
|
|
3
|
-
// simple.
|
|
4
|
-
|
|
5
|
-
// The special case is when a slot pays out with a collectible item. In this case, it will not stay
|
|
6
|
-
// in the room. Instead, it will play the "Prize" animation for 3 game frames, and then despawn (to
|
|
7
|
-
// be replaced by a collectible entity). Subsequently, we handle this case by assuming that if the
|
|
8
|
-
// slot disappeared 3 frames after it changed to a prize animation, it was a destruction pay-out.
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
EntityGridCollisionClass,
|
|
12
|
-
EntityType,
|
|
13
|
-
ModCallback,
|
|
14
|
-
} from "isaac-typescript-definitions";
|
|
15
|
-
import { game } from "../cachedClasses";
|
|
16
|
-
import { ModUpgraded } from "../classes/ModUpgraded";
|
|
17
|
-
import { ModCallbackCustom } from "../enums/ModCallbackCustom";
|
|
18
|
-
import { SlotDestructionType } from "../enums/SlotDestructionType";
|
|
19
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
20
|
-
import {
|
|
21
|
-
postSlotDestroyedFire,
|
|
22
|
-
postSlotDestroyedHasSubscriptions,
|
|
23
|
-
} from "./subscriptions/postSlotDestroyed";
|
|
24
|
-
|
|
25
|
-
const PRIZE_GAME_FRAME_DELAY_UNTIL_REMOVAL = 3;
|
|
26
|
-
|
|
27
|
-
const v = {
|
|
28
|
-
room: {
|
|
29
|
-
brokenSlots: new Set<PtrHash>(),
|
|
30
|
-
slotPrizeAnimationGameFrame: new Map<PtrHash, int>(),
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/** @internal */
|
|
35
|
-
export function postSlotDestroyedInit(mod: ModUpgraded): void {
|
|
36
|
-
saveDataManager("postSlotDestroyed", v, hasSubscriptions);
|
|
37
|
-
|
|
38
|
-
mod.AddCallback(
|
|
39
|
-
ModCallback.POST_ENTITY_REMOVE,
|
|
40
|
-
postEntityRemove,
|
|
41
|
-
EntityType.SLOT,
|
|
42
|
-
); // 67
|
|
43
|
-
|
|
44
|
-
mod.AddCallbackCustom(
|
|
45
|
-
ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED,
|
|
46
|
-
postSlotAnimationChanged,
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function hasSubscriptions() {
|
|
51
|
-
return postSlotDestroyedHasSubscriptions();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// ModCallback.POST_ENTITY_REMOVE (67)
|
|
55
|
-
function postEntityRemove(entity: Entity) {
|
|
56
|
-
const slot = entity as EntitySlot;
|
|
57
|
-
const ptrHash = GetPtrHash(slot);
|
|
58
|
-
const gameFrameCount = game.GetFrameCount();
|
|
59
|
-
|
|
60
|
-
const prizeFrame = v.room.slotPrizeAnimationGameFrame.get(ptrHash);
|
|
61
|
-
if (prizeFrame === undefined) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (prizeFrame + PRIZE_GAME_FRAME_DELAY_UNTIL_REMOVAL === gameFrameCount) {
|
|
66
|
-
postSlotDestroyedFire(slot, SlotDestructionType.COLLECTIBLE_PAYOUT);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED
|
|
71
|
-
function postSlotAnimationChanged(slot: EntitySlot) {
|
|
72
|
-
const ptrHash = GetPtrHash(slot);
|
|
73
|
-
const gameFrameCount = game.GetFrameCount();
|
|
74
|
-
|
|
75
|
-
const alreadyBroken = v.room.brokenSlots.has(ptrHash);
|
|
76
|
-
if (alreadyBroken) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (slot.GridCollisionClass === EntityGridCollisionClass.GROUND) {
|
|
81
|
-
v.room.brokenSlots.add(ptrHash);
|
|
82
|
-
postSlotDestroyedFire(slot, SlotDestructionType.NORMAL);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
const sprite = slot.GetSprite();
|
|
86
|
-
const animation = sprite.GetAnimation();
|
|
87
|
-
if (animation === "Prize") {
|
|
88
|
-
v.room.slotPrizeAnimationGameFrame.set(ptrHash, gameFrameCount);
|
|
89
|
-
} else {
|
|
90
|
-
v.room.slotPrizeAnimationGameFrame.delete(ptrHash);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// This provides the logic for the PostSlotInit and PostSlotUpdate callbacks. (The other slot
|
|
2
|
-
// callbacks are handled in a different file.)
|
|
3
|
-
|
|
4
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
5
|
-
import { ModUpgraded } from "../classes/ModUpgraded";
|
|
6
|
-
import { ModCallbackCustom } from "../enums/ModCallbackCustom";
|
|
7
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
8
|
-
import { getSlots } from "../functions/entitySpecific";
|
|
9
|
-
import {
|
|
10
|
-
postSlotInitFire,
|
|
11
|
-
postSlotInitHasSubscriptions,
|
|
12
|
-
} from "./subscriptions/postSlotInit";
|
|
13
|
-
import {
|
|
14
|
-
postSlotUpdateFire,
|
|
15
|
-
postSlotUpdateHasSubscriptions,
|
|
16
|
-
} from "./subscriptions/postSlotUpdate";
|
|
17
|
-
|
|
18
|
-
const v = {
|
|
19
|
-
room: {
|
|
20
|
-
initializedSlots: new Set<PtrHash>(),
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
/** @internal */
|
|
25
|
-
export function postSlotInitUpdateCallbacksInit(mod: ModUpgraded): void {
|
|
26
|
-
saveDataManager("postSlotInitUpdate", v, hasSubscriptions);
|
|
27
|
-
|
|
28
|
-
mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
|
|
29
|
-
mod.AddCallbackCustom(
|
|
30
|
-
ModCallbackCustom.POST_NEW_ROOM_REORDERED,
|
|
31
|
-
postNewRoomReordered,
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function hasSubscriptions() {
|
|
36
|
-
return postSlotInitHasSubscriptions() || postSlotUpdateHasSubscriptions();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// ModCallback.POST_UPDATE (1)
|
|
40
|
-
function postUpdate() {
|
|
41
|
-
if (!hasSubscriptions()) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
for (const slot of getSlots()) {
|
|
46
|
-
checkNewEntity(slot);
|
|
47
|
-
postSlotUpdateFire(slot);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// ModCallbackCustom.POST_NEW_ROOM_REORDERED
|
|
52
|
-
function postNewRoomReordered() {
|
|
53
|
-
if (!hasSubscriptions()) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
for (const slot of getSlots()) {
|
|
58
|
-
checkNewEntity(slot);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function checkNewEntity(slot: EntitySlot) {
|
|
63
|
-
const ptrHash = GetPtrHash(slot);
|
|
64
|
-
if (!v.room.initializedSlots.has(ptrHash)) {
|
|
65
|
-
v.room.initializedSlots.add(ptrHash);
|
|
66
|
-
postSlotInitFire(slot);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// This provides the logic for the following callbacks:
|
|
2
|
-
// - PostSlotRender
|
|
3
|
-
// - PostSlotAnimationChanged
|
|
4
|
-
|
|
5
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
6
|
-
import { DefaultMap } from "../classes/DefaultMap";
|
|
7
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
8
|
-
import { getSlots } from "../functions/entitySpecific";
|
|
9
|
-
import {
|
|
10
|
-
postSlotAnimationChangedFire,
|
|
11
|
-
postSlotAnimationChangedHasSubscriptions,
|
|
12
|
-
} from "./subscriptions/postSlotAnimationChanged";
|
|
13
|
-
import {
|
|
14
|
-
postSlotRenderFire,
|
|
15
|
-
postSlotRenderHasSubscriptions,
|
|
16
|
-
} from "./subscriptions/postSlotRender";
|
|
17
|
-
|
|
18
|
-
const v = {
|
|
19
|
-
room: {
|
|
20
|
-
slotAnimations: new DefaultMap<PtrHash, string, [slot: Entity]>(
|
|
21
|
-
(slot: Entity) => {
|
|
22
|
-
const sprite = slot.GetSprite();
|
|
23
|
-
return sprite.GetAnimation();
|
|
24
|
-
},
|
|
25
|
-
),
|
|
26
|
-
brokenSlots: new Set<PtrHash>(),
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
/** @internal */
|
|
31
|
-
export function postSlotRenderCallbacksInit(mod: Mod): void {
|
|
32
|
-
saveDataManager("postSlotRender", v, hasSubscriptions);
|
|
33
|
-
|
|
34
|
-
mod.AddCallback(ModCallback.POST_RENDER, postRender); // 2
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function hasSubscriptions() {
|
|
38
|
-
return (
|
|
39
|
-
postSlotRenderHasSubscriptions() ||
|
|
40
|
-
postSlotAnimationChangedHasSubscriptions()
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// ModCallback.POST_UPDATE (1)
|
|
45
|
-
function postRender() {
|
|
46
|
-
if (!hasSubscriptions()) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
for (const slot of getSlots()) {
|
|
51
|
-
postSlotRenderFire(slot);
|
|
52
|
-
checkSlotAnimationChanged(slot);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
function checkSlotAnimationChanged(slot: EntitySlot) {
|
|
57
|
-
const sprite = slot.GetSprite();
|
|
58
|
-
const currentAnimation = sprite.GetAnimation();
|
|
59
|
-
const ptrHash = GetPtrHash(slot);
|
|
60
|
-
const previousAnimation = v.room.slotAnimations.getAndSetDefault(
|
|
61
|
-
ptrHash,
|
|
62
|
-
slot,
|
|
63
|
-
);
|
|
64
|
-
v.room.slotAnimations.set(ptrHash, currentAnimation);
|
|
65
|
-
|
|
66
|
-
if (currentAnimation !== previousAnimation) {
|
|
67
|
-
postSlotAnimationChangedFire(slot, previousAnimation, currentAnimation);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getSpikes } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postSpikesRenderFire,
|
|
5
|
-
postSpikesRenderHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postSpikesRender";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postSpikesRenderInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_RENDER, postRender); // 2
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postSpikesRenderHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_RENDER (2)
|
|
18
|
-
function postRender() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const spikes of getSpikes()) {
|
|
24
|
-
postSpikesRenderFire(spikes);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getSpikes } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postSpikesUpdateFire,
|
|
5
|
-
postSpikesUpdateHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postSpikesUpdate";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postSpikesUpdateInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postSpikesUpdateHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_UPDATE (1)
|
|
18
|
-
function postUpdate() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const spikes of getSpikes()) {
|
|
24
|
-
postSpikesUpdateFire(spikes);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getTNT } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postTNTRenderFire,
|
|
5
|
-
postTNTRenderHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postTNTRender";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postTNTRenderInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_RENDER, postRender); // 2
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postTNTRenderHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_RENDER (2)
|
|
18
|
-
function postRender() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const tnt of getTNT()) {
|
|
24
|
-
postTNTRenderFire(tnt);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { getTNT } from "../functions/gridEntitySpecific";
|
|
3
|
-
import {
|
|
4
|
-
postTNTUpdateFire,
|
|
5
|
-
postTNTUpdateHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postTNTUpdate";
|
|
7
|
-
|
|
8
|
-
/** @internal */
|
|
9
|
-
export function postTNTUpdateInit(mod: Mod): void {
|
|
10
|
-
mod.AddCallback(ModCallback.POST_UPDATE, postUpdate); // 1
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function hasSubscriptions() {
|
|
14
|
-
return postTNTUpdateHasSubscriptions();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// ModCallback.POST_UPDATE (1)
|
|
18
|
-
function postUpdate() {
|
|
19
|
-
if (!hasSubscriptions()) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
for (const tnt of getTNT()) {
|
|
24
|
-
postTNTUpdateFire(tnt);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ModCallback } from "isaac-typescript-definitions";
|
|
2
|
-
import { saveDataManager } from "../features/saveDataManager/exports";
|
|
3
|
-
import {
|
|
4
|
-
postTearInitLateFire,
|
|
5
|
-
postTearInitLateHasSubscriptions,
|
|
6
|
-
} from "./subscriptions/postTearInitLate";
|
|
7
|
-
|
|
8
|
-
const v = {
|
|
9
|
-
room: {
|
|
10
|
-
firedSet: new Set<PtrHash>(),
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/** @internal */
|
|
15
|
-
export function postTearInitLateInit(mod: Mod): void {
|
|
16
|
-
saveDataManager("postTearInitLate", v, hasSubscriptions);
|
|
17
|
-
|
|
18
|
-
mod.AddCallback(ModCallback.POST_TEAR_UPDATE, postTearUpdate); // 40
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function hasSubscriptions() {
|
|
22
|
-
return postTearInitLateHasSubscriptions();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// ModCallback.POST_TEAR_UPDATE (40)
|
|
26
|
-
function postTearUpdate(tear: EntityTear) {
|
|
27
|
-
if (!hasSubscriptions()) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const index = GetPtrHash(tear);
|
|
32
|
-
if (!v.room.firedSet.has(index)) {
|
|
33
|
-
v.room.firedSet.add(index);
|
|
34
|
-
postTearInitLateFire(tear);
|
|
35
|
-
}
|
|
36
|
-
}
|