diff --git a/descriptions/ab+/en_us.lua b/descriptions/ab+/en_us.lua index 8518d910..4b3fc959 100644 --- a/descriptions/ab+/en_us.lua +++ b/descriptions/ab+/en_us.lua @@ -977,3 +977,14 @@ EID.descriptions[languageCode].ConditionalDescs = { ["5.300.15"] = "{{DemonBeggar}} Spawns a Devil Beggar", -- Temperance (Greed Mode effect) ["5.350.23"] = "{{Warning}} Dying in a {{SacrificeRoom}} Sacrifice Room while holding this trinket unlocks The Lost", -- Missing Poster (Unlock The Lost) } + +EID.descriptions[languageCode].BFFSSynergies = { + ["NoEffect"] = "No Effect", + ["DoubleDamage"] = "Damage doubled", + ["5.100.273"] = "Doubles impact damage and increases explosive damage by 25", -- Bob's Brain + ["5.100.266"] = "Spawns an extra Blue Spider", -- Juicy Sack + ["5.100.360"] = "Shoots tears that deal 200% of your damage", -- Incubus + ["5.100.417"] = "Increases radius, but not damage", -- Succubus + ["5.100.537"] = "Increases pool size, but not damage", -- Lil Spewer + ["5.100.539"] = "Spawns a champion variant of the enemy", -- Mystery Egg +} diff --git a/descriptions/rep/en_us.lua b/descriptions/rep/en_us.lua index e9f0423b..45e9b705 100644 --- a/descriptions/rep/en_us.lua +++ b/descriptions/rep/en_us.lua @@ -1201,6 +1201,16 @@ local repConditions={ } EID:updateDescriptionsViaTable(repConditions, EID.descriptions[languageCode].ConditionalDescs) +local repBFFSSynergies = { + ["5.100.360"] = "Shoots tears that deal 150% of your damage. 200% for Lilith", -- Incubus + ["5.100.610"] = "Spawns 4 rock waves in an x pattern. Doubles bird damage. Damage of waves unaffected.", -- Bird Cage + ["5.100.569"] = "+2 full hearts when health is drained", -- Blood Oath + ["5.100.178"] = "Double water damage and spawns a blue flame at point of impact", -- Holy Water + ["5.100.276"] = "Fires additional shots in random directions and leaves a larger puddle of creep", -- Isaac's Heart + ["5.100.612"] = "Gives the Lost Soul a Holy Mantle effect", -- Lost Soul + ["5.100.635"] = "On use, fires 8 tears from the players position that have the same effects as his tears", -- Stitches +} +EID:updateDescriptionsViaTable(repBFFSSynergies, EID.descriptions[languageCode].BFFSSynergies) -- If Debug enabled, add overwrite tables to the languagepack in order for the language completion script to be able to compare them if EID.enableDebug then diff --git a/eid_data.lua b/eid_data.lua index fde9e782..23de284a 100644 --- a/eid_data.lua +++ b/eid_data.lua @@ -900,7 +900,10 @@ EID.ItemPoolTypeToMarkup = { [0] = "{{ItemPoolTreasure}}", "{{ItemPoolShop}}", " EID.LocalModePositionOffset = { Default = Vector(0, 20), Shop = function(entity) if EID:EntitySanityCheck(entity) and not EID:IsGridEntity(entity) and entity:ToPickup() and entity:ToPickup():IsShopItem() then return Vector(0, 35) end end, -} +} + +-- Items that dont have an effect with BFFS! item +EID.BFFSNoSynergy = {[11] = true, [81] = true, [238] = true, [239] = true, [243] = true, [265] = true, [268] = true, [269] = true, [278] = true, [280] = true, [281] = true, [387] = true, [404] = true, [405] = true, [431] = true, [436] = true, [469] = true, [472] = true, [492] = true, [516] = true, [528] = true, [542] = true, [543] = true } -- Character IDs that aren't allowed to have Red Health: ???, The Lost, The Soul EID.NoRedHeartsPlayerIDs = { [4] = true, [10] = true, [17] = true } @@ -908,3 +911,10 @@ if REPENTANCE then -- ???, The Lost, Black Judas, The Soul, Tainted Judas, Tainted ???, Tainted Lost, Tainted Forgotten, Tainted Bethany, Tainted Soul EID.NoRedHeartsPlayerIDs = { [4] = true, [10] = true, [12] = true, [17] = true, [24] = true, [25] = true, [31] = true, [35] = true, [36] = true, [40] = true } end + +if REPENTANCE then + EID.BFFSNoSynergy[504] = true -- Brown Nugget + EID.BFFSNoSynergy[567] = true -- Paschal Candle + EID.BFFSNoSynergy[651] = true -- Star of Bethlehem + EID.BFFSNoSynergy[697] = true -- Vanishing Twin +end \ No newline at end of file diff --git a/eid_modifiers.lua b/eid_modifiers.lua index 691369fe..6178bf48 100644 --- a/eid_modifiers.lua +++ b/eid_modifiers.lua @@ -7,7 +7,7 @@ EID.inModifierPreview = false EID.TabDescThisFrame = false -- List of collectible IDs for us to check if a player owns them; feel free to add to this in mods that add description modifiers! -EID.collectiblesToCheck = { CollectibleType.COLLECTIBLE_VOID, CollectibleType.COLLECTIBLE_CAR_BATTERY } +EID.collectiblesToCheck = { CollectibleType.COLLECTIBLE_VOID, CollectibleType.COLLECTIBLE_CAR_BATTERY, CollectibleType.COLLECTIBLE_BFFS } local maxSlot = 1 -- Repentance modifiers if EID.isRepentance then @@ -17,7 +17,8 @@ if EID.isRepentance then CollectibleType.COLLECTIBLE_BINGE_EATER, CollectibleType.COLLECTIBLE_BOOK_OF_VIRTUES, CollectibleType.COLLECTIBLE_SPINDOWN_DICE, CollectibleType.COLLECTIBLE_TAROT_CLOTH, CollectibleType.COLLECTIBLE_MOMS_BOX, 59, --Birthright Belial CollectibleType.COLLECTIBLE_BLANK_CARD, CollectibleType.COLLECTIBLE_CLEAR_RUNE, CollectibleType.COLLECTIBLE_PLACEBO, - CollectibleType.COLLECTIBLE_FALSE_PHD, CollectibleType.COLLECTIBLE_ABYSS, CollectibleType.COLLECTIBLE_FLIP, CollectibleType.COLLECTIBLE_CAR_BATTERY, CollectibleType.COLLECTIBLE_GLOWING_HOUR_GLASS, + CollectibleType.COLLECTIBLE_FALSE_PHD, CollectibleType.COLLECTIBLE_ABYSS, CollectibleType.COLLECTIBLE_FLIP, CollectibleType.COLLECTIBLE_CAR_BATTERY, + CollectibleType.COLLECTIBLE_GLOWING_HOUR_GLASS, CollectibleType.COLLECTIBLE_BFFS } end EID.collectiblesOwned = {} @@ -290,6 +291,18 @@ local function BlackFeatherCallback(descObj) return descObj end +local function BFFSSynergiesCallback(descObj) + local description = EID:getDescriptionEntry("BFFSSynergies", descObj.fullItemString, true) + if EID.BFFSNoSynergy[descObj.ObjSubType] then + description = EID:getDescriptionEntry("BFFSSynergies", "NoEffect") + elseif description == nil then + description = EID:getDescriptionEntry("BFFSSynergies", "DoubleDamage") + end + + EID:appendToDescription(descObj, "#{{Collectible247}} {{ColorOrange}}" .. description .. "{{CR}}") + return descObj +end + if EID.isRepentance then -- Handle Birthright local function BirthrightCallback(descObj) @@ -914,6 +927,14 @@ local function EIDConditionsAB(descObj) if EID.blackRuneOwned then table.insert(callbacks, BlackRuneCallback) end end if EID.collectiblesOwned[356] then table.insert(callbacks, CarBatteryCallback) end + + -- BFF Synergy check + if EID.collectiblesOwned[247] then + local config = EID.itemConfig:GetCollectible(descObj.ObjSubType) + if config ~= nil and config.Type == ItemType.ITEM_FAMILIAR then + table.insert(callbacks, BFFSSynergiesCallback) + end + end elseif descObj.ObjVariant == PickupVariant.PICKUP_TRINKET then if descObj.ObjSubType == 80 then table.insert(callbacks, BlackFeatherCallback) end end