379 lines
29 KiB
Lua
379 lines
29 KiB
Lua
local game = Game()
|
|
|
|
EID.DescriptionConditions = {}
|
|
-- table of collectible IDs to periodically check if the players own. used by eid_modifiers.lua too
|
|
EID.collectiblesToCheck = {}
|
|
-- co-op players that have a substantially different effect than the closest player are tracked in this table, to append "Different effect for X"
|
|
-- added to and applied by eid_modifiers.lua
|
|
EID.DifferentEffectPlayers = {}
|
|
|
|
require("features.eid_conditionals_funcs")
|
|
|
|
|
|
--[[ The general meaning of the arguments when adding a conditional are as follows:
|
|
|
|
Argument 1: ID of the item we're looking at the description of (assumed to be a collectible ID if it's just a number)
|
|
Argument 2: Function that needs to be true for us to change the description (or ID of the collectible/character that we need to have)
|
|
Argument 3: Optional text for finding the correct string in the localization file (can also be a function, which is passed descObj, that returns the location)
|
|
Argument 4: Optional table that can define a variety of different settings
|
|
|
|
]]
|
|
|
|
------ GENERAL CONDITIONS ------
|
|
-- Tarot Cloth
|
|
if not EID.isRepentance then
|
|
EID:AddItemConditional("5.300", 451, nil, {locTable = "tarotClothBuffsAB", replaceColor = "ColorShinyPurple", noFallback = false})
|
|
else EID:AddItemConditional("5.300", 451, nil, {locTable = "tarotClothBuffs", replaceColor = "ColorShinyPurple", noFallback = false}) end
|
|
|
|
-- Car Battery
|
|
EID:AddItemConditional("5.100", 356, EID.CheckForCarBattery, {locTable = "carBattery", replaceColor = "BlinkYellowGreen", noFallback = false})
|
|
EID:AddConditional(356, EID.CheckActivesForCarBattery, nil, {locTable = "carBattery", useResult = true, layer = 2}) -- Effect text for Car Battery pedestal
|
|
EID:AddConditional(356, EID.CheckActivesForNoCarBattery, "No Effect", {layer = 1}) -- "No effect" text for Car Battery pedestal
|
|
|
|
|
|
-- BFFS! / Hive Mind / Forgotten Lullaby
|
|
EID:AddItemConditional({"5.100","5.350.54","5.350.57"}, 247, EID.CheckForBFFS, {locTable = "BFFSSynergies", replaceColor = "BlinkPink", noFallback = false, uniqueID = "BFFS"})
|
|
EID:AddConditional(247, EID.CheckFamiliarsForBFFS, nil, {locTable = "BFFSSynergies", useResult = true, layer = 2}) -- Effect text for BFFS pedestal
|
|
EID:AddPlayerConditional(247, 13, "Lilith", {locTable = "BFFSSynergies", layer = 3}, false) -- Lilith's Incubus
|
|
EID:AddConditional(247, EID.CheckFamiliarsForNoBFFS, "No Effect", {layer = 1}) -- No effect text for BFFS pedestal
|
|
if EID.isRepentance then
|
|
EID:AddItemConditional({"5.300.96", "5.350.142", "5.350.176", "5.350.182", "5.350.186"}, 247, EID.CheckForBFFS, {locTable = "BFFSSynergies", replaceColor = "BlinkPink", noFallback = false}) -- BFFS! Repentance soulstone/trinkets
|
|
EID:AddPlayerConditional(247, 32, "Tainted Lilith", {locTable = "BFFSSynergies", layer = 3}) -- Tainted Lilith's Gello
|
|
EID:AddItemConditional("5.100", 248, EID.CheckForHiveMind, {locTable = "BFFSSynergies", replaceColor = "BlinkBlue", noFallback = false, uniqueID = "BFFS"}) -- Hive Mind
|
|
EID:AddSynergyConditional(247, 248, "No Effect (Familiars)", nil, {layer = 5}) -- Already having Hive Mind / BFFS!
|
|
EID:AddConditional(248, EID.CheckFamiliarsForHiveMind, nil, {locTable = "BFFSSynergies", useResult = true, layer = 2}) -- Effect text for Hive Mind pedestal
|
|
|
|
EID:AddSynergyConditional({584, 685, 702, 728}, "5.350.141", "No Effect From", "No Effect") -- Forgotten Lullaby no effect familiars (wisps, Gello)
|
|
EID:AddPlayerConditional("5.350.141", 32, "No Effect", {bulletpoint = "Collectible728", variableText = "{{NameOnlyC728}}"}) -- Forgotten Lullaby no effect on Tainted Lilith's Gello
|
|
EID:AddPlayerConditional("5.350.141", 13, "Lullaby Incubus", nil, false) -- Forgotten Lullaby effect for Incubus
|
|
EID:AddItemConditional("5.350.141", {713, "5.350.176"}, "Lullaby Clots") -- Forgotten Lullaby effect for clots
|
|
end
|
|
|
|
-- Abyss, Birthright Book of Belial, Binge Eater
|
|
if EID.isRepentance then
|
|
EID:AddItemConditional("5.100", 706, nil, { locTable = "abyssSynergies", lineColor = "ColorRed" }, false) -- Abyss (no item reminder)
|
|
EID:AddItemConditional("5.100", 59, nil, { locTable = "bookOfBelialBuffs" }) -- Belial Birthright
|
|
EID:AddItemConditional("5.100", 664, nil, { locTable = "bingeEaterBuffs" }) -- Binge Eater
|
|
EID:AddItemConditional({22, 23, 24, 25, 26, 346, 456, 707}, 664, "Binge Eater Healing") -- Binge Eater (Heals 2 hearts)
|
|
end
|
|
|
|
|
|
------ GREED MODE ------
|
|
-- "No effect" append
|
|
EID:AddConditional({134, 241, 464, "5.300.22", "5.350.59", "5.350.83", "5.350.84", "5.350.85", "5.350.102", "5.350.110", "5.350.111", "5.350.124", 21, 54, 249, 376, 437}, EID.IsGreedMode, "No Effect (Greed)") -- Guppy's Tail, Contract from Below, Glyph of Balance, The World, Cain's Eye, Store Key, Rib of Greed, Karma, Fragmented Card, Silver Dollar, Bloody Crown, Door Stop, Treasure Map, Compass, There's Options, Restock, D7
|
|
-- Not bothering with Repentance no effect items because they're all tagged nogreed
|
|
|
|
-- change the word "room" to "wave"
|
|
EID:AddConditional({266, "5.350.46", 385}, EID.IsGreedMode, "Room to Wave")
|
|
|
|
-- append/overwrite some descriptions
|
|
EID:AddConditional({535, "5.300.15", "5.300.19", "5.300.20", 246, 333, "5.350.120", "5.350.34", "5.350.36", "5.350.41", "5.350.44", "5.350.45", "5.350.72", 514 }, EID.IsGreedMode) -- Mama Mega, Blanket, Temperance, The Moon, The Sun, Blue Map, The Mind, Hairpin, some nogreed trinkets, Broken Modem
|
|
EID:AddConditional({"5.350.5", 208}, EID.IsGreedMode, "No Champion Drops") -- Champion Belt, Purple Heart
|
|
EID:AddConditional({297, 483}, EID.IsGreedMode, "Greed") -- Pandora's Box
|
|
|
|
if EID.isRepentance then
|
|
EID:AddConditional({567, 693, "5.350.163", "5.350.167", }, EID.IsGreedMode, "Room to Wave")
|
|
EID:AddConditional({344, 416, "5.300.74", 566, 580, "5.300.83", "5.350.162"}, EID.IsGreedMode) -- Match Book, Deep Pockets, The Moon?, Dream Catcher, Red Key, Soul of Cain, Azazel's Stump
|
|
end
|
|
|
|
|
|
------ ACHIEVEMENT CHECKS ------
|
|
-- Achievement functions always return true without REPENTOGON, so use them how you need to have non-ogon players see what they should.
|
|
EID:AddConditional("5.350.23", function() return EID:HaveNotUnlockedAchievement(82) end) -- Sacrifice Poster unlocks The Lost
|
|
EID:AddConditional(297, function() return not EID:HaveNotUnlockedAchievement(366) end) -- Pandora's Box unlocking Moving Box
|
|
|
|
|
|
local SoulBlackChars = EID:ConcatTables(EID.SpecialHeartPlayers["Soul"],EID.SpecialHeartPlayers["Black"])
|
|
------ NO RED HEALTH PLAYERS ------
|
|
EID:AddConditional(81, EID.CheckForNoRedHealthPlayer) -- Dead Cat
|
|
|
|
EID:AddClosestPlayerConditional({133, 442, 487, "5.350.46", "5.350.107", "5.350.119"}, SoulBlackChars, "No Effect Replace", nil, false) -- Dark Prince's Crown, Crow Heart, Stem Cell, Isaac's Fork, Guppy's Paw, Potato Peeler
|
|
if EID.isRepentance then
|
|
EID:AddClosestPlayerConditional({569, 671, 676}, SoulBlackChars, "No Effect Replace", nil, false) -- Blood Oath, Candy Heart, Empty Heart
|
|
EID:AddClosestPlayerConditional(676, 16, "No Effect Replace", nil, false) -- Empty Heart + Forgotten (not Tainted)
|
|
|
|
EID:AddClosestPlayerConditional("5.350.156", 14, "Mother's Kiss Coin") -- Mother's Kiss + Keeper
|
|
EID:AddClosestPlayerConditional("5.350.156", SoulBlackChars, "Mother's Kiss Soul", nil, false) -- Mother's Kiss + Soul/Black (both give a Soul Heart)
|
|
EID:AddClosestPlayerConditional("5.350.156", {16, 17}, "Mother's Kiss Bone", {layer = -1}, false) -- Mother's Kiss + Forgotten (including The Soul)
|
|
end
|
|
|
|
EID:AddClosestPlayerConditional(92, EID.SpecialHeartPlayers["Soul"], "Super Bandage Soul", nil, false)
|
|
EID:AddClosestPlayerConditional(92, EID.SpecialHeartPlayers["Black"], "Super Bandage Black", nil, false)
|
|
EID:AddClosestPlayerConditional(226, EID.SpecialHeartPlayers["Soul"], "Black Lotus Soul", nil, false)
|
|
EID:AddClosestPlayerConditional(226, EID.SpecialHeartPlayers["Black"], "Black Lotus Black", nil, false)
|
|
|
|
if EID.isRepentance then
|
|
for itemID,charges in pairs(EID.BloodUpData) do
|
|
EID:AddPlayerConditional(itemID, 36, "Health Up Blood Charges", {variableText = charges})
|
|
end
|
|
-- todo: some blood ups (cards with tarot cloth) should be increased
|
|
end
|
|
|
|
|
|
------ SPECIFIC CHARACTER SYNERGIES/CHANGES ------
|
|
-- Note that passing "false" as a 5th variable to AddPlayerConditional will make it so the Tainted version of the char doesn't count, otherwise it does
|
|
EID:AddClosestPlayerConditional(549, { 10, 14 }) -- Keeper/Lost + Brittle Bones
|
|
|
|
EID:AddPlayerConditional(227, 14, "Keeper 0-1") -- Keeper + Piggy Bank
|
|
EID:AddPlayerConditional(501, 14) -- Keeper + Greed's Gullet
|
|
EID:AddPlayerConditional(230, 14, "Keeper") -- Keeper + Abaddon
|
|
EID:AddPlayerConditional(152, 2, "Technology 2 One Eye") -- Cain + Technology 2
|
|
EID:AddPlayerConditional(122, 5, nil, nil, false) -- Eve + Whore of Babylon
|
|
|
|
EID:AddClosestPlayerConditional({15, 16, 20, 22, 23, 24, 25, 26, 45, 60, 92, 108, 133, 142, 146, 159, 173, 179, 184, 185, 205, 218, 226, 296, 301, 312, 334, 346, 428, 442, 448, 456, 487, 493, 501, "5.350.14", "5.350.46", "5.350.55", "5.350.56", "5.350.107", "5.350.128"}, 10, "No Effect Replace", {layer = 10000}) -- Useless Lost items replace
|
|
EID:AddPlayerConditional({126, 135, 186}, 10, "Dies on Use", {layer = 10000}) -- Lethal Lost items warning
|
|
EID:AddClosestPlayerConditional({108, 122, 296}, 14, "No Effect Replace") -- Useless Keeper items (The Wafer, Converter, Whore) replace
|
|
if EID.isRepentance then
|
|
EID:AddClosestPlayerConditional({569, 639, 671, 676, 707, "5.350.156", "5.350.168"}, 10, "No Effect Replace", {layer = 10000}) -- Useless Lost items replace
|
|
EID:AddPlayerConditional({713}, 10, "Dies on Use", {layer = 10000}) -- Lethal Lost items warning
|
|
EID:AddClosestPlayerConditional({671, 676, 686}, 14, "No Effect Replace") -- Useless Keeper items (Candy Heart, Empty Heart, Soul Locket) replace
|
|
end
|
|
|
|
if EID.isRepentance then
|
|
-- Tainted characters reviving as themselves
|
|
EID:AddPlayerConditional({ 161, "5.350.28" }, 25, "Tainted Revive") -- Ankh, Broken Ankh
|
|
EID:AddPlayerConditional(311, 24, "Tainted Revive") -- Judas's Shadow
|
|
EID:AddPlayerConditional(332, { 29, 38 }, "Tainted Revive") -- Lazarus's Rags
|
|
EID:AddPlayerConditional("5.350.23", 31, "Tainted Revive") -- Sacrifice Poster
|
|
|
|
-- Specific character synergies/changes
|
|
EID:AddPlayerConditional("5.350.1", 14, "Keeper 0-1") -- Keeper + Swallowed Penny
|
|
EID:AddPlayerConditional(188, 2) -- Cain + Abel
|
|
EID:AddPlayerConditional({ 360, 728 }, 13) -- Incubus/Gello + Lilith
|
|
EID:AddPlayerConditional({ 240, 644 }, 21) -- Tainted Isaac + Experimental Treatment, Consolation Prize
|
|
EID:AddClosestPlayerConditional(642, 10) -- Lost + Magic Skin
|
|
EID:AddPlayerConditional(694, 10, nil, {layer=1}) -- Lost + Heartbreak
|
|
EID:AddClosestPlayerConditional(694, 14, "Keeper", nil, false) -- Keeper + Heartbreak
|
|
EID:AddClosestPlayerConditional(694, 33, "Tainted Keeper") -- Tainted Keeper + Heartbreak
|
|
EID:AddPlayerConditional(230, 18, "Bethany", nil, false) -- Bethany + Abaddon
|
|
EID:AddPlayerConditional(230, 36, "Tainted Bethany") -- Tainted Bethany + Abaddon
|
|
EID:AddClosestPlayerConditional(245, 14, "Keeper") -- 20/20 + Keeper
|
|
EID:AddPlayerConditional(705, { 12, 24 }) -- Dark Arts + Dark/Tainted Judas
|
|
EID:AddPlayerConditional(205, 22, "Tainted Magdalene")-- Tainted Magdalene + Sharp Plug
|
|
EID:AddPlayerConditional({"5.350.100", "5.350.101"}, 18, "Bethany", nil, false) -- Bethany + Vibrant/Dim Bulb
|
|
EID:AddPlayerConditional({"5.350.100", "5.350.101"}, 36, "Tainted Bethany") -- Tainted Bethany + Vibrant/Dim Bulb
|
|
|
|
EID:AddClosestPlayerConditional(722, 37) -- TJacob Anima Sola
|
|
EID:AddClosestPlayerConditional(713, 26) -- TEve Sumptorium
|
|
EID:AddPlayerConditional(711, 29) -- TLaz Flip
|
|
EID:AddClosestPlayerConditional(710, 23) -- Tcain Bag of Crafting
|
|
end
|
|
|
|
|
|
------ DUPLICATE COPIES OF ITEMS ------
|
|
-- Items that have no effect from multiple copies (AddSelfConditional adds it when holding Diplopia / Crooked Penny automatically)
|
|
-- This list is mostly taken from Diplopia's wiki page, there's a lot more with no effect out there I'm sure
|
|
EID:AddSelfConditional({7, 55, 63, 69, 87, 104, 106, 108, 109, 116, 122, 132, 139, 149, 152, 156, 162, 169, 191, 200, 203, 214, 221, 225, 231, 233, 238, 239, 243, 244, 247, 248, 249, 261, 276, 299, 300, 313, 316, 330, 350, 356, 366, 368, 371, 374, 379, 400, 401, 408, 411, 412, 414, 416, 423, 429, 444, 446, 447, 450, 451, 458, 494, 495, 496, 501, 524, 525, 529, 532, 533, 534, 540, 546, }, "No Effect (Copies)")
|
|
-- Items that have an interesting effect from multiple copies
|
|
EID:AddSelfConditional({2, 64, 118, 153, 245, 358}, "Copies")
|
|
-- Items that can't be duplicated by Diplopia
|
|
EID:AddItemConditional(347, 347, "Can't Be Duplicated", nil, false) -- Diplopia
|
|
if not EID.isRepentance then
|
|
EID:AddSelfConditional({115, 222, 224, 228, 531}, "No Effect (Copies)")
|
|
EID:AddSelfConditional({440}, "Copies")
|
|
end
|
|
if EID.isRepentance then
|
|
EID:AddSelfConditional({399, 440, 554, 561, 577, 586, 600, 612, 616, 634, 651, 656, 670, 671, 674, 678, 686, 701}, "No Effect (Copies)")
|
|
EID:AddSelfConditional({531}, "Copies")
|
|
EID:AddItemConditional({"5.350", "5.300.33"}, 347, "Can't Be Duplicated", nil, false) -- Trinkets, Jera
|
|
end
|
|
|
|
|
|
------ OVERRIDES / OVERRIDDEN BY -----
|
|
-- TODO: Check Azazel and Forgotten's effects with these items, especially Brimstone overrides
|
|
-- Monstro's Lung might be worthy of this list too?
|
|
-- Is the layer order correct here? Would I be better off making a new function for adding these overrides that has its own pre-defined layer numbers for the problematic items, to clean up this mess some?
|
|
EID:AddSynergyConditional({52, 69, 104, 132, 222, 224, 233, 316, 329, 369, 379, 397, 401, 410, 440, 444, 453, 459, 461, 462, 494, 524, 532, 533, 540, }, 168, "Overridden", "Overrides", {layer = 900, checkLayers = true}) -- Epic Fetus
|
|
EID:AddOneSidedSynergyConditional(168, 118, "Epic Fetus Brimstone", {layer = 900, checkLayers = true})
|
|
EID:AddOneSidedSynergyConditional(168, 114, "Epic Fetus Mom's Knife", {layer = 900, checkLayers = true})
|
|
EID:AddOneSidedSynergyConditional(168, 330, "Epic Fetus Soy Milk", {layer = 900, checkLayers = true})
|
|
|
|
EID:AddSynergyConditional({69, 132, 222, 316, 369, 379, 410, 440, 453, 459, 461, 494, 524, 532, 533, }, 52, "Overridden", "Overrides", {layer = 800, checkLayers = true}) -- Dr. Fetus
|
|
EID:AddSynergyConditional(462, 52, "Eye of Belial Dr. Fetus", nil, {layer = 800, checkLayers = true})
|
|
|
|
EID:AddSynergyConditional({5, 69, 132, 221, 224, 316, 379, 401, 410, 459, 461, 462, 529, 532, 533, }, 114, "Overridden", "Overrides", {layer = 700, checkLayers = true}) -- Mom's Knife
|
|
EID:AddOneSidedSynergyConditional(114, 118, "Brimstone Mom's Knife", {layer = 700, checkLayers = true})
|
|
|
|
EID:AddSynergyConditional({316, 379, 410, 440, 453, 461, 462, 524, 533, 540, }, 118, "Overridden", "Overrides", {layer = 666, checkLayers = true}) -- Brimstone
|
|
EID:AddSynergyConditional(118, 149, "Brimstone Ipecac", nil, {layer = 666, checkLayers = true})
|
|
|
|
EID:AddSynergyConditional({5, 69, 104, 233, 316, 329, 379, 397, 410, 453, 461, 524, 529, 532, 533, 540, "5.350.26"}, 395, "Overridden", "Overrides", {layer = 600, checkLayers = true}) -- Tech X
|
|
EID:AddSynergyConditional(149, 395, "Technology Ipecac", nil, {layer = 600, checkLayers = true}) -- Tech X + Ipecac
|
|
|
|
EID:AddSynergyConditional({410, 462, 524, 533, 540}, 68, "Overridden", "Overrides", {layer = 400, checkLayers = true}) -- Technology
|
|
EID:AddSynergyConditional(149, 68, "Technology Ipecac", nil, {layer = 400, checkLayers = true}) -- Technology + Ipecac
|
|
|
|
EID:AddSynergyConditional({69, 222, 224, 316, 394, 397, 410, 532}, 329, "Overridden", "Overrides", {layer = 300, checkLayers = true}) -- Ludovico
|
|
EID:AddSynergyConditional(149, 329, "Ludovico Ipecac", nil, {layer = 300, checkLayers = true}) -- Ludovico + Ipecac
|
|
|
|
if not EID.isRepentance then
|
|
EID:AddSynergyConditional({374, 429, }, 168, "Overridden", "Overrides", {layer = 900, checkLayers = true}) -- Epic Fetus
|
|
EID:AddSynergyConditional({374, 401, 429, 444, 461}, 52, "Overridden", "Overrides", {layer = 800, checkLayers = true}) -- Dr. Fetus
|
|
EID:AddSynergyConditional({104, 150, 374, 394, 443, 453, 463, 494, 496, 503, }, 114, "Overridden", "Overrides", {layer = 700, checkLayers = true}) -- Mom's Knife
|
|
EID:AddSynergyConditional({104, 224, 369, 374, 394, 401, 429, 444, 459, 463, 494, 532, }, 118, "Overridden", "Overrides", {layer = 666, checkLayers = true}) -- Brimstone
|
|
EID:AddSynergyConditional({55, 87, 150, 221, 374, 394, 401, 429, 443, 444, 463, 494, 496, 503, "5.350.96"}, 395, "Overridden", "Overrides", {layer = 600, checkLayers = true}) -- Tech X
|
|
EID:AddSynergyConditional({69, 104, 222, 224, 245, 316, 369, 374, 394, 429, 494, }, 68, "Overridden", "Overrides", {layer = 400, checkLayers = true}) -- Technology
|
|
|
|
EID:AddSynergyConditional({52, 68, 114, 118, 168, 329, 395}, 69, "Chocolate Milk Overrides", nil, {uniqueID = "choccy"}) -- Chocolate Milk providing fire rate (the override/overridden line happens too)
|
|
end
|
|
|
|
if EID.isRepentance then
|
|
EID:AddOneSidedSynergyConditional(678, 579, "Spirit Sword C Section", {layer = 1001, checkLayers = true}) -- C Section + Spirit Sword
|
|
EID:AddSynergyConditional({52, 69, 118, 168, 229, 316, 329, 379, 394, 395, 397, 440, 556, 597, }, 579, "Overridden", "Overrides", {layer = 1000, checkLayers = true}) -- Spirit Sword
|
|
EID:AddOneSidedSynergyConditional(579, 114, "Spirit Sword Mom's Knife", {layer = 1000, checkLayers = true}) -- Spirit Sword + Mom's Knife
|
|
EID:AddOneSidedSynergyConditional(579, 68, "Spirit Sword Technology", {layer = 1000, checkLayers = true}) -- Spirit Sword + Technology
|
|
EID:AddOneSidedSynergyConditional(579, 149, "Spirit Sword Ipecac", {layer = 1000, checkLayers = true}) -- Spirit Sword + Ipecac
|
|
|
|
EID:AddSynergyConditional({553, 572, 678, "5.350.144"}, 168, "Overridden", "Overrides", {layer = 900, checkLayers = true}) -- Epic Fetus
|
|
EID:AddOneSidedSynergyConditional(561, 168, "Epic Fetus Soy Milk", {layer = 900, checkLayers = true}) -- Epic Fetus + Almond Milk
|
|
EID:AddSynergyConditional({69, 229, 316, 329, 397, 410, 533, 572, 597, }, 678, "Overridden", "Overrides", {layer = 850, checkLayers = true}) -- C Section
|
|
EID:AddSynergyConditional({68, 118, 572, 597, 637, "5.350.144"}, 52, "Overridden", "Overrides", {layer = 800, checkLayers = true}) -- Dr. Fetus
|
|
EID:AddSynergyConditional({52, 572, 597}, 114, "Overridden", "Overrides", {layer = 700, checkLayers = true}) -- Mom's Knife
|
|
EID:AddSynergyConditional({597}, 118, "Overridden", "Overrides", {layer = 666, checkLayers = true}) -- Brimstone
|
|
EID:AddOneSidedSynergyConditional({529, 532}, 118, "Brimstone Pop!", {layer = 666, checkLayers = true}) -- Brimstone + Pop!/Lachryphagy
|
|
EID:AddSynergyConditional(572, 118, "Eye of the Occult Beam", nil, {layer = 666}) -- Brimstone + Eye of the Occult
|
|
EID:AddSynergyConditional({572, 597, "5.350.144"}, 395, "Overridden", "Overrides", {layer = 600, checkLayers = true}) -- Tech X
|
|
EID:AddSynergyConditional({597}, 68, "Overridden", "Overrides", {layer = 400, checkLayers = true}) -- Technology
|
|
EID:AddSynergyConditional(572, 68, "Eye of the Occult Beam", nil, {layer = 400}) -- Technology + Eye of the Occult
|
|
|
|
EID:AddSynergyConditional(330, 561, "Overridden", "Overrides") -- Soy Milk + Almond Milk
|
|
end
|
|
|
|
|
|
----- MISC. ITEM CONDITIONS ------
|
|
-- IV Bag conditions (need to be applied in a specific order)
|
|
EID:AddItemConditional(135, 75, "PHD", {layer = 3}) -- PHD improves IV Bag
|
|
EID:AddPlayerConditional(135, 14, "Keeper 0-1", {layer = 2}) -- Keeper gets 0-1 coins
|
|
if EID.isRepentance then EID:AddConditional(135, EID.IsHardMode, "Hard Mode", {layer = 1}) end -- Hard Mode pays out less
|
|
|
|
-- Suicide item interactions
|
|
EID:AddSynergyConditional({475, "5.300.46"}, {210, 276, 313}, "Suicide 1", "Suicide 2") -- Plan C, Suicide King + Isaac's Heart, Holy Mantle, Gnawed Leaf
|
|
if EID.isRepentance then
|
|
EID:AddSynergyConditional({577, 656}, {276, 313}, "Suicide 1", "Suicide 2") -- Damocles + Isaac's Heart, Holy Mantle
|
|
EID:AddSynergyConditional({577, 656, 475, "5.300.46"}, {674, 694}, "Suicide 1", "Suicide 2") -- Damocles, Plan C, Suicide King + Spirit Shackles, Heartbreak
|
|
end
|
|
|
|
-- Actives with certain charge types interactions
|
|
-- 9 Volt + 1 Room/Timed
|
|
EID:AddConditional(116, function() return EID:CheckPlayersForActiveChargeType(1, 0) end, "1 Room")
|
|
EID:AddConditional(116, function() return EID:CheckPlayersForActiveChargeType(nil, 1) end, "Timed")
|
|
EID:AddConditional("5.100", function(EID, descObj) return EID:CheckActiveChargeType(descObj.ObjSubType, 1, 0, 116) end, "9 Volt 1 Room", { bulletpoint = "Collectible116" })
|
|
EID:AddConditional("5.100", function(EID, descObj) return EID:CheckActiveChargeType(descObj.ObjSubType, nil, 1, 116) end, "9 Volt Timed", { bulletpoint = "Collectible116" })
|
|
-- Vibrant/Dim Bulb
|
|
EID:AddConditional({"5.350.100", "5.350.101"}, EID.CheckForMultipleActives, "Bulb Multiple") -- Vibrant/Dim Bulb + Having multiple actives
|
|
EID:AddConditional({"5.350.100", "5.350.101"}, function() return EID:CheckPlayersForActiveChargeType(0, nil, false) end, "Bulb Zero") -- Vibrant/Dim Bulb + Having a 0-charge active
|
|
EID:AddConditional("5.350.101", function() return EID:CheckPlayersForActiveChargeType(nil, 1, false) end, "Timed") -- Dim Bulb + Having a timed active
|
|
if not EID.isRepentance then
|
|
-- AB+ Sharp Plug oddities
|
|
EID:AddItemConditional(205, {116, 276}, "No Effect") -- Sharp Plug + 9 Volt, Isaac's Heart
|
|
EID:AddItemConditional(205, 108, "Wafer") -- Sharp Plug + The Wafer
|
|
EID:AddSynergyConditional(205, 441, "Can't Charge", "Can't Be Charged") -- Sharp Plug + Mega Blast
|
|
end
|
|
if EID.isRepentance then
|
|
-- 9 Volt, Sharp Plug + Special Charge Actives
|
|
EID:AddConditional({116, 205}, function() return EID:CheckPlayersForActiveChargeType(nil, 2) end, "Can't Charge")
|
|
EID:AddConditional("5.100", function(EID, descObj) return EID:CheckActiveChargeType(descObj.ObjSubType, nil, 2, 116) end, "Can't Be Charged", { bulletpoint = "Collectible116", variableText = "{{NameOnlyC116}}" })
|
|
EID:AddConditional("5.100", function(EID, descObj) return EID:CheckActiveChargeType(descObj.ObjSubType, nil, 2, 205) end, "Can't Be Charged", { bulletpoint = "Collectible205", variableText = "{{NameOnlyC205}}" })
|
|
-- 4.5 Volt interactions
|
|
EID:AddConditional(647, function() return EID:CheckPlayersForActiveChargeType(nil, 1) end, "4.5 Volt Timed") -- 4.5 Volt + Having a timed active
|
|
EID:AddConditional("5.100", function(EID, descObj) return EID:CheckActiveChargeType(descObj.ObjSubType, nil, 1, 647) end, "4.5 Volt Timed", { bulletpoint = "Collectible647"})
|
|
EID:AddItemConditional(534, 647, "4.5 Volt Multiple") -- Schoolbag + 4.5 Volt
|
|
EID:AddConditional(647, EID.CheckForMultipleChargeableActives, "4.5 Volt Multiple")-- 4.5 Volt + Schoolbag/Pocket Actives
|
|
end
|
|
|
|
-- Sacrificial Altar interactions
|
|
EID:AddSynergyConditional(504, 536, "Sacrificial Nugget") -- Sacrificial Altar + Brown Nugget
|
|
EID:AddOneSidedSynergyConditional({112, 363, 390}, 536, "Sacrificial Angels") -- Sacrificial Altar + Angel Familiars
|
|
EID:AddOneSidedSynergyConditional({412, 413}, 536, "Sacrificial Conception") -- Sacrificial Altar + Cambion/Immaculate Conception
|
|
if not EID.isRepentance then
|
|
EID:AddSynergyConditional(477, 536, "Sacrificial Void") -- Sacrificial Altar + Void (AB+ only)
|
|
end
|
|
if EID.isRepentance then
|
|
EID:AddSynergyConditional(712, 536, "Sacrificial Item Wisps") -- Sacrificial Altar + Lemegeton
|
|
EID:AddSynergyConditional(650, 536, "Sacrificial Plum") -- Sacrificial Altar + Plum Flute
|
|
EID:AddSynergyConditional(661, 536, "Sacrificial Quints") -- Sacrificial Altar + Quints
|
|
EID:AddSynergyConditional(706, 536, "Sacrificial Abyss") -- Sacrificial Altar + Abyss Locusts
|
|
EID:AddSynergyConditional(651, 536, "Sacrificial Star") -- Sacrificial Altar + Star of Bethlehem
|
|
EID:AddSynergyConditional(713, 536, "Sacrificial Clots") -- Sacrificial Altar + Sumptorium
|
|
end
|
|
|
|
-- Miscellaneous Item Synergies
|
|
EID:AddSynergyConditional(7, {34, "5.300.16"}) -- Martyr + Book of Belial/The Devil
|
|
EID:AddSynergyConditional(316, 260) -- Black Candle + Cursed Eye
|
|
EID:AddItemConditional("5.300.48", 286, nil, { lineColor = "ColorSilver" }) -- Blank Card + ? Card
|
|
EID:AddItemConditional(286, "5.300.48", "? + Blank Pedestal") -- ? Card + Blank Card
|
|
EID:AddSynergyConditional(368, {69, 118, 316, 229, 395, 114, 329}, "Almost No Effect") -- Epiphora + Charge Shots / Ludovico
|
|
|
|
EID:AddSynergyConditional({127, 297, 347, 490, 483, 515, 475, 536}, "5.300.48", "? Card Single Use") -- ? Card + Single Use Actives
|
|
if EID.isRepentance then EID:AddSynergyConditional({585, 577, 628, 636}, "5.300.48", "? Card Single Use") end -- ? Card + Single Use Actives
|
|
|
|
EID:AddConditional(521, EID.PlayersHaveRestock) -- Coupon + Restock/Greed
|
|
for k,_ in pairs(EID.blackFeatherItems) do EID:AddItemConditional(k, "5.350.80", "Black Feather", {lineColor="BlinkGray"}) end -- Black Feather
|
|
for k,_ in pairs(EID.blackFeatherTrinkets) do EID:AddItemConditional("5.350." .. k, "5.350.80", "Black Feather", {lineColor="BlinkGray"}) end -- Black Feather
|
|
EID:AddItemConditional("5.70.28", 358) -- Wizard pill + The Wiz
|
|
EID:AddItemConditional(523, 477) -- Moving Box is a passive to Void
|
|
EID:AddItemConditional({8, 113, 163, 167, 99, 100, 174, 95, 268, 67}, 322, "Mongo Babies") -- Mongo Baby + Copiable familiars
|
|
if EID.isRepentance then EID:AddItemConditional(608, 322, "Mongo Babies") end
|
|
EID:AddSynergyConditional(261, 222, "Proptosis Anti-Gravity")
|
|
EID:AddSynergyConditional(394, 69, "Chocolate Milk Marked")
|
|
EID:AddConditional("5.300.5", EID.InStageVoid) -- The Emperor random boss room
|
|
EID:AddConditional("5.300.10", EID.InStageNoTreasureRoom) -- The Hermit possibly no shop
|
|
EID:AddConditional("5.300.18", EID.InStageNoTreasureRoom, nil, {layer = 3}) -- The Stars possibly no treasure room
|
|
EID:AddConditional("5.300.18", EID.IsGreedMode, "Greed", {layer = 2}) -- The Stars random treasure room
|
|
EID:AddConditional("5.300.18", EID.InStageTheShop, "Late Greed", {layer = 1}) -- The Stars no treasure room (I probably went too high detail on this)
|
|
|
|
-- Ghost Pepper / Bird's Eye + farting (The Poop, Kidney Bean, The Bean, The Black Bean, Butter Bean, Wait What?, Mega Bean, No. 2, IBS)
|
|
EID:AddSynergyConditional(495, {36, 421, 111, 180, 294, 484, 351, 378}, "Ghost Pepper Fart", nil, {uniqueID = "pepperfart"})
|
|
if EID.isRepentance then
|
|
EID:AddSynergyConditional(495, 725, "Ghost Pepper Fart", nil, {uniqueID = "pepperfart"})
|
|
EID:AddSynergyConditional(616, {36, 421, 111, 180, 294, 484, 351, 378, 725}, "Ghost Pepper Fart", nil, {uniqueID = "pepperfart"})
|
|
end
|
|
|
|
-- Damage multipliers not stacking (Cricket's Head, Magic Mushroom, Strength)
|
|
EID:AddSynergyConditional({4, 12, "5.300.12"}, {4, 12, "5.300.12"}, "Damage Multiplier Stack", nil, {uniqueID = "multstack"})
|
|
-- Poop synergies: The Poop, Re-Lax, Card Against Humanity + Midas' Touch, Hallowed Ground
|
|
EID:AddSynergyConditional(36, 543, "White Poop")
|
|
EID:AddSynergyConditional({"5.70.31", "5.300.45"}, 543, "White Poop Chance")
|
|
EID:AddSynergyConditional({36, "5.70.31", "5.300.45"}, 202, "Golden Poop Chance")
|
|
if EID.isRepentance then
|
|
EID:AddSynergyConditional(720, 543, "White Poop Jar")
|
|
EID:AddSynergyConditional(720, 202, "Golden Poop Jar")
|
|
end
|
|
EID:AddConditional(483, EID.PlayersHaveGoldenBomb)
|
|
|
|
-- AB+ only misc conditionals
|
|
if not EID.isRepentance then
|
|
EID:AddConditional(208, EID.IsHardMode, nil, {noFallback = false}) -- Champion Belt (AB+ Hard Mode)
|
|
|
|
end
|
|
|
|
-- Rep only misc conditionals
|
|
if EID.isRepentance then
|
|
-- Co-op friendly items
|
|
EID:AddConditional({45, "5.350.125"}, EID.MultiplePlayerCharacters) -- Yum Heart, Extension Cord
|
|
EID:AddConditional({"1000.76.0", "1000.76.5"}, EID.MultiplePlayerCharacters) -- Dice Room 1 and 6
|
|
|
|
-- Item Synergies
|
|
EID:AddItemConditional(201, 147) -- Iron Bar refills Notched Axe
|
|
EID:AddItemConditional("5.350.172", 260) -- Black Candle + Cursed Penny
|
|
EID:AddItemConditional(260, "5.350.172") -- Cursed Penny + Black Candle
|
|
EID:AddItemConditional(501, 416) -- Greed's Gullet + Deep Pockets
|
|
EID:AddSynergyConditional(245, { 2, 153, 169 }, nil, "20/20") -- 20/20 + The Inner Eye, Mutant Spider, Polyphemus
|
|
EID:AddSynergyConditional(596, {"5.350.118", 704, 62, "5.350.60", 520, 411, 621, "5.350.58", "5.350.189", 657}, "Ice Tears") -- Uranus + On Kill Effects
|
|
EID:AddPlayerConditional(596, 27, "Ice Tears") -- Uranus + Tainted Samson
|
|
EID:AddSynergyConditional(495, 616, "Both Peppers") -- Ghost Pepper + Bird's Eye
|
|
EID:AddSynergyConditional(726, {408, 646, 293, 679, 275, 399, 680, 441, 49, 533}, "Hemoptysis") -- Hemoptysis + Brimstone effects
|
|
|
|
-- eye drops + chargeable passives like brimstone could go here but there's a lot of them
|
|
EID:AddPlayerConditional(600, {2, 7, 13, 16}) -- Eye Drops + Cain, Azazel, Lilith, Forgotten
|
|
EID:AddSynergyConditional(152, {708, 444}, "Technology 2 One Eye") -- Technology 2 + Stapler, Lead Pencil
|
|
EID:AddConditional(482, EID.CheckForTaintedPlayer)
|
|
EID:AddItemConditional(297, "5.350.175", "PandorasBoxStrangeKeyEffect", {noTable = true})
|
|
|
|
-- Jacob's Ladder / 120 Volt battery synergies
|
|
EID:AddSynergyConditional({494, 559}, {205, 356}, "Sparks Damage")
|
|
EID:AddSynergyConditional({494, 559}, {116, "5.350.72", "5.350.120"}, "Sparks Arc Length")
|
|
EID:AddSynergyConditional({494, 559}, {63, 520, "5.350.3"}, "Sparks Arc Count")
|
|
EID:AddSynergyConditional({494, 559}, {"5.350.143"}, "Sparks Arc Back")
|
|
end
|