isaacscript-common 4.0.0 → 4.0.3
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/cachedClasses.ts +39 -0
- package/callbacks/customRevive.lua +2 -1
- package/callbacks/customRevive.ts +215 -0
- package/callbacks/itemPickup.ts +101 -0
- package/callbacks/postAmbush.ts +73 -0
- package/callbacks/postBombExploded.ts +26 -0
- package/callbacks/postBombInitLate.ts +36 -0
- package/callbacks/postBoneSwing.ts +64 -0
- package/callbacks/postCollectibleInitFirst.ts +40 -0
- package/callbacks/postCursedTeleport.lua +2 -1
- package/callbacks/postCursedTeleport.ts +185 -0
- package/callbacks/postCustomDoorEnter.lua +0 -7
- package/callbacks/postCustomDoorEnter.ts +292 -0
- package/callbacks/postDiceRoomActivated.ts +60 -0
- package/callbacks/postDoorRender.ts +26 -0
- package/callbacks/postDoorUpdate.ts +26 -0
- package/callbacks/postEffectInitLate.ts +36 -0
- package/callbacks/postEffectStateChanged.ts +43 -0
- package/callbacks/postEsauJr.lua +2 -1
- package/callbacks/postEsauJr.ts +109 -0
- package/callbacks/postFamiliarInitLate.ts +36 -0
- package/callbacks/postFamiliarStateChanged.ts +43 -0
- package/callbacks/postFlip.lua +4 -3
- package/callbacks/postFlip.ts +90 -0
- package/callbacks/postGreedModeWave.ts +41 -0
- package/callbacks/postGridEntity.ts +164 -0
- package/callbacks/postGridEntityCollision.ts +69 -0
- package/callbacks/postGridEntityRender.ts +26 -0
- package/callbacks/postHolyMantleRemoved.ts +55 -0
- package/callbacks/postItemDischarged.lua +4 -3
- package/callbacks/postItemDischarged.ts +154 -0
- package/callbacks/postKnifeInitLate.ts +36 -0
- package/callbacks/postLaserInitLate.ts +36 -0
- package/callbacks/postNPCInitLate.ts +36 -0
- package/callbacks/postNPCStateChanged.ts +42 -0
- package/callbacks/postNewRoomEarly.lua +2 -1
- package/callbacks/postNewRoomEarly.ts +96 -0
- package/callbacks/postPickupCollect.ts +48 -0
- package/callbacks/postPickupInitFirst.ts +70 -0
- package/callbacks/postPickupInitLate.ts +36 -0
- package/callbacks/postPickupStateChanged.ts +43 -0
- package/callbacks/postPitRender.ts +26 -0
- package/callbacks/postPitUpdate.ts +26 -0
- package/callbacks/postPlayerChangeHealth.ts +62 -0
- package/callbacks/postPlayerChangeType.ts +56 -0
- package/callbacks/postPlayerCollectible.ts +113 -0
- package/callbacks/postPlayerFatalDamage.ts +141 -0
- package/callbacks/postPlayerInitLate.ts +37 -0
- package/callbacks/postPlayerReordered.ts +142 -0
- package/callbacks/postPoopRender.ts +26 -0
- package/callbacks/postPoopUpdate.ts +26 -0
- package/callbacks/postPressurePlateRender.ts +26 -0
- package/callbacks/postPressurePlateUpdate.ts +26 -0
- package/callbacks/postProjectileInitLate.ts +36 -0
- package/callbacks/postPurchase.ts +64 -0
- package/callbacks/postRockRender.ts +26 -0
- package/callbacks/postRockUpdate.ts +26 -0
- package/callbacks/postRoomClearChanged.ts +57 -0
- package/callbacks/postSacrifice.lua +3 -2
- package/callbacks/postSacrifice.ts +64 -0
- package/callbacks/postSlotDestroyed.ts +92 -0
- package/callbacks/postSlotInitUpdate.ts +68 -0
- package/callbacks/postSlotRender.ts +69 -0
- package/callbacks/postSpikesRender.ts +26 -0
- package/callbacks/postSpikesUpdate.ts +26 -0
- package/callbacks/postTNTRender.ts +26 -0
- package/callbacks/postTNTUpdate.ts +26 -0
- package/callbacks/postTearInitLate.ts +36 -0
- package/callbacks/postTearInitVeryLate.ts +41 -0
- package/callbacks/postTransformation.ts +59 -0
- package/callbacks/postTrinketBreak.lua +3 -2
- package/callbacks/postTrinketBreak.ts +112 -0
- package/callbacks/preBerserkDeath.ts +49 -0
- package/callbacks/preNewLevel.ts +55 -0
- package/callbacks/reorderedCallbacks.lua +1 -0
- package/callbacks/reorderedCallbacks.ts +168 -0
- package/callbacks/subscriptions/postAmbushFinished.ts +32 -0
- package/callbacks/subscriptions/postAmbushStarted.ts +32 -0
- package/callbacks/subscriptions/postBombInitLate.ts +32 -0
- package/callbacks/subscriptions/postBoneExploded.ts +32 -0
- package/callbacks/subscriptions/postBoneSwing.ts +24 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
- package/callbacks/subscriptions/postCursedTeleport.ts +24 -0
- package/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
- package/callbacks/subscriptions/postCustomRevive.ts +36 -0
- package/callbacks/subscriptions/postDiceRoomActivated.ts +38 -0
- package/callbacks/subscriptions/postDoorRender.ts +35 -0
- package/callbacks/subscriptions/postDoorUpdate.ts +35 -0
- package/callbacks/subscriptions/postEffectInitLate.ts +32 -0
- package/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
- package/callbacks/subscriptions/postEsauJr.ts +24 -0
- package/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
- package/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
- package/callbacks/subscriptions/postFirstFlip.ts +24 -0
- package/callbacks/subscriptions/postFlip.ts +22 -0
- package/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
- package/callbacks/subscriptions/postGreedModeWave.ts +24 -0
- package/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
- package/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
- package/callbacks/subscriptions/postGridEntityInit.ts +51 -0
- package/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
- package/callbacks/subscriptions/postGridEntityRender.ts +51 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
- package/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
- package/callbacks/subscriptions/postItemDischarged.ts +43 -0
- package/callbacks/subscriptions/postItemPickup.ts +64 -0
- package/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
- package/callbacks/subscriptions/postLaserInitLate.ts +32 -0
- package/callbacks/subscriptions/postNPCInitLate.ts +32 -0
- package/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
- package/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
- package/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
- package/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
- package/callbacks/subscriptions/postPickupCollect.ts +35 -0
- package/callbacks/subscriptions/postPickupInitFirst.ts +32 -0
- package/callbacks/subscriptions/postPickupInitLate.ts +32 -0
- package/callbacks/subscriptions/postPickupStateChanged.ts +40 -0
- package/callbacks/subscriptions/postPitRender.ts +35 -0
- package/callbacks/subscriptions/postPitUpdate.ts +35 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.ts +49 -0
- package/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
- package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +38 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +1 -1
- package/callbacks/subscriptions/postPlayerFatalDamage.ts +68 -0
- package/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
- package/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
- package/callbacks/subscriptions/postPoopRender.ts +35 -0
- package/callbacks/subscriptions/postPoopUpdate.ts +35 -0
- package/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
- package/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
- package/callbacks/subscriptions/postPurchase.ts +31 -0
- package/callbacks/subscriptions/postRockRender.ts +35 -0
- package/callbacks/subscriptions/postRockUpdate.ts +35 -0
- package/callbacks/subscriptions/postRoomClearChanged.ts +30 -0
- package/callbacks/subscriptions/postSacrifice.ts +43 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
- package/callbacks/subscriptions/postSlotDestroyed.ts +55 -0
- package/callbacks/subscriptions/postSlotInit.ts +32 -0
- package/callbacks/subscriptions/postSlotRender.ts +32 -0
- package/callbacks/subscriptions/postSlotUpdate.ts +32 -0
- package/callbacks/subscriptions/postSpikesRender.ts +35 -0
- package/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
- package/callbacks/subscriptions/postTNTRender.ts +35 -0
- package/callbacks/subscriptions/postTNTUpdate.ts +35 -0
- package/callbacks/subscriptions/postTearInitLate.ts +32 -0
- package/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
- package/callbacks/subscriptions/postTransformation.ts +40 -0
- package/callbacks/subscriptions/postTrinketBreak.ts +38 -0
- package/callbacks/subscriptions/preBerserkDeath.ts +42 -0
- package/callbacks/subscriptions/preCustomRevive.d.ts +1 -1
- package/callbacks/subscriptions/preCustomRevive.ts +46 -0
- package/callbacks/subscriptions/preItemPickup.ts +64 -0
- package/callbacks/subscriptions/preNewLevel.ts +24 -0
- package/classes/DefaultMap.ts +174 -0
- package/classes/ModUpgraded.d.ts +5 -1
- package/classes/ModUpgraded.lua +2 -2
- package/classes/ModUpgraded.ts +84 -0
- package/constants.ts +162 -0
- package/constantsFirstLast.ts +217 -0
- package/enums/AmbushType.ts +4 -0
- package/enums/HealthType.ts +16 -0
- package/enums/ModCallbackCustom.d.ts +2 -2
- package/enums/ModCallbackCustom.ts +1278 -0
- package/enums/PocketItemType.ts +8 -0
- package/enums/SerializationType.ts +5 -0
- package/enums/SlotDestructionType.ts +4 -0
- package/enums/private/CopyableIsaacAPIClassType.ts +7 -0
- package/enums/private/SaveDataKey.ts +14 -0
- package/enums/private/SerializationBrand.ts +42 -0
- package/features/characterHealthConversion.lua +2 -9
- package/features/characterHealthConversion.ts +111 -0
- package/features/characterStats.ts +61 -0
- package/features/debugDisplay/debugDisplay.ts +221 -0
- package/features/debugDisplay/exports.ts +368 -0
- package/features/debugDisplay/v.ts +65 -0
- package/features/deployJSONRoom.ts +743 -0
- package/features/disableInputs.ts +193 -0
- package/features/disableSound.ts +77 -0
- package/features/extraConsoleCommands/commandsDisplay.ts +290 -0
- package/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
- package/features/extraConsoleCommands/init.ts +334 -0
- package/features/extraConsoleCommands/listCommands.ts +1299 -0
- package/features/extraConsoleCommands/v.ts +14 -0
- package/features/fadeInRemover.ts +60 -0
- package/features/fastReset.ts +75 -0
- package/features/forgottenSwitch.ts +50 -0
- package/features/getCollectibleItemPoolType.ts +66 -0
- package/features/persistentEntities.ts +183 -0
- package/features/playerInventory.lua +1 -0
- package/features/playerInventory.ts +135 -0
- package/features/ponyDetection.ts +74 -0
- package/features/preventCollectibleRotation.ts +115 -0
- package/features/runInNFrames.ts +148 -0
- package/features/saveDataManager/constants.ts +4 -0
- package/features/saveDataManager/exports.ts +229 -0
- package/features/saveDataManager/load.ts +99 -0
- package/features/saveDataManager/main.ts +195 -0
- package/features/saveDataManager/maps.ts +13 -0
- package/features/saveDataManager/merge.ts +194 -0
- package/features/saveDataManager/save.ts +74 -0
- package/features/saveDataManager/serializationBrand.ts +16 -0
- package/features/sirenHelpers.ts +129 -0
- package/features/taintedLazarusPlayers.ts +113 -0
- package/featuresInitialized.ts +20 -0
- package/functions/ambush.ts +47 -0
- package/functions/array.ts +410 -0
- package/functions/benchmark.ts +36 -0
- package/functions/bitwise.ts +24 -0
- package/functions/bombs.ts +12 -0
- package/functions/boss.ts +227 -0
- package/functions/cacheFlag.ts +12 -0
- package/functions/cards.ts +271 -0
- package/functions/challenges.ts +13 -0
- package/functions/character.ts +126 -0
- package/functions/charge.ts +237 -0
- package/functions/chargeBar.ts +67 -0
- package/functions/collectibleCacheFlag.ts +90 -0
- package/functions/collectibleSet.ts +56 -0
- package/functions/collectibleTag.ts +89 -0
- package/functions/collectibles.ts +659 -0
- package/functions/color.lua +0 -7
- package/functions/color.ts +128 -0
- package/functions/debug.ts +68 -0
- package/functions/deepCopy.lua +46 -51
- package/functions/deepCopy.ts +535 -0
- package/functions/deepCopyTests.ts +386 -0
- package/functions/direction.ts +49 -0
- package/functions/doors.ts +347 -0
- package/functions/easing.ts +182 -0
- package/functions/eden.ts +47 -0
- package/functions/effects.ts +20 -0
- package/functions/entity.ts +439 -0
- package/functions/entitySpecific.ts +889 -0
- package/functions/entityTypes.ts +6 -0
- package/functions/enums.ts +146 -0
- package/functions/familiars.ts +106 -0
- package/functions/flag.ts +165 -0
- package/functions/flying.ts +117 -0
- package/functions/globals.ts +242 -0
- package/functions/gridEntity.ts +511 -0
- package/functions/gridEntitySpecific.ts +112 -0
- package/functions/input.ts +139 -0
- package/functions/isaacAPIClass.ts +67 -0
- package/functions/jsonHelpers.ts +45 -0
- package/functions/jsonRoom.ts +100 -0
- package/functions/kColor.lua +0 -7
- package/functions/kColor.ts +129 -0
- package/functions/language.ts +13 -0
- package/functions/level.ts +31 -0
- package/functions/log.ts +720 -0
- package/functions/map.ts +56 -0
- package/functions/math.ts +149 -0
- package/functions/mergeTests.ts +288 -0
- package/functions/npc.ts +148 -0
- package/functions/pickupVariants.ts +60 -0
- package/functions/pickups.ts +499 -0
- package/functions/pills.ts +205 -0
- package/functions/player.lua +9 -20
- package/functions/player.ts +1056 -0
- package/functions/playerDataStructures.ts +150 -0
- package/functions/playerHealth.lua +28 -39
- package/functions/playerHealth.ts +382 -0
- package/functions/playerIndex.ts +195 -0
- package/functions/pocketItems.ts +149 -0
- package/functions/positionVelocity.ts +188 -0
- package/functions/random.ts +77 -0
- package/functions/revive.ts +201 -0
- package/functions/rng.lua +0 -7
- package/functions/rng.ts +172 -0
- package/functions/roomData.ts +199 -0
- package/functions/roomGrid.ts +109 -0
- package/functions/roomShape.ts +80 -0
- package/functions/rooms.ts +648 -0
- package/functions/run.ts +36 -0
- package/functions/saveFile.ts +128 -0
- package/functions/seeds.ts +19 -0
- package/functions/serialization.ts +91 -0
- package/functions/set.ts +95 -0
- package/functions/sound.ts +9 -0
- package/functions/spawnCollectible.ts +104 -0
- package/functions/sprite.ts +107 -0
- package/functions/stage.ts +125 -0
- package/functions/string.ts +47 -0
- package/functions/table.ts +189 -0
- package/functions/tears.ts +32 -0
- package/functions/transformations.ts +131 -0
- package/functions/trinketCacheFlag.ts +60 -0
- package/functions/trinketGive.ts +157 -0
- package/functions/trinkets.ts +215 -0
- package/functions/tstlClass.ts +157 -0
- package/functions/types.ts +36 -0
- package/functions/ui.ts +138 -0
- package/functions/utils.d.ts +0 -37
- package/functions/utils.lua +0 -35
- package/functions/utils.ts +189 -0
- package/functions/vector.lua +0 -7
- package/functions/vector.ts +126 -0
- package/index.ts +172 -0
- package/initCustomCallbacks.ts +132 -0
- package/initFeatures.ts +39 -0
- package/interfaces/AddCallbackParameterCustom.ts +188 -0
- package/interfaces/ChargeBarSprites.ts +12 -0
- package/interfaces/JSONDoor.d.ts +3 -3
- package/interfaces/JSONDoor.ts +13 -0
- package/interfaces/JSONEntity.d.ts +4 -4
- package/interfaces/JSONEntity.ts +16 -0
- package/interfaces/JSONRoom.d.ts +8 -8
- package/interfaces/JSONRoom.ts +36 -0
- package/interfaces/JSONRooms.ts +12 -0
- package/interfaces/JSONSpawn.d.ts +2 -2
- package/interfaces/JSONSpawn.ts +14 -0
- package/interfaces/PlayerHealth.ts +16 -0
- package/interfaces/PocketItemDescription.ts +9 -0
- package/interfaces/SaveData.ts +29 -0
- package/interfaces/TrinketSituation.ts +9 -0
- package/interfaces/private/TSTLClassMetatable.ts +8 -0
- package/maps/PHDPillConversions.ts +21 -0
- package/maps/cardMap.ts +209 -0
- package/maps/characterMap.ts +87 -0
- package/maps/collectibleDescriptionMap.ts +732 -0
- package/maps/collectibleNameMap.ts +731 -0
- package/maps/defaultPlayerStatMap.ts +17 -0
- package/maps/falsePHDPillConversions.ts +35 -0
- package/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
- package/maps/gridEntityXMLMap.ts +176 -0
- package/maps/pillEffectMap.ts +88 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
- package/maps/roomTypeMap.ts +40 -0
- package/maps/trinketDescriptionMap.ts +200 -0
- package/maps/trinketNameMap.ts +198 -0
- package/objects/LRoomShapeToRectangles.ts +44 -0
- package/objects/callbackRegisterFunctions.ts +187 -0
- package/objects/cardDescriptions.ts +105 -0
- package/objects/cardNames.ts +105 -0
- package/objects/cardTypes.ts +104 -0
- package/objects/challengeNames.ts +52 -0
- package/objects/characterNames.ts +48 -0
- package/objects/coinSubTypeToValue.ts +14 -0
- package/objects/colors.ts +16 -0
- package/objects/directionNames.ts +11 -0
- package/objects/directionToDegrees.ts +11 -0
- package/objects/directionToVector.ts +12 -0
- package/objects/doorSlotFlagToDoorSlot.ts +16 -0
- package/objects/doorSlotToDirection.ts +14 -0
- package/objects/isaacAPIClassTypeToBrand.ts +11 -0
- package/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
- package/objects/languageNames.ts +13 -0
- package/objects/oppositeDoorSlots.ts +15 -0
- package/objects/pillEffectClasses.ts +63 -0
- package/objects/pillEffectNames.ts +57 -0
- package/objects/pillEffectTypes.ts +62 -0
- package/objects/roomShapeBounds.ts +71 -0
- package/objects/roomShapeLayoutSizes.ts +45 -0
- package/objects/roomShapeToBottomRightPosition.ts +25 -0
- package/objects/roomShapeToDoorSlots.ts +83 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
- package/objects/roomShapeToGridWidth.ts +21 -0
- package/objects/roomShapeToTopLeftPosition.ts +26 -0
- package/objects/roomShapeVolumes.ts +38 -0
- package/objects/roomTypeNames.ts +36 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
- package/objects/stageTypeToLetter.ts +15 -0
- package/objects/transformationNames.d.ts +0 -1
- package/objects/transformationNames.lua +0 -1
- package/objects/transformationNames.ts +18 -0
- package/package.json +2 -2
- package/patchErrorFunctions.ts +92 -0
- package/sets/LRoomShapesSet.ts +8 -0
- package/sets/bossSets.ts +470 -0
- package/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
- package/sets/charactersWithFreeDevilDealsSet.ts +4 -0
- package/sets/charactersWithNoRedHeartsSet.ts +17 -0
- package/sets/charactersWithNoSoulHeartsSet.ts +14 -0
- package/sets/chestPickupVariantsSet.ts +16 -0
- package/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
- package/sets/lostStyleCharactersSet.ts +13 -0
- package/sets/mineShaftRoomSubTypesSet.ts +10 -0
- package/sets/redHeartSubTypesSet.ts +7 -0
- package/sets/sinEntityTypesSet.ts +11 -0
- package/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
- package/sets/storyBossesSet.ts +17 -0
- package/types/AnyEntity.ts +12 -0
- package/types/AwaitingTextInput.d.ts +2 -0
- package/types/CollectibleIndex.ts +16 -0
- package/types/PickingUpItem.ts +89 -0
- package/types/PlayerIndex.ts +13 -0
- package/types/private/IsaacAPIClass.ts +3 -0
- package/types/private/SerializedIsaacAPIClass.ts +3 -0
- package/types/private/TSTLClass.ts +3 -0
- package/upgradeMod.ts +55 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { RenderMode } from "isaac-typescript-definitions";
|
|
2
|
+
import { game } from "../cachedClasses";
|
|
3
|
+
|
|
4
|
+
const HEX_STRING_LENGTH = 6;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Helper function to return an array with the elements from start to end. It is inclusive at the
|
|
8
|
+
* start and exclusive at the end. (The "e" stands for exclusive.)
|
|
9
|
+
*
|
|
10
|
+
* For example, `erange(1, 3)` will return `[1, 2]`.
|
|
11
|
+
*
|
|
12
|
+
* If only one argument is specified, then it will assume that the start is 0.
|
|
13
|
+
*/
|
|
14
|
+
export function erange(start: int, end?: int): int[] {
|
|
15
|
+
if (end === undefined) {
|
|
16
|
+
end = start;
|
|
17
|
+
start = 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const array: int[] = [];
|
|
21
|
+
for (let i = start; i < end; i++) {
|
|
22
|
+
array.push(i);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return array;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Helper function to log what is happening in functions that recursively move through nested data
|
|
30
|
+
* structures.
|
|
31
|
+
*/
|
|
32
|
+
export function getTraversalDescription(
|
|
33
|
+
key: unknown,
|
|
34
|
+
traversalDescription: string,
|
|
35
|
+
): string {
|
|
36
|
+
if (traversalDescription !== "") {
|
|
37
|
+
traversalDescription += " --> ";
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
traversalDescription += tostring(key);
|
|
41
|
+
|
|
42
|
+
return traversalDescription;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Converts a hex string like "#33aa33" to a KColor object.
|
|
47
|
+
*
|
|
48
|
+
* @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
|
|
49
|
+
*/
|
|
50
|
+
export function hexToKColor(hexString: string, alpha: float): KColor {
|
|
51
|
+
hexString = hexString.replace("#", "");
|
|
52
|
+
if (hexString.length !== HEX_STRING_LENGTH) {
|
|
53
|
+
error(`Hex strings must be of length ${HEX_STRING_LENGTH}.`);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const rString = hexString.substr(0, 2);
|
|
57
|
+
const R = tonumber(`0x${rString}`);
|
|
58
|
+
if (R === undefined) {
|
|
59
|
+
error(`Failed to convert \`0x${rString}\` to a number.`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const gString = hexString.substr(2, 2);
|
|
63
|
+
const G = tonumber(`0x${gString}`);
|
|
64
|
+
if (G === undefined) {
|
|
65
|
+
error(`Failed to convert \`0x${gString}\` to a number.`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const bString = hexString.substr(4, 2);
|
|
69
|
+
const B = tonumber(`0x${bString}`);
|
|
70
|
+
if (B === undefined) {
|
|
71
|
+
error(`Failed to convert \`0x${bString}\` to a number.`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// KColor values should be between 0 and 1.
|
|
75
|
+
const base = 255;
|
|
76
|
+
return KColor(R / base, G / base, B / base, alpha);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Helper function to return an array with the elements from start to end, inclusive. (The "i"
|
|
81
|
+
* stands for inclusive.)
|
|
82
|
+
*
|
|
83
|
+
* For example, `irange(1, 3)` will return `[1, 2, 3]`.
|
|
84
|
+
*
|
|
85
|
+
* If only one argument is specified, then it will assume that the start is 0.
|
|
86
|
+
*/
|
|
87
|
+
export function irange(start: int, end?: int): int[] {
|
|
88
|
+
if (end === undefined) {
|
|
89
|
+
end = start;
|
|
90
|
+
start = 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const array: int[] = [];
|
|
94
|
+
for (let i = start; i <= end; i++) {
|
|
95
|
+
array.push(i);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return array;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Since this is a UI element, we do not want to draw it in water reflections. `renderOffset` will
|
|
103
|
+
* be a non-zero value in reflections.
|
|
104
|
+
*/
|
|
105
|
+
export function isReflectionRender(): boolean {
|
|
106
|
+
const room = game.GetRoom();
|
|
107
|
+
const renderMode = room.GetRenderMode();
|
|
108
|
+
return renderMode === RenderMode.WATER_REFLECT;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Helper function to print something to the in-game console. Use this instead of invoking the
|
|
113
|
+
* `Isaac.ConsoleOutput` method directly because it will automatically insert a newline at the end
|
|
114
|
+
* of the message (which `Isaac.ConsoleOutput` does not do by default).
|
|
115
|
+
*/
|
|
116
|
+
export function printConsole(msg: string): void {
|
|
117
|
+
Isaac.ConsoleOutput(`${msg}\n`);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/** Helper function to print whether something was enabled or disabled to the in-game console. */
|
|
121
|
+
export function printEnabled(enabled: boolean, description: string): void {
|
|
122
|
+
const enabledText = enabled ? "Enabled" : "Disabled";
|
|
123
|
+
printConsole(`${enabledText} ${description}.`);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Helper function to repeat code N times. This is faster to type and cleaner than using a for loop.
|
|
128
|
+
*
|
|
129
|
+
* For example:
|
|
130
|
+
*
|
|
131
|
+
* ```ts
|
|
132
|
+
* const player = Isaac.GetPlayer();
|
|
133
|
+
* repeat(10, () => {
|
|
134
|
+
* player.AddCollectible(CollectibleType.STEVEN);
|
|
135
|
+
* });
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* The repeated function is passed the index of the iteration, if needed:
|
|
139
|
+
*
|
|
140
|
+
* ```ts
|
|
141
|
+
* repeat(3, (i) => {
|
|
142
|
+
* print(i); // Prints "0", "1", "2"
|
|
143
|
+
* });
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export function repeat(n: int, func: (i: int) => void): void {
|
|
147
|
+
for (let i = 0; i < n; i++) {
|
|
148
|
+
func(i);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Helper function to signify that the enclosing code block is not yet complete. Using this function
|
|
154
|
+
* is similar to writing a "TODO" comment, but it has the benefit of preventing ESLint errors due to
|
|
155
|
+
* early returns.
|
|
156
|
+
*
|
|
157
|
+
* When you see this function, it simply means that the programmer intends to add in more code to
|
|
158
|
+
* this spot later.
|
|
159
|
+
*
|
|
160
|
+
* This function does not actually do anything. (It is an "empty" function.)
|
|
161
|
+
*/
|
|
162
|
+
export function todo(): void {}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Helper function to sort a two-dimensional array by the first element.
|
|
166
|
+
*
|
|
167
|
+
* For example:
|
|
168
|
+
*
|
|
169
|
+
* ```ts
|
|
170
|
+
* const myArray = [[1, 2], [2, 3], [3, 4]];
|
|
171
|
+
* myArray.sort(twoDimensionalSort);
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* From:
|
|
175
|
+
* https://stackoverflow.com/questions/16096872/how-to-sort-2-dimensional-array-by-column-value
|
|
176
|
+
*/
|
|
177
|
+
export function twoDimensionalSort<T>(a: T[], b: T[]): -1 | 0 | 1 {
|
|
178
|
+
if (a[0] === undefined || b[0] === undefined) {
|
|
179
|
+
error(
|
|
180
|
+
"Failed to two-dimensional sort since the first element of the array was undefined.",
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (a[0] === b[0]) {
|
|
185
|
+
return 0;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return a[0] < b[0] ? -1 : 1;
|
|
189
|
+
}
|
package/functions/vector.lua
CHANGED
|
@@ -15,8 +15,6 @@ local getNumbersFromTable = ____table.getNumbersFromTable
|
|
|
15
15
|
local tableHasKeys = ____table.tableHasKeys
|
|
16
16
|
local ____types = require("functions.types")
|
|
17
17
|
local isTable = ____types.isTable
|
|
18
|
-
local ____utils = require("functions.utils")
|
|
19
|
-
local ensureAllCases = ____utils.ensureAllCases
|
|
20
18
|
--- Helper function to check if something is an instantiated Vector object.
|
|
21
19
|
function ____exports.isVector(self, object)
|
|
22
20
|
return isIsaacAPIClassOfType(nil, object, OBJECT_NAME)
|
|
@@ -76,11 +74,6 @@ function ____exports.copyVector(self, vector, serializationType)
|
|
|
76
74
|
return Vector(x, y)
|
|
77
75
|
end
|
|
78
76
|
end
|
|
79
|
-
do
|
|
80
|
-
do
|
|
81
|
-
return ensureAllCases(nil, serializationType)
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
77
|
until true
|
|
85
78
|
end
|
|
86
79
|
--- Used to determine is the given table is a serialized `Vector` object created by the save data
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Direction } from "isaac-typescript-definitions";
|
|
2
|
+
import { SerializationBrand } from "../enums/private/SerializationBrand";
|
|
3
|
+
import { SerializationType } from "../enums/SerializationType";
|
|
4
|
+
import { angleToDirection } from "./direction";
|
|
5
|
+
import { isaacAPIClassEquals, isIsaacAPIClassOfType } from "./isaacAPIClass";
|
|
6
|
+
import { copyValuesToTable, getNumbersFromTable, tableHasKeys } from "./table";
|
|
7
|
+
import { isTable } from "./types";
|
|
8
|
+
|
|
9
|
+
type SerializedVector = LuaTable<string, unknown> & {
|
|
10
|
+
readonly __serializedVectorBrand: unique symbol;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
interface CopyVectorReturn {
|
|
14
|
+
[SerializationType.NONE]: Vector;
|
|
15
|
+
[SerializationType.SERIALIZE]: SerializedVector;
|
|
16
|
+
[SerializationType.DESERIALIZE]: Vector;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const KEYS = ["X", "Y"];
|
|
20
|
+
const OBJECT_NAME = "Vector";
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Helper function to copy a `Vector` object.
|
|
24
|
+
*
|
|
25
|
+
* @param vector The vector to copy. In the case of deserialization, this will actually be a Lua
|
|
26
|
+
* table instead of an instantiated Vector class.
|
|
27
|
+
* @param serializationType Default is `SerializationType.NONE`.
|
|
28
|
+
*/
|
|
29
|
+
export function copyVector<
|
|
30
|
+
V extends Vector | SerializedVector,
|
|
31
|
+
S extends SerializationType,
|
|
32
|
+
>(vector: V, serializationType: S): CopyVectorReturn[S];
|
|
33
|
+
export function copyVector<V extends Vector | SerializedVector>(
|
|
34
|
+
vector: V,
|
|
35
|
+
): CopyVectorReturn[SerializationType.NONE];
|
|
36
|
+
export function copyVector(
|
|
37
|
+
vector: Vector | SerializedVector,
|
|
38
|
+
serializationType = SerializationType.NONE,
|
|
39
|
+
): CopyVectorReturn[keyof CopyVectorReturn] {
|
|
40
|
+
switch (serializationType) {
|
|
41
|
+
case SerializationType.NONE: {
|
|
42
|
+
if (!isVector(vector)) {
|
|
43
|
+
error(
|
|
44
|
+
`Failed to copy a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return Vector(vector.X, vector.Y);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
case SerializationType.SERIALIZE: {
|
|
52
|
+
if (!isVector(vector)) {
|
|
53
|
+
error(
|
|
54
|
+
`Failed to serialize a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const vectorTable = new LuaTable<string, unknown>();
|
|
59
|
+
copyValuesToTable(vector, KEYS, vectorTable);
|
|
60
|
+
vectorTable.set(SerializationBrand.VECTOR, "");
|
|
61
|
+
return vectorTable as SerializedVector;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
case SerializationType.DESERIALIZE: {
|
|
65
|
+
if (!isTable(vector)) {
|
|
66
|
+
error(
|
|
67
|
+
`Failed to deserialize a ${OBJECT_NAME} object since the provided object was not a Lua table.`,
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const [x, y] = getNumbersFromTable(
|
|
72
|
+
vector as LuaTable<string, unknown>,
|
|
73
|
+
OBJECT_NAME,
|
|
74
|
+
...KEYS,
|
|
75
|
+
);
|
|
76
|
+
|
|
77
|
+
if (x === undefined) {
|
|
78
|
+
error(
|
|
79
|
+
`Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: x`,
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
if (y === undefined) {
|
|
83
|
+
error(
|
|
84
|
+
`Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: y`,
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return Vector(x, y);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Used to determine is the given table is a serialized `Vector` object created by the save data
|
|
95
|
+
* manager and/or the `deepCopy` function.
|
|
96
|
+
*/
|
|
97
|
+
export function isSerializedVector(
|
|
98
|
+
object: unknown,
|
|
99
|
+
): object is SerializedVector {
|
|
100
|
+
if (!isTable(object)) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return tableHasKeys(object, ...KEYS) && object.has(SerializationBrand.VECTOR);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/** Helper function to check if something is an instantiated Vector object. */
|
|
108
|
+
export function isVector(object: unknown): object is Vector {
|
|
109
|
+
return isIsaacAPIClassOfType(object, OBJECT_NAME);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function vectorEquals(vector1: Vector, vector2: Vector): boolean {
|
|
113
|
+
return isaacAPIClassEquals(vector1, vector2, KEYS);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/** Helper function for finding out which way a vector is pointing. */
|
|
117
|
+
export function vectorToDirection(vector: Vector): Direction {
|
|
118
|
+
const angleDegrees = vector.GetAngleDegrees();
|
|
119
|
+
return angleToDirection(angleDegrees);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export function vectorToString(vector: Vector, round = false): string {
|
|
123
|
+
const x = round ? Math.round(vector.X) : vector.X;
|
|
124
|
+
const y = round ? Math.round(vector.Y) : vector.Y;
|
|
125
|
+
return `(${x}, ${y})`;
|
|
126
|
+
}
|
package/index.ts
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/* eslint-disable sort-exports/sort-exports */
|
|
2
|
+
|
|
3
|
+
export * from "./cachedClasses";
|
|
4
|
+
export {
|
|
5
|
+
initCustomDoor,
|
|
6
|
+
spawnCustomDoor,
|
|
7
|
+
} from "./callbacks/postCustomDoorEnter";
|
|
8
|
+
export {
|
|
9
|
+
forceNewLevelCallback,
|
|
10
|
+
forceNewRoomCallback,
|
|
11
|
+
} from "./callbacks/reorderedCallbacks";
|
|
12
|
+
export * from "./classes/DefaultMap";
|
|
13
|
+
export * from "./classes/ModUpgraded";
|
|
14
|
+
export * from "./constants";
|
|
15
|
+
export * from "./constantsFirstLast";
|
|
16
|
+
export * from "./enums/HealthType";
|
|
17
|
+
export * from "./enums/ModCallbackCustom";
|
|
18
|
+
export * from "./enums/PocketItemType";
|
|
19
|
+
export * from "./enums/SerializationType";
|
|
20
|
+
export {
|
|
21
|
+
ConversionHeartSubType,
|
|
22
|
+
registerCharacterHealthConversion,
|
|
23
|
+
} from "./features/characterHealthConversion";
|
|
24
|
+
export { registerCharacterStats } from "./features/characterStats";
|
|
25
|
+
export * from "./features/debugDisplay/exports";
|
|
26
|
+
export {
|
|
27
|
+
deployJSONRoom,
|
|
28
|
+
deployRandomJSONRoom,
|
|
29
|
+
emptyRoom,
|
|
30
|
+
} from "./features/deployJSONRoom";
|
|
31
|
+
export {
|
|
32
|
+
disableAllInputs,
|
|
33
|
+
disableAllInputsExceptFor,
|
|
34
|
+
disableMovementInputs,
|
|
35
|
+
disableShootingInputs,
|
|
36
|
+
enableAllInputs,
|
|
37
|
+
enableAllInputsExceptFor,
|
|
38
|
+
} from "./features/disableInputs";
|
|
39
|
+
export { disableAllSound, enableAllSound } from "./features/disableSound";
|
|
40
|
+
export {
|
|
41
|
+
addConsoleCommand,
|
|
42
|
+
enableExtraConsoleCommands,
|
|
43
|
+
removeConsoleCommand,
|
|
44
|
+
} from "./features/extraConsoleCommands/init";
|
|
45
|
+
export { removeFadeIn, restoreFadeIn } from "./features/fadeInRemover";
|
|
46
|
+
export { disableFastReset, enableFastReset } from "./features/fastReset";
|
|
47
|
+
export { forgottenSwitch } from "./features/forgottenSwitch";
|
|
48
|
+
export { getCollectibleItemPoolType } from "./features/getCollectibleItemPoolType";
|
|
49
|
+
export {
|
|
50
|
+
removePersistentEntity,
|
|
51
|
+
spawnPersistentEntity,
|
|
52
|
+
} from "./features/persistentEntities";
|
|
53
|
+
export { getPlayerInventory } from "./features/playerInventory";
|
|
54
|
+
export * from "./features/ponyDetection";
|
|
55
|
+
export { preventCollectibleRotation } from "./features/preventCollectibleRotation";
|
|
56
|
+
export {
|
|
57
|
+
runInNGameFrames,
|
|
58
|
+
runInNRenderFrames,
|
|
59
|
+
runNextGameFrame,
|
|
60
|
+
runNextRenderFrame,
|
|
61
|
+
} from "./features/runInNFrames";
|
|
62
|
+
export * from "./features/saveDataManager/exports";
|
|
63
|
+
export {
|
|
64
|
+
hasSirenStolenFamiliar,
|
|
65
|
+
setFamiliarNoSirenSteal,
|
|
66
|
+
} from "./features/sirenHelpers";
|
|
67
|
+
export { getTaintedLazarusSubPlayer } from "./features/taintedLazarusPlayers";
|
|
68
|
+
export * from "./functions/ambush";
|
|
69
|
+
export * from "./functions/array";
|
|
70
|
+
export * from "./functions/benchmark";
|
|
71
|
+
export * from "./functions/bitwise";
|
|
72
|
+
export * from "./functions/bombs";
|
|
73
|
+
export * from "./functions/boss";
|
|
74
|
+
export * from "./functions/cacheFlag";
|
|
75
|
+
export * from "./functions/cards";
|
|
76
|
+
export * from "./functions/challenges";
|
|
77
|
+
export * from "./functions/character";
|
|
78
|
+
export * from "./functions/charge";
|
|
79
|
+
export * from "./functions/chargeBar";
|
|
80
|
+
export * from "./functions/collectibleCacheFlag";
|
|
81
|
+
export * from "./functions/collectibles";
|
|
82
|
+
export * from "./functions/collectibleSet";
|
|
83
|
+
export * from "./functions/collectibleTag";
|
|
84
|
+
export * from "./functions/color";
|
|
85
|
+
export * from "./functions/debug";
|
|
86
|
+
export { deepCopy } from "./functions/deepCopy";
|
|
87
|
+
export { deepCopyTests } from "./functions/deepCopyTests";
|
|
88
|
+
export * from "./functions/direction";
|
|
89
|
+
export * from "./functions/doors";
|
|
90
|
+
export * from "./functions/easing";
|
|
91
|
+
export * from "./functions/eden";
|
|
92
|
+
export * from "./functions/effects";
|
|
93
|
+
export * from "./functions/entity";
|
|
94
|
+
export * from "./functions/entitySpecific";
|
|
95
|
+
export * from "./functions/entityTypes";
|
|
96
|
+
export * from "./functions/enums";
|
|
97
|
+
export * from "./functions/familiars";
|
|
98
|
+
export * from "./functions/flag";
|
|
99
|
+
export * from "./functions/flying";
|
|
100
|
+
export * from "./functions/globals";
|
|
101
|
+
export * from "./functions/gridEntity";
|
|
102
|
+
export * from "./functions/gridEntitySpecific";
|
|
103
|
+
export * from "./functions/input";
|
|
104
|
+
export * from "./functions/isaacAPIClass";
|
|
105
|
+
export * from "./functions/jsonHelpers";
|
|
106
|
+
export * from "./functions/jsonRoom";
|
|
107
|
+
export * from "./functions/kColor";
|
|
108
|
+
export * from "./functions/language";
|
|
109
|
+
export * from "./functions/level";
|
|
110
|
+
export * from "./functions/log";
|
|
111
|
+
export * from "./functions/map";
|
|
112
|
+
export * from "./functions/math";
|
|
113
|
+
export { mergeTests } from "./functions/mergeTests";
|
|
114
|
+
export * from "./functions/npc";
|
|
115
|
+
export * from "./functions/pickups";
|
|
116
|
+
export * from "./functions/pickupVariants";
|
|
117
|
+
export * from "./functions/pills";
|
|
118
|
+
export * from "./functions/player";
|
|
119
|
+
export * from "./functions/playerDataStructures";
|
|
120
|
+
export * from "./functions/playerHealth";
|
|
121
|
+
export * from "./functions/playerIndex";
|
|
122
|
+
export * from "./functions/pocketItems";
|
|
123
|
+
export * from "./functions/positionVelocity";
|
|
124
|
+
export * from "./functions/random";
|
|
125
|
+
export * from "./functions/revive";
|
|
126
|
+
export * from "./functions/rng";
|
|
127
|
+
export * from "./functions/roomData";
|
|
128
|
+
export * from "./functions/roomGrid";
|
|
129
|
+
export * from "./functions/rooms";
|
|
130
|
+
export * from "./functions/roomShape";
|
|
131
|
+
export * from "./functions/run";
|
|
132
|
+
export * from "./functions/saveFile";
|
|
133
|
+
export * from "./functions/seeds";
|
|
134
|
+
export * from "./functions/serialization";
|
|
135
|
+
export * from "./functions/set";
|
|
136
|
+
export * from "./functions/sound";
|
|
137
|
+
export * from "./functions/spawnCollectible";
|
|
138
|
+
export * from "./functions/sprite";
|
|
139
|
+
export * from "./functions/stage";
|
|
140
|
+
export * from "./functions/string";
|
|
141
|
+
export * from "./functions/table";
|
|
142
|
+
export * from "./functions/tears";
|
|
143
|
+
export * from "./functions/transformations";
|
|
144
|
+
export * from "./functions/trinketCacheFlag";
|
|
145
|
+
export * from "./functions/trinketGive";
|
|
146
|
+
export * from "./functions/trinkets";
|
|
147
|
+
export * from "./functions/tstlClass";
|
|
148
|
+
export * from "./functions/types";
|
|
149
|
+
export * from "./functions/ui";
|
|
150
|
+
export * from "./functions/utils";
|
|
151
|
+
export * from "./functions/vector";
|
|
152
|
+
export * from "./interfaces/AddCallbackParameterCustom";
|
|
153
|
+
export * from "./interfaces/ChargeBarSprites";
|
|
154
|
+
export * from "./interfaces/JSONDoor";
|
|
155
|
+
export * from "./interfaces/JSONEntity";
|
|
156
|
+
export * from "./interfaces/JSONRoom";
|
|
157
|
+
export * from "./interfaces/JSONRooms";
|
|
158
|
+
export * from "./interfaces/JSONSpawn";
|
|
159
|
+
export * from "./interfaces/PlayerHealth";
|
|
160
|
+
export * from "./interfaces/PocketItemDescription";
|
|
161
|
+
export * from "./interfaces/SaveData";
|
|
162
|
+
export * from "./interfaces/TrinketSituation";
|
|
163
|
+
export * from "./maps/cardMap";
|
|
164
|
+
export * from "./maps/characterMap";
|
|
165
|
+
export * from "./maps/pillEffectMap";
|
|
166
|
+
export * from "./maps/roomTypeMap";
|
|
167
|
+
export * from "./objects/colors";
|
|
168
|
+
export * from "./types/AnyEntity";
|
|
169
|
+
export * from "./types/CollectibleIndex";
|
|
170
|
+
export * from "./types/PickingUpItem";
|
|
171
|
+
export * from "./types/PlayerIndex";
|
|
172
|
+
export * from "./upgradeMod";
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { customReviveCallbacksInit } from "./callbacks/customRevive";
|
|
2
|
+
import { itemPickupCallbacksInit } from "./callbacks/itemPickup";
|
|
3
|
+
import { postAmbushCallbacksInit } from "./callbacks/postAmbush";
|
|
4
|
+
import { postBombExplodedInit } from "./callbacks/postBombExploded";
|
|
5
|
+
import { postBombInitLateInit } from "./callbacks/postBombInitLate";
|
|
6
|
+
import { postBoneSwingInit } from "./callbacks/postBoneSwing";
|
|
7
|
+
import { postCollectibleInitFirstInit } from "./callbacks/postCollectibleInitFirst";
|
|
8
|
+
import { postCursedTeleportInit } from "./callbacks/postCursedTeleport";
|
|
9
|
+
import { postCustomDoorEnterInit } from "./callbacks/postCustomDoorEnter";
|
|
10
|
+
import { postDiceRoomActivatedInit } from "./callbacks/postDiceRoomActivated";
|
|
11
|
+
import { postDoorRenderInit } from "./callbacks/postDoorRender";
|
|
12
|
+
import { postDoorUpdateInit } from "./callbacks/postDoorUpdate";
|
|
13
|
+
import { postEffectInitLateInit } from "./callbacks/postEffectInitLate";
|
|
14
|
+
import { postEffectStateChangedInit } from "./callbacks/postEffectStateChanged";
|
|
15
|
+
import { postEsauJrCallbacksInit } from "./callbacks/postEsauJr";
|
|
16
|
+
import { postFamiliarInitLateInit } from "./callbacks/postFamiliarInitLate";
|
|
17
|
+
import { postFamiliarStateChangedInit } from "./callbacks/postFamiliarStateChanged";
|
|
18
|
+
import { postFlipCallbacksInit } from "./callbacks/postFlip";
|
|
19
|
+
import { postGreedModeWaveInit } from "./callbacks/postGreedModeWave";
|
|
20
|
+
import { postGridEntityCallbacksInit } from "./callbacks/postGridEntity";
|
|
21
|
+
import { postGridEntityCollisionInit } from "./callbacks/postGridEntityCollision";
|
|
22
|
+
import { postGridEntityRenderInit } from "./callbacks/postGridEntityRender";
|
|
23
|
+
import { postHolyMantleRemovedInit } from "./callbacks/postHolyMantleRemoved";
|
|
24
|
+
import { postItemDischargeInit } from "./callbacks/postItemDischarged";
|
|
25
|
+
import { postKnifeInitLateInit } from "./callbacks/postKnifeInitLate";
|
|
26
|
+
import { postLaserInitLateInit } from "./callbacks/postLaserInitLate";
|
|
27
|
+
import { postNPCInitLateInit } from "./callbacks/postNPCInitLate";
|
|
28
|
+
import { postNPCStateChangedInit } from "./callbacks/postNPCStateChanged";
|
|
29
|
+
import { postPickupCollectInit } from "./callbacks/postPickupCollect";
|
|
30
|
+
import { postPickupInitFirstInit } from "./callbacks/postPickupInitFirst";
|
|
31
|
+
import { postPickupInitLateInit } from "./callbacks/postPickupInitLate";
|
|
32
|
+
import { postPickupStateChangedInit } from "./callbacks/postPickupStateChanged";
|
|
33
|
+
import { postPitRenderInit } from "./callbacks/postPitRender";
|
|
34
|
+
import { postPitUpdateInit } from "./callbacks/postPitUpdate";
|
|
35
|
+
import { postPlayerChangeHealthInit } from "./callbacks/postPlayerChangeHealth";
|
|
36
|
+
import { postPlayerChangeTypeInit } from "./callbacks/postPlayerChangeType";
|
|
37
|
+
import { postPlayerCollectibleCallbacksInit } from "./callbacks/postPlayerCollectible";
|
|
38
|
+
import { postPlayerFatalDamageInit } from "./callbacks/postPlayerFatalDamage";
|
|
39
|
+
import { postPlayerInitLateInit } from "./callbacks/postPlayerInitLate";
|
|
40
|
+
import { postPlayerReorderedCallbacksInit } from "./callbacks/postPlayerReordered";
|
|
41
|
+
import { postPoopRenderInit } from "./callbacks/postPoopRender";
|
|
42
|
+
import { postPoopUpdateInit } from "./callbacks/postPoopUpdate";
|
|
43
|
+
import { postPressurePlateRenderInit } from "./callbacks/postPressurePlateRender";
|
|
44
|
+
import { postPressurePlateUpdateInit } from "./callbacks/postPressurePlateUpdate";
|
|
45
|
+
import { postProjectileInitLateInit } from "./callbacks/postProjectileInitLate";
|
|
46
|
+
import { postPurchaseInit } from "./callbacks/postPurchase";
|
|
47
|
+
import { postRockRenderInit } from "./callbacks/postRockRender";
|
|
48
|
+
import { postRockUpdateInit } from "./callbacks/postRockUpdate";
|
|
49
|
+
import { postRoomClearChangedInit } from "./callbacks/postRoomClearChanged";
|
|
50
|
+
import { postSacrificeInit } from "./callbacks/postSacrifice";
|
|
51
|
+
import { postSlotDestroyedInit } from "./callbacks/postSlotDestroyed";
|
|
52
|
+
import { postSlotInitUpdateCallbacksInit } from "./callbacks/postSlotInitUpdate";
|
|
53
|
+
import { postSlotRenderCallbacksInit } from "./callbacks/postSlotRender";
|
|
54
|
+
import { postSpikesRenderInit } from "./callbacks/postSpikesRender";
|
|
55
|
+
import { postSpikesUpdateInit } from "./callbacks/postSpikesUpdate";
|
|
56
|
+
import { postTearInitLateInit } from "./callbacks/postTearInitLate";
|
|
57
|
+
import { postTearInitVeryLateInit } from "./callbacks/postTearInitVeryLate";
|
|
58
|
+
import { postTNTRenderInit } from "./callbacks/postTNTRender";
|
|
59
|
+
import { postTNTUpdateInit } from "./callbacks/postTNTUpdate";
|
|
60
|
+
import { postTransformationInit } from "./callbacks/postTransformation";
|
|
61
|
+
import { postTrinketBreakInit } from "./callbacks/postTrinketBreak";
|
|
62
|
+
import { preBerserkDeathInit } from "./callbacks/preBerserkDeath";
|
|
63
|
+
import { preNewLevelInit } from "./callbacks/preNewLevel";
|
|
64
|
+
import { reorderedCallbacksInit } from "./callbacks/reorderedCallbacks";
|
|
65
|
+
import { ModUpgraded } from "./classes/ModUpgraded";
|
|
66
|
+
|
|
67
|
+
export function initCustomCallbacks(mod: ModUpgraded): void {
|
|
68
|
+
customReviveCallbacksInit(mod);
|
|
69
|
+
itemPickupCallbacksInit(mod);
|
|
70
|
+
postAmbushCallbacksInit(mod);
|
|
71
|
+
postBombExplodedInit(mod);
|
|
72
|
+
postBombInitLateInit(mod);
|
|
73
|
+
postBoneSwingInit(mod);
|
|
74
|
+
postCollectibleInitFirstInit(mod);
|
|
75
|
+
postCursedTeleportInit(mod);
|
|
76
|
+
postCustomDoorEnterInit();
|
|
77
|
+
postDiceRoomActivatedInit(mod);
|
|
78
|
+
postDoorRenderInit(mod);
|
|
79
|
+
postDoorUpdateInit(mod);
|
|
80
|
+
postEffectInitLateInit(mod);
|
|
81
|
+
postEffectStateChangedInit(mod);
|
|
82
|
+
postEsauJrCallbacksInit(mod);
|
|
83
|
+
postFamiliarInitLateInit(mod);
|
|
84
|
+
postFamiliarStateChangedInit(mod);
|
|
85
|
+
postFlipCallbacksInit(mod);
|
|
86
|
+
postGreedModeWaveInit(mod);
|
|
87
|
+
postGridEntityCallbacksInit(mod);
|
|
88
|
+
postGridEntityCollisionInit(mod);
|
|
89
|
+
postGridEntityRenderInit(mod);
|
|
90
|
+
postHolyMantleRemovedInit(mod);
|
|
91
|
+
postItemDischargeInit(mod);
|
|
92
|
+
postLaserInitLateInit(mod);
|
|
93
|
+
postKnifeInitLateInit(mod);
|
|
94
|
+
postNPCInitLateInit(mod);
|
|
95
|
+
postNPCStateChangedInit(mod);
|
|
96
|
+
postPickupCollectInit(mod);
|
|
97
|
+
postPickupInitFirstInit(mod);
|
|
98
|
+
postPickupInitLateInit(mod);
|
|
99
|
+
postPickupStateChangedInit(mod);
|
|
100
|
+
postPitRenderInit(mod);
|
|
101
|
+
postPitUpdateInit(mod);
|
|
102
|
+
postPlayerChangeHealthInit(mod);
|
|
103
|
+
postPlayerChangeTypeInit(mod);
|
|
104
|
+
postPlayerCollectibleCallbacksInit(mod);
|
|
105
|
+
postPlayerFatalDamageInit(mod);
|
|
106
|
+
postPlayerInitLateInit(mod);
|
|
107
|
+
postPlayerReorderedCallbacksInit(mod);
|
|
108
|
+
postPoopRenderInit(mod);
|
|
109
|
+
postPoopUpdateInit(mod);
|
|
110
|
+
postPressurePlateRenderInit(mod);
|
|
111
|
+
postPressurePlateUpdateInit(mod);
|
|
112
|
+
postProjectileInitLateInit(mod);
|
|
113
|
+
postPurchaseInit(mod);
|
|
114
|
+
postRockRenderInit(mod);
|
|
115
|
+
postRockUpdateInit(mod);
|
|
116
|
+
postRoomClearChangedInit(mod);
|
|
117
|
+
postSacrificeInit(mod);
|
|
118
|
+
postSlotDestroyedInit(mod);
|
|
119
|
+
postSlotInitUpdateCallbacksInit(mod);
|
|
120
|
+
postSlotRenderCallbacksInit(mod);
|
|
121
|
+
postSpikesRenderInit(mod);
|
|
122
|
+
postSpikesUpdateInit(mod);
|
|
123
|
+
postTearInitLateInit(mod);
|
|
124
|
+
postTearInitVeryLateInit(mod);
|
|
125
|
+
postTNTRenderInit(mod);
|
|
126
|
+
postTNTUpdateInit(mod);
|
|
127
|
+
postTransformationInit(mod);
|
|
128
|
+
postTrinketBreakInit(mod);
|
|
129
|
+
preBerserkDeathInit(mod);
|
|
130
|
+
preNewLevelInit(mod);
|
|
131
|
+
reorderedCallbacksInit(mod);
|
|
132
|
+
}
|
package/initFeatures.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ModUpgraded } from "./classes/ModUpgraded";
|
|
2
|
+
import { characterHealthConversionInit } from "./features/characterHealthConversion";
|
|
3
|
+
import { characterStatsInit } from "./features/characterStats";
|
|
4
|
+
import { deployJSONRoomInit } from "./features/deployJSONRoom";
|
|
5
|
+
import { disableInputsInit } from "./features/disableInputs";
|
|
6
|
+
import { disableSoundsInit } from "./features/disableSound";
|
|
7
|
+
import { fadeInRemoverInit } from "./features/fadeInRemover";
|
|
8
|
+
import { fastResetInit } from "./features/fastReset";
|
|
9
|
+
import { forgottenSwitchInit } from "./features/forgottenSwitch";
|
|
10
|
+
import { getCollectibleItemPoolTypeInit } from "./features/getCollectibleItemPoolType";
|
|
11
|
+
import { persistentEntitiesInit } from "./features/persistentEntities";
|
|
12
|
+
import { playerInventoryInit } from "./features/playerInventory";
|
|
13
|
+
import { ponyDetectionInit } from "./features/ponyDetection";
|
|
14
|
+
import { preventCollectibleRotationInit } from "./features/preventCollectibleRotation";
|
|
15
|
+
import { runInNFramesInit } from "./features/runInNFrames";
|
|
16
|
+
import { sirenHelpersInit } from "./features/sirenHelpers";
|
|
17
|
+
import { taintedLazarusPlayersInit } from "./features/taintedLazarusPlayers";
|
|
18
|
+
|
|
19
|
+
export function initFeaturesMajor(mod: ModUpgraded): void {
|
|
20
|
+
deployJSONRoomInit(mod);
|
|
21
|
+
runInNFramesInit(mod);
|
|
22
|
+
characterStatsInit(mod);
|
|
23
|
+
characterHealthConversionInit(mod);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function initFeaturesMinor(mod: ModUpgraded): void {
|
|
27
|
+
disableInputsInit(mod);
|
|
28
|
+
disableSoundsInit(mod);
|
|
29
|
+
fadeInRemoverInit(mod);
|
|
30
|
+
fastResetInit(mod);
|
|
31
|
+
forgottenSwitchInit(mod);
|
|
32
|
+
getCollectibleItemPoolTypeInit(mod);
|
|
33
|
+
persistentEntitiesInit(mod);
|
|
34
|
+
playerInventoryInit(mod);
|
|
35
|
+
ponyDetectionInit(mod);
|
|
36
|
+
preventCollectibleRotationInit(mod);
|
|
37
|
+
sirenHelpersInit(mod);
|
|
38
|
+
taintedLazarusPlayersInit(mod);
|
|
39
|
+
}
|