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,150 @@
|
|
|
1
|
+
import { DefaultMap } from "../classes/DefaultMap";
|
|
2
|
+
import { PlayerIndex } from "../types/PlayerIndex";
|
|
3
|
+
import { getPlayerIndex } from "./playerIndex";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to make using default maps with an index of `PlayerIndex` easier. Use this
|
|
7
|
+
* instead of the `DefaultMap.getAndSetDefault` method if you have a default map of this type.
|
|
8
|
+
*
|
|
9
|
+
* For example:
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const v = {
|
|
13
|
+
* run: {
|
|
14
|
+
* playersSpeedBoost: new DefaultMap<PlayerIndex, int>(0),
|
|
15
|
+
* },
|
|
16
|
+
* };
|
|
17
|
+
*
|
|
18
|
+
* function evaluateCacheSpeed(player: EntityPlayer) {
|
|
19
|
+
* player.MoveSpeed = defaultMapGetPlayer(v.run.playersSpeedBoost, player);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function defaultMapGetPlayer<V, A extends unknown[]>(
|
|
24
|
+
map: DefaultMap<PlayerIndex, V, A>,
|
|
25
|
+
player: EntityPlayer,
|
|
26
|
+
...extraArgs: A
|
|
27
|
+
): V {
|
|
28
|
+
const playerIndex = getPlayerIndex(player);
|
|
29
|
+
return map.getAndSetDefault(playerIndex, ...extraArgs);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
34
|
+
* `Map.set` method if you have a map of this type.
|
|
35
|
+
*
|
|
36
|
+
* Since `Map` and `DefaultMap` set values in the same way, this function is simply an alias for the
|
|
37
|
+
* `mapSetPlayer` helper function.
|
|
38
|
+
*/
|
|
39
|
+
export function defaultMapSetPlayer<V>(
|
|
40
|
+
map: Map<PlayerIndex, V>,
|
|
41
|
+
player: EntityPlayer,
|
|
42
|
+
value: V,
|
|
43
|
+
): void {
|
|
44
|
+
mapSetPlayer(map, player, value);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
49
|
+
* `Map.get` method if you have a map of this type.
|
|
50
|
+
*
|
|
51
|
+
* For example:
|
|
52
|
+
*
|
|
53
|
+
* ```ts
|
|
54
|
+
* const v = {
|
|
55
|
+
* run: {
|
|
56
|
+
* playersSpeedBoost: new Map<PlayerIndex, int>(),
|
|
57
|
+
* },
|
|
58
|
+
* };
|
|
59
|
+
*
|
|
60
|
+
* function incrementSpeedBoost(player: EntityPlayer) {
|
|
61
|
+
* const oldSpeedBoost = mapGetPlayer(v.run.playersSpeedBoost, player);
|
|
62
|
+
* const newSpeedBoost = oldSpeedBoost + 0.1;
|
|
63
|
+
* mapSetPlayer(v.run.playersSpeedBoost, player);
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export function mapGetPlayer<V>(
|
|
68
|
+
map: Map<PlayerIndex, V>,
|
|
69
|
+
player: EntityPlayer,
|
|
70
|
+
): V | undefined {
|
|
71
|
+
const playerIndex = getPlayerIndex(player);
|
|
72
|
+
return map.get(playerIndex);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
77
|
+
* `Map.has` method if you have a map of this type.
|
|
78
|
+
*/
|
|
79
|
+
export function mapHasPlayer<V>(
|
|
80
|
+
map: Map<PlayerIndex, V>,
|
|
81
|
+
player: EntityPlayer,
|
|
82
|
+
): boolean {
|
|
83
|
+
const playerIndex = getPlayerIndex(player);
|
|
84
|
+
return map.has(playerIndex);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Helper function to make using maps with an index of `PlayerIndex` easier. Use this instead of the
|
|
89
|
+
* `Map.set` method if you have a map of this type.
|
|
90
|
+
*
|
|
91
|
+
* For example:
|
|
92
|
+
*
|
|
93
|
+
* ```ts
|
|
94
|
+
* const v = {
|
|
95
|
+
* run: {
|
|
96
|
+
* playersSpeedBoost: new Map<PlayerIndex, int>(),
|
|
97
|
+
* },
|
|
98
|
+
* };
|
|
99
|
+
*
|
|
100
|
+
* function incrementSpeedBoost(player: EntityPlayer) {
|
|
101
|
+
* const oldSpeedBoost = mapGetPlayer(v.run.playersSpeedBoost, player);
|
|
102
|
+
* const newSpeedBoost = oldSpeedBoost + 0.1;
|
|
103
|
+
* mapSetPlayer(v.run.playersSpeedBoost, player);
|
|
104
|
+
* }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export function mapSetPlayer<V>(
|
|
108
|
+
map: Map<PlayerIndex, V>,
|
|
109
|
+
player: EntityPlayer,
|
|
110
|
+
value: V,
|
|
111
|
+
): void {
|
|
112
|
+
const playerIndex = getPlayerIndex(player);
|
|
113
|
+
map.set(playerIndex, value);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
|
|
118
|
+
* `Set.add` method if you have a set of this type.
|
|
119
|
+
*/
|
|
120
|
+
export function setAddPlayer(
|
|
121
|
+
set: Set<PlayerIndex>,
|
|
122
|
+
player: EntityPlayer,
|
|
123
|
+
): Set<PlayerIndex> {
|
|
124
|
+
const playerIndex = getPlayerIndex(player);
|
|
125
|
+
return set.add(playerIndex);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
|
|
130
|
+
* `Set.delete` method if you have a set of this type.
|
|
131
|
+
*/
|
|
132
|
+
export function setDeletePlayer(
|
|
133
|
+
set: Set<PlayerIndex>,
|
|
134
|
+
player: EntityPlayer,
|
|
135
|
+
): boolean {
|
|
136
|
+
const playerIndex = getPlayerIndex(player);
|
|
137
|
+
return set.delete(playerIndex);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Helper function to make using sets with an type of `PlayerIndex` easier. Use this instead of the
|
|
142
|
+
* `Set.has` method if you have a set of this type.
|
|
143
|
+
*/
|
|
144
|
+
export function setHasPlayer(
|
|
145
|
+
set: Set<PlayerIndex>,
|
|
146
|
+
player: EntityPlayer,
|
|
147
|
+
): boolean {
|
|
148
|
+
const playerIndex = getPlayerIndex(player);
|
|
149
|
+
return set.has(playerIndex);
|
|
150
|
+
}
|
|
@@ -12,6 +12,8 @@ export declare function addPlayerHealthType(player: EntityPlayer, healthType: He
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function getPlayerHealth(player: EntityPlayer): PlayerHealth;
|
|
14
14
|
export declare function getPlayerHealthType(player: EntityPlayer, healthType: HealthType): int;
|
|
15
|
+
/** Returns a `PlayerHealth` object with all 0s. */
|
|
16
|
+
export declare function newPlayerHealth(): PlayerHealth;
|
|
15
17
|
export declare function playerConvertBlackHeartsToSoulHearts(player: EntityPlayer): void;
|
|
16
18
|
export declare function playerConvertSoulHeartsToBlackHearts(player: EntityPlayer): void;
|
|
17
19
|
export declare function removeAllPlayerHealth(player: EntityPlayer): void;
|
|
@@ -3,19 +3,25 @@ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
|
3
3
|
local __TS__ArrayForEach = ____lualib.__TS__ArrayForEach
|
|
4
4
|
local ____exports = {}
|
|
5
5
|
local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
|
|
6
|
+
local ActiveSlot = ____isaac_2Dtypescript_2Ddefinitions.ActiveSlot
|
|
7
|
+
local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
|
|
6
8
|
local HeartSubType = ____isaac_2Dtypescript_2Ddefinitions.HeartSubType
|
|
7
9
|
local PlayerType = ____isaac_2Dtypescript_2Ddefinitions.PlayerType
|
|
8
10
|
local ____constants = require("constants")
|
|
9
11
|
local MAX_PLAYER_HEART_CONTAINERS = ____constants.MAX_PLAYER_HEART_CONTAINERS
|
|
10
12
|
local ____HealthType = require("enums.HealthType")
|
|
11
13
|
local HealthType = ____HealthType.HealthType
|
|
14
|
+
local ____charge = require("functions.charge")
|
|
15
|
+
local getTotalCharge = ____charge.getTotalCharge
|
|
16
|
+
local ____enums = require("functions.enums")
|
|
17
|
+
local getEnumValues = ____enums.getEnumValues
|
|
12
18
|
local ____player = require("functions.player")
|
|
13
19
|
local getPlayerBlackHearts = ____player.getPlayerBlackHearts
|
|
14
20
|
local getPlayerHearts = ____player.getPlayerHearts
|
|
15
21
|
local getPlayerSoulHearts = ____player.getPlayerSoulHearts
|
|
16
22
|
local isCharacter = ____player.isCharacter
|
|
23
|
+
local setActiveItem = ____player.setActiveItem
|
|
17
24
|
local ____utils = require("functions.utils")
|
|
18
|
-
local ensureAllCases = ____utils.ensureAllCases
|
|
19
25
|
local ____repeat = ____utils["repeat"]
|
|
20
26
|
function ____exports.removeAllPlayerHealth(self, player)
|
|
21
27
|
local goldenHearts = player:GetGoldenHearts()
|
|
@@ -45,6 +51,17 @@ function ____exports.setPlayerHealth(self, player, playerHealth)
|
|
|
45
51
|
local character = player:GetPlayerType()
|
|
46
52
|
local subPlayer = player:GetSubPlayer()
|
|
47
53
|
____exports.removeAllPlayerHealth(nil, player)
|
|
54
|
+
local alabasterBoxes = {}
|
|
55
|
+
if player:HasCollectible(CollectibleType.ALABASTER_BOX) then
|
|
56
|
+
for ____, activeSlot in ipairs(getEnumValues(nil, ActiveSlot)) do
|
|
57
|
+
local activeItem = player:GetActiveItem()
|
|
58
|
+
if activeItem == CollectibleType.ALABASTER_BOX then
|
|
59
|
+
local totalCharge = getTotalCharge(nil, player, activeSlot)
|
|
60
|
+
setActiveItem(nil, player, CollectibleType.NULL, activeSlot)
|
|
61
|
+
alabasterBoxes[#alabasterBoxes + 1] = {activeSlot, totalCharge}
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
48
65
|
if character == PlayerType.THE_SOUL and subPlayer ~= nil then
|
|
49
66
|
subPlayer:AddMaxHearts(playerHealth.maxHearts, false)
|
|
50
67
|
else
|
|
@@ -89,6 +106,17 @@ function ____exports.setPlayerHealth(self, player, playerHealth)
|
|
|
89
106
|
elseif character == PlayerType.BETHANY_B then
|
|
90
107
|
player:SetBloodCharge(playerHealth.bloodCharges)
|
|
91
108
|
end
|
|
109
|
+
for ____, ____value in ipairs(alabasterBoxes) do
|
|
110
|
+
local activeSlot = ____value[1]
|
|
111
|
+
local totalCharge = ____value[2]
|
|
112
|
+
setActiveItem(
|
|
113
|
+
nil,
|
|
114
|
+
player,
|
|
115
|
+
CollectibleType.ALABASTER_BOX,
|
|
116
|
+
activeSlot,
|
|
117
|
+
totalCharge
|
|
118
|
+
)
|
|
119
|
+
end
|
|
92
120
|
end
|
|
93
121
|
function ____exports.addPlayerHealthType(self, player, healthType, numHearts)
|
|
94
122
|
repeat
|
|
@@ -97,68 +125,63 @@ function ____exports.addPlayerHealthType(self, player, healthType, numHearts)
|
|
|
97
125
|
if ____cond3 then
|
|
98
126
|
do
|
|
99
127
|
player:AddHearts(numHearts)
|
|
100
|
-
|
|
128
|
+
break
|
|
101
129
|
end
|
|
102
130
|
end
|
|
103
131
|
____cond3 = ____cond3 or ____switch3 == HealthType.SOUL
|
|
104
132
|
if ____cond3 then
|
|
105
133
|
do
|
|
106
134
|
player:AddSoulHearts(numHearts)
|
|
107
|
-
|
|
135
|
+
break
|
|
108
136
|
end
|
|
109
137
|
end
|
|
110
138
|
____cond3 = ____cond3 or ____switch3 == HealthType.ETERNAL
|
|
111
139
|
if ____cond3 then
|
|
112
140
|
do
|
|
113
141
|
player:AddEternalHearts(numHearts)
|
|
114
|
-
|
|
142
|
+
break
|
|
115
143
|
end
|
|
116
144
|
end
|
|
117
145
|
____cond3 = ____cond3 or ____switch3 == HealthType.BLACK
|
|
118
146
|
if ____cond3 then
|
|
119
147
|
do
|
|
120
148
|
player:AddBlackHearts(numHearts)
|
|
121
|
-
|
|
149
|
+
break
|
|
122
150
|
end
|
|
123
151
|
end
|
|
124
152
|
____cond3 = ____cond3 or ____switch3 == HealthType.GOLDEN
|
|
125
153
|
if ____cond3 then
|
|
126
154
|
do
|
|
127
155
|
player:AddGoldenHearts(numHearts)
|
|
128
|
-
|
|
156
|
+
break
|
|
129
157
|
end
|
|
130
158
|
end
|
|
131
159
|
____cond3 = ____cond3 or ____switch3 == HealthType.BONE
|
|
132
160
|
if ____cond3 then
|
|
133
161
|
do
|
|
134
162
|
player:AddBoneHearts(numHearts)
|
|
135
|
-
|
|
163
|
+
break
|
|
136
164
|
end
|
|
137
165
|
end
|
|
138
166
|
____cond3 = ____cond3 or ____switch3 == HealthType.ROTTEN
|
|
139
167
|
if ____cond3 then
|
|
140
168
|
do
|
|
141
169
|
player:AddRottenHearts(numHearts)
|
|
142
|
-
|
|
170
|
+
break
|
|
143
171
|
end
|
|
144
172
|
end
|
|
145
173
|
____cond3 = ____cond3 or ____switch3 == HealthType.BROKEN
|
|
146
174
|
if ____cond3 then
|
|
147
175
|
do
|
|
148
176
|
player:AddBrokenHearts(numHearts)
|
|
149
|
-
|
|
177
|
+
break
|
|
150
178
|
end
|
|
151
179
|
end
|
|
152
180
|
____cond3 = ____cond3 or ____switch3 == HealthType.MAX_HEARTS
|
|
153
181
|
if ____cond3 then
|
|
154
182
|
do
|
|
155
183
|
player:AddMaxHearts(numHearts, false)
|
|
156
|
-
|
|
157
|
-
end
|
|
158
|
-
end
|
|
159
|
-
do
|
|
160
|
-
do
|
|
161
|
-
ensureAllCases(nil, healthType)
|
|
184
|
+
break
|
|
162
185
|
end
|
|
163
186
|
end
|
|
164
187
|
until true
|
|
@@ -232,68 +255,79 @@ function ____exports.getPlayerHealth(self, player)
|
|
|
232
255
|
end
|
|
233
256
|
function ____exports.getPlayerHealthType(self, player, healthType)
|
|
234
257
|
repeat
|
|
235
|
-
local
|
|
236
|
-
local
|
|
237
|
-
if
|
|
258
|
+
local ____switch24 = healthType
|
|
259
|
+
local ____cond24 = ____switch24 == HealthType.RED
|
|
260
|
+
if ____cond24 then
|
|
238
261
|
do
|
|
239
262
|
return getPlayerHearts(nil, player)
|
|
240
263
|
end
|
|
241
264
|
end
|
|
242
|
-
|
|
243
|
-
if
|
|
265
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.SOUL
|
|
266
|
+
if ____cond24 then
|
|
244
267
|
do
|
|
245
268
|
return getPlayerSoulHearts(nil, player)
|
|
246
269
|
end
|
|
247
270
|
end
|
|
248
|
-
|
|
249
|
-
if
|
|
271
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.ETERNAL
|
|
272
|
+
if ____cond24 then
|
|
250
273
|
do
|
|
251
274
|
return player:GetEternalHearts()
|
|
252
275
|
end
|
|
253
276
|
end
|
|
254
|
-
|
|
255
|
-
if
|
|
277
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.BLACK
|
|
278
|
+
if ____cond24 then
|
|
256
279
|
do
|
|
257
280
|
return getPlayerBlackHearts(nil, player)
|
|
258
281
|
end
|
|
259
282
|
end
|
|
260
|
-
|
|
261
|
-
if
|
|
283
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.GOLDEN
|
|
284
|
+
if ____cond24 then
|
|
262
285
|
do
|
|
263
286
|
return player:GetGoldenHearts()
|
|
264
287
|
end
|
|
265
288
|
end
|
|
266
|
-
|
|
267
|
-
if
|
|
289
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.BONE
|
|
290
|
+
if ____cond24 then
|
|
268
291
|
do
|
|
269
292
|
return player:GetBoneHearts()
|
|
270
293
|
end
|
|
271
294
|
end
|
|
272
|
-
|
|
273
|
-
if
|
|
295
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.ROTTEN
|
|
296
|
+
if ____cond24 then
|
|
274
297
|
do
|
|
275
298
|
return player:GetRottenHearts()
|
|
276
299
|
end
|
|
277
300
|
end
|
|
278
|
-
|
|
279
|
-
if
|
|
301
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.BROKEN
|
|
302
|
+
if ____cond24 then
|
|
280
303
|
do
|
|
281
304
|
return player:GetBrokenHearts()
|
|
282
305
|
end
|
|
283
306
|
end
|
|
284
|
-
|
|
285
|
-
if
|
|
307
|
+
____cond24 = ____cond24 or ____switch24 == HealthType.MAX_HEARTS
|
|
308
|
+
if ____cond24 then
|
|
286
309
|
do
|
|
287
310
|
return player:GetMaxHearts()
|
|
288
311
|
end
|
|
289
312
|
end
|
|
290
|
-
do
|
|
291
|
-
do
|
|
292
|
-
return ensureAllCases(nil, healthType)
|
|
293
|
-
end
|
|
294
|
-
end
|
|
295
313
|
until true
|
|
296
314
|
end
|
|
315
|
+
--- Returns a `PlayerHealth` object with all 0s.
|
|
316
|
+
function ____exports.newPlayerHealth(self)
|
|
317
|
+
return {
|
|
318
|
+
maxHearts = 0,
|
|
319
|
+
hearts = 0,
|
|
320
|
+
eternalHearts = 0,
|
|
321
|
+
soulHearts = 0,
|
|
322
|
+
boneHearts = 0,
|
|
323
|
+
goldenHearts = 0,
|
|
324
|
+
rottenHearts = 0,
|
|
325
|
+
brokenHearts = 0,
|
|
326
|
+
soulCharges = 0,
|
|
327
|
+
bloodCharges = 0,
|
|
328
|
+
soulHeartTypes = {}
|
|
329
|
+
}
|
|
330
|
+
end
|
|
297
331
|
function ____exports.playerConvertBlackHeartsToSoulHearts(self, player)
|
|
298
332
|
local playerHealth = ____exports.getPlayerHealth(nil, player)
|
|
299
333
|
____exports.removeAllPlayerHealth(nil, player)
|