isaacscript-common 1.0.376 → 1.0.380

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.
@@ -1,10 +1,10 @@
1
1
  --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
2
  local ____exports = {}
3
3
  local hasSubscriptions, postRender, postNewRoom, postPlayerUpdateReordered, postPlayerFatalDamage, CustomReviveState, v
4
+ local ____collectibles = require("functions.collectibles")
5
+ local removeCollectibleFromItemTracker = ____collectibles.removeCollectibleFromItemTracker
4
6
  local ____entity = require("functions.entity")
5
7
  local removeAllMatchingEntities = ____entity.removeAllMatchingEntities
6
- local ____items = require("functions.items")
7
- local removeItemFromItemTracker = ____items.removeItemFromItemTracker
8
8
  local ____player = require("functions.player")
9
9
  local getPlayerIndex = ____player.getPlayerIndex
10
10
  local ____ModCallbacksCustom = require("types.ModCallbacksCustom")
@@ -64,7 +64,7 @@ function postPlayerFatalDamage(self, player)
64
64
  v.run.dyingPlayerIndex = getPlayerIndex(nil, player)
65
65
  player:AddCollectible(CollectibleType.COLLECTIBLE_1UP, 0, false)
66
66
  removeAllMatchingEntities(nil, EntityType.ENTITY_FAMILIAR, FamiliarVariant.ONE_UP)
67
- removeItemFromItemTracker(nil, CollectibleType.COLLECTIBLE_1UP)
67
+ removeCollectibleFromItemTracker(nil, CollectibleType.COLLECTIBLE_1UP)
68
68
  end
69
69
  CustomReviveState = CustomReviveState or ({})
70
70
  CustomReviveState.DISABLED = 0
@@ -0,0 +1,2 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare const CARD_NAME_MAP: Map<Card, string>;
@@ -0,0 +1,5 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ require("lualib_bundle");
3
+ local ____exports = {}
4
+ ____exports.CARD_NAME_MAP = __TS__New(Map, {{Card.CARD_FOOL, "0 - The Fool"}, {Card.CARD_MAGICIAN, "I - The Magician"}, {Card.CARD_HIGH_PRIESTESS, "II - The High Priestess"}, {Card.CARD_EMPRESS, "III - The Empress"}, {Card.CARD_EMPEROR, "IV - The Emperor"}, {Card.CARD_HIEROPHANT, "V - The Hierophant"}, {Card.CARD_LOVERS, "VI - The Lovers"}, {Card.CARD_CHARIOT, "VII - The Chariot"}, {Card.CARD_JUSTICE, "VIII - Justice"}, {Card.CARD_HERMIT, "IX - The Hermit"}, {Card.CARD_WHEEL_OF_FORTUNE, "X - Wheel of Fortune"}, {Card.CARD_STRENGTH, "XI - Strength"}, {Card.CARD_HANGED_MAN, "XII - The Hanged Man"}, {Card.CARD_DEATH, "XIII - Death"}, {Card.CARD_TEMPERANCE, "XIV - Temperance"}, {Card.CARD_DEVIL, "XV - The Devil"}, {Card.CARD_TOWER, "XVI - The Tower"}, {Card.CARD_STARS, "XVII - The Stars"}, {Card.CARD_MOON, "XVIII - The Moon"}, {Card.CARD_SUN, "XIX - The Sun"}, {Card.CARD_JUDGEMENT, "XX - Judgement"}, {Card.CARD_WORLD, "XXI - The World"}, {Card.CARD_CLUBS_2, "2 of Clubs"}, {Card.CARD_DIAMONDS_2, "2 of Diamonds"}, {Card.CARD_SPADES_2, "2 of Spades"}, {Card.CARD_HEARTS_2, "2 of Hearts"}, {Card.CARD_ACE_OF_CLUBS, "Ace of Clubs"}, {Card.CARD_ACE_OF_DIAMONDS, "Ace of Diamonds"}, {Card.CARD_ACE_OF_SPADES, "Ace of Spades"}, {Card.CARD_ACE_OF_HEARTS, "Ace of Hearts"}, {Card.CARD_JOKER, "Joker"}, {Card.RUNE_HAGALAZ, "Hagalaz"}, {Card.RUNE_JERA, "Jera"}, {Card.RUNE_EHWAZ, "Ehwaz"}, {Card.RUNE_DAGAZ, "Dagaz"}, {Card.RUNE_ANSUZ, "Ansuz"}, {Card.RUNE_PERTHRO, "Perthro"}, {Card.RUNE_BERKANO, "Berkano"}, {Card.RUNE_ALGIZ, "Algiz"}, {Card.RUNE_BLANK, "Blank Rune"}, {Card.RUNE_BLACK, "Black Rune"}, {Card.CARD_CHAOS, "Chaos Card"}, {Card.CARD_CREDIT, "Credit Card"}, {Card.CARD_RULES, "Rules Card"}, {Card.CARD_HUMANITY, "A Card Against Humanity"}, {Card.CARD_SUICIDE_KING, "Suicide King"}, {Card.CARD_GET_OUT_OF_JAIL, "Get Out Of Jail Free Card"}, {Card.CARD_QUESTIONMARK, "? Card"}, {Card.CARD_DICE_SHARD, "Dice Shard"}, {Card.CARD_EMERGENCY_CONTACT, "Emergency Contact"}, {Card.CARD_HOLY, "Holy Card"}, {Card.CARD_HUGE_GROWTH, "Huge Growth"}, {Card.CARD_ANCIENT_RECALL, "Ancient Recall"}, {Card.CARD_ERA_WALK, "Era Walk"}, {Card.RUNE_SHARD, "Rune Shard"}, {Card.CARD_REVERSE_FOOL, "0 - The Fool?"}, {Card.CARD_REVERSE_MAGICIAN, "I - The Magician?"}, {Card.CARD_REVERSE_HIGH_PRIESTESS, "II - The High Priestess?"}, {Card.CARD_REVERSE_EMPRESS, "III - The Empress?"}, {Card.CARD_REVERSE_EMPEROR, "IV - The Emperor?"}, {Card.CARD_REVERSE_HIEROPHANT, "V - The Hierophant?"}, {Card.CARD_REVERSE_LOVERS, "VI - The Lovers?"}, {Card.CARD_REVERSE_CHARIOT, "VII - The Chariot?"}, {Card.CARD_REVERSE_JUSTICE, "VIII - Justice?"}, {Card.CARD_REVERSE_HERMIT, "IX - The Hermit?"}, {Card.CARD_REVERSE_WHEEL_OF_FORTUNE, "X - Wheel of Fortune?"}, {Card.CARD_REVERSE_STRENGTH, "XI - Strength?"}, {Card.CARD_REVERSE_HANGED_MAN, "XII - The Hanged Man?"}, {Card.CARD_REVERSE_DEATH, "XIII - Death?"}, {Card.CARD_REVERSE_TEMPERANCE, "XIV - Temperance?"}, {Card.CARD_REVERSE_DEVIL, "XV - The Devil?"}, {Card.CARD_REVERSE_TOWER, "XVI - The Tower?"}, {Card.CARD_REVERSE_STARS, "XVII - The Stars?"}, {Card.CARD_REVERSE_MOON, "XVIII - The Moon?"}, {Card.CARD_REVERSE_SUN, "XIX - The Sun?"}, {Card.CARD_REVERSE_JUDGEMENT, "XX - Judgement?"}, {Card.CARD_REVERSE_WORLD, "XXI - The World?"}, {Card.CARD_CRACKED_KEY, "Cracked Key"}, {Card.CARD_QUEEN_OF_HEARTS, "Queen of Hearts"}, {Card.CARD_WILD, "Wild Card"}, {Card.CARD_SOUL_ISAAC, "Soul of Isaac"}, {Card.CARD_SOUL_MAGDALENE, "Soul of Magdalene"}, {Card.CARD_SOUL_CAIN, "Soul of Cain"}, {Card.CARD_SOUL_JUDAS, "Soul of Judas"}, {Card.CARD_SOUL_BLUEBABY, "Soul of ???"}, {Card.CARD_SOUL_EVE, "Soul of Eve"}, {Card.CARD_SOUL_SAMSON, "Soul of Samson"}, {Card.CARD_SOUL_AZAZEL, "Soul of Azazel"}, {Card.CARD_SOUL_LAZARUS, "Soul of Lazarus"}, {Card.CARD_SOUL_EDEN, "Soul of Eden"}, {Card.CARD_SOUL_LOST, "Soul of the Lost"}, {Card.CARD_SOUL_LILITH, "Soul of Lilith"}, {Card.CARD_SOUL_KEEPER, "Soul of the Keeper"}, {Card.CARD_SOUL_APOLLYON, "Soul of Apollyon"}, {Card.CARD_SOUL_FORGOTTEN, "Soul of the Forgotten"}, {Card.CARD_SOUL_BETHANY, "Soul of Bethany"}, {Card.CARD_SOUL_JACOB, "Soul of Jacob and Esau"}})
5
+ return ____exports
@@ -0,0 +1,2 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare const COLLECTIBLE_NAME_MAP: Map<CollectibleType, string>;
@@ -0,0 +1,5 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ require("lualib_bundle");
3
+ local ____exports = {}
4
+ ____exports.COLLECTIBLE_NAME_MAP = __TS__New(Map, {{1, "The Sad Onion"}, {2, "The Inner Eye"}, {3, "Spoon Bender"}, {4, "Cricket's Head"}, {5, "My Reflection"}, {6, "Number One"}, {7, "Blood of the Martyr"}, {8, "Brother Bobby"}, {9, "Skatole"}, {10, "Halo of Flies"}, {11, "1up!"}, {12, "Magic Mushroom"}, {13, "The Virus"}, {14, "Roid Rage"}, {15, "<3"}, {16, "Raw Liver"}, {17, "Skeleton Key"}, {18, "A Dollar"}, {19, "Boom!"}, {20, "Transcendence"}, {21, "The Compass"}, {22, "Lunch"}, {23, "Dinner"}, {24, "Dessert"}, {25, "Breakfast"}, {26, "Rotten Meat"}, {27, "Wooden Spoon"}, {28, "The Belt"}, {29, "Mom's Underwear"}, {30, "Mom's Heels"}, {31, "Mom's Lipstick"}, {32, "Wire Coat Hanger"}, {33, "The Bible"}, {34, "The Book of Belial"}, {35, "The Necronomicon"}, {36, "The Poop"}, {37, "Mr. Boom"}, {38, "Tammy's Head"}, {39, "Mom's Bra"}, {40, "Kamikaze!"}, {41, "Mom's Pad"}, {42, "Bob's Rotten Head"}, {44, "Teleport!"}, {45, "Yum Heart"}, {46, "Lucky Foot"}, {47, "Doctor's Remote"}, {48, "Cupid's Arrow"}, {49, "Shoop da Whoop!"}, {50, "Steven"}, {51, "Pentagram"}, {52, "Dr. Fetus"}, {53, "Magneto"}, {54, "Treasure Map"}, {55, "Mom's Eye"}, {56, "Lemon Mishap"}, {57, "Distant Admiration"}, {58, "Book of Shadows"}, {60, "The Ladder"}, {62, "Charm of the Vampire"}, {63, "The Battery"}, {64, "Steam Sale"}, {65, "Anarchist Cookbook"}, {66, "The Hourglass"}, {67, "Sister Maggy"}, {68, "Technology"}, {69, "Chocolate Milk"}, {70, "Growth Hormones"}, {71, "Mini Mush"}, {72, "Rosary"}, {73, "Cube of Meat"}, {74, "A Quarter"}, {75, "PHD"}, {76, "X-Ray Vision"}, {77, "My Little Unicorn"}, {78, "Book of Revelations"}, {79, "The Mark"}, {80, "The Pact"}, {81, "Dead Cat"}, {82, "Lord of the Pit"}, {83, "The Nail"}, {84, "We Need To Go Deeper!"}, {85, "Deck of Cards"}, {86, "Monstro's Tooth"}, {87, "Loki's Horns"}, {88, "Little Chubby"}, {89, "Spider Bite"}, {90, "The Small Rock"}, {91, "Spelunker Hat"}, {92, "Super Bandage"}, {93, "The Gamekid"}, {94, "Sack of Pennies"}, {95, "Robo-Baby"}, {96, "Little C.H.A.D."}, {97, "The Book of Sin"}, {98, "The Relic"}, {99, "Little Gish"}, {100, "Little Steven"}, {101, "The Halo"}, {102, "Mom's Bottle of Pills"}, {103, "The Common Cold"}, {104, "The Parasite"}, {105, "The D6"}, {106, "Mr. Mega"}, {107, "The Pinking Shears"}, {108, "The Wafer"}, {109, "Money = Power"}, {110, "Mom's Contacts"}, {111, "The Bean"}, {112, "Guardian Angel"}, {113, "Demon Baby"}, {114, "Mom's Knife"}, {115, "Ouija Board"}, {116, "9 Volt"}, {117, "Dead Bird"}, {118, "Brimstone"}, {119, "Blood Bag"}, {120, "Odd Mushroom"}, {121, "Odd Mushroom"}, {122, "Whore of Babylon"}, {123, "Monster Manual"}, {124, "Dead Sea Scrolls"}, {125, "Bobby-Bomb"}, {126, "Razor Blade"}, {127, "Forget Me Now"}, {128, "Forever Alone"}, {129, "Bucket of Lard"}, {130, "A Pony"}, {131, "Bomb Bag"}, {132, "A Lump of Coal"}, {133, "Guppy's Paw"}, {134, "Guppy's Tail"}, {135, "IV Bag"}, {136, "Best Friend"}, {137, "Remote Detonator"}, {138, "Stigmata"}, {139, "Mom's Purse"}, {140, "Bob's Curse"}, {141, "Pageant Boy"}, {142, "Scapular"}, {143, "Speed Ball"}, {144, "Bum Friend"}, {145, "Guppy's Head"}, {146, "Prayer Card"}, {147, "Notched Axe"}, {148, "Infestation"}, {149, "Ipecac"}, {150, "Tough Love"}, {151, "The Mulligan"}, {152, "Technology 2"}, {153, "Mutant Spider"}, {154, "Chemical Peel"}, {155, "The Peeper"}, {156, "Habit"}, {157, "Bloody Lust"}, {158, "Crystal Ball"}, {159, "Spirit of the Night"}, {160, "Crack the Sky"}, {161, "Ankh"}, {162, "Celtic Cross"}, {163, "Ghost Baby"}, {164, "The Candle"}, {165, "Cat-o-nine-tails"}, {166, "D20"}, {167, "Harlequin Baby"}, {168, "Epic Fetus"}, {169, "Polyphemus"}, {170, "Daddy Longlegs"}, {171, "Spider Butt"}, {172, "Sacrificial Dagger"}, {173, "Mitre"}, {174, "Rainbow Baby"}, {175, "Dad's Key"}, {176, "Stem Cells"}, {177, "Portable Slot"}, {178, "Holy Water"}, {179, "Fate"}, {180, "The Black Bean"}, {181, "White Pony"}, {182, "Sacred Heart"}, {183, "Tooth Picks"}, {184, "Holy Grail"}, {185, "Dead Dove"}, {186, "Blood Rights"}, {187, "Guppy's Hairball"}, {188, "Abel"}, {189, "SMB Super Fan"}, {190, "Pyro"}, {191, "3 Dollar Bill"}, {192, "Telepathy For Dummies"}, {193, "MEAT!"}, {194, "Magic 8 Ball"}, {195, "Mom's Coin Purse"}, {196, "Squeezy"}, {197, "Jesus Juice"}, {198, "Box"}, {199, "Mom's Key"}, {200, "Mom's Eyeshadow"}, {201, "Iron Bar"}, {202, "Midas' Touch"}, {203, "Humbleing Bundle"}, {204, "Fanny Pack"}, {205, "Sharp Plug"}, {206, "Guillotine"}, {207, "Ball of Bandages"}, {208, "Champion Belt"}, {209, "Butt Bombs"}, {210, "Gnawed Leaf"}, {211, "Spiderbaby"}, {212, "Guppy's Collar"}, {213, "Lost Contact"}, {214, "Anemic"}, {215, "Goat Head"}, {216, "Ceremonial Robes"}, {217, "Mom's Wig"}, {218, "Placenta"}, {219, "Old Bandage"}, {220, "Sad Bombs"}, {221, "Rubber Cement"}, {222, "Anti-Gravity"}, {223, "Pyromaniac"}, {224, "Cricket's Body"}, {225, "Gimpy"}, {226, "Black Lotus"}, {227, "Piggy Bank"}, {228, "Mom's Perfume"}, {229, "Monstro's Lung"}, {230, "Abaddon"}, {231, "Ball of Tar"}, {232, "Stop Watch"}, {233, "Tiny Planet"}, {234, "Infestation 2"}, {236, "E. Coli"}, {237, "Death's Touch"}, {238, "Key Piece 1"}, {239, "Key Piece 2"}, {240, "Experimental Treatment"}, {241, "Contract from Below"}, {242, "Infamy"}, {243, "Trinity Shield"}, {244, "Tech.5"}, {245, "20/20"}, {246, "Blue Map"}, {247, "BFFS!"}, {248, "Hive Mind"}, {249, "There's Options"}, {250, "BOGO Bombs"}, {251, "Starter Deck"}, {252, "Little Baggy"}, {253, "Magic Scab"}, {254, "Blood Clot"}, {255, "Screw"}, {256, "Hot Bombs"}, {257, "Fire Mind"}, {258, "Missing No."}, {259, "Dark Matter"}, {260, "Black Candle"}, {261, "Proptosis"}, {262, "Missing Page 2"}, {263, "Clear Rune"}, {264, "Smart Fly"}, {265, "Dry Baby"}, {266, "Juicy Sack"}, {267, "Robo-Baby 2.0"}, {268, "Rotten Baby"}, {269, "Headless Baby"}, {270, "Leech"}, {271, "Mystery Sack"}, {272, "BBF"}, {273, "Bob's Brain"}, {274, "Best Bud"}, {275, "Lil Brimstone"}, {276, "Isaac's Heart"}, {277, "Lil Haunt"}, {278, "Dark Bum"}, {279, "Big Fan"}, {280, "Sissy Longlegs"}, {281, "Punching Bag"}, {282, "How to Jump"}, {283, "D100"}, {284, "D4"}, {285, "D10"}, {286, "Blank Card"}, {287, "Book of Secrets"}, {288, "Box of Spiders"}, {289, "Red Candle"}, {290, "The Jar"}, {291, "Flush!"}, {292, "Satanic Bible"}, {293, "Head of Krampus"}, {294, "Butter Bean"}, {295, "Magic Fingers"}, {296, "Converter"}, {297, "Pandora's Box"}, {298, "Unicorn Stump"}, {299, "Taurus"}, {300, "Aries"}, {301, "Cancer"}, {302, "Leo"}, {303, "Virgo"}, {304, "Libra"}, {305, "Scorpio"}, {306, "Sagittarius"}, {307, "Capricorn"}, {308, "Aquarius"}, {309, "Pisces"}, {310, "Eve's Mascara"}, {311, "Judas' Shadow"}, {312, "Maggy's Bow"}, {313, "Holy Mantle"}, {314, "Thunder Thighs"}, {315, "Strange Attractor"}, {316, "Cursed Eye"}, {317, "Mysterious Liquid"}, {318, "Gemini"}, {319, "Cain's Other Eye"}, {320, "???'s Only Friend"}, {321, "Samson's Chains"}, {322, "Mongo Baby"}, {323, "Isaac's Tears"}, {324, "Undefined"}, {325, "Scissors"}, {326, "Breath of Life"}, {327, "The Polaroid"}, {328, "The Negative"}, {329, "The Ludovico Technique"}, {330, "Soy Milk"}, {331, "Godhead"}, {332, "Lazarus' Rags"}, {333, "The Mind"}, {334, "The Body"}, {335, "The Soul"}, {336, "Dead Onion"}, {337, "Broken Watch"}, {338, "The Boomerang"}, {339, "Safety Pin"}, {340, "Caffeine Pill"}, {341, "Torn Photo"}, {342, "Blue Cap"}, {343, "Latch Key"}, {344, "Match Book"}, {345, "Synthoil"}, {346, "A Snack"}, {347, "Diplopia"}, {348, "Placebo"}, {349, "Wooden Nickel"}, {350, "Toxic Shock"}, {351, "Mega Bean"}, {352, "Glass Cannon"}, {353, "Bomber Boy"}, {354, "Crack Jacks"}, {355, "Mom's Pearls"}, {356, "Car Battery"}, {357, "Box of Friends"}, {358, "The Wiz"}, {359, "8 Inch Nails"}, {360, "Incubus"}, {361, "Fate's Reward"}, {362, "Lil Chest"}, {363, "Sworn Protector"}, {364, "Friend Zone"}, {365, "Lost Fly"}, {366, "Scatter Bombs"}, {367, "Sticky Bombs"}, {368, "Epiphora"}, {369, "Continuum"}, {370, "Mr. Dolly"}, {371, "Curse of the Tower"}, {372, "Charged Baby"}, {373, "Dead Eye"}, {374, "Holy Light"}, {375, "Host Hat"}, {376, "Restock"}, {377, "Bursting Sack"}, {378, "Number Two"}, {379, "Pupula Duplex"}, {380, "Pay To Play"}, {381, "Eden's Blessing"}, {382, "Friendly Ball"}, {383, "Tear Detonator"}, {384, "Lil Gurdy"}, {385, "Bumbo"}, {386, "D12"}, {387, "Censer"}, {388, "Key Bum"}, {389, "Rune Bag"}, {390, "Seraphim"}, {391, "Betrayal"}, {392, "Zodiac"}, {393, "Serpent's Kiss"}, {394, "Marked"}, {395, "Tech X"}, {396, "Ventricle Razor"}, {397, "Tractor Beam"}, {398, "God's Flesh"}, {399, "Maw of the Void"}, {400, "Spear of Destiny"}, {401, "Explosivo"}, {402, "Chaos"}, {403, "Spider Mod"}, {404, "Farting Baby"}, {405, "GB Bug"}, {406, "D8"}, {407, "Purity"}, {408, "Athame"}, {409, "Empty Vessel"}, {410, "Evil Eye"}, {411, "Lusty Blood"}, {412, "Cambion Conception"}, {413, "Immaculate Conception"}, {414, "More Options"}, {415, "Crown of Light"}, {416, "Deep Pockets"}, {417, "Succubus"}, {418, "Fruit Cake"}, {419, "Teleport 2.0"}, {420, "Black Powder"}, {421, "Kidney Bean"}, {422, "Glowing Hour Glass"}, {423, "Circle of Protection"}, {424, "Sack Head"}, {425, "Night Light"}, {426, "Obsessed Fan"}, {427, "Mine Crafter"}, {428, "PJs"}, {429, "Head of the Keeper"}, {430, "Papa Fly"}, {431, "Multidimensional Baby"}, {432, "Glitter Bombs"}, {433, "My Shadow"}, {434, "Jar of Flies"}, {435, "Lil Loki"}, {436, "Milk!"}, {437, "D7"}, {438, "Binky"}, {439, "Mom's Box"}, {440, "Kidney Stone"}, {441, "Mega Blast"}, {442, "Dark Prince's Crown"}, {443, "Apple!"}, {444, "Lead Pencil"}, {445, "Dog Tooth"}, {446, "Dead Tooth"}, {447, "Linger Bean"}, {448, "Shard of Glass"}, {449, "Metal Plate"}, {450, "Eye of Greed"}, {451, "Tarot Cloth"}, {452, "Varicose Veins"}, {453, "Compound Fracture"}, {454, "Polydactyly"}, {455, "Dad's Lost Coin"}, {456, "Midnight Snack"}, {457, "Cone Head"}, {458, "Belly Button"}, {459, "Sinus Infection"}, {460, "Glaucoma"}, {461, "Parasitoid"}, {462, "Eye of Belial"}, {463, "Sulfuric Acid"}, {464, "Glyph of Balance"}, {465, "Analog Stick"}, {466, "Contagion"}, {467, "Finger!"}, {468, "Shade"}, {469, "Depression"}, {470, "Hushy"}, {471, "Lil Monstro"}, {472, "King Baby"}, {473, "Big Chubby"}, {474, "Broken Glass Cannon"}, {475, "Plan C"}, {476, "D1"}, {477, "Void"}, {478, "Pause"}, {479, "Smelter"}, {480, "Compost"}, {481, "Dataminer"}, {482, "Clicker"}, {483, "Mama Mega!"}, {484, "Wait What?"}, {485, "Crooked Penny"}, {486, "Dull Razor"}, {487, "Potato Peeler"}, {488, "Metronome"}, {489, "D infinity"}, {490, "Eden's Soul"}, {491, "Acid Baby"}, {492, "YO LISTEN!"}, {493, "Adrenaline"}, {494, "Jacob's Ladder"}, {495, "Ghost Pepper"}, {496, "Euthanasia"}, {497, "Camo Undies"}, {498, "Duality"}, {499, "Eucharist"}, {500, "Sack of Sacks"}, {501, "Greed's Gullet"}, {502, "Large Zit"}, {503, "Little Horn"}, {504, "Brown Nugget"}, {505, "Poke Go"}, {506, "Backstabber"}, {507, "Sharp Straw"}, {508, "Mom's Razor"}, {509, "Bloodshot Eye"}, {510, "Delirious"}, {511, "Angry Fly"}, {512, "Black Hole"}, {513, "Bozo"}, {514, "Broken Modem"}, {515, "Mystery Gift"}, {516, "Sprinkler"}, {517, "Fast Bombs"}, {518, "Buddy in a Box"}, {519, "Lil Delirium"}, {520, "Jumper Cables"}, {521, "Coupon"}, {522, "Telekinesis"}, {523, "Moving Box"}, {524, "Technology Zero"}, {525, "Leprosy"}, {526, "7 Seals"}, {527, "Mr. ME!"}, {528, "Angelic Prism"}, {529, "Pop!"}, {530, "Death's List"}, {531, "Haemolacria"}, {532, "Lachryphagy"}, {533, "Trisagion"}, {534, "Schoolbag"}, {535, "Blanket"}, {536, "Sacrificial Altar"}, {537, "Lil Spewer"}, {538, "Marbles"}, {539, "Mystery Egg"}, {540, "Flat Stone"}, {541, "Marrow"}, {542, "Slipped Rib"}, {543, "Hallowed Ground"}, {544, "Pointy Rib"}, {545, "Book of the Dead"}, {546, "Dad's Ring"}, {547, "Divorce Papers"}, {548, "Jaw Bone"}, {549, "Brittle Bones"}, {550, "Broken Shovel"}, {551, "Broken Shovel"}, {552, "Mom's Shovel"}, {553, "Mucormycosis"}, {554, "2Spooky"}, {555, "Golden Razor"}, {556, "Sulfur"}, {557, "Fortune Cookie"}, {558, "Eye Sore"}, {559, "120 Volt"}, {560, "It Hurts"}, {561, "Almond Milk"}, {562, "Rock Bottom"}, {563, "Nancy Bombs"}, {564, "A Bar of Soap"}, {565, "Blood Puppy"}, {566, "Dream Catcher"}, {567, "Paschal Candle"}, {568, "Divine Intervention"}, {569, "Blood Oath"}, {570, "Playdough Cookie"}, {571, "Orphan Socks"}, {572, "Eye of the Occult"}, {573, "Immaculate Heart"}, {574, "Monstrance"}, {575, "The Intruder"}, {576, "Dirty Mind"}, {577, "Damocles"}, {578, "Free Lemonade"}, {579, "Spirit Sword"}, {580, "Red Key"}, {581, "Psy Fly"}, {582, "Wavy Cap"}, {583, "Rocket in a Jar"}, {584, "Book of Virtues"}, {585, "Alabaster Box"}, {586, "The Stairway"}, {588, "Sol"}, {589, "Luna"}, {590, "Mercurius"}, {591, "Venus"}, {592, "Terra"}, {593, "Mars"}, {594, "Jupiter"}, {595, "Saturnus"}, {596, "Uranus"}, {597, "Neptunus"}, {598, "Pluto"}, {599, "Voodoo Head"}, {600, "Eye Drops"}, {601, "Act of Contrition"}, {602, "Member Card"}, {603, "Battery Pack"}, {604, "Mom's Bracelet"}, {605, "The Scooper"}, {606, "Ocular Rift"}, {607, "Boiled Baby"}, {608, "Freezer Baby"}, {609, "Eternal D6"}, {610, "Bird Cage"}, {611, "Larynx"}, {612, "Lost Soul"}, {614, "Blood Bombs"}, {615, "Lil Dumpy"}, {616, "Bird's Eye"}, {617, "Lodestone"}, {618, "Rotten Tomato"}, {619, "Birthright"}, {621, "Red Stew"}, {622, "Genesis"}, {623, "Sharp Key"}, {624, "Booster Pack"}, {625, "Mega Mush"}, {626, "Knife Piece 1"}, {627, "Knife Piece 2"}, {628, "Death Certificate"}, {629, "Bot Fly"}, {631, "Meat Cleaver"}, {632, "Evil Charm"}, {633, "Dogma"}, {634, "Purgatory"}, {635, "Stitches"}, {636, "R Key"}, {637, "Knockout Drops"}, {638, "Eraser"}, {639, "Yuck Heart"}, {640, "Urn of Souls"}, {641, "Akeldama"}, {642, "Magic Skin"}, {643, "Revelation"}, {644, "Consolation Prize"}, {645, "Tinytoma"}, {646, "Brimstone Bombs"}, {647, "4.5 Volt"}, {649, "Fruity Plum"}, {650, "Plum Flute"}, {651, "Star of Bethlehem"}, {652, "Cube Baby"}, {653, "Vade Retro"}, {654, "False PHD"}, {655, "Spin to Win"}, {656, "Damocles"}, {657, "Vasculitis"}, {658, "Giant Cell"}, {659, "Tropicamide"}, {660, "Card Reading"}, {661, "Quints"}, {663, "Tooth and Nail"}, {664, "Binge Eater"}, {665, "Guppy's Eye"}, {667, "Strawman"}, {668, "Dad's Note"}, {669, "Sausage"}, {670, "Options?"}, {671, "Candy Heart"}, {672, "A Pound of Flesh"}, {673, "Redemption"}, {674, "Spirit Shackles"}, {675, "Cracked Orb"}, {676, "Empty Heart"}, {677, "Astral Projection"}, {678, "C Section"}, {679, "Lil Abaddon"}, {680, "Montezuma's Revenge"}, {681, "Lil Portal"}, {682, "Worm Friend"}, {683, "Bone Spurs"}, {684, "Hungry Soul"}, {685, "Jar of Wisps"}, {686, "Soul Locket"}, {687, "Friend Finder"}, {688, "Inner Child"}, {689, "Glitched Crown"}, {690, "Belly Jelly"}, {691, "Sacred Orb"}, {692, "Sanguine Bond"}, {693, "The Swarm"}, {694, "Heartbreak"}, {695, "Bloody Gust"}, {696, "Salvation"}, {697, "Vanishing Twin"}, {698, "Twisted Pair"}, {699, "Azazel's Rage"}, {700, "Echo Chamber"}, {701, "Isaac's Tomb"}, {702, "Vengeful Spirit"}, {703, "Esau Jr."}, {704, "Berserk!"}, {705, "Dark Arts"}, {706, "Abyss"}, {707, "Supper"}, {708, "Stapler"}, {709, "Suplex!"}, {710, "Bag of Crafting"}, {711, "Flip"}, {712, "Lemegeton"}, {713, "Sumptorium"}, {714, "Recall"}, {715, "Hold"}, {716, "Keeper's Sack"}, {717, "Keeper's Kin"}, {719, "Keeper's Box"}, {720, "Everything Jar"}, {721, "TMTRAINER"}, {722, "Anima Sola"}, {723, "Spindown Dice"}, {724, "Hypercoagulation"}, {725, "IBS"}, {726, "Hemoptysis"}, {727, "Ghost Bombs"}, {728, "Gello"}, {729, "Decap Attack"}, {730, "Glass Eye"}, {731, "Stye"}, {732, "Mom's Ring"}})
5
+ return ____exports
@@ -38,6 +38,6 @@ export declare const MAX_PLAYER_TRINKET_SLOTS = 2;
38
38
  * on. The maximum room index possible is 168. (It is not 169 because we start at 0 instead of 1.)
39
39
  */
40
40
  export declare const MAX_ROOM_INDEX = 168;
41
- export declare const MAX_VANILLA_COLLECTIBLE_TYPE = CollectibleType.COLLECTIBLE_DECAP_ATTACK;
41
+ export declare const MAX_VANILLA_COLLECTIBLE_TYPE = CollectibleType.COLLECTIBLE_MOMS_RING;
42
42
  export declare const ONE_BY_ONE_ROOM_GRID_SIZE = 135;
43
43
  export declare const SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES: Set<CollectibleType>;
@@ -1,7 +1,7 @@
1
1
  --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
2
  require("lualib_bundle");
3
3
  local ____exports = {}
4
- ____exports.CHARACTERS_WITH_NO_RED_HEARTS = __TS__New(Set, {PlayerType.PLAYER_XXX, PlayerType.PLAYER_BLACKJUDAS, PlayerType.PLAYER_JUDAS_B, PlayerType.PLAYER_XXX_B, PlayerType.PLAYER_THEFORGOTTEN_B, PlayerType.PLAYER_BETHANY_B})
4
+ ____exports.CHARACTERS_WITH_NO_RED_HEARTS = __TS__New(Set, {PlayerType.PLAYER_BLUEBABY, PlayerType.PLAYER_BLACKJUDAS, PlayerType.PLAYER_JUDAS_B, PlayerType.PLAYER_BLUEBABY_B, PlayerType.PLAYER_THEFORGOTTEN_B, PlayerType.PLAYER_BETHANY_B})
5
5
  ____exports.DISTANCE_OF_GRID_TILE = 40
6
6
  ____exports.DOOR_HITBOX_DISTANCE = 11
7
7
  ____exports.FIRST_GLITCHED_COLLECTIBLE_TYPE = (1 << 32) - 1
@@ -17,7 +17,7 @@ ____exports.MAX_PLAYER_POCKET_ITEM_SLOTS = 4
17
17
  ____exports.MAX_PLAYER_SPEED_IN_UNITS = 9.8
18
18
  ____exports.MAX_PLAYER_TRINKET_SLOTS = 2
19
19
  ____exports.MAX_ROOM_INDEX = 168
20
- ____exports.MAX_VANILLA_COLLECTIBLE_TYPE = CollectibleType.COLLECTIBLE_DECAP_ATTACK
20
+ ____exports.MAX_VANILLA_COLLECTIBLE_TYPE = CollectibleType.COLLECTIBLE_MOMS_RING
21
21
  ____exports.ONE_BY_ONE_ROOM_GRID_SIZE = 135
22
22
  ____exports.SINGLE_USE_ACTIVE_COLLECTIBLE_TYPES = __TS__New(Set, {CollectibleType.COLLECTIBLE_FORGET_ME_NOW, CollectibleType.COLLECTIBLE_EDENS_SOUL, CollectibleType.COLLECTIBLE_ALABASTER_BOX, CollectibleType.COLLECTIBLE_PLAN_C, CollectibleType.COLLECTIBLE_MAMA_MEGA, CollectibleType.COLLECTIBLE_SACRIFICIAL_ALTAR, CollectibleType.COLLECTIBLE_DEATH_CERTIFICATE, CollectibleType.COLLECTIBLE_R_KEY})
23
23
  return ____exports
@@ -0,0 +1,20 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /** @hidden */
3
+ export declare function init(incomingMod: Mod): void;
4
+ /**
5
+ * Blacklists a familiar from being stolen by The Siren boss. This should be called once at the
6
+ * beginning of every run.
7
+ *
8
+ * @param familiarVariant The familiar variant to blacklist.
9
+ * @param familiarSubType The subtype to blacklist. Optional. The default is to blacklist all
10
+ * subtypes of the given variant.
11
+ */
12
+ export declare function setFamiliarNoSirenSteal(familiarVariant: FamiliarVariant | int, familiarSubType?: int): void;
13
+ /**
14
+ * Helper function to check if the Siren boss has stolen a familiar. Some familiars may need to
15
+ * behave differently when under The Siren's control (e.g. if they auto-target enemies).
16
+ *
17
+ * @param familiar The familiar to be checked.
18
+ * @returns Returns whether the familiar has been stolen by The Siren.
19
+ */
20
+ export declare function hasSirenStolenFamiliar(familiar: EntityFamiliar): boolean;
@@ -0,0 +1,71 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ require("lualib_bundle");
3
+ local ____exports = {}
4
+ local postNPCInitSirenHelper, checkReturnFamiliarToPlayer, blacklistEntryExists, v
5
+ local ____errors = require("errors")
6
+ local getUpgradeErrorMsg = ____errors.getUpgradeErrorMsg
7
+ local ____main = require("features.saveDataManager.main")
8
+ local saveDataManager = ____main.saveDataManager
9
+ function postNPCInitSirenHelper(self, npc)
10
+ checkReturnFamiliarToPlayer(nil, npc)
11
+ end
12
+ function checkReturnFamiliarToPlayer(self, npc)
13
+ if npc.Target == nil then
14
+ return
15
+ end
16
+ local familiar = npc.Target:ToFamiliar()
17
+ if familiar == nil then
18
+ return
19
+ end
20
+ if blacklistEntryExists(nil, familiar.Variant, familiar.SubType) then
21
+ npc:Remove()
22
+ familiar:AddToFollowers()
23
+ end
24
+ end
25
+ function blacklistEntryExists(self, incomingFamiliarVariant, incomingFamiliarSubType)
26
+ for ____, ____value in ipairs(v.run.familiarBlacklist) do
27
+ local familiarVariant
28
+ familiarVariant = ____value[1]
29
+ local familiarSubType
30
+ familiarSubType = ____value[2]
31
+ if (incomingFamiliarVariant == familiarVariant) and (familiarSubType == incomingFamiliarSubType) then
32
+ return true
33
+ end
34
+ if (incomingFamiliarVariant == familiarVariant) and (familiarSubType == nil) then
35
+ return true
36
+ end
37
+ end
38
+ return false
39
+ end
40
+ local FEATURE_NAME = "sirenHelpers"
41
+ local initialized = false
42
+ v = {run = {familiarBlacklist = {}}}
43
+ function ____exports.init(self, incomingMod)
44
+ initialized = true
45
+ saveDataManager(nil, FEATURE_NAME, v)
46
+ incomingMod:AddCallback(ModCallbacks.MC_POST_NPC_INIT, postNPCInitSirenHelper, EntityType.ENTITY_SIREN_HELPER)
47
+ end
48
+ function ____exports.setFamiliarNoSirenSteal(self, familiarVariant, familiarSubType)
49
+ if not initialized then
50
+ local msg = getUpgradeErrorMsg(nil, FEATURE_NAME)
51
+ error(msg)
52
+ end
53
+ if blacklistEntryExists(nil, familiarVariant, familiarSubType) then
54
+ return
55
+ end
56
+ __TS__ArrayPush(v.run.familiarBlacklist, {familiarVariant, familiarSubType})
57
+ end
58
+ local function getSirenHelper(self, familiar)
59
+ local familiarHash = GetPtrHash(familiar)
60
+ local sirenHelpers = Isaac.FindByType(EntityType.ENTITY_SIREN_HELPER)
61
+ for ____, sirenHelper in ipairs(sirenHelpers) do
62
+ if (sirenHelper.Target ~= nil) and (GetPtrHash(sirenHelper.Target) == familiarHash) then
63
+ return sirenHelper
64
+ end
65
+ end
66
+ return nil
67
+ end
68
+ function ____exports.hasSirenStolenFamiliar(self, familiar)
69
+ return getSirenHelper(nil, familiar) ~= nil
70
+ end
71
+ return ____exports
@@ -7,6 +7,16 @@ export declare function changeCollectibleSubType(collectible: EntityPickup, newC
7
7
  export declare function collectibleHasTag(collectibleType: CollectibleType | int, tag: ItemConfigTag): boolean;
8
8
  export declare function getCollectibleInitCharges(collectibleType: CollectibleType | int): int;
9
9
  export declare function getCollectibleMaxCharges(collectibleType: CollectibleType | int): int;
10
+ /**
11
+ * This is a helper function to get an item name from a CollectibleType.
12
+ *
13
+ * Example:
14
+ * ```
15
+ * const collectibleType = CollectibleType.COLLECTIBLE_SAD_ONION;
16
+ * const collectibleName = getCollectibleName(collectibleType); // collectibleName is "Sad Onion"
17
+ * ```
18
+ */
19
+ export declare function getCollectibleName(collectibleType: CollectibleType | int): string;
10
20
  /** Returns a set containing every valid collectible type in the game, including modded items. */
11
21
  export declare function getCollectibleSet(): Set<CollectibleType | int>;
12
22
  export declare function getMaxCollectibleID(): int;
@@ -17,5 +27,13 @@ export declare function getMaxCollectibleID(): int;
17
27
  */
18
28
  export declare function isGlitchedCollectible(entity: Entity): boolean;
19
29
  export declare function isQuestCollectible(collectibleType: CollectibleType | int): boolean;
30
+ /**
31
+ * Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that it
32
+ * should remove an item.
33
+ *
34
+ * The "item tracker" in this function does not refer to the in-game item tracker, but rather to the
35
+ * Python program located at: https://github.com/Rchardon/RebirthItemTracker
36
+ */
37
+ export declare function removeCollectibleFromItemTracker(collectibleType: CollectibleType | int): void;
20
38
  export declare function setCollectibleBlind(pickup: EntityPickup): void;
21
39
  export declare function setCollectibleSprite(pickup: EntityPickup, pngPath: string): void;
@@ -2,6 +2,8 @@
2
2
  require("lualib_bundle");
3
3
  local ____exports = {}
4
4
  local COLLECTIBLE_SPRITE_LAYER
5
+ local ____collectibleNameMap = require("collectibleNameMap")
6
+ local COLLECTIBLE_NAME_MAP = ____collectibleNameMap.COLLECTIBLE_NAME_MAP
5
7
  local ____util = require("functions.util")
6
8
  local copySet = ____util.copySet
7
9
  function ____exports.getMaxCollectibleID(self)
@@ -70,6 +72,22 @@ function ____exports.getCollectibleMaxCharges(self, collectibleType)
70
72
  end
71
73
  return itemConfigItem.MaxCharges
72
74
  end
75
+ function ____exports.getCollectibleName(self, collectibleType)
76
+ local itemConfig = Isaac.GetItemConfig()
77
+ local defaultName = "Unknown"
78
+ if type(collectibleType) ~= "number" then
79
+ return defaultName
80
+ end
81
+ local collectibleName = COLLECTIBLE_NAME_MAP:get(collectibleType)
82
+ if collectibleName ~= nil then
83
+ return collectibleName
84
+ end
85
+ local itemConfigItem = itemConfig:GetCollectible(collectibleType)
86
+ if itemConfigItem == nil then
87
+ return defaultName
88
+ end
89
+ return itemConfigItem.Name
90
+ end
73
91
  function ____exports.getCollectibleSet(self)
74
92
  if COLLECTIBLE_SET.size == 0 then
75
93
  initSet(nil)
@@ -82,6 +100,12 @@ end
82
100
  function ____exports.isQuestCollectible(self, collectibleType)
83
101
  return ____exports.collectibleHasTag(nil, collectibleType, 32768)
84
102
  end
103
+ function ____exports.removeCollectibleFromItemTracker(self, collectibleType)
104
+ local collectibleName = ____exports.getCollectibleName(nil, collectibleType)
105
+ Isaac.DebugString(
106
+ ((("Removing voided collectible " .. tostring(collectibleType)) .. " (") .. collectibleName) .. ") from player 0 (Player)"
107
+ )
108
+ end
85
109
  function ____exports.setCollectibleBlind(self, pickup)
86
110
  ____exports.setCollectibleSprite(nil, pickup, BLIND_ITEM_PNG_PATH)
87
111
  end
@@ -6,6 +6,18 @@ export declare function getAliveBosses(): EntityNPC[];
6
6
  export declare function getAliveNPCs(): EntityNPC[];
7
7
  /** Helper function to get all the bosses in the room. */
8
8
  export declare function getBosses(): EntityNPC[];
9
+ /**
10
+ * Given an array of entities, this helper function returns the closest one to a provided reference
11
+ * entity.
12
+ *
13
+ * Example:
14
+ * ```ts
15
+ * const player = Isaac.GetPlayer();
16
+ * const gapers = Isaac.FindByType(EntityType.ENTITY_GAPER);
17
+ * const closestGaper = getClosestEntityTo(player, gapers);
18
+ * ```
19
+ */
20
+ export declare function getClosestEntityTo(referenceEntity: Entity, entities: Entity[]): Entity;
9
21
  /**
10
22
  * Helper function to get all the NPCs in the room. Due to bugs with `Isaac.FindInRadius()`,
11
23
  * this function uses `Isaac.GetRoomEntities()`, which is more expensive but also more robust.
@@ -54,6 +54,21 @@ function ____exports.getAliveNPCs(self)
54
54
  end
55
55
  return aliveNPCs
56
56
  end
57
+ function ____exports.getClosestEntityTo(self, referenceEntity, entities)
58
+ local closestEntity = nil
59
+ local closestDistance = math.huge
60
+ for ____, entity in ipairs(entities) do
61
+ local distance = referenceEntity.Position:Distance(entity.Position)
62
+ if distance < closestDistance then
63
+ closestEntity = entity
64
+ closestDistance = distance
65
+ end
66
+ end
67
+ if closestEntity == nil then
68
+ error("Failed to find the closest entity.")
69
+ end
70
+ return closestEntity
71
+ end
57
72
  function ____exports.removeEntities(self, entities)
58
73
  for ____, entity in ipairs(entities) do
59
74
  entity:Remove()
@@ -1,14 +1,4 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
- /**
3
- * This is a helper function to get an item name from a CollectibleType or a TrinketType.
4
- *
5
- * Example:
6
- * ```
7
- * const item = CollectibleType.COLLECTIBLE_SAD_ONION;
8
- * const itemName = getItemName(item); // itemName is now "Sad Onion"
9
- * ```
10
- */
11
- export declare function getItemName(collectibleOrTrinketType: int, trinket?: boolean): string;
12
2
  /**
13
3
  * Helper function to put a message in the log.txt file to let the Rebirth Item Tracker know that it
14
4
  * should remove an item.
@@ -1,24 +1,9 @@
1
1
  --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
2
  local ____exports = {}
3
- function ____exports.getItemName(self, collectibleOrTrinketType, trinket)
4
- if trinket == nil then
5
- trinket = false
6
- end
7
- local itemConfig = Isaac.GetItemConfig()
8
- local defaultName = "Unknown"
9
- if type(collectibleOrTrinketType) ~= "number" then
10
- return defaultName
11
- end
12
- local itemConfigItem = ((trinket and (function() return itemConfig:GetTrinket(collectibleOrTrinketType) end)) or (function() return itemConfig:GetCollectible(collectibleOrTrinketType) end))()
13
- if itemConfigItem == nil then
14
- return defaultName
15
- end
16
- return itemConfigItem.Name
17
- end
18
3
  function ____exports.removeItemFromItemTracker(self, collectibleType)
19
- local itemName = ____exports.getItemName(nil, collectibleType)
4
+ local itemName = getItemName(nil, collectibleType)
20
5
  Isaac.DebugString(
21
- ((("Removing voided collectible " .. tostring(collectibleType)) .. " (") .. itemName) .. ") from player 0 (Player)"
6
+ ((("Removing voided collectible " .. tostring(collectibleType)) .. " (") .. tostring(itemName)) .. ") from player 0 (Player)"
22
7
  )
23
8
  end
24
9
  return ____exports
@@ -31,10 +31,12 @@ export declare function getDeathAnimationName(player: EntityPlayer): string;
31
31
  */
32
32
  export declare function getLastHeart(player: EntityPlayer): HealthType;
33
33
  /**
34
- * Helper function to get the first player with the lowest frame count of 0. Useful to find a
35
- * freshly spawned player after using items like Esau Jr.
34
+ * Helper function to get the first player with the lowest frame count. Useful to find a freshly
35
+ * spawned player after using items like Esau Jr. Don't use this function if two or more players
36
+ * will be spawned on the same frame.
36
37
  */
37
38
  export declare function getNewestPlayer(): EntityPlayer;
39
+ export declare function getFinalPlayer(): EntityPlayer;
38
40
  /**
39
41
  * Returns the slot number corresponding to where a trinket can be safely inserted.
40
42
  *
@@ -23,18 +23,18 @@ function ____exports.getPlayers(self, performExclusions)
23
23
  do
24
24
  local player = Isaac.GetPlayer(i)
25
25
  if player == nil then
26
- goto __continue46
26
+ goto __continue47
27
27
  end
28
28
  if ____exports.isChildPlayer(nil, player) then
29
- goto __continue46
29
+ goto __continue47
30
30
  end
31
31
  local character = player:GetPlayerType()
32
32
  if performExclusions and EXCLUDED_CHARACTERS:has(character) then
33
- goto __continue46
33
+ goto __continue47
34
34
  end
35
35
  __TS__ArrayPush(players, player)
36
36
  end
37
- ::__continue46::
37
+ ::__continue47::
38
38
  i = i + 1
39
39
  end
40
40
  end
@@ -105,7 +105,7 @@ function ____exports.getClosestPlayer(self, position)
105
105
  end
106
106
  end
107
107
  if closestPlayer == nil then
108
- error("Failed to find any players.")
108
+ error("Failed to find the closest player.")
109
109
  end
110
110
  return closestPlayer
111
111
  end
@@ -167,10 +167,14 @@ function ____exports.getNewestPlayer(self)
167
167
  end
168
168
  end
169
169
  if newestPlayer == nil then
170
- error("Failed to find any players.")
170
+ error("Failed to find the newest player.")
171
171
  end
172
172
  return newestPlayer
173
173
  end
174
+ function ____exports.getFinalPlayer(self)
175
+ local players = ____exports.getPlayers(nil)
176
+ return players[#players]
177
+ end
174
178
  function ____exports.getOpenTrinketSlot(self, player)
175
179
  local maxTrinkets = player:GetMaxTrinkets()
176
180
  local trinket0 = player:GetTrinket(0)
@@ -244,14 +248,14 @@ function ____exports.getPlayerIndexVanilla(self, playerToFind)
244
248
  do
245
249
  local player = Isaac.GetPlayer(i)
246
250
  if player == nil then
247
- goto __continue55
251
+ goto __continue56
248
252
  end
249
253
  local playerHash = GetPtrHash(player)
250
254
  if playerHash == playerToFindHash then
251
255
  return i
252
256
  end
253
257
  end
254
- ::__continue55::
258
+ ::__continue56::
255
259
  i = i + 1
256
260
  end
257
261
  end
@@ -0,0 +1,21 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ /**
3
+ * This is a helper function to get a card name from a Card.
4
+ *
5
+ * Example:
6
+ * ```
7
+ * const card = Card.CARD_FOOL;
8
+ * const cardName = getCardName(card); // cardName is "0 - The Fool"
9
+ * ```
10
+ */
11
+ export declare function getCardName(card: Card | int): string;
12
+ /**
13
+ * This is a helper function to get a pill effect name from a PillEffect.
14
+ *
15
+ * Example:
16
+ * ```
17
+ * const pillEffect = PillEffect.PILLEFFECT_BAD_GAS;
18
+ * const pillEffectName = getPillEffectName(pillEffect); // trinketName is "Bad Gas"
19
+ * ```
20
+ */
21
+ export declare function getPillEffectName(pillEffect: PillEffect | int): string;
@@ -0,0 +1,39 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ local ____exports = {}
3
+ local ____cardNameMap = require("cardNameMap")
4
+ local CARD_NAME_MAP = ____cardNameMap.CARD_NAME_MAP
5
+ local ____pillEffectNameMap = require("pillEffectNameMap")
6
+ local PILL_EFFECT_NAME_MAP = ____pillEffectNameMap.PILL_EFFECT_NAME_MAP
7
+ function ____exports.getCardName(self, card)
8
+ local itemConfig = Isaac.GetItemConfig()
9
+ local defaultName = "Unknown"
10
+ if type(card) ~= "number" then
11
+ return defaultName
12
+ end
13
+ local cardName = CARD_NAME_MAP:get(card)
14
+ if cardName ~= nil then
15
+ return cardName
16
+ end
17
+ local itemConfigCard = itemConfig:GetCard(card)
18
+ if itemConfigCard == nil then
19
+ return defaultName
20
+ end
21
+ return itemConfigCard.Name
22
+ end
23
+ function ____exports.getPillEffectName(self, pillEffect)
24
+ local itemConfig = Isaac.GetItemConfig()
25
+ local defaultName = "Unknown"
26
+ if type(pillEffect) ~= "number" then
27
+ return defaultName
28
+ end
29
+ local pillEffectName = PILL_EFFECT_NAME_MAP:get(pillEffect)
30
+ if pillEffectName ~= nil then
31
+ return pillEffectName
32
+ end
33
+ local itemConfigPillEffect = itemConfig:GetPillEffect(pillEffect)
34
+ if itemConfigPillEffect == nil then
35
+ return defaultName
36
+ end
37
+ return itemConfigPillEffect.Name
38
+ end
39
+ return ____exports
@@ -23,5 +23,15 @@ export declare function temporarilyRemoveTrinkets(player: EntityPlayer, trinketT
23
23
  */
24
24
  export declare function giveTrinketsBack(player: EntityPlayer, trinketSituation: TrinketSituation | undefined): void;
25
25
  export declare function getMaxTrinketID(): int;
26
+ /**
27
+ * This is a helper function to get a trinket name from a TrinketType.
28
+ *
29
+ * Example:
30
+ * ```
31
+ * const trinketType = TrinketType.TRINKET_SWALLOWED_PENNY;
32
+ * const trinketName = getTrinketName(trinketType); // trinketName is "Swallowed Penny"
33
+ * ```
34
+ */
35
+ export declare function getTrinketName(trinketType: TrinketType | int): string;
26
36
  /** Returns a set containing every valid trinket type in the game, including modded items. */
27
37
  export declare function getTrinketSet(): Set<TrinketType | int>;
@@ -3,6 +3,8 @@ require("lualib_bundle");
3
3
  local ____exports = {}
4
4
  local ____constants = require("constants")
5
5
  local GOLDEN_TRINKET_SHIFT = ____constants.GOLDEN_TRINKET_SHIFT
6
+ local ____trinketNameMap = require("trinketNameMap")
7
+ local TRINKET_NAME_MAP = ____trinketNameMap.TRINKET_NAME_MAP
6
8
  local ____util = require("functions.util")
7
9
  local copySet = ____util.copySet
8
10
  function ____exports.temporarilyRemoveTrinkets(self, player, trinketType)
@@ -58,6 +60,22 @@ function ____exports.getMaxTrinketID(self)
58
60
  local itemConfig = Isaac.GetItemConfig()
59
61
  return itemConfig:GetTrinkets().Size - 1
60
62
  end
63
+ function ____exports.getTrinketName(self, trinketType)
64
+ local itemConfig = Isaac.GetItemConfig()
65
+ local defaultName = "Unknown"
66
+ if type(trinketType) ~= "number" then
67
+ return defaultName
68
+ end
69
+ local trinketName = TRINKET_NAME_MAP:get(trinketType)
70
+ if trinketName ~= nil then
71
+ return trinketName
72
+ end
73
+ local itemConfigItem = itemConfig:GetCollectible(trinketType)
74
+ if itemConfigItem == nil then
75
+ return defaultName
76
+ end
77
+ return itemConfigItem.Name
78
+ end
61
79
  local TRINKET_SET = __TS__New(Set)
62
80
  local function initSet(self)
63
81
  local itemConfig = Isaac.GetItemConfig()
package/dist/index.d.ts CHANGED
@@ -1,9 +1,12 @@
1
1
  export { forceNewLevelCallback, forceNewRoomCallback, } from "./callbacks/reorderedCallbacks";
2
+ export * from "./cardNameMap";
3
+ export * from "./collectibleNameMap";
2
4
  export * from "./constants";
3
5
  export { disableAllInputs, disableAllInputsExceptFor, disableMovementInputs, disableShootingInputs, enableAllInputs, enableAllInputsExceptFor, } from "./features/disableInputs";
4
6
  export { forgottenSwitch } from "./features/forgottenSwitch";
5
7
  export { runInNFrames, runNextFrame } from "./features/runInNFrames";
6
8
  export { saveDataManager, saveDataManagerSave, saveDataManagerSetGlobal, } from "./features/saveDataManager/main";
9
+ export { hasSirenStolenFamiliar, setFamiliarNoSirenSteal, } from "./features/sirenHelpers";
7
10
  export * from "./functions/array";
8
11
  export * from "./functions/bitwise";
9
12
  export * from "./functions/collectibles";
@@ -14,13 +17,13 @@ export * from "./functions/entity";
14
17
  export * from "./functions/flag";
15
18
  export * from "./functions/gridEntity";
16
19
  export * from "./functions/input";
17
- export * from "./functions/items";
18
20
  export * from "./functions/json";
19
21
  export * from "./functions/log";
20
22
  export * from "./functions/math";
21
23
  export * from "./functions/pickups";
22
24
  export * from "./functions/player";
23
25
  export * from "./functions/playerHealth";
26
+ export * from "./functions/pocketItems";
24
27
  export * from "./functions/random";
25
28
  export * from "./functions/revive";
26
29
  export * from "./functions/rooms";
@@ -32,7 +35,9 @@ export * from "./functions/trinkets";
32
35
  export * from "./functions/ui";
33
36
  export * from "./functions/util";
34
37
  export * from "./functions/vector";
38
+ export * from "./pillEffectNameMap";
35
39
  export * from "./transformationMap";
40
+ export * from "./trinketNameMap";
36
41
  export * from "./types/CallbackParametersCustom";
37
42
  export * from "./types/HealthType";
38
43
  export * from "./types/ModCallbacksCustom";
package/dist/index.lua CHANGED
@@ -7,6 +7,22 @@ do
7
7
  ____exports.forceNewLevelCallback = forceNewLevelCallback
8
8
  ____exports.forceNewRoomCallback = forceNewRoomCallback
9
9
  end
10
+ do
11
+ local ____export = require("cardNameMap")
12
+ for ____exportKey, ____exportValue in pairs(____export) do
13
+ if ____exportKey ~= "default" then
14
+ ____exports[____exportKey] = ____exportValue
15
+ end
16
+ end
17
+ end
18
+ do
19
+ local ____export = require("collectibleNameMap")
20
+ for ____exportKey, ____exportValue in pairs(____export) do
21
+ if ____exportKey ~= "default" then
22
+ ____exports[____exportKey] = ____exportValue
23
+ end
24
+ end
25
+ end
10
26
  do
11
27
  local ____export = require("constants")
12
28
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -51,6 +67,13 @@ do
51
67
  ____exports.saveDataManagerSave = saveDataManagerSave
52
68
  ____exports.saveDataManagerSetGlobal = saveDataManagerSetGlobal
53
69
  end
70
+ do
71
+ local ____sirenHelpers = require("features.sirenHelpers")
72
+ local hasSirenStolenFamiliar = ____sirenHelpers.hasSirenStolenFamiliar
73
+ local setFamiliarNoSirenSteal = ____sirenHelpers.setFamiliarNoSirenSteal
74
+ ____exports.hasSirenStolenFamiliar = hasSirenStolenFamiliar
75
+ ____exports.setFamiliarNoSirenSteal = setFamiliarNoSirenSteal
76
+ end
54
77
  do
55
78
  local ____export = require("functions.array")
56
79
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -126,7 +149,7 @@ do
126
149
  end
127
150
  end
128
151
  do
129
- local ____export = require("functions.items")
152
+ local ____export = require("functions.json")
130
153
  for ____exportKey, ____exportValue in pairs(____export) do
131
154
  if ____exportKey ~= "default" then
132
155
  ____exports[____exportKey] = ____exportValue
@@ -134,7 +157,7 @@ do
134
157
  end
135
158
  end
136
159
  do
137
- local ____export = require("functions.json")
160
+ local ____export = require("functions.log")
138
161
  for ____exportKey, ____exportValue in pairs(____export) do
139
162
  if ____exportKey ~= "default" then
140
163
  ____exports[____exportKey] = ____exportValue
@@ -142,7 +165,7 @@ do
142
165
  end
143
166
  end
144
167
  do
145
- local ____export = require("functions.log")
168
+ local ____export = require("functions.math")
146
169
  for ____exportKey, ____exportValue in pairs(____export) do
147
170
  if ____exportKey ~= "default" then
148
171
  ____exports[____exportKey] = ____exportValue
@@ -150,7 +173,7 @@ do
150
173
  end
151
174
  end
152
175
  do
153
- local ____export = require("functions.math")
176
+ local ____export = require("functions.pickups")
154
177
  for ____exportKey, ____exportValue in pairs(____export) do
155
178
  if ____exportKey ~= "default" then
156
179
  ____exports[____exportKey] = ____exportValue
@@ -158,7 +181,7 @@ do
158
181
  end
159
182
  end
160
183
  do
161
- local ____export = require("functions.pickups")
184
+ local ____export = require("functions.player")
162
185
  for ____exportKey, ____exportValue in pairs(____export) do
163
186
  if ____exportKey ~= "default" then
164
187
  ____exports[____exportKey] = ____exportValue
@@ -166,7 +189,7 @@ do
166
189
  end
167
190
  end
168
191
  do
169
- local ____export = require("functions.player")
192
+ local ____export = require("functions.playerHealth")
170
193
  for ____exportKey, ____exportValue in pairs(____export) do
171
194
  if ____exportKey ~= "default" then
172
195
  ____exports[____exportKey] = ____exportValue
@@ -174,7 +197,7 @@ do
174
197
  end
175
198
  end
176
199
  do
177
- local ____export = require("functions.playerHealth")
200
+ local ____export = require("functions.pocketItems")
178
201
  for ____exportKey, ____exportValue in pairs(____export) do
179
202
  if ____exportKey ~= "default" then
180
203
  ____exports[____exportKey] = ____exportValue
@@ -269,6 +292,14 @@ do
269
292
  end
270
293
  end
271
294
  end
295
+ do
296
+ local ____export = require("pillEffectNameMap")
297
+ for ____exportKey, ____exportValue in pairs(____export) do
298
+ if ____exportKey ~= "default" then
299
+ ____exports[____exportKey] = ____exportValue
300
+ end
301
+ end
302
+ end
272
303
  do
273
304
  local ____export = require("transformationMap")
274
305
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -277,6 +308,14 @@ do
277
308
  end
278
309
  end
279
310
  end
311
+ do
312
+ local ____export = require("trinketNameMap")
313
+ for ____exportKey, ____exportValue in pairs(____export) do
314
+ if ____exportKey ~= "default" then
315
+ ____exports[____exportKey] = ____exportValue
316
+ end
317
+ end
318
+ end
280
319
  do
281
320
  local ____export = require("types.HealthType")
282
321
  for ____exportKey, ____exportValue in pairs(____export) do
@@ -0,0 +1,2 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare const PILL_EFFECT_NAME_MAP: Map<PillEffect, string>;
@@ -0,0 +1,5 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ require("lualib_bundle");
3
+ local ____exports = {}
4
+ ____exports.PILL_EFFECT_NAME_MAP = __TS__New(Map, {{PillEffect.PILLEFFECT_BAD_GAS, "Bad Gas"}, {PillEffect.PILLEFFECT_BAD_TRIP, "Bad Trip"}, {PillEffect.PILLEFFECT_BALLS_OF_STEEL, "Balls of Steel"}, {PillEffect.PILLEFFECT_BOMBS_ARE_KEYS, "Bombs Are Key"}, {PillEffect.PILLEFFECT_EXPLOSIVE_DIARRHEA, "Explosive Diarrhea"}, {PillEffect.PILLEFFECT_FULL_HEALTH, "Full Health"}, {PillEffect.PILLEFFECT_HEALTH_DOWN, "Health Down"}, {PillEffect.PILLEFFECT_HEALTH_UP, "Health Up"}, {PillEffect.PILLEFFECT_I_FOUND_PILLS, "I Found Pills"}, {PillEffect.PILLEFFECT_PUBERTY, "Puberty"}, {PillEffect.PILLEFFECT_PRETTY_FLY, "Pretty Fly"}, {PillEffect.PILLEFFECT_RANGE_DOWN, "Range Down"}, {PillEffect.PILLEFFECT_RANGE_UP, "Range Up"}, {PillEffect.PILLEFFECT_SPEED_DOWN, "Speed Down"}, {PillEffect.PILLEFFECT_SPEED_UP, "Speed Up"}, {PillEffect.PILLEFFECT_TEARS_DOWN, "Tears Down"}, {PillEffect.PILLEFFECT_TEARS_UP, "Tears Up"}, {PillEffect.PILLEFFECT_LUCK_DOWN, "Luck Down"}, {PillEffect.PILLEFFECT_LUCK_UP, "Luck Up"}, {PillEffect.PILLEFFECT_TELEPILLS, "Telepills"}, {PillEffect.PILLEFFECT_48HOUR_ENERGY, "48 Hour Energy"}, {PillEffect.PILLEFFECT_HEMATEMESIS, "Hematemesis"}, {PillEffect.PILLEFFECT_PARALYSIS, "Paralysis"}, {PillEffect.PILLEFFECT_SEE_FOREVER, "I can see forever!"}, {PillEffect.PILLEFFECT_PHEROMONES, "Pheromones"}, {PillEffect.PILLEFFECT_AMNESIA, "Amnesia"}, {PillEffect.PILLEFFECT_LEMON_PARTY, "Lemon Party"}, {PillEffect.PILLEFFECT_WIZARD, "R U a Wizard?"}, {PillEffect.PILLEFFECT_PERCS, "Percs!"}, {PillEffect.PILLEFFECT_ADDICTED, "Addicted!"}, {PillEffect.PILLEFFECT_RELAX, "Re-Lax"}, {PillEffect.PILLEFFECT_QUESTIONMARK, "???"}, {PillEffect.PILLEFFECT_LARGER, "One makes you larger"}, {PillEffect.PILLEFFECT_SMALLER, "One makes you small"}, {PillEffect.PILLEFFECT_INFESTED_EXCLAMATION, "Infested!"}, {PillEffect.PILLEFFECT_INFESTED_QUESTION, "Infested?"}, {PillEffect.PILLEFFECT_POWER, "Power Pill!"}, {PillEffect.PILLEFFECT_RETRO_VISION, "Retro Vision"}, {PillEffect.PILLEFFECT_FRIENDS_TILL_THE_END, "Friends Till The End!"}, {PillEffect.PILLEFFECT_X_LAX, "X-Lax"}, {PillEffect.PILLEFFECT_SOMETHINGS_WRONG, "Something's wrong..."}, {PillEffect.PILLEFFECT_IM_DROWSY, "I'm Drowsy..."}, {PillEffect.PILLEFFECT_IM_EXCITED, "I'm Excited!!!"}, {PillEffect.PILLEFFECT_GULP, "Gulp!"}, {PillEffect.PILLEFFECT_HORF, "Horf!"}, {PillEffect.PILLEFFECT_SUNSHINE, "Feels like I'm walking on sunshine!"}, {PillEffect.PILLEFFECT_VURP, "Vurp!"}, {PillEffect.PILLEFFECT_SHOT_SPEED_DOWN, "Shot Speed Down"}, {PillEffect.PILLEFFECT_SHOT_SPEED_UP, "Shot Speed Up"}, {PillEffect.PILLEFFECT_EXPERIMENTAL, "Experimental Pill"}})
5
+ return ____exports
@@ -0,0 +1,2 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare const TRINKET_NAME_MAP: Map<TrinketType, string>;
@@ -0,0 +1,5 @@
1
+ --[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
2
+ require("lualib_bundle");
3
+ local ____exports = {}
4
+ ____exports.TRINKET_NAME_MAP = __TS__New(Map, {{1, "Swallowed Penny"}, {2, "Petrified Poop"}, {3, "AAA Battery"}, {4, "Broken Remote"}, {5, "Purple Heart"}, {6, "Broken Magnet"}, {7, "Rosary Bead"}, {8, "Cartridge"}, {9, "Pulse Worm"}, {10, "Wiggle Worm"}, {11, "Ring Worm"}, {12, "Flat Worm"}, {13, "Store Credit"}, {14, "Callus"}, {15, "Lucky Rock"}, {16, "Mom's Toenail"}, {17, "Black Lipstick"}, {18, "Bible Tract"}, {19, "Paper Clip"}, {20, "Monkey Paw"}, {21, "Mysterious Paper"}, {22, "Daemon's Tail"}, {23, "Missing Poster"}, {24, "Butt Penny"}, {25, "Mysterious Candy"}, {26, "Hook Worm"}, {27, "Whip Worm"}, {28, "Broken Ankh"}, {29, "Fish Head"}, {30, "Pinky Eye"}, {31, "Push Pin"}, {32, "Liberty Cap"}, {33, "Umbilical Cord"}, {34, "Child's Heart"}, {35, "Curved Horn"}, {36, "Rusted Key"}, {37, "Goat Hoof"}, {38, "Mom's Pearl"}, {39, "Cancer"}, {40, "Red Patch"}, {41, "Match Stick"}, {42, "Lucky Toe"}, {43, "Cursed Skull"}, {44, "Safety Cap"}, {45, "Ace of Spades"}, {46, "Isaac's Fork"}, {48, "A Missing Page"}, {49, "Bloody Penny"}, {50, "Burnt Penny"}, {51, "Flat Penny"}, {52, "Counterfeit Penny"}, {53, "Tick"}, {54, "Isaac's Head"}, {55, "Maggy's Faith"}, {56, "Judas' Tongue"}, {57, "???'s Soul"}, {58, "Samson's Lock"}, {59, "Cain's Eye"}, {60, "Eve's Bird Foot"}, {61, "The Left Hand"}, {62, "Shiny Rock"}, {63, "Safety Scissors"}, {64, "Rainbow Worm"}, {65, "Tape Worm"}, {66, "Lazy Worm"}, {67, "Cracked Dice"}, {68, "Super Magnet"}, {69, "Faded Polaroid"}, {70, "Louse"}, {71, "Bob's Bladder"}, {72, "Watch Battery"}, {73, "Blasting Cap"}, {74, "Stud Finder"}, {75, "Error"}, {76, "Poker Chip"}, {77, "Blister"}, {78, "Second Hand"}, {79, "Endless Nameless"}, {80, "Black Feather"}, {81, "Blind Rage"}, {82, "Golden Horse Shoe"}, {83, "Store Key"}, {84, "Rib of Greed"}, {85, "Karma"}, {86, "Lil Larva"}, {87, "Mom's Locket"}, {88, "NO!"}, {89, "Child Leash"}, {90, "Brown Cap"}, {91, "Meconium"}, {92, "Cracked Crown"}, {93, "Used Diaper"}, {94, "Fish Tail"}, {95, "Black Tooth"}, {96, "Ouroboros Worm"}, {97, "Tonsil"}, {98, "Nose Goblin"}, {99, "Super Ball"}, {100, "Vibrant Bulb"}, {101, "Dim Bulb"}, {102, "Fragmented Card"}, {103, "Equality!"}, {104, "Wish Bone"}, {105, "Bag Lunch"}, {106, "Lost Cork"}, {107, "Crow Heart"}, {108, "Walnut"}, {109, "Duct Tape"}, {110, "Silver Dollar"}, {111, "Bloody Crown"}, {112, "Pay To Win"}, {113, "Locust of War"}, {114, "Locust of Pestilence"}, {115, "Locust of Famine"}, {116, "Locust of Death"}, {117, "Locust of Conquest"}, {118, "Bat Wing"}, {119, "Stem Cell"}, {120, "Hairpin"}, {121, "Wooden Cross"}, {122, "Butter!"}, {123, "Filigree Feather"}, {124, "Door Stop"}, {125, "Extension Cord"}, {126, "Rotten Penny"}, {127, "Baby-Bender"}, {128, "Finger Bone"}, {129, "Jawbreaker"}, {130, "Chewed Pen"}, {131, "Blessed Penny"}, {132, "Broken Syringe"}, {133, "Short Fuse"}, {134, "Gigante Bean"}, {135, "A Lighter"}, {136, "Broken Padlock"}, {137, "Myosotis"}, {138, " 'M"}, {139, "Teardrop Charm"}, {140, "Apple of Sodom"}, {141, "Forgotten Lullaby"}, {142, "Beth's Faith"}, {143, "Old Capacitor"}, {144, "Brain Worm"}, {145, "Perfection"}, {146, "Devil's Crown"}, {147, "Charged Penny"}, {148, "Friendship Necklace"}, {149, "Panic Button"}, {150, "Blue Key"}, {151, "Flat File"}, {152, "Telescope Lens"}, {153, "Mom's Lock"}, {154, "Dice Bag"}, {155, "Holy Crown"}, {156, "Mother's Kiss"}, {157, "Torn Card"}, {158, "Torn Pocket"}, {159, "Gilded Key"}, {160, "Lucky Sack"}, {161, "Wicked Crown"}, {162, "Azazel's Stump"}, {163, "Dingle Berry"}, {164, "Ring Cap"}, {165, "Nuh Uh!"}, {166, "Modeling Clay"}, {167, "Polished Bone"}, {168, "Hollow Heart"}, {169, "Kid's Drawing"}, {170, "Crystal Key"}, {171, "Keeper's Bargain"}, {172, "Cursed Penny"}, {173, "Your Soul"}, {174, "Number Magnet"}, {175, "Strange Key"}, {176, "Lil Clot"}, {177, "Temporary Tattoo"}, {178, "Swallowed M80"}, {179, "RC Remote"}, {180, "Found Soul"}, {181, "Expansion Pack"}, {182, "Beth's Essence"}, {183, "The Twins"}, {184, "Adoption Papers"}, {185, "Cricket Leg"}, {186, "Apollyon's Best Friend"}, {187, "Broken Glasses"}, {188, "Ice Cube"}, {189, "Sigil of Baphomet"}})
5
+ return ____exports
@@ -26,6 +26,7 @@ local disableInputs = require("features.disableInputs")
26
26
  local forgottenSwitch = require("features.forgottenSwitch")
27
27
  local runInNFrames = require("features.runInNFrames")
28
28
  local saveDataManager = require("features.saveDataManager.main")
29
+ local sirenHelpers = require("features.sirenHelpers")
29
30
  local ____ModUpgraded = require("types.ModUpgraded")
30
31
  local ModUpgraded = ____ModUpgraded.ModUpgraded
31
32
  function initCustomCallbacks(self, mod)
@@ -54,6 +55,7 @@ function initFeatures(self, mod)
54
55
  disableInputs:init(mod)
55
56
  forgottenSwitch:init(mod)
56
57
  runInNFrames:init(mod)
58
+ sirenHelpers:init(mod)
57
59
  end
58
60
  local initialized = false
59
61
  function ____exports.upgradeMod(self, mod, verbose)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "1.0.376",
3
+ "version": "1.0.380",
4
4
  "description": "Helper functions for IsaacScript mods",
5
5
  "keywords": [
6
6
  "isaac",
@@ -25,7 +25,7 @@
25
25
  "dist/**/*.d.ts"
26
26
  ],
27
27
  "devDependencies": {
28
- "isaac-typescript-definitions": "^1.0.250",
28
+ "isaac-typescript-definitions": "^1.0.255",
29
29
  "isaacscript-lint": "^1.0.63",
30
30
  "typedoc": "^0.22.8",
31
31
  "typescript": "4.4.4",