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