isaacscript-common 84.0.1 → 84.1.1
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/dist/arrays/cachedEnumValues.js +33 -0
- package/dist/callbackClasses.js +289 -0
- package/dist/callbacks.js +181 -0
- package/dist/classes/DefaultMap.js +171 -0
- package/dist/classes/ModFeature.js +244 -0
- package/dist/classes/ModUpgraded.js +324 -0
- package/dist/classes/callbacks/EntityTakeDmgFilter.js +19 -0
- package/dist/classes/callbacks/EntityTakeDmgPlayer.js +29 -0
- package/dist/classes/callbacks/InputActionFilter.js +24 -0
- package/dist/classes/callbacks/InputActionPlayer.js +37 -0
- package/dist/classes/callbacks/PostAmbushFinished.js +40 -0
- package/dist/classes/callbacks/PostAmbushStarted.js +40 -0
- package/dist/classes/callbacks/PostBombExploded.js +24 -0
- package/dist/classes/callbacks/PostBombInitFilter.js +21 -0
- package/dist/classes/callbacks/PostBombInitLate.js +31 -0
- package/dist/classes/callbacks/PostBombRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostBombUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostBoneSwing.js +53 -0
- package/dist/classes/callbacks/PostCollectibleEmpty.js +50 -0
- package/dist/classes/callbacks/PostCursedTeleport.js +119 -0
- package/dist/classes/callbacks/PostCustomRevive.js +17 -0
- package/dist/classes/callbacks/PostDiceRoomActivated.js +50 -0
- package/dist/classes/callbacks/PostDoorRender.js +24 -0
- package/dist/classes/callbacks/PostDoorUpdate.js +24 -0
- package/dist/classes/callbacks/PostEffectInitFilter.js +21 -0
- package/dist/classes/callbacks/PostEffectInitLate.js +31 -0
- package/dist/classes/callbacks/PostEffectRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostEffectStateChanged.js +34 -0
- package/dist/classes/callbacks/PostEffectUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostEntityKillFilter.js +21 -0
- package/dist/classes/callbacks/PostEsauJr.js +12 -0
- package/dist/classes/callbacks/PostFamiliarInitFilter.js +21 -0
- package/dist/classes/callbacks/PostFamiliarInitLate.js +31 -0
- package/dist/classes/callbacks/PostFamiliarRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostFamiliarStateChanged.js +34 -0
- package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostFirstEsauJr.js +12 -0
- package/dist/classes/callbacks/PostFirstFlip.js +12 -0
- package/dist/classes/callbacks/PostFlip.js +12 -0
- package/dist/classes/callbacks/PostGameEndFilter.js +21 -0
- package/dist/classes/callbacks/PostGameStartedReordered.js +14 -0
- package/dist/classes/callbacks/PostGameStartedReorderedLast.js +14 -0
- package/dist/classes/callbacks/PostGreedModeWave.js +35 -0
- package/dist/classes/callbacks/PostGridEntityBroken.js +14 -0
- package/dist/classes/callbacks/PostGridEntityCollision.js +28 -0
- package/dist/classes/callbacks/PostGridEntityCustomBroken.js +14 -0
- package/dist/classes/callbacks/PostGridEntityCustomCollision.js +24 -0
- package/dist/classes/callbacks/PostGridEntityCustomInit.js +14 -0
- package/dist/classes/callbacks/PostGridEntityCustomRemove.js +18 -0
- package/dist/classes/callbacks/PostGridEntityCustomRender.js +14 -0
- package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +14 -0
- package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +14 -0
- package/dist/classes/callbacks/PostGridEntityInit.js +14 -0
- package/dist/classes/callbacks/PostGridEntityRemove.js +19 -0
- package/dist/classes/callbacks/PostGridEntityRender.js +14 -0
- package/dist/classes/callbacks/PostGridEntityStateChanged.js +14 -0
- package/dist/classes/callbacks/PostGridEntityUpdate.js +14 -0
- package/dist/classes/callbacks/PostHolyMantleRemoved.js +43 -0
- package/dist/classes/callbacks/PostItemDischarge.js +122 -0
- package/dist/classes/callbacks/PostItemPickup.js +14 -0
- package/dist/classes/callbacks/PostKeyboardChanged.js +46 -0
- package/dist/classes/callbacks/PostKnifeInitFilter.js +21 -0
- package/dist/classes/callbacks/PostKnifeInitLate.js +31 -0
- package/dist/classes/callbacks/PostKnifeRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostKnifeUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostLaserInitFilter.js +21 -0
- package/dist/classes/callbacks/PostLaserInitLate.js +31 -0
- package/dist/classes/callbacks/PostLaserRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostLaserUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostNPCDeathFilter.js +21 -0
- package/dist/classes/callbacks/PostNPCInitFilter.js +21 -0
- package/dist/classes/callbacks/PostNPCInitLate.js +31 -0
- package/dist/classes/callbacks/PostNPCRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostNPCStateChanged.js +34 -0
- package/dist/classes/callbacks/PostNPCUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostNewLevelReordered.js +14 -0
- package/dist/classes/callbacks/PostNewRoomEarly.js +74 -0
- package/dist/classes/callbacks/PostNewRoomReordered.js +14 -0
- package/dist/classes/callbacks/PostPEffectUpdateReordered.js +14 -0
- package/dist/classes/callbacks/PostPickupChanged.js +14 -0
- package/dist/classes/callbacks/PostPickupCollect.js +38 -0
- package/dist/classes/callbacks/PostPickupInitFilter.js +21 -0
- package/dist/classes/callbacks/PostPickupInitFirst.js +33 -0
- package/dist/classes/callbacks/PostPickupInitLate.js +31 -0
- package/dist/classes/callbacks/PostPickupRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostPickupSelectionFilter.js +29 -0
- package/dist/classes/callbacks/PostPickupStateChanged.js +34 -0
- package/dist/classes/callbacks/PostPickupUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostPitRender.js +24 -0
- package/dist/classes/callbacks/PostPitUpdate.js +24 -0
- package/dist/classes/callbacks/PostPlayerChangeHealth.js +47 -0
- package/dist/classes/callbacks/PostPlayerChangeStat.js +79 -0
- package/dist/classes/callbacks/PostPlayerChangeType.js +36 -0
- package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +14 -0
- package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +14 -0
- package/dist/classes/callbacks/PostPlayerFatalDamage.js +83 -0
- package/dist/classes/callbacks/PostPlayerInitFirst.js +41 -0
- package/dist/classes/callbacks/PostPlayerInitLate.js +33 -0
- package/dist/classes/callbacks/PostPlayerRenderReordered.js +14 -0
- package/dist/classes/callbacks/PostPlayerUpdateReordered.js +14 -0
- package/dist/classes/callbacks/PostPoopRender.js +24 -0
- package/dist/classes/callbacks/PostPoopUpdate.js +24 -0
- package/dist/classes/callbacks/PostPressurePlateRender.js +24 -0
- package/dist/classes/callbacks/PostPressurePlateUpdate.js +24 -0
- package/dist/classes/callbacks/PostProjectileInitFilter.js +21 -0
- package/dist/classes/callbacks/PostProjectileInitLate.js +31 -0
- package/dist/classes/callbacks/PostProjectileKill.js +52 -0
- package/dist/classes/callbacks/PostProjectileRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostProjectileUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostPurchase.js +90 -0
- package/dist/classes/callbacks/PostRockRender.js +24 -0
- package/dist/classes/callbacks/PostRockUpdate.js +24 -0
- package/dist/classes/callbacks/PostRoomClearChanged.js +46 -0
- package/dist/classes/callbacks/PostSacrifice.js +36 -0
- package/dist/classes/callbacks/PostSlotAnimationChanged.js +14 -0
- package/dist/classes/callbacks/PostSlotCollision.js +25 -0
- package/dist/classes/callbacks/PostSlotDestroyed.js +14 -0
- package/dist/classes/callbacks/PostSlotInit.js +14 -0
- package/dist/classes/callbacks/PostSlotRender.js +14 -0
- package/dist/classes/callbacks/PostSlotUpdate.js +14 -0
- package/dist/classes/callbacks/PostSpikesRender.js +24 -0
- package/dist/classes/callbacks/PostSpikesUpdate.js +24 -0
- package/dist/classes/callbacks/PostTNTRender.js +24 -0
- package/dist/classes/callbacks/PostTNTUpdate.js +24 -0
- package/dist/classes/callbacks/PostTearInitFilter.js +21 -0
- package/dist/classes/callbacks/PostTearInitLate.js +31 -0
- package/dist/classes/callbacks/PostTearInitVeryLate.js +35 -0
- package/dist/classes/callbacks/PostTearKill.js +52 -0
- package/dist/classes/callbacks/PostTearRenderFilter.js +21 -0
- package/dist/classes/callbacks/PostTearUpdateFilter.js +21 -0
- package/dist/classes/callbacks/PostTransformation.js +47 -0
- package/dist/classes/callbacks/PostTrinketBreak.js +70 -0
- package/dist/classes/callbacks/PostUsePillFilter.js +76 -0
- package/dist/classes/callbacks/PreBerserkDeath.js +41 -0
- package/dist/classes/callbacks/PreBombCollisionFilter.js +19 -0
- package/dist/classes/callbacks/PreCustomRevive.js +14 -0
- package/dist/classes/callbacks/PreEntitySpawnFilter.js +24 -0
- package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +19 -0
- package/dist/classes/callbacks/PreGetPedestal.js +46 -0
- package/dist/classes/callbacks/PreItemPickup.js +14 -0
- package/dist/classes/callbacks/PreKnifeCollisionFilter.js +19 -0
- package/dist/classes/callbacks/PreNPCCollisionFilter.js +19 -0
- package/dist/classes/callbacks/PreNPCUpdateFilter.js +19 -0
- package/dist/classes/callbacks/PreNewLevel.js +51 -0
- package/dist/classes/callbacks/PreProjectileCollisionFilter.js +19 -0
- package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +26 -0
- package/dist/classes/callbacks/PreTearCollisionFilter.js +19 -0
- package/dist/classes/features/callbackLogic/CustomGridEntities.js +359 -0
- package/dist/classes/features/callbackLogic/CustomRevive.js +170 -0
- package/dist/classes/features/callbackLogic/EsauJrDetection.js +70 -0
- package/dist/classes/features/callbackLogic/FlipDetection.js +61 -0
- package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +220 -0
- package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +62 -0
- package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +35 -0
- package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +147 -0
- package/dist/classes/features/callbackLogic/ItemPickupDetection.js +68 -0
- package/dist/classes/features/callbackLogic/PickupChangeDetection.js +43 -0
- package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +193 -0
- package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +109 -0
- package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +95 -0
- package/dist/classes/features/callbackLogic/SlotRenderDetection.js +48 -0
- package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +52 -0
- package/dist/classes/features/other/CharacterHealthConversion.js +112 -0
- package/dist/classes/features/other/CharacterStats.js +68 -0
- package/dist/classes/features/other/CollectibleItemPoolType.js +75 -0
- package/dist/classes/features/other/CustomHotkeys.js +144 -0
- package/dist/classes/features/other/CustomItemPools.js +128 -0
- package/dist/classes/features/other/CustomPickups.js +118 -0
- package/dist/classes/features/other/CustomStages.js +471 -0
- package/dist/classes/features/other/CustomTrapdoors.js +596 -0
- package/dist/classes/features/other/DebugDisplay.js +699 -0
- package/dist/classes/features/other/DeployJSONRoom.js +301 -0
- package/dist/classes/features/other/DisableAllSound.js +90 -0
- package/dist/classes/features/other/DisableInputs.js +249 -0
- package/dist/classes/features/other/EdenStartingStatsHealth.js +197 -0
- package/dist/classes/features/other/ExtraConsoleCommands.js +292 -0
- package/dist/classes/features/other/FadeInRemover.js +67 -0
- package/dist/classes/features/other/FastReset.js +88 -0
- package/dist/classes/features/other/FlyingDetection.js +64 -0
- package/dist/classes/features/other/ForgottenSwitch.js +43 -0
- package/dist/classes/features/other/ItemPoolDetection.js +187 -0
- package/dist/classes/features/other/ModdedElementDetection.js +399 -0
- package/dist/classes/features/other/ModdedElementSets.js +1251 -0
- package/dist/classes/features/other/NoSirenSteal.js +88 -0
- package/dist/classes/features/other/Pause.js +197 -0
- package/dist/classes/features/other/PersistentEntities.js +168 -0
- package/dist/classes/features/other/PickupIndexCreation.js +229 -0
- package/dist/classes/features/other/PlayerCollectibleTracking.js +102 -0
- package/dist/classes/features/other/PonyDetection.js +86 -0
- package/dist/classes/features/other/PressInput.js +71 -0
- package/dist/classes/features/other/PreventChildEntities.js +60 -0
- package/dist/classes/features/other/PreventGridEntityRespawn.js +159 -0
- package/dist/classes/features/other/RerunDetection.js +69 -0
- package/dist/classes/features/other/RoomClearFrame.js +94 -0
- package/dist/classes/features/other/RoomHistory.js +196 -0
- package/dist/classes/features/other/RunInNFrames.js +323 -0
- package/dist/classes/features/other/RunNextRoom.js +53 -0
- package/dist/classes/features/other/RunNextRun.js +60 -0
- package/dist/classes/features/other/SaveDataManager.js +383 -0
- package/dist/classes/features/other/SpawnRockAltRewards.js +469 -0
- package/dist/classes/features/other/StageHistory.js +244 -0
- package/dist/classes/features/other/StartAmbush.js +62 -0
- package/dist/classes/features/other/TaintedLazarusPlayers.js +115 -0
- package/dist/classes/features/other/UnlockAchievementsDetection.js +60 -0
- package/dist/classes/features/other/customStages/backdrop.js +195 -0
- package/dist/classes/features/other/customStages/constants.js +19 -0
- package/dist/classes/features/other/customStages/gridEntities.js +177 -0
- package/dist/classes/features/other/customStages/shadows.js +67 -0
- package/dist/classes/features/other/customStages/streakText.js +222 -0
- package/dist/classes/features/other/customStages/utils.js +65 -0
- package/dist/classes/features/other/customStages/v.js +27 -0
- package/dist/classes/features/other/customStages/versusScreen.js +227 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +25 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +25 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +23 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +22 -0
- package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +23 -0
- package/dist/classes/features/other/debugDisplay/utils.js +13 -0
- package/dist/classes/features/other/extraConsoleCommands/commands.js +1598 -0
- package/dist/classes/features/other/extraConsoleCommands/subroutines.js +135 -0
- package/dist/classes/features/other/extraConsoleCommands/v.js +30 -0
- package/dist/classes/features/other/saveDataManager/constants.js +4 -0
- package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +106 -0
- package/dist/classes/features/other/saveDataManager/loadFromDisk.js +69 -0
- package/dist/classes/features/other/saveDataManager/restoreDefaults.js +69 -0
- package/dist/classes/features/other/saveDataManager/saveToDisk.js +46 -0
- package/dist/classes/private/CustomCallback.js +59 -0
- package/dist/classes/private/Feature.js +39 -0
- package/dist/core/cachedClasses.js +61 -0
- package/dist/core/constants.js +289 -0
- package/dist/core/constantsFirstLast.js +98 -0
- package/dist/core/constantsVanilla.js +131 -0
- package/dist/core/upgradeMod.js +71 -0
- package/dist/customStageMetadata.json +1 -0
- package/dist/data/itempools.json +16625 -0
- package/dist/decorators.js +21 -0
- package/dist/enums/AmbushType.js +9 -0
- package/dist/enums/CornerType.js +11 -0
- package/dist/enums/HealthType.js +20 -0
- package/dist/enums/ISCFeature.js +65 -0
- package/dist/enums/LadderSubTypeCustom.js +20 -0
- package/dist/enums/ModCallbackCustom.js +2477 -0
- package/dist/enums/MysteriousPaperEffect.js +16 -0
- package/dist/enums/PlayerStat.js +37 -0
- package/dist/enums/PocketItemType.js +13 -0
- package/dist/enums/RockAltType.js +23 -0
- package/dist/enums/SaveDataKey.js +14 -0
- package/dist/enums/SerializationType.js +10 -0
- package/dist/enums/SlotDestructionType.js +22 -0
- package/dist/enums/private/GridEntityTypeCustom.js +10 -0
- package/dist/enums/private/SerializationBrand.js +42 -0
- package/dist/enums/private/StageTravelState.js +13 -0
- package/dist/enums/private/TrapdoorAnimation.js +9 -0
- package/dist/enums/private/UIStreakAnimation.js +10 -0
- package/dist/features.js +150 -0
- package/dist/functions/ambush.js +26 -0
- package/dist/functions/array.js +586 -0
- package/dist/functions/arrayLua.js +81 -0
- package/dist/functions/benchmark.js +36 -0
- package/dist/functions/bitSet128.js +64 -0
- package/dist/functions/bitwise.js +82 -0
- package/dist/functions/bombs.js +14 -0
- package/dist/functions/bosses.js +238 -0
- package/dist/functions/cards.js +164 -0
- package/dist/functions/challenges.js +117 -0
- package/dist/functions/characters.js +182 -0
- package/dist/functions/charge.js +251 -0
- package/dist/functions/chargeBar.js +54 -0
- package/dist/functions/collectibleTag.js +24 -0
- package/dist/functions/collectibles.js +581 -0
- package/dist/functions/color.js +88 -0
- package/dist/functions/console.js +18 -0
- package/dist/functions/curses.js +37 -0
- package/dist/functions/debugFunctions.js +108 -0
- package/dist/functions/decorators.js +113 -0
- package/dist/functions/deepCopy.js +406 -0
- package/dist/functions/deepCopyTests.js +361 -0
- package/dist/functions/dimensions.js +30 -0
- package/dist/functions/direction.js +78 -0
- package/dist/functions/doors.js +524 -0
- package/dist/functions/easing.js +327 -0
- package/dist/functions/effects.js +14 -0
- package/dist/functions/emptyRoom.js +79 -0
- package/dist/functions/entities.js +529 -0
- package/dist/functions/entitiesSpecific.js +582 -0
- package/dist/functions/entityTypes.js +9 -0
- package/dist/functions/enums.js +244 -0
- package/dist/functions/external.js +59 -0
- package/dist/functions/familiars.js +136 -0
- package/dist/functions/flag.js +146 -0
- package/dist/functions/frames.js +166 -0
- package/dist/functions/globals.js +291 -0
- package/dist/functions/gridEntities.js +990 -0
- package/dist/functions/gridEntitiesSpecific.js +456 -0
- package/dist/functions/gridIndex.js +35 -0
- package/dist/functions/hash.js +75 -0
- package/dist/functions/hex.js +57 -0
- package/dist/functions/input.js +185 -0
- package/dist/functions/isaacAPIClass.js +157 -0
- package/dist/functions/itemPool.js +118 -0
- package/dist/functions/jsonHelpers.js +73 -0
- package/dist/functions/jsonRoom.js +184 -0
- package/dist/functions/kColor.js +89 -0
- package/dist/functions/language.js +16 -0
- package/dist/functions/level.js +66 -0
- package/dist/functions/levelGrid.js +497 -0
- package/dist/functions/log.js +86 -0
- package/dist/functions/logEntities.js +308 -0
- package/dist/functions/logMisc.js +510 -0
- package/dist/functions/map.js +121 -0
- package/dist/functions/math.js +149 -0
- package/dist/functions/merge.js +159 -0
- package/dist/functions/mergeTests.js +313 -0
- package/dist/functions/minimap.js +204 -0
- package/dist/functions/modFeatures.js +39 -0
- package/dist/functions/newArray.js +30 -0
- package/dist/functions/nextStage.js +169 -0
- package/dist/functions/npcDataStructures.js +146 -0
- package/dist/functions/npcs.js +132 -0
- package/dist/functions/pickupVariants.js +63 -0
- package/dist/functions/pickups.js +168 -0
- package/dist/functions/pickupsSpecific.js +376 -0
- package/dist/functions/pills.js +200 -0
- package/dist/functions/playerCenter.js +53 -0
- package/dist/functions/playerCollectibles.js +300 -0
- package/dist/functions/playerDataStructures.js +145 -0
- package/dist/functions/playerEffects.js +63 -0
- package/dist/functions/playerHealth.js +604 -0
- package/dist/functions/playerIndex.js +186 -0
- package/dist/functions/playerTrinkets.js +149 -0
- package/dist/functions/players.js +471 -0
- package/dist/functions/pocketItems.js +165 -0
- package/dist/functions/positionVelocity.js +158 -0
- package/dist/functions/pressurePlate.js +26 -0
- package/dist/functions/projectiles.js +57 -0
- package/dist/functions/random.js +90 -0
- package/dist/functions/readOnly.js +33 -0
- package/dist/functions/render.js +36 -0
- package/dist/functions/revive.js +151 -0
- package/dist/functions/rng.js +140 -0
- package/dist/functions/rockAlt.js +50 -0
- package/dist/functions/roomData.js +155 -0
- package/dist/functions/roomGrid.js +97 -0
- package/dist/functions/roomShape.js +143 -0
- package/dist/functions/roomShapeWalls.js +187 -0
- package/dist/functions/roomTransition.js +43 -0
- package/dist/functions/rooms.js +782 -0
- package/dist/functions/run.js +121 -0
- package/dist/functions/seeds.js +22 -0
- package/dist/functions/serialization.js +98 -0
- package/dist/functions/set.js +215 -0
- package/dist/functions/slots.js +41 -0
- package/dist/functions/sort.js +158 -0
- package/dist/functions/sound.js +45 -0
- package/dist/functions/spawnCollectible.js +112 -0
- package/dist/functions/sprites.js +130 -0
- package/dist/functions/stage.js +540 -0
- package/dist/functions/stats.js +104 -0
- package/dist/functions/storyBosses.js +63 -0
- package/dist/functions/string.js +194 -0
- package/dist/functions/table.js +162 -0
- package/dist/functions/tears.js +128 -0
- package/dist/functions/transformations.js +89 -0
- package/dist/functions/trinketGive.js +145 -0
- package/dist/functions/trinkets.js +213 -0
- package/dist/functions/tstlClass.js +97 -0
- package/dist/functions/types.js +225 -0
- package/dist/functions/ui.js +148 -0
- package/dist/functions/utils.d.ts +2 -0
- package/dist/functions/utils.d.ts.map +1 -1
- package/dist/functions/utils.js +195 -0
- package/dist/functions/utils.lua +4 -1
- package/dist/functions/vector.js +150 -0
- package/dist/functions/versusScreen.js +58 -0
- package/dist/functions/weighted.js +57 -0
- package/dist/index.js +219 -0
- package/dist/index.rollup.d.ts +2 -0
- package/dist/indexLua.js +220 -0
- package/dist/interfaces/ChargeBarSprites.js +2 -0
- package/dist/interfaces/Corner.js +2 -0
- package/dist/interfaces/CustomStageTSConfig.js +2 -0
- package/dist/interfaces/GridEntityCustomData.js +2 -0
- package/dist/interfaces/JSONRoomsFile.js +2 -0
- package/dist/interfaces/PlayerHealth.js +2 -0
- package/dist/interfaces/PlayerStats.js +4 -0
- package/dist/interfaces/PocketItemDescription.js +2 -0
- package/dist/interfaces/RoomDescription.js +2 -0
- package/dist/interfaces/SaveData.js +98 -0
- package/dist/interfaces/StageHistoryEntry.js +2 -0
- package/dist/interfaces/TSTLClassMetatable.js +2 -0
- package/dist/interfaces/TrinketSituation.js +2 -0
- package/dist/interfaces/private/AddCallbackParametersCustom.js +4 -0
- package/dist/interfaces/private/CustomStage.js +2 -0
- package/dist/interfaces/private/CustomTrapdoorDescription.js +2 -0
- package/dist/interfaces/private/ModUpgradedInterface.js +2 -0
- package/dist/isaacscript-common.lua +5 -2
- package/dist/maps/PHDPillConversionsMap.js +23 -0
- package/dist/maps/cardNameToTypeMap.js +211 -0
- package/dist/maps/characterNameToTypeMap.js +91 -0
- package/dist/maps/collectibleNameToTypeMap.js +19 -0
- package/dist/maps/defaultPlayerStatMap.js +17 -0
- package/dist/maps/entityTypeVariantToBossIDMap.js +11 -0
- package/dist/maps/falsePHDPillConversionsMap.js +37 -0
- package/dist/maps/gridEntityTypeToBrokenStateMap.js +32 -0
- package/dist/maps/gridEntityXMLMap.js +133 -0
- package/dist/maps/itemPoolTypeToItemPoolName.js +38 -0
- package/dist/maps/keyboardToStringMap.js +71 -0
- package/dist/maps/pillNameToEffectMap.js +91 -0
- package/dist/maps/roomNameToTypeMap.js +43 -0
- package/dist/maps/roomShapeToTopLeftWallGridIndexMap.js +17 -0
- package/dist/maps/transformationNameToPlayerFormMap.js +35 -0
- package/dist/maps/trinketNameToTypeMap.js +19 -0
- package/dist/objects/LRoomShapeToRectangles.js +43 -0
- package/dist/objects/backdropTypeToRockAltType.js +68 -0
- package/dist/objects/batteryNames.js +13 -0
- package/dist/objects/bombNames.js +17 -0
- package/dist/objects/bossIDToEntityTypeVariant.js +228 -0
- package/dist/objects/bossNamePNGFileNames.js +120 -0
- package/dist/objects/bossNames.js +119 -0
- package/dist/objects/bossPortraitPNGFileNames.js +123 -0
- package/dist/objects/cardDescriptions.js +106 -0
- package/dist/objects/cardNames.js +106 -0
- package/dist/objects/challengeBosses.js +60 -0
- package/dist/objects/challengeCharacters.js +58 -0
- package/dist/objects/challengeCollectibleTypes.js +255 -0
- package/dist/objects/challengeNames.js +54 -0
- package/dist/objects/challengeTrinketType.js +58 -0
- package/dist/objects/characterDamageMultipliers.js +49 -0
- package/dist/objects/characterNames.js +48 -0
- package/dist/objects/characterSpritePNGFileNames.js +50 -0
- package/dist/objects/characterStartingCollectibleTypes.js +105 -0
- package/dist/objects/characterStartingTrinketTypes.js +90 -0
- package/dist/objects/chestNames.js +20 -0
- package/dist/objects/coinNames.js +16 -0
- package/dist/objects/coinSubTypeToValue.js +15 -0
- package/dist/objects/collectibleDescriptions.js +742 -0
- package/dist/objects/collectibleNames.js +745 -0
- package/dist/objects/colors.js +26 -0
- package/dist/objects/directionNames.js +11 -0
- package/dist/objects/directionToDegrees.js +11 -0
- package/dist/objects/directionToMoveAction.js +11 -0
- package/dist/objects/directionToShootAction.js +11 -0
- package/dist/objects/directionToVector.js +13 -0
- package/dist/objects/doorSlotFlagToDoorSlot.js +15 -0
- package/dist/objects/doorSlotToDirection.js +15 -0
- package/dist/objects/doorSlotToDoorSlotFlag.js +15 -0
- package/dist/objects/gridEntityTypeToANM2Name.js +37 -0
- package/dist/objects/heartNames.js +21 -0
- package/dist/objects/isaacAPIClassTypeToBrand.js +12 -0
- package/dist/objects/isaacAPIClassTypeToFunctions.js +46 -0
- package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +57 -0
- package/dist/objects/kColors.js +27 -0
- package/dist/objects/keyNames.js +13 -0
- package/dist/objects/languageNames.js +13 -0
- package/dist/objects/oppositeDoorSlots.js +15 -0
- package/dist/objects/pillEffectClasses.js +57 -0
- package/dist/objects/pillEffectNames.js +57 -0
- package/dist/objects/pillEffectTypeToPillEffects.js +23 -0
- package/dist/objects/pillEffectTypes.js +57 -0
- package/dist/objects/playerNamePNGFileNames.js +57 -0
- package/dist/objects/playerPortraitPNGFileNames.js +54 -0
- package/dist/objects/roomShapeBounds.js +48 -0
- package/dist/objects/roomShapeCorners.js +330 -0
- package/dist/objects/roomShapeLayoutSizes.js +41 -0
- package/dist/objects/roomShapeToBottomRightPosition.js +25 -0
- package/dist/objects/roomShapeToDoorSlotCoordinates.js +111 -0
- package/dist/objects/roomShapeToDoorSlots.js +72 -0
- package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +118 -0
- package/dist/objects/roomShapeToGridWidth.js +20 -0
- package/dist/objects/roomShapeToTopLeftPosition.js +26 -0
- package/dist/objects/roomShapeVolumes.js +32 -0
- package/dist/objects/roomTypeNames.js +35 -0
- package/dist/objects/roomTypeSpecialGotoPrefixes.js +35 -0
- package/dist/objects/sackNames.js +11 -0
- package/dist/objects/slotNames.js +26 -0
- package/dist/objects/stageIDNames.js +43 -0
- package/dist/objects/stageToMusic.js +91 -0
- package/dist/objects/stageToStageID.js +117 -0
- package/dist/objects/stageTypeSuffixes.js +14 -0
- package/dist/objects/transformationNames.js +20 -0
- package/dist/objects/trinketDescriptions.js +199 -0
- package/dist/objects/trinketNames.js +202 -0
- package/dist/objects/versusScreenBackgroundColors.js +46 -0
- package/dist/objects/versusScreenDirtSpotColors.js +46 -0
- package/dist/patchErrorFunctions.js +65 -0
- package/dist/serialization.js +21 -0
- package/dist/sets/LRoomShapesSet.js +11 -0
- package/dist/sets/bigRoomShapesSet.js +14 -0
- package/dist/sets/bossSets.js +465 -0
- package/dist/sets/charactersThatStartWithAnActiveItemSet.js +18 -0
- package/dist/sets/charactersWithBlackHeartFromEternalHeartSet.js +9 -0
- package/dist/sets/charactersWithFreeDevilDealsSet.js +6 -0
- package/dist/sets/charactersWithNoRedHeartsSet.js +19 -0
- package/dist/sets/charactersWithNoSoulHeartsSet.js +16 -0
- package/dist/sets/consoleCommandsSet.js +64 -0
- package/dist/sets/entitiesWithArmorSet.js +59 -0
- package/dist/sets/familiarsThatShootPlayerTearsSet.js +15 -0
- package/dist/sets/itemConfigCardTypesForCards.js +14 -0
- package/dist/sets/lostStyleCharactersSet.js +16 -0
- package/dist/sets/mineShaftRoomSubTypesSet.js +12 -0
- package/dist/sets/narrowRoomShapesSet.js +11 -0
- package/dist/sets/poopGridEntityXMLTypesSet.js +16 -0
- package/dist/sets/redHeartSubTypesSet.js +10 -0
- package/dist/sets/repentanceBossIDsSet.js +30 -0
- package/dist/sets/sinEntityTypesSet.js +14 -0
- package/dist/sets/singleUseActiveCollectibleTypesSet.js +15 -0
- package/dist/shaderCrashFix.js +24 -0
- package/dist/shouldFire.js +226 -0
- package/dist/types/AddSubtract.js +2 -0
- package/dist/types/AllButFirst.js +2 -0
- package/dist/types/AllButLast.js +2 -0
- package/dist/types/AnyClass.js +2 -0
- package/dist/types/AnyEntity.js +2 -0
- package/dist/types/AnyFunction.js +2 -0
- package/dist/types/AnyGridEntity.js +2 -0
- package/dist/types/CompositionTypeSatisfiesEnum.js +11 -0
- package/dist/types/ConversionHeartSubType.js +2 -0
- package/dist/types/Decrement.js +2 -0
- package/dist/types/ERange.js +2 -0
- package/dist/types/EntityID.js +2 -0
- package/dist/types/FunctionTuple.js +2 -0
- package/dist/types/GridEntityID.js +2 -0
- package/dist/types/HasFunction.js +2 -0
- package/dist/types/IRange.js +2 -0
- package/dist/types/Immutable.js +2 -0
- package/dist/types/Increment.js +2 -0
- package/dist/types/LowercaseKeys.js +2 -0
- package/dist/types/NaturalNumbersLessThan.js +2 -0
- package/dist/types/NaturalNumbersLessThanOrEqualTo.js +2 -0
- package/dist/types/PickingUpItem.js +44 -0
- package/dist/types/PickupIndex.js +2 -0
- package/dist/types/PlayerIndex.js +2 -0
- package/dist/types/PossibleStatType.js +2 -0
- package/dist/types/PublicInterface.js +2 -0
- package/dist/types/ReadonlyMap.js +6 -0
- package/dist/types/ReadonlyRecord.js +2 -0
- package/dist/types/ReadonlySet.js +6 -0
- package/dist/types/StartsWithLowercase.js +2 -0
- package/dist/types/StartsWithUppercase.js +2 -0
- package/dist/types/TSTLClass.js +2 -0
- package/dist/types/Tuple.js +2 -0
- package/dist/types/TupleKeys.js +2 -0
- package/dist/types/TupleToIntersection.js +2 -0
- package/dist/types/TupleToUnion.js +2 -0
- package/dist/types/TupleWithLengthBetween.js +22 -0
- package/dist/types/TupleWithMaxLength.js +27 -0
- package/dist/types/UnionToIntersection.js +2 -0
- package/dist/types/UppercaseKeys.js +2 -0
- package/dist/types/WeightedArray.js +2 -0
- package/dist/types/WidenLiteral.js +2 -0
- package/dist/types/Writable.js +2 -0
- package/dist/types/private/CallbackTuple.js +2 -0
- package/dist/types/private/ModUpgradedWithFeatures.js +2 -0
- package/package.json +1 -1
- package/src/functions/utils.ts +4 -1
- package/src/lib/jsonLua.js +701 -0
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.spawnTrinketWithSeed = exports.spawnTrinket = exports.spawnSackWithSeed = exports.spawnSack = exports.spawnPillWithSeed = exports.spawnPill = exports.spawnKeyWithSeed = exports.spawnKey = exports.spawnHeartWithSeed = exports.spawnHeart = exports.spawnCoinWithSeed = exports.spawnCoin = exports.spawnCardWithSeed = exports.spawnCard = exports.spawnBombPickupWithSeed = exports.spawnBombPickup = exports.spawnBatteryWithSeed = exports.spawnBattery = exports.removeAllTrinkets = exports.removeAllSacks = exports.removeAllPills = exports.removeAllKeys = exports.removeAllHearts = exports.removeAllCollectibles = exports.removeAllCoins = exports.removeAllChests = exports.removeAllCards = exports.removeAllBombPickups = exports.removeAllBatteries = exports.getTrinkets = exports.getSacks = exports.getPills = exports.getKeys = exports.getHearts = exports.getCollectibles = exports.getCoins = exports.getChests = exports.getCards = exports.getBombPickups = exports.getBatteries = void 0;
|
|
4
|
+
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
5
|
+
const constants_1 = require("../core/constants");
|
|
6
|
+
const entities_1 = require("./entities");
|
|
7
|
+
const entitiesSpecific_1 = require("./entitiesSpecific");
|
|
8
|
+
/**
|
|
9
|
+
* Helper function to get all of the battery entities in the room.
|
|
10
|
+
*
|
|
11
|
+
* @param batterySubType Optional. If specified, will only get the batteries that match the
|
|
12
|
+
* sub-type. Default is -1, which matches every sub-type.
|
|
13
|
+
*/
|
|
14
|
+
function getBatteries(batterySubType = -1) {
|
|
15
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.LIL_BATTERY, batterySubType);
|
|
16
|
+
}
|
|
17
|
+
exports.getBatteries = getBatteries;
|
|
18
|
+
/**
|
|
19
|
+
* Helper function to get all of the bomb entities in the room. (Specifically, this refers to bomb
|
|
20
|
+
* pickups, not the `EntityBomb` class.)
|
|
21
|
+
*
|
|
22
|
+
* @param bombSubType Optional. If specified, will only get the bombs that match the sub-type.
|
|
23
|
+
* Default is -1, which matches every sub-type.
|
|
24
|
+
*/
|
|
25
|
+
function getBombPickups(bombSubType = -1) {
|
|
26
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.BOMB, bombSubType);
|
|
27
|
+
}
|
|
28
|
+
exports.getBombPickups = getBombPickups;
|
|
29
|
+
/**
|
|
30
|
+
* Helper function to get all of the card entities in the room.
|
|
31
|
+
*
|
|
32
|
+
* @param cardType Optional. If specified, will only get the cards that match the sub-type. Default
|
|
33
|
+
* is -1, which matches every sub-type.
|
|
34
|
+
*/
|
|
35
|
+
function getCards(cardType = -1) {
|
|
36
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.CARD, cardType);
|
|
37
|
+
}
|
|
38
|
+
exports.getCards = getCards;
|
|
39
|
+
/**
|
|
40
|
+
* Helper function to get all of the chest entities in the room. Specifically, this is all of the
|
|
41
|
+
* pickups with a variant in the `CHEST_PICKUP_VARIANTS` constant.
|
|
42
|
+
*
|
|
43
|
+
* @param subType Optional. If specified, will only get the chests that match the sub-type. Default
|
|
44
|
+
* is -1, which matches every sub-type.
|
|
45
|
+
*/
|
|
46
|
+
function getChests(subType = -1) {
|
|
47
|
+
const chests = [];
|
|
48
|
+
for (const pickupVariant of constants_1.CHEST_PICKUP_VARIANTS) {
|
|
49
|
+
const pickups = (0, entitiesSpecific_1.getPickups)(pickupVariant, subType);
|
|
50
|
+
chests.push(...pickups);
|
|
51
|
+
}
|
|
52
|
+
return chests;
|
|
53
|
+
}
|
|
54
|
+
exports.getChests = getChests;
|
|
55
|
+
/**
|
|
56
|
+
* Helper function to get all of the coin pickup entities in the room.
|
|
57
|
+
*
|
|
58
|
+
* @param coinSubType Optional. If specified, will only get the coins that match the sub-type.
|
|
59
|
+
* Default is -1, which matches every sub-type.
|
|
60
|
+
*/
|
|
61
|
+
function getCoins(coinSubType = -1) {
|
|
62
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.COIN, coinSubType);
|
|
63
|
+
}
|
|
64
|
+
exports.getCoins = getCoins;
|
|
65
|
+
/**
|
|
66
|
+
* Helper function to get all of the collectible entities in the room.
|
|
67
|
+
*
|
|
68
|
+
* @param collectibleType Optional. If specified, will only get the collectibles that match the
|
|
69
|
+
* sub-type. Default is -1, which matches every sub-type.
|
|
70
|
+
*/
|
|
71
|
+
function getCollectibles(collectibleType = -1) {
|
|
72
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.COLLECTIBLE, collectibleType);
|
|
73
|
+
}
|
|
74
|
+
exports.getCollectibles = getCollectibles;
|
|
75
|
+
/**
|
|
76
|
+
* Helper function to get all of the heart pickup entities in the room.
|
|
77
|
+
*
|
|
78
|
+
* @param heartSubType Optional. If specified, will only get the hearts that match the sub-type.
|
|
79
|
+
* Default is -1, which matches every sub-type.
|
|
80
|
+
*/
|
|
81
|
+
function getHearts(heartSubType = -1) {
|
|
82
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.HEART, heartSubType);
|
|
83
|
+
}
|
|
84
|
+
exports.getHearts = getHearts;
|
|
85
|
+
/**
|
|
86
|
+
* Helper function to get all of the key pickup entities in the room.
|
|
87
|
+
*
|
|
88
|
+
* @param keySubType Optional. If specified, will only get the keys that match the sub-type. Default
|
|
89
|
+
* is -1, which matches every sub-type.
|
|
90
|
+
*/
|
|
91
|
+
function getKeys(keySubType = -1) {
|
|
92
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.KEY, keySubType);
|
|
93
|
+
}
|
|
94
|
+
exports.getKeys = getKeys;
|
|
95
|
+
/**
|
|
96
|
+
* Helper function to get all of the pill entities in the room.
|
|
97
|
+
*
|
|
98
|
+
* @param pillColor Optional. If specified, will only get the pills that match the sub-type. Default
|
|
99
|
+
* is -1, which matches every sub-type.
|
|
100
|
+
*/
|
|
101
|
+
function getPills(pillColor = -1) {
|
|
102
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.PILL, pillColor);
|
|
103
|
+
}
|
|
104
|
+
exports.getPills = getPills;
|
|
105
|
+
/**
|
|
106
|
+
* Helper function to get all of the sack (i.e. grab bag) entities in the room.
|
|
107
|
+
*
|
|
108
|
+
* @param sackSubType Optional. If specified, will only get the sacks that match the sub-type.
|
|
109
|
+
* Default is -1, which matches every sub-type.
|
|
110
|
+
*/
|
|
111
|
+
function getSacks(sackSubType = -1) {
|
|
112
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.SACK, sackSubType);
|
|
113
|
+
}
|
|
114
|
+
exports.getSacks = getSacks;
|
|
115
|
+
/**
|
|
116
|
+
* Helper function to get all of the trinket entities in the room.
|
|
117
|
+
*
|
|
118
|
+
* @param trinketType Optional. If specified, will only get the trinkets that match the sub-type.
|
|
119
|
+
* Default is -1, which matches every sub-type.
|
|
120
|
+
*/
|
|
121
|
+
function getTrinkets(trinketType = -1) {
|
|
122
|
+
return (0, entitiesSpecific_1.getPickups)(isaac_typescript_definitions_1.PickupVariant.TRINKET, trinketType);
|
|
123
|
+
}
|
|
124
|
+
exports.getTrinkets = getTrinkets;
|
|
125
|
+
/**
|
|
126
|
+
* Helper function to remove all of the batteries in the room.
|
|
127
|
+
*
|
|
128
|
+
* @param batterySubType Optional. If specified, will only remove the batteries that match this
|
|
129
|
+
* sub-type. Default is -1, which matches every sub-type.
|
|
130
|
+
* @param cap Optional. If specified, will only remove the given amount of cards.
|
|
131
|
+
* @returns The batteries that were removed.
|
|
132
|
+
*/
|
|
133
|
+
function removeAllBatteries(batterySubType = -1, cap) {
|
|
134
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.LIL_BATTERY, batterySubType, cap);
|
|
135
|
+
}
|
|
136
|
+
exports.removeAllBatteries = removeAllBatteries;
|
|
137
|
+
/**
|
|
138
|
+
* Helper function to remove all of the bomb pickups in the room. (Specifically, this refers to bomb
|
|
139
|
+
* pickups, not the `EntityBomb` class.)
|
|
140
|
+
*
|
|
141
|
+
* @param bombSubType Optional. If specified, will only remove bombs that match this sub-type.
|
|
142
|
+
* Default is -1, which matches every sub-type.
|
|
143
|
+
* @param cap Optional. If specified, will only remove the given amount of bombs.
|
|
144
|
+
* @returns The bombs that were removed.
|
|
145
|
+
*/
|
|
146
|
+
function removeAllBombPickups(bombSubType = -1, cap) {
|
|
147
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.BOMB, bombSubType, cap);
|
|
148
|
+
}
|
|
149
|
+
exports.removeAllBombPickups = removeAllBombPickups;
|
|
150
|
+
/**
|
|
151
|
+
* Helper function to remove all of the cards in the room.
|
|
152
|
+
*
|
|
153
|
+
* @param cardType Optional. If specified, will only remove cards that match this sub-type. Default
|
|
154
|
+
* is -1, which matches every sub-type.
|
|
155
|
+
* @param cap Optional. If specified, will only remove the given amount of cards.
|
|
156
|
+
* @returns The cards that were removed.
|
|
157
|
+
*/
|
|
158
|
+
function removeAllCards(cardType = -1, cap) {
|
|
159
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.CARD, cardType, cap);
|
|
160
|
+
}
|
|
161
|
+
exports.removeAllCards = removeAllCards;
|
|
162
|
+
/**
|
|
163
|
+
* Helper function to remove all of the chests in the room. Specifically, this is all of the pickups
|
|
164
|
+
* with a variant in the `CHEST_PICKUP_VARIANTS` constant.
|
|
165
|
+
*
|
|
166
|
+
* @param subType Optional. If specified, will only remove chests that match this sub-type. Default
|
|
167
|
+
* is -1, which matches every sub-type.
|
|
168
|
+
* @param cap Optional. If specified, will only remove the given amount of chests.
|
|
169
|
+
* @returns The chests that were removed.
|
|
170
|
+
*/
|
|
171
|
+
function removeAllChests(subType = -1, cap) {
|
|
172
|
+
const chests = getChests(subType);
|
|
173
|
+
return (0, entities_1.removeEntities)(chests, cap);
|
|
174
|
+
}
|
|
175
|
+
exports.removeAllChests = removeAllChests;
|
|
176
|
+
/**
|
|
177
|
+
* Helper function to remove all of the coins in the room.
|
|
178
|
+
*
|
|
179
|
+
* @param coinSubType Optional. If specified, will only remove coins that match this sub-type.
|
|
180
|
+
* Default is -1, which matches every sub-type.
|
|
181
|
+
* @param cap Optional. If specified, will only remove the given amount of coins.
|
|
182
|
+
* @returns The coins that were removed.
|
|
183
|
+
*/
|
|
184
|
+
function removeAllCoins(coinSubType, cap) {
|
|
185
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.COIN, coinSubType, cap);
|
|
186
|
+
}
|
|
187
|
+
exports.removeAllCoins = removeAllCoins;
|
|
188
|
+
/**
|
|
189
|
+
* Helper function to remove all of the collectibles in the room.
|
|
190
|
+
*
|
|
191
|
+
* @param collectibleType Optional. If specified, will only remove collectibles that match this
|
|
192
|
+
* sub-type. Default is -1, which matches every sub-type.
|
|
193
|
+
* @param cap Optional. If specified, will only remove the given amount of collectibles.
|
|
194
|
+
* @returns The collectibles that were removed.
|
|
195
|
+
*/
|
|
196
|
+
function removeAllCollectibles(collectibleType, cap) {
|
|
197
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.COLLECTIBLE, collectibleType, cap);
|
|
198
|
+
}
|
|
199
|
+
exports.removeAllCollectibles = removeAllCollectibles;
|
|
200
|
+
/**
|
|
201
|
+
* Helper function to remove all of the heart pickup entities in the room.
|
|
202
|
+
*
|
|
203
|
+
* @param heartSubType Optional. If specified, will only remove hearts that match this sub-type.
|
|
204
|
+
* Default is -1, which matches every sub-type.
|
|
205
|
+
* @param cap Optional. If specified, will only remove the given amount of hearts.
|
|
206
|
+
* @returns The hearts that were removed.
|
|
207
|
+
*/
|
|
208
|
+
function removeAllHearts(heartSubType, cap) {
|
|
209
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.HEART, heartSubType, cap);
|
|
210
|
+
}
|
|
211
|
+
exports.removeAllHearts = removeAllHearts;
|
|
212
|
+
/**
|
|
213
|
+
* Helper function to remove all of the keys in the room.
|
|
214
|
+
*
|
|
215
|
+
* @param keySubType Optional. If specified, will only remove keys that match this sub-type. Default
|
|
216
|
+
* is -1, which matches every sub-type.
|
|
217
|
+
* @param cap Optional. If specified, will only remove the given amount of keys.
|
|
218
|
+
* @returns The keys that were removed.
|
|
219
|
+
*/
|
|
220
|
+
function removeAllKeys(keySubType, cap) {
|
|
221
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.KEY, keySubType, cap);
|
|
222
|
+
}
|
|
223
|
+
exports.removeAllKeys = removeAllKeys;
|
|
224
|
+
/**
|
|
225
|
+
* Helper function to remove all of the pills in the room.
|
|
226
|
+
*
|
|
227
|
+
* @param pillColor Optional. If specified, will only remove pills that match this sub-type. Default
|
|
228
|
+
* is -1, which matches every sub-type.
|
|
229
|
+
* @param cap Optional. If specified, will only remove the given amount of pills.
|
|
230
|
+
* @returns The pills that were removed.
|
|
231
|
+
*/
|
|
232
|
+
function removeAllPills(pillColor, cap) {
|
|
233
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.PILL, pillColor, cap);
|
|
234
|
+
}
|
|
235
|
+
exports.removeAllPills = removeAllPills;
|
|
236
|
+
/**
|
|
237
|
+
* Helper function to remove all of the sacks (i.e. grab bags) in the room.
|
|
238
|
+
*
|
|
239
|
+
* @param sackSubType Optional. If specified, will only remove sacks that match this sub-type.
|
|
240
|
+
* Default is -1, which matches every sub-type.
|
|
241
|
+
* @param cap Optional. If specified, will only remove the given amount of sacks.
|
|
242
|
+
* @returns The sacks that were removed.
|
|
243
|
+
*/
|
|
244
|
+
function removeAllSacks(sackSubType, cap) {
|
|
245
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.SACK, sackSubType, cap);
|
|
246
|
+
}
|
|
247
|
+
exports.removeAllSacks = removeAllSacks;
|
|
248
|
+
/**
|
|
249
|
+
* Helper function to remove all of the trinkets in the room.
|
|
250
|
+
*
|
|
251
|
+
* @param trinketType Optional. If specified, will only remove trinkets that match this sub-type.
|
|
252
|
+
* Default is -1, which matches every sub-type.
|
|
253
|
+
* @param cap Optional. If specified, will only remove the given amount of trinkets.
|
|
254
|
+
* @returns The trinkets that were removed.
|
|
255
|
+
*/
|
|
256
|
+
function removeAllTrinkets(trinketType, cap) {
|
|
257
|
+
return (0, entitiesSpecific_1.removeAllPickups)(isaac_typescript_definitions_1.PickupVariant.TRINKET, trinketType, cap);
|
|
258
|
+
}
|
|
259
|
+
exports.removeAllTrinkets = removeAllTrinkets;
|
|
260
|
+
/**
|
|
261
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90).
|
|
262
|
+
*/
|
|
263
|
+
function spawnBattery(batterySubType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
264
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.LIL_BATTERY, batterySubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
265
|
+
}
|
|
266
|
+
exports.spawnBattery = spawnBattery;
|
|
267
|
+
/**
|
|
268
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90)
|
|
269
|
+
* and a specific seed.
|
|
270
|
+
*/
|
|
271
|
+
function spawnBatteryWithSeed(batterySubType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
272
|
+
return spawnBattery(batterySubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
273
|
+
}
|
|
274
|
+
exports.spawnBatteryWithSeed = spawnBatteryWithSeed;
|
|
275
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.BOMB` (40). */
|
|
276
|
+
function spawnBombPickup(bombSubType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
277
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.BOMB, bombSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
278
|
+
}
|
|
279
|
+
exports.spawnBombPickup = spawnBombPickup;
|
|
280
|
+
/**
|
|
281
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.BOMB` (40) and a
|
|
282
|
+
* specific seed.
|
|
283
|
+
*/
|
|
284
|
+
function spawnBombPickupWithSeed(bombSubType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
285
|
+
return spawnBombPickup(bombSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
286
|
+
}
|
|
287
|
+
exports.spawnBombPickupWithSeed = spawnBombPickupWithSeed;
|
|
288
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.CARD` (300). */
|
|
289
|
+
function spawnCard(cardType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
290
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.CARD, cardType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
291
|
+
}
|
|
292
|
+
exports.spawnCard = spawnCard;
|
|
293
|
+
/**
|
|
294
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.CARD` (300) and a
|
|
295
|
+
* specific seed.
|
|
296
|
+
*/
|
|
297
|
+
function spawnCardWithSeed(cardType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
298
|
+
return spawnCard(cardType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
299
|
+
}
|
|
300
|
+
exports.spawnCardWithSeed = spawnCardWithSeed;
|
|
301
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20). */
|
|
302
|
+
function spawnCoin(coinSubType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
303
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.COIN, coinSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
304
|
+
}
|
|
305
|
+
exports.spawnCoin = spawnCoin;
|
|
306
|
+
/**
|
|
307
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20) and a
|
|
308
|
+
* specific seed.
|
|
309
|
+
*/
|
|
310
|
+
function spawnCoinWithSeed(coinSubType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
311
|
+
return spawnCoin(coinSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
312
|
+
}
|
|
313
|
+
exports.spawnCoinWithSeed = spawnCoinWithSeed;
|
|
314
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10). */
|
|
315
|
+
function spawnHeart(heartSubType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
316
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.HEART, heartSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
317
|
+
}
|
|
318
|
+
exports.spawnHeart = spawnHeart;
|
|
319
|
+
function spawnHeartWithSeed(heartSubType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
320
|
+
return spawnHeart(heartSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
321
|
+
}
|
|
322
|
+
exports.spawnHeartWithSeed = spawnHeartWithSeed;
|
|
323
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30). */
|
|
324
|
+
function spawnKey(keySubType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
325
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.KEY, keySubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
326
|
+
}
|
|
327
|
+
exports.spawnKey = spawnKey;
|
|
328
|
+
/**
|
|
329
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30) and a
|
|
330
|
+
* specific seed.
|
|
331
|
+
*/
|
|
332
|
+
function spawnKeyWithSeed(keySubType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
333
|
+
return spawnKey(keySubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
334
|
+
}
|
|
335
|
+
exports.spawnKeyWithSeed = spawnKeyWithSeed;
|
|
336
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70). */
|
|
337
|
+
function spawnPill(pillColor, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
338
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.PILL, pillColor, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
339
|
+
}
|
|
340
|
+
exports.spawnPill = spawnPill;
|
|
341
|
+
/**
|
|
342
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70) and a
|
|
343
|
+
* specific seed.
|
|
344
|
+
*/
|
|
345
|
+
function spawnPillWithSeed(pillColor, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
346
|
+
return spawnPill(pillColor, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
347
|
+
}
|
|
348
|
+
exports.spawnPillWithSeed = spawnPillWithSeed;
|
|
349
|
+
/** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69). */
|
|
350
|
+
function spawnSack(sackSubType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
351
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.SACK, sackSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
352
|
+
}
|
|
353
|
+
exports.spawnSack = spawnSack;
|
|
354
|
+
/**
|
|
355
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69) and a
|
|
356
|
+
* specific seed.
|
|
357
|
+
*/
|
|
358
|
+
function spawnSackWithSeed(sackSubType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
359
|
+
return spawnSack(sackSubType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
360
|
+
}
|
|
361
|
+
exports.spawnSackWithSeed = spawnSackWithSeed;
|
|
362
|
+
/**
|
|
363
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350).
|
|
364
|
+
*/
|
|
365
|
+
function spawnTrinket(trinketType, positionOrGridIndex, velocity = constants_1.VectorZero, spawner = undefined, seedOrRNG = undefined) {
|
|
366
|
+
return (0, entitiesSpecific_1.spawnPickup)(isaac_typescript_definitions_1.PickupVariant.TRINKET, trinketType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
367
|
+
}
|
|
368
|
+
exports.spawnTrinket = spawnTrinket;
|
|
369
|
+
/**
|
|
370
|
+
* Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350) and
|
|
371
|
+
* a specific seed.
|
|
372
|
+
*/
|
|
373
|
+
function spawnTrinketWithSeed(trinketType, positionOrGridIndex, seedOrRNG, velocity = constants_1.VectorZero, spawner = undefined) {
|
|
374
|
+
return spawnTrinket(trinketType, positionOrGridIndex, velocity, spawner, seedOrRNG);
|
|
375
|
+
}
|
|
376
|
+
exports.spawnTrinketWithSeed = spawnTrinketWithSeed;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isVanillaPillEffect = exports.isValidPillEffect = exports.isModdedPillEffect = exports.isHorsePill = exports.isGoldPill = exports.getVanillaPillEffectsOfType = exports.getPillEffectType = exports.getPillEffectName = exports.getPillEffectClass = exports.getPillColorFromEffect = exports.getPHDPillEffect = exports.getNormalPillColors = exports.getNormalPillColorFromHorse = exports.getHorsePillColors = exports.getHorsePillColor = exports.getFalsePHDPillEffect = exports.getAllPillColors = void 0;
|
|
4
|
+
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
5
|
+
const cachedEnumValues_1 = require("../arrays/cachedEnumValues");
|
|
6
|
+
const cachedClasses_1 = require("../core/cachedClasses");
|
|
7
|
+
const constantsFirstLast_1 = require("../core/constantsFirstLast");
|
|
8
|
+
const PHDPillConversionsMap_1 = require("../maps/PHDPillConversionsMap");
|
|
9
|
+
const falsePHDPillConversionsMap_1 = require("../maps/falsePHDPillConversionsMap");
|
|
10
|
+
const pillEffectClasses_1 = require("../objects/pillEffectClasses");
|
|
11
|
+
const pillEffectNames_1 = require("../objects/pillEffectNames");
|
|
12
|
+
const pillEffectTypeToPillEffects_1 = require("../objects/pillEffectTypeToPillEffects");
|
|
13
|
+
const pillEffectTypes_1 = require("../objects/pillEffectTypes");
|
|
14
|
+
const types_1 = require("./types");
|
|
15
|
+
const utils_1 = require("./utils");
|
|
16
|
+
/**
|
|
17
|
+
* Add this to a `PillColor` to get the corresponding giant pill color.
|
|
18
|
+
*
|
|
19
|
+
* Corresponds to the vanilla `PillColor.GIANT_FLAG` value.
|
|
20
|
+
*
|
|
21
|
+
* 1 << 11
|
|
22
|
+
*/
|
|
23
|
+
const HORSE_PILL_COLOR_ADJUSTMENT = 2048;
|
|
24
|
+
/**
|
|
25
|
+
* Helper function to get an array with every non-null pill color. This includes all gold colors and
|
|
26
|
+
* all horse colors.
|
|
27
|
+
*/
|
|
28
|
+
function getAllPillColors() {
|
|
29
|
+
return cachedEnumValues_1.PILL_COLOR_VALUES.slice(1); // Remove `PillColor.NULL`
|
|
30
|
+
}
|
|
31
|
+
exports.getAllPillColors = getAllPillColors;
|
|
32
|
+
/**
|
|
33
|
+
* Helper function to get the associated pill effect after False PHD is acquired. If a pill effect
|
|
34
|
+
* is not altered by False PHD, then the same pill effect will be returned.
|
|
35
|
+
*/
|
|
36
|
+
function getFalsePHDPillEffect(pillEffect) {
|
|
37
|
+
const convertedPillEffect = falsePHDPillConversionsMap_1.FALSE_PHD_PILL_CONVERSIONS_MAP.get(pillEffect);
|
|
38
|
+
return convertedPillEffect ?? pillEffect;
|
|
39
|
+
}
|
|
40
|
+
exports.getFalsePHDPillEffect = getFalsePHDPillEffect;
|
|
41
|
+
/**
|
|
42
|
+
* Helper function to get the corresponding horse pill color from a normal pill color.
|
|
43
|
+
*
|
|
44
|
+
* For example, passing `PillColor.BLUE_BLUE` would result in 2049, which is the value that
|
|
45
|
+
* corresponds to the horse pill color for blue/blue.
|
|
46
|
+
*
|
|
47
|
+
* If passed a horse pill color, this function will return the unmodified pill color.
|
|
48
|
+
*/
|
|
49
|
+
function getHorsePillColor(pillColor) {
|
|
50
|
+
return isHorsePill(pillColor)
|
|
51
|
+
? pillColor
|
|
52
|
+
: pillColor + HORSE_PILL_COLOR_ADJUSTMENT;
|
|
53
|
+
}
|
|
54
|
+
exports.getHorsePillColor = getHorsePillColor;
|
|
55
|
+
/** Helper function to get an array with every non-gold horse pill color. */
|
|
56
|
+
function getHorsePillColors() {
|
|
57
|
+
return (0, utils_1.iRange)(constantsFirstLast_1.FIRST_HORSE_PILL_COLOR, constantsFirstLast_1.LAST_HORSE_PILL_COLOR);
|
|
58
|
+
}
|
|
59
|
+
exports.getHorsePillColors = getHorsePillColors;
|
|
60
|
+
/**
|
|
61
|
+
* Helper function to get the corresponding normal pill color from a horse pill color.
|
|
62
|
+
*
|
|
63
|
+
* For example, passing 2049 would result in `PillColor.BLUE_BLUE`.
|
|
64
|
+
*
|
|
65
|
+
* If called with a non-horse pill color, this function will return back the same color.
|
|
66
|
+
*/
|
|
67
|
+
function getNormalPillColorFromHorse(pillColor) {
|
|
68
|
+
return isHorsePill(pillColor)
|
|
69
|
+
? (0, types_1.asPillColor)(pillColor - HORSE_PILL_COLOR_ADJUSTMENT)
|
|
70
|
+
: pillColor;
|
|
71
|
+
}
|
|
72
|
+
exports.getNormalPillColorFromHorse = getNormalPillColorFromHorse;
|
|
73
|
+
/** Helper function to get an array with every non-gold and non-horse pill color. */
|
|
74
|
+
function getNormalPillColors() {
|
|
75
|
+
return (0, utils_1.iRange)(constantsFirstLast_1.FIRST_PILL_COLOR, constantsFirstLast_1.LAST_NORMAL_PILL_COLOR);
|
|
76
|
+
}
|
|
77
|
+
exports.getNormalPillColors = getNormalPillColors;
|
|
78
|
+
/**
|
|
79
|
+
* Helper function to get the associated pill effect after PHD is acquired. If a pill effect is not
|
|
80
|
+
* altered by PHD, then the same pill effect will be returned.
|
|
81
|
+
*/
|
|
82
|
+
function getPHDPillEffect(pillEffect) {
|
|
83
|
+
const convertedPillEffect = PHDPillConversionsMap_1.PHD_PILL_CONVERSIONS_MAP.get(pillEffect);
|
|
84
|
+
return convertedPillEffect ?? pillEffect;
|
|
85
|
+
}
|
|
86
|
+
exports.getPHDPillEffect = getPHDPillEffect;
|
|
87
|
+
/**
|
|
88
|
+
* Helper function to get the corresponding pill color from an effect by repeatedly using the
|
|
89
|
+
* `ItemPool.GetPillEffect` method.
|
|
90
|
+
*
|
|
91
|
+
* Note that this will return the corresponding effect even if the passed pill color is not yet
|
|
92
|
+
* identified by the player.
|
|
93
|
+
*
|
|
94
|
+
* Returns `PillColor.NULL` if there is the corresponding pill color cannot be found.
|
|
95
|
+
*
|
|
96
|
+
* This function is especially useful in the `POST_USE_PILL` callback, since at that point, the used
|
|
97
|
+
* pill is already consumed, and the callback only passes the effect. In this specific circumstance,
|
|
98
|
+
* consider using the `POST_USE_PILL_FILTER` callback instead of the `POST_USE_PILL` callback, since
|
|
99
|
+
* it correctly passes the color and handles the case of horse pills.
|
|
100
|
+
*/
|
|
101
|
+
function getPillColorFromEffect(pillEffect) {
|
|
102
|
+
const itemPool = cachedClasses_1.game.GetItemPool();
|
|
103
|
+
const normalPillColors = getNormalPillColors();
|
|
104
|
+
for (const normalPillColor of normalPillColors) {
|
|
105
|
+
const normalPillEffect = itemPool.GetPillEffect(normalPillColor);
|
|
106
|
+
if (normalPillEffect === pillEffect) {
|
|
107
|
+
return normalPillColor;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return isaac_typescript_definitions_1.PillColor.NULL;
|
|
111
|
+
}
|
|
112
|
+
exports.getPillColorFromEffect = getPillColorFromEffect;
|
|
113
|
+
/**
|
|
114
|
+
* Helper function to get a pill effect class from a PillEffect enum value. In this context, the
|
|
115
|
+
* class is equal to the numerical prefix in the "class" tag in the "pocketitems.xml" file. Use the
|
|
116
|
+
* `getPillEffectType` helper function to determine whether the pill effect is positive, negative,
|
|
117
|
+
* or neutral.
|
|
118
|
+
*
|
|
119
|
+
* Due to limitations in the API, this function will not work properly for modded pill effects, and
|
|
120
|
+
* will always return `DEFAULT_PILL_EFFECT_CLASS` in those cases.
|
|
121
|
+
*/
|
|
122
|
+
function getPillEffectClass(pillEffect) {
|
|
123
|
+
// `ItemConfigPillEffect` does not contain the "class" tag, so we must manually compile a map of
|
|
124
|
+
// pill effect classes. Modded pill effects are not included in the map.
|
|
125
|
+
const pillEffectClass = pillEffectClasses_1.PILL_EFFECT_CLASSES[pillEffect];
|
|
126
|
+
// Handle modded pill effects.
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
128
|
+
return pillEffectClass ?? pillEffectClasses_1.DEFAULT_PILL_EFFECT_CLASS;
|
|
129
|
+
}
|
|
130
|
+
exports.getPillEffectClass = getPillEffectClass;
|
|
131
|
+
/**
|
|
132
|
+
* Helper function to get a pill effect name from a `PillEffect`. Returns "Unknown" if the provided
|
|
133
|
+
* pill effect is not valid.
|
|
134
|
+
*
|
|
135
|
+
* This function works for both vanilla and modded pill effects.
|
|
136
|
+
*
|
|
137
|
+
* For example, `getPillEffectName(PillEffect.BAD_GAS)` would return "Bad Gas".
|
|
138
|
+
*/
|
|
139
|
+
function getPillEffectName(pillEffect) {
|
|
140
|
+
// `ItemConfigPillEffect.Name` is bugged with vanilla pill effects on patch v1.7.6, so we use a
|
|
141
|
+
// hard-coded map as a workaround.
|
|
142
|
+
const pillEffectName = pillEffectNames_1.PILL_EFFECT_NAMES[pillEffect];
|
|
143
|
+
// Handle modded pill effects.
|
|
144
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
145
|
+
if (pillEffectName !== undefined) {
|
|
146
|
+
return pillEffectName;
|
|
147
|
+
}
|
|
148
|
+
const itemConfigPillEffect = cachedClasses_1.itemConfig.GetPillEffect(pillEffect);
|
|
149
|
+
if (itemConfigPillEffect !== undefined) {
|
|
150
|
+
return itemConfigPillEffect.Name;
|
|
151
|
+
}
|
|
152
|
+
return pillEffectNames_1.DEFAULT_PILL_EFFECT_NAME;
|
|
153
|
+
}
|
|
154
|
+
exports.getPillEffectName = getPillEffectName;
|
|
155
|
+
/**
|
|
156
|
+
* Helper function to get a pill effect type from a `PillEffect` enum value. In this context, the
|
|
157
|
+
* type is equal to positive, negative, or neutral. This is derived from the suffix of the "class"
|
|
158
|
+
* tag in the "pocketitems.xml" file. Use the `getPillEffectClass` helper function to determine the
|
|
159
|
+
* "power" of the pill.
|
|
160
|
+
*
|
|
161
|
+
* Due to limitations in the API, this function will not work properly for modded pill effects, and
|
|
162
|
+
* will always return `DEFAULT_PILL_EFFECT_TYPE` in those cases.
|
|
163
|
+
*/
|
|
164
|
+
function getPillEffectType(pillEffect) {
|
|
165
|
+
// `ItemConfigPillEffect` does not contain the "class" tag, so we must manually compile a map of
|
|
166
|
+
// pill effect classes. Modded pill effects are not included in the map.
|
|
167
|
+
const pillEffectType = pillEffectTypes_1.PILL_EFFECT_TYPES[pillEffect];
|
|
168
|
+
// Handle modded pill effects.
|
|
169
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
170
|
+
return pillEffectType ?? pillEffectTypes_1.DEFAULT_PILL_EFFECT_TYPE;
|
|
171
|
+
}
|
|
172
|
+
exports.getPillEffectType = getPillEffectType;
|
|
173
|
+
function getVanillaPillEffectsOfType(pillEffectType) {
|
|
174
|
+
return pillEffectTypeToPillEffects_1.PILL_EFFECT_TYPE_TO_PILL_EFFECTS[pillEffectType];
|
|
175
|
+
}
|
|
176
|
+
exports.getVanillaPillEffectsOfType = getVanillaPillEffectsOfType;
|
|
177
|
+
/** Helper function to see if the given pill color is either a gold pill or a horse gold pill. */
|
|
178
|
+
function isGoldPill(pillColor) {
|
|
179
|
+
return pillColor === isaac_typescript_definitions_1.PillColor.GOLD || pillColor === isaac_typescript_definitions_1.PillColor.HORSE_GOLD;
|
|
180
|
+
}
|
|
181
|
+
exports.isGoldPill = isGoldPill;
|
|
182
|
+
/** Helper function to see if the given pill color is a horse pill. */
|
|
183
|
+
function isHorsePill(pillColor) {
|
|
184
|
+
return (0, types_1.asNumber)(pillColor) > HORSE_PILL_COLOR_ADJUSTMENT;
|
|
185
|
+
}
|
|
186
|
+
exports.isHorsePill = isHorsePill;
|
|
187
|
+
function isModdedPillEffect(pillEffect) {
|
|
188
|
+
return !isVanillaPillEffect(pillEffect);
|
|
189
|
+
}
|
|
190
|
+
exports.isModdedPillEffect = isModdedPillEffect;
|
|
191
|
+
function isValidPillEffect(pillEffect) {
|
|
192
|
+
const potentialPillEffect = (0, types_1.asPillEffect)(pillEffect);
|
|
193
|
+
const itemConfigPillEffect = cachedClasses_1.itemConfig.GetPillEffect(potentialPillEffect);
|
|
194
|
+
return itemConfigPillEffect !== undefined;
|
|
195
|
+
}
|
|
196
|
+
exports.isValidPillEffect = isValidPillEffect;
|
|
197
|
+
function isVanillaPillEffect(pillEffect) {
|
|
198
|
+
return pillEffect <= constantsFirstLast_1.LAST_VANILLA_PILL_EFFECT;
|
|
199
|
+
}
|
|
200
|
+
exports.isVanillaPillEffect = isVanillaPillEffect;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.movePlayersToCenter = void 0;
|
|
4
|
+
const isaac_typescript_definitions_1 = require("isaac-typescript-definitions");
|
|
5
|
+
const cachedClasses_1 = require("../core/cachedClasses");
|
|
6
|
+
const constants_1 = require("../core/constants");
|
|
7
|
+
const familiars_1 = require("./familiars");
|
|
8
|
+
const math_1 = require("./math");
|
|
9
|
+
const playerIndex_1 = require("./playerIndex");
|
|
10
|
+
/**
|
|
11
|
+
* Helper function to move all of the players to where they would normally go when arriving at a new
|
|
12
|
+
* floor. (In normal mode, this is the center of the room. In Greed Mode, this is below the top
|
|
13
|
+
* door.)
|
|
14
|
+
*
|
|
15
|
+
* If there is more than one player, they will be distributed around the center in a circle.
|
|
16
|
+
*
|
|
17
|
+
* This function emulates what happens in the vanilla game when you travel to a new floor.
|
|
18
|
+
*
|
|
19
|
+
* @param radius Optional. The radius of the circle. Default is 10.
|
|
20
|
+
*/
|
|
21
|
+
function movePlayersToCenter(radius = 10) {
|
|
22
|
+
const isGreedMode = cachedClasses_1.game.IsGreedMode();
|
|
23
|
+
const startingPosition = isGreedMode
|
|
24
|
+
? constants_1.NEW_FLOOR_STARTING_POSITION_GREED_MODE
|
|
25
|
+
: constants_1.NEW_FLOOR_STARTING_POSITION_NORMAL_MODE;
|
|
26
|
+
const players = (0, playerIndex_1.getAllPlayers)();
|
|
27
|
+
const firstPlayer = players[0];
|
|
28
|
+
if (firstPlayer === undefined) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
// If there is only one player, we can move them exactly to the center of the room.
|
|
32
|
+
if (players.length === 1) {
|
|
33
|
+
movePlayerAndTheirFamiliars(firstPlayer, startingPosition);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// If there is more than one player, spread them out in a circle around the center of the room.
|
|
37
|
+
// (This is what happens in vanilla.)
|
|
38
|
+
const circlePoints = (0, math_1.getCircleDiscretizedPoints)(startingPosition, radius, players.length, 1, 1, isaac_typescript_definitions_1.Direction.LEFT);
|
|
39
|
+
for (const [i, player] of players.entries()) {
|
|
40
|
+
const circlePosition = circlePoints[i];
|
|
41
|
+
if (circlePosition !== undefined) {
|
|
42
|
+
player.Position = circlePosition;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.movePlayersToCenter = movePlayersToCenter;
|
|
47
|
+
function movePlayerAndTheirFamiliars(player, position) {
|
|
48
|
+
player.Position = position;
|
|
49
|
+
const familiars = (0, familiars_1.getPlayerFamiliars)(player);
|
|
50
|
+
for (const familiar of familiars) {
|
|
51
|
+
familiar.Position = position;
|
|
52
|
+
}
|
|
53
|
+
}
|