isaacscript-common 3.16.1 → 4.0.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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.ts +183 -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.ts +107 -0
- package/callbacks/postFamiliarInitLate.ts +36 -0
- package/callbacks/postFamiliarStateChanged.ts +43 -0
- package/callbacks/postFlip.ts +88 -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.ts +149 -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.ts +90 -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.ts +62 -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.ts +110 -0
- package/callbacks/preBerserkDeath.ts +49 -0
- package/callbacks/preNewLevel.ts +55 -0
- package/callbacks/reorderedCallbacks.ts +166 -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.d.ts +2 -3
- package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -7
- package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.d.ts +2 -3
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -7
- 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.d.ts +1 -1
- 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 +3 -3
- package/classes/ModUpgraded.lua +3 -6
- package/classes/ModUpgraded.ts +77 -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 +20 -18
- 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.lua +1 -1
- 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.ts +133 -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.lua +1 -1
- 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.d.ts +1 -1
- package/functions/color.lua +0 -7
- package/functions/color.ts +128 -0
- package/functions/debug.lua +2 -2
- 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.lua +1 -2
- 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.d.ts +3 -3
- package/functions/globals.lua +8 -2
- 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.d.ts +1 -1
- 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.lua +1 -1
- package/functions/pills.ts +205 -0
- package/functions/player.lua +0 -6
- package/functions/player.ts +1060 -0
- package/functions/playerDataStructures.ts +150 -0
- package/functions/playerHealth.d.ts +2 -0
- package/functions/playerHealth.lua +73 -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.d.ts +1 -1
- 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.lua +1 -3
- 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.lua +0 -3
- 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.lua +1 -3
- 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.d.ts +1 -1
- 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 +4 -4
- package/interfaces/JSONDoor.ts +13 -0
- package/interfaces/JSONEntity.d.ts +5 -5
- package/interfaces/JSONEntity.ts +16 -0
- package/interfaces/JSONRoom.d.ts +9 -9
- package/interfaces/JSONRoom.ts +36 -0
- package/interfaces/JSONRooms.ts +12 -0
- package/interfaces/JSONSpawn.d.ts +3 -3
- 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.d.ts +1 -1
- package/types/CollectibleIndex.ts +16 -0
- package/types/PickingUpItem.d.ts +3 -3
- package/types/PickingUpItem.ts +89 -0
- package/types/PlayerIndex.d.ts +1 -1
- package/types/PlayerIndex.ts +13 -0
- package/types/private/IsaacAPIClass.d.ts +1 -1
- package/types/private/IsaacAPIClass.ts +3 -0
- package/types/private/SerializedIsaacAPIClass.d.ts +1 -1
- package/types/private/SerializedIsaacAPIClass.ts +3 -0
- package/types/private/TSTLClass.d.ts +1 -1
- package/types/private/TSTLClass.ts +3 -0
- package/upgradeMod.d.ts +2 -2
- package/upgradeMod.lua +2 -2
- package/upgradeMod.ts +55 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CollectibleIndex is a specific type of string; see the documentation for the
|
|
3
|
+
* `getCollectibleIndex` function. Mods can signify that data structures handle collectibles by
|
|
4
|
+
* using this type.
|
|
5
|
+
*
|
|
6
|
+
* For example:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* const collectiblesNameMap = new Map<CollectibleIndex, string>();
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* This type is branded for extra type safety.
|
|
13
|
+
*/
|
|
14
|
+
export type CollectibleIndex = string & {
|
|
15
|
+
readonly __collectibleIndexBrand: unique symbol;
|
|
16
|
+
};
|
package/types/PickingUpItem.d.ts
CHANGED
|
@@ -5,21 +5,21 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { CollectibleType, ItemType, TrinketType } from "isaac-typescript-definitions";
|
|
7
7
|
export declare type PickingUpItem = PickingUpItemNull | PickingUpItemCollectible | PickingUpItemTrinket;
|
|
8
|
-
/** Part of
|
|
8
|
+
/** Part of `PickingUpItem`. */
|
|
9
9
|
export interface PickingUpItemNull {
|
|
10
10
|
/** Needed so that we can distinguish between picking up a collectible and a trinket. */
|
|
11
11
|
itemType: ItemType.NULL;
|
|
12
12
|
/** Equal to either the collectible type, the trinket type, or 0. */
|
|
13
13
|
subType: 0;
|
|
14
14
|
}
|
|
15
|
-
/** Part of
|
|
15
|
+
/** Part of `PickingUpItem`. */
|
|
16
16
|
export interface PickingUpItemCollectible {
|
|
17
17
|
/** Needed so that we can distinguish between picking up a collectible and a trinket. */
|
|
18
18
|
itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR;
|
|
19
19
|
/** Equal to either the collectible type, the trinket type, or 0. */
|
|
20
20
|
subType: CollectibleType;
|
|
21
21
|
}
|
|
22
|
-
/** Part of
|
|
22
|
+
/** Part of `PickingUpItem`. */
|
|
23
23
|
export interface PickingUpItemTrinket {
|
|
24
24
|
/** Needed so that we can distinguish between picking up a collectible and a trinket. */
|
|
25
25
|
itemType: ItemType.TRINKET;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/* eslint-disable sort-exports/sort-exports */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* This is the type that is fed to the `PRE_ITEM_PICKUP` and `POST_ITEM_PICKUP` custom callbacks.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import {
|
|
10
|
+
CollectibleType,
|
|
11
|
+
ItemType,
|
|
12
|
+
TrinketType,
|
|
13
|
+
} from "isaac-typescript-definitions";
|
|
14
|
+
|
|
15
|
+
export type PickingUpItem =
|
|
16
|
+
| PickingUpItemNull
|
|
17
|
+
| PickingUpItemCollectible
|
|
18
|
+
| PickingUpItemTrinket;
|
|
19
|
+
|
|
20
|
+
/** Part of `PickingUpItem`. */
|
|
21
|
+
export interface PickingUpItemNull {
|
|
22
|
+
/** Needed so that we can distinguish between picking up a collectible and a trinket. */
|
|
23
|
+
itemType: ItemType.NULL;
|
|
24
|
+
|
|
25
|
+
/** Equal to either the collectible type, the trinket type, or 0. */
|
|
26
|
+
subType: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Part of `PickingUpItem`. */
|
|
30
|
+
export interface PickingUpItemCollectible {
|
|
31
|
+
/** Needed so that we can distinguish between picking up a collectible and a trinket. */
|
|
32
|
+
itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR;
|
|
33
|
+
|
|
34
|
+
/** Equal to either the collectible type, the trinket type, or 0. */
|
|
35
|
+
subType: CollectibleType;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Part of `PickingUpItem`. */
|
|
39
|
+
export interface PickingUpItemTrinket {
|
|
40
|
+
/** Needed so that we can distinguish between picking up a collectible and a trinket. */
|
|
41
|
+
itemType: ItemType.TRINKET;
|
|
42
|
+
|
|
43
|
+
/** Equal to either the collectible type, the trinket type, or 0. */
|
|
44
|
+
subType: TrinketType;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
const DEFAULT_ITEM_TYPE = ItemType.NULL;
|
|
48
|
+
const DEFAULT_SUB_TYPE = CollectibleType.NULL;
|
|
49
|
+
|
|
50
|
+
/** @internal */
|
|
51
|
+
export function newPickingUpItem(): PickingUpItem {
|
|
52
|
+
return {
|
|
53
|
+
itemType: DEFAULT_ITEM_TYPE,
|
|
54
|
+
subType: DEFAULT_SUB_TYPE,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** @internal */
|
|
59
|
+
export function resetPickingUpItem(pickingUpItem: PickingUpItem): void {
|
|
60
|
+
pickingUpItem.itemType = DEFAULT_ITEM_TYPE;
|
|
61
|
+
pickingUpItem.subType = DEFAULT_SUB_TYPE;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const COLLECTIBLE_ITEM_TYPES: ReadonlySet<ItemType> = new Set([
|
|
65
|
+
ItemType.PASSIVE, // 1
|
|
66
|
+
ItemType.ACTIVE, // 3
|
|
67
|
+
ItemType.FAMILIAR, // 4
|
|
68
|
+
]);
|
|
69
|
+
|
|
70
|
+
/** Helper function to narrow the type of `PickingUpItem`. */
|
|
71
|
+
export function pickingUpItemIsNull(
|
|
72
|
+
pickingUpItem: PickingUpItem,
|
|
73
|
+
): pickingUpItem is PickingUpItemTrinket {
|
|
74
|
+
return pickingUpItem.itemType === ItemType.NULL;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** Helper function to narrow the type of `PickingUpItem`. */
|
|
78
|
+
export function pickingUpItemIsCollectible(
|
|
79
|
+
pickingUpItem: PickingUpItem,
|
|
80
|
+
): pickingUpItem is PickingUpItemCollectible {
|
|
81
|
+
return COLLECTIBLE_ITEM_TYPES.has(pickingUpItem.itemType);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** Helper function to narrow the type of `PickingUpItem`. */
|
|
85
|
+
export function pickingUpItemIsTrinket(
|
|
86
|
+
pickingUpItem: PickingUpItem,
|
|
87
|
+
): pickingUpItem is PickingUpItemTrinket {
|
|
88
|
+
return pickingUpItem.itemType === ItemType.TRINKET;
|
|
89
|
+
}
|
package/types/PlayerIndex.d.ts
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlayerIndex is a specific type of string; see the documentation for the `getPlayerIndex`
|
|
3
|
+
* function. Mods can signify that data structures handle `EntityPlayer` by using this type.
|
|
4
|
+
*
|
|
5
|
+
* For example:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const playersNameMap = new Map<PlayerIndex, string>();
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* This type is branded for extra type safety.
|
|
12
|
+
*/
|
|
13
|
+
export type PlayerIndex = int & { readonly __playerIndexBrand: unique symbol };
|
package/upgradeMod.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="isaac-typescript-definitions" />
|
|
2
2
|
import { ModUpgraded } from "./classes/ModUpgraded";
|
|
3
3
|
/**
|
|
4
|
-
* Use this function to enable the
|
|
5
|
-
*
|
|
4
|
+
* Use this function to enable the custom callbacks and other optional features provided by
|
|
5
|
+
* `isaacscript-common`.
|
|
6
6
|
*
|
|
7
7
|
* For example:
|
|
8
8
|
*
|
package/upgradeMod.lua
CHANGED
|
@@ -17,8 +17,8 @@ local initFeaturesMajor = ____initFeatures.initFeaturesMajor
|
|
|
17
17
|
local initFeaturesMinor = ____initFeatures.initFeaturesMinor
|
|
18
18
|
local ____patchErrorFunctions = require("patchErrorFunctions")
|
|
19
19
|
local patchErrorFunction = ____patchErrorFunctions.patchErrorFunction
|
|
20
|
-
--- Use this function to enable the
|
|
21
|
-
--
|
|
20
|
+
--- Use this function to enable the custom callbacks and other optional features provided by
|
|
21
|
+
-- `isaacscript-common`.
|
|
22
22
|
--
|
|
23
23
|
-- For example:
|
|
24
24
|
--
|
package/upgradeMod.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { postNewRoomEarlyCallbackInit } from "./callbacks/postNewRoomEarly";
|
|
2
|
+
import { ModUpgraded } from "./classes/ModUpgraded";
|
|
3
|
+
import { saveDataManagerInit } from "./features/saveDataManager/main";
|
|
4
|
+
import {
|
|
5
|
+
areFeaturesInitialized,
|
|
6
|
+
setFeaturesInitialized,
|
|
7
|
+
} from "./featuresInitialized";
|
|
8
|
+
import { initCustomCallbacks } from "./initCustomCallbacks";
|
|
9
|
+
import { initFeaturesMajor, initFeaturesMinor } from "./initFeatures";
|
|
10
|
+
import { patchErrorFunction } from "./patchErrorFunctions";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Use this function to enable the custom callbacks and other optional features provided by
|
|
14
|
+
* `isaacscript-common`.
|
|
15
|
+
*
|
|
16
|
+
* For example:
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const modVanilla = RegisterMod("My Mod", 1);
|
|
20
|
+
* const mod = upgradeMod(modVanilla);
|
|
21
|
+
*
|
|
22
|
+
* // Subscribe to vanilla callbacks.
|
|
23
|
+
* mod.AddCallback(ModCallback.POST_UPDATE, postUpdate);
|
|
24
|
+
*
|
|
25
|
+
* // Subscribe to custom callbacks.
|
|
26
|
+
* mod.AddCallbackCustom(ModCallbackCustom.POST_ITEM_PICKUP, postItemPickup);
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @param modVanilla The mod object returned by the `RegisterMod` function.
|
|
30
|
+
* @returns The upgraded mod object.
|
|
31
|
+
*/
|
|
32
|
+
export function upgradeMod(modVanilla: Mod): ModUpgraded {
|
|
33
|
+
patchErrorFunction();
|
|
34
|
+
|
|
35
|
+
const mod = new ModUpgraded(modVanilla);
|
|
36
|
+
|
|
37
|
+
if (!areFeaturesInitialized()) {
|
|
38
|
+
setFeaturesInitialized();
|
|
39
|
+
|
|
40
|
+
// We initialize the PostNewRoomEarly callback first since it is used by the save data manager.
|
|
41
|
+
postNewRoomEarlyCallbackInit(mod);
|
|
42
|
+
|
|
43
|
+
// We initialized the save data manager second since it is used by the other custom callbacks
|
|
44
|
+
// and features.
|
|
45
|
+
saveDataManagerInit(mod);
|
|
46
|
+
|
|
47
|
+
// We initialize custom callbacks next since some features use custom callbacks.
|
|
48
|
+
initCustomCallbacks(mod);
|
|
49
|
+
|
|
50
|
+
initFeaturesMajor(mod);
|
|
51
|
+
initFeaturesMinor(mod);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return mod;
|
|
55
|
+
}
|