Finishing BFFs / Hive Mind / Greed conditionals (#689)

* Finish BFFS/Hive Mind

* Finishing BFFS/Hive Mind

* finishing BFFS/Hive Mind/Greed conditionals

* BFFS/greed conditionals

* finishing BFFS/Hive Mind/Greed conditionals

* uncapitalize Chance

* Update en_us.lua

* ? card single use

* fix Moving Box + Void

* Big restructuring

* self conditional wip

* add a one sided synergy function

* Update eid_conditionals.lua

* new conditionals + reorganizing

* new conditionals + reorganizing

* todo update

* more conditionals

* more conditionals

* Black Feather gray highlight color

* add item colors, make icons stay with first word

* Update eid_conditionals_funcs.lua

* Update eid_data.lua

* more conditionals

* tech 2 conditional

* tech 2 conditional
This commit is contained in:
Buurazu authored and GitHub committed 2024-06-24 19:34:14 +02:00
1 parent ac796d239a
commit e1bb46308d
8 files changed
+561 -235

No files matched your search

+82 -26
View File
@@ -84,7 +84,7 @@ EID.descriptions[languageCode].collectibles={
{"61", "", "<item does not exist>"}, {"61", "", "<item does not exist>"},
{"62", "Charm of the Vampire", "{{HalfHeart}} Killing 13 enemies heals half a heart"}, -- Charm of the Vampire {"62", "Charm of the Vampire", "{{HalfHeart}} Killing 13 enemies heals half a heart"}, -- Charm of the Vampire
{"63", "The Battery", "{{Battery}} Active items can be overcharged to two full charges"}, -- The Battery {"63", "The Battery", "{{Battery}} Active items can be overcharged to two full charges"}, -- The Battery
{"64", "Steam Sale", "{{Shop}} Shop items cost 50% less#Owning this item a second time makes all Shop items free"}, -- Steam Sale {"64", "Steam Sale", "{{Shop}} Shop items cost 50% less"}, -- Steam Sale
{"65", "Anarchist Cookbook", "Spawns 6 Troll Bombs near the center of the room"}, -- Anarchist Cookbook {"65", "Anarchist Cookbook", "Spawns 6 Troll Bombs near the center of the room"}, -- Anarchist Cookbook
{"66", "The Hourglass", "{{Slow}} Slows enemies down for 8 seconds"}, -- The Hourglass {"66", "The Hourglass", "{{Slow}} Slows enemies down for 8 seconds"}, -- The Hourglass
{"67", "Sister Maggy", "Shoots normal tears#Deals 3.5 damage per tear"}, -- Sister Maggy {"67", "Sister Maggy", "Shoots normal tears#Deals 3.5 damage per tear"}, -- Sister Maggy
@@ -319,7 +319,7 @@ EID.descriptions[languageCode].collectibles={
{"296", "Converter", "{{Heart}} Converts 2 Soul/Black Hearts into 1 heart container"}, -- Converter {"296", "Converter", "{{Heart}} Converts 2 Soul/Black Hearts into 1 heart container"}, -- Converter
-- NOTE FOR LOCALIZERS: There is code to highlight the text of your current floor -- NOTE FOR LOCALIZERS: There is code to highlight the text of your current floor
-- For it to work, only use line breaks or semicolons to separate floor details, and use the same order as English -- For it to work, only use line breaks or semicolons to separate floor details, and use the same order as English
{"297", "Pandora's Box", "{{Warning}} SINGLE USE {{Warning}} Spawns rewards based on floor:#B1: 2{{SoulHeart}}; B2: 2{{Bomb}} + 2{{Key}}#C1: Boss item; C2: B1+C1#D1: 4{{SoulHeart}}; D2: 20{{Coin}}#W1: 2 Boss items#W2: {{Collectible33}} The Bible#???/Void: Nothing#Sheol: Devil item + 1{{BlackHeart}}#Cathe: Angel item + 1{{EternalHeart}}#Dark Room: Unlocks {{Collectible523}} Moving Box; Chest: 1{{Coin}}"}, -- Pandora's Box {"297", "Pandora's Box", "{{Warning}} SINGLE USE {{Warning}} Spawns rewards based on floor:#B1: 2{{SoulHeart}}; B2: 2{{Bomb}} + 2{{Key}}#C1: Boss item; C2: B1+C1#D1: 4{{SoulHeart}}; D2: 20{{Coin}}#W1: 2 Boss items#W2: {{Collectible33}} The Bible#???/Void: Nothing#Sheol: Devil item + 1{{BlackHeart}}#Cathe: Angel item + 1{{EternalHeart}}#{{NoLB}}Dark Room: Unlocks {{Collectible523}} Moving Box#Chest: 1{{Coin}}"}, -- Pandora's Box
{"298", "Unicorn Stump", "{{Timer}} Receive for 6 seconds:#↑ {{Speed}} +0.28 Speed#Invincibility#Isaac can't shoot (No contact damage)"}, -- Unicorn Stump {"298", "Unicorn Stump", "{{Timer}} Receive for 6 seconds:#↑ {{Speed}} +0.28 Speed#Invincibility#Isaac can't shoot (No contact damage)"}, -- Unicorn Stump
{"299", "Taurus", "↓ {{Speed}} -0.3 Speed#↑ {{Speed}} Slowly gain speed while in hostile rooms#At 2 speed, Isaac becomes invincible and deals contact damage#Afterwards, lose the Taurus speed boost for the room"}, -- Taurus {"299", "Taurus", "↓ {{Speed}} -0.3 Speed#↑ {{Speed}} Slowly gain speed while in hostile rooms#At 2 speed, Isaac becomes invincible and deals contact damage#Afterwards, lose the Taurus speed boost for the room"}, -- Taurus
{"300", "Aries", "↑ {{Speed}} +0.25 Speed#Touching enemies deals contact damage"}, -- Aries {"300", "Aries", "↑ {{Speed}} +0.25 Speed#Touching enemies deals contact damage"}, -- Aries
@@ -347,7 +347,7 @@ EID.descriptions[languageCode].collectibles={
{"322", "Mongo Baby", "Mimics your baby familiars' tears#If you have none, shoots normal 3.5 damage tears"}, -- Mongo Baby {"322", "Mongo Baby", "Mimics your baby familiars' tears#If you have none, shoots normal 3.5 damage tears"}, -- Mongo Baby
{"323", "Isaac's Tears", "Shoots 8 tears in all directions#The tears copy Isaac's tear effects#Recharges by shooting tears"}, -- Isaac's Tears {"323", "Isaac's Tears", "Shoots 8 tears in all directions#The tears copy Isaac's tear effects#Recharges by shooting tears"}, -- Isaac's Tears
{"324", "Undefined", "Teleports Isaac to the {{TreasureRoom}} Treasure, {{SecretRoom}} Secret, {{SuperSecretRoom}} Super Secret or {{ErrorRoom}} I AM ERROR Room"}, -- Undefined {"324", "Undefined", "Teleports Isaac to the {{TreasureRoom}} Treasure, {{SecretRoom}} Secret, {{SuperSecretRoom}} Super Secret or {{ErrorRoom}} I AM ERROR Room"}, -- Undefined
{"325", "Scissors", "{{Timer}} Isaac's head turns into a stationary familiar for the room#The body is controlled separately"}, -- Scissors {"325", "Scissors", "{{Timer}} Isaac's head turns into a stationary familiar for the room#The head shoots 3.5 damage tears#The body is controlled separately and still shoots Isaac's tears"}, -- Scissors
{"326", "Breath of Life", "Holding down the USE button empties the charge bar#Isaac is temporarily invincible when the charge bar is empty#{{Warning}} Holding it for too long deals damage to Isaac"}, -- Breath of Life {"326", "Breath of Life", "Holding down the USE button empties the charge bar#Isaac is temporarily invincible when the charge bar is empty#{{Warning}} Holding it for too long deals damage to Isaac"}, -- Breath of Life
{"327", "The Polaroid", "Taking damage at half a Red Heart or none makes isaac temporarily invincible"}, -- The Polaroid {"327", "The Polaroid", "Taking damage at half a Red Heart or none makes isaac temporarily invincible"}, -- The Polaroid
{"328", "The Negative", "Taking damage at half a Red Heart or none damages all enemies in the room"}, -- The Negative {"328", "The Negative", "Taking damage at half a Red Heart or none damages all enemies in the room"}, -- The Negative
@@ -597,7 +597,7 @@ EID.descriptions[languageCode].carBattery = {
[93] = {6.5, 13}, -- The Gamekid [93] = {6.5, 13}, -- The Gamekid
[97] = {" a ", " 2 ", "pickup", "{{CR}}pickups"}, -- The Book of Sin [97] = {" a ", " 2 ", "pickup", "{{CR}}pickups"}, -- The Book of Sin
[102] = {1, 2, "pill", "{{CR}}pills"}, -- Mom's Bottle of Pills [102] = {1, 2, "pill", "{{CR}}pills"}, -- Mom's Bottle of Pills
[105] = "Rerolls twice, skipped items can no longer be seen depending on room", -- The D6 [105] = "Rerolls twice, draining item pools faster", -- The D6
[107] = "Spawns two bodies", -- The Pinking Shears [107] = "Spawns two bodies", -- The Pinking Shears
[111] = {5, 10}, -- The Bean [111] = {5, 10}, -- The Bean
[123] = {" a ", " 2 ", "familiar", "{{CR}}familiars"}, -- Monster Manual [123] = {" a ", " 2 ", "familiar", "{{CR}}familiars"}, -- Monster Manual
@@ -638,7 +638,7 @@ EID.descriptions[languageCode].carBattery = {
[507] = "Triggers twice", -- Sharp Straw [507] = "Triggers twice", -- Sharp Straw
[510] = {" a ", " 2 ", "version", "{{CR}}versions"}, -- Delirious [510] = {" a ", " 2 ", "version", "{{CR}}versions"}, -- Delirious
[516] = {" a ", " 2 ", "Sprinkler", "{{CR}}Sprinklers"}, -- Sprinkler [516] = {" a ", " 2 ", "Sprinkler", "{{CR}}Sprinklers"}, -- Sprinkler
[521] = {"one", "two"}, -- Coupon [521] = {"one", "two", "item", "{{CR}}items"}, -- Coupon
[523] = "Swaps box contents with room pickups", -- Moving Box [523] = "Swaps box contents with room pickups", -- Moving Box
[545] = {8, 16}, -- Book of the Dead [545] = {8, 16}, -- Book of the Dead
[550] = "Stops stomps for two rooms (or Boss Rush waves)", -- Broken Shovel [550] = "Stops stomps for two rooms (or Boss Rush waves)", -- Broken Shovel
@@ -646,7 +646,7 @@ EID.descriptions[languageCode].carBattery = {
-- Effect of BFFS! on Familiars -- Effect of BFFS! on Familiars
EID.descriptions[languageCode].BFFSSynergies = { EID.descriptions[languageCode].BFFSSynergies = {
["No Effect"] = "No effect", ["No Effect"] = "No effect from {1}",
["5.100.8"] = {3.5, 7}, -- Brother Bobby ["5.100.8"] = {3.5, 7}, -- Brother Bobby
["5.100.57"] = {75, 150}, -- Distant Admiration ["5.100.57"] = {75, 150}, -- Distant Admiration
["5.100.67"] = {3.5, 7}, -- Sister Maggy ["5.100.67"] = {3.5, 7}, -- Sister Maggy
@@ -658,8 +658,10 @@ EID.descriptions[languageCode].BFFSSynergies = {
["5.100.98"] = {"5-6", "4-5"}, -- The Relic ["5.100.98"] = {"5-6", "4-5"}, -- The Relic
["5.100.99"] = {3.5, 7}, -- Little Gish ["5.100.99"] = {3.5, 7}, -- Little Gish
["5.100.99"] = {3.5, 7}, -- Little Steven ["5.100.99"] = {3.5, 7}, -- Little Steven
["5.100.107"] = {82.5, 165}, -- The Pinking Shears
["5.100.112"] = {105, 210}, -- Guardian Angel ["5.100.112"] = {105, 210}, -- Guardian Angel
["5.100.113"] = {3, 6}, -- Demon Baby ["5.100.113"] = {3, 6}, -- Demon Baby
["5.100.117"] = {4.3, 8.6}, -- Dead Bird
["5.100.128"] = {30, 60}, -- Forever Alone ["5.100.128"] = {30, 60}, -- Forever Alone
["5.100.131"] = {"3", "2-3"}, -- Bomb Bag ["5.100.131"] = {"3", "2-3"}, -- Bomb Bag
["5.100.144"] = {"3-4", "3"}, -- Bum Friend ["5.100.144"] = {"3-4", "3"}, -- Bum Friend
@@ -689,6 +691,7 @@ EID.descriptions[languageCode].BFFSSynergies = {
["5.100.320"] = {37.5, 75}, -- ???'s Only Friend ["5.100.320"] = {37.5, 75}, -- ???'s Only Friend
["5.100.321"] = {10.7, 21.4}, -- Samson's Chains ["5.100.321"] = {10.7, 21.4}, -- Samson's Chains
["5.100.322"] = {3.5, 7}, -- Mongo Baby ["5.100.322"] = {3.5, 7}, -- Mongo Baby
["5.100.325"] = {3.5, 7}, -- Scissors
["5.100.360"] = "Damage doubled", -- Incubus ["5.100.360"] = "Damage doubled", -- Incubus
["5.100.361"] = "Damage doubled", -- Fate's Reward ["5.100.361"] = "Damage doubled", -- Fate's Reward
["5.100.362"] = {35, 44}, -- Lil Chest ["5.100.362"] = {35, 44}, -- Lil Chest
@@ -723,7 +726,11 @@ EID.descriptions[languageCode].BFFSSynergies = {
["5.100.537"] = "Increases creep size, but not damage", -- Lil Spewer ["5.100.537"] = "Increases creep size, but not damage", -- Lil Spewer
["5.100.539"] = "Spawns a champion variant of the enemy", -- Mystery Egg ["5.100.539"] = "Spawns a champion variant of the enemy", -- Mystery Egg
["5.100.544"] = {6, 12}, -- Pointy Rib ["5.100.544"] = {6, 12}, -- Pointy Rib
["5.100.545"] = "Bone orbital's contact damage is doubled", -- Book of the Dead
["5.100.548"] = {7, 14}, -- Jaw Bone ["5.100.548"] = {7, 14}, -- Jaw Bone
["5.350.54"] = {3.5, 7}, --- Isaac's Head
["5.350.57"] = {3.5, 7}, --- ???'s Soul
} }
---------- Trinkets ---------- ---------- Trinkets ----------
@@ -733,7 +740,7 @@ EID.descriptions[languageCode].trinkets={
{"2", "Petrified Poop", "50% chance to get drops from poop"}, -- Petrified Poop {"2", "Petrified Poop", "50% chance to get drops from poop"}, -- Petrified Poop
{"3", "AAA Battery", "{{Battery}} -1 Charge needed for active items"}, -- AAA Battery {"3", "AAA Battery", "{{Battery}} -1 Charge needed for active items"}, -- AAA Battery
{"4", "Broken Remote", "{{Collectible44}} Using an active item teleports Isaac to a random room"}, -- Broken Remote {"4", "Broken Remote", "{{Collectible44}} Using an active item teleports Isaac to a random room"}, -- Broken Remote
{"5", "Purple Heart", "2x Chance for champion enemies"}, -- Purple Heart {"5", "Purple Heart", "2x chance for champion enemies"}, -- Purple Heart
{"6", "Broken Magnet", "{{Coin}} Attracts coins to Isaac"}, -- Broken Magnet {"6", "Broken Magnet", "{{Coin}} Attracts coins to Isaac"}, -- Broken Magnet
{"7", "Rosary Bead", "{{AngelChance}} 50% higher Angel Room chance#{{Collectible33}} Higher chance to find The Bible in {{Shop}} Shops and {{Library}} Libraries"}, -- Rosary Bead {"7", "Rosary Bead", "{{AngelChance}} 50% higher Angel Room chance#{{Collectible33}} Higher chance to find The Bible in {{Shop}} Shops and {{Library}} Libraries"}, -- Rosary Bead
{"8", "Cartridge", "{{Timer}} 5% chance upon taking damage to receive for 6.5 seconds:#Invincibility#Isaac can't shoot but deals 40 contact damage per second#{{HalfHeart}} Killing 2 enemies heals half a heart#{{Fear}} Fears all enemies in the room"}, -- Cartridge {"8", "Cartridge", "{{Timer}} 5% chance upon taking damage to receive for 6.5 seconds:#Invincibility#Isaac can't shoot but deals 40 contact damage per second#{{HalfHeart}} Killing 2 enemies heals half a heart#{{Fear}} Fears all enemies in the room"}, -- Cartridge
@@ -934,7 +941,7 @@ EID.descriptions[languageCode].tarotClothBuffsAB = {
[15] = {" a ", " 2 ", " Machine", " {{CR}}Machines", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XIV - Temperance (+ Greed version) [15] = {" a ", " 2 ", " Machine", " {{CR}}Machines", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XIV - Temperance (+ Greed version)
[17] = {6, 12}, -- XVI - The Tower [17] = {6, 12}, -- XVI - The Tower
[20] = {100, 200}, -- XIX - The Sun [20] = {100, 200}, -- XIX - The Sun
[21] = {" a ", " 2 ", " Beggar", " {{CR}}Beggars", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XX - Judgement [21] = {" a ", " 2 ", "Beggar ", "{{CR}}Beggars ", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XX - Judgement
[23] = {"Doubles", "Quadruples"}, -- 2 of Clubs [23] = {"Doubles", "Quadruples"}, -- 2 of Clubs
[24] = {"Doubles", "Quadruples"}, -- 2 of Diamonds [24] = {"Doubles", "Quadruples"}, -- 2 of Diamonds
[25] = {"Doubles", "Quadruples"}, -- 2 of Spades [25] = {"Doubles", "Quadruples"}, -- 2 of Spades
@@ -1057,8 +1064,8 @@ EID.descriptions[languageCode].diceHeader = "[Dice Room effects]"
EID.descriptions[languageCode].dice={ EID.descriptions[languageCode].dice={
{"1", "", "Rerolls all of Isaac's items into random items from the room pool they were acquired in"}, {"1", "", "Rerolls all of Isaac's items into random items from the room pool they were acquired in"},
{"2", "", "Rerolls all pickups in the room"}, {"2", "", "Rerolls all pickups in the room"},
{"3", "", "Rerolls all pickups and trinkets on the entire floor#Does not affect the {{DevilRoom}} Devil or {{AngelRoom}} Angel Room"}, {"3", "", "Rerolls all pickups and trinkets on the entire floor#Does not affect the {{AngelDevilChance}} Devil/Angel Room or {{LadderRoom}} crawlspaces"},
{"4", "", "Rerolls all pedestal items on the floor#Does not affect the {{DevilRoom}} Devil or {{AngelRoom}} Angel Room"}, {"4", "", "Rerolls all pedestal items on the floor#Does not affect the {{AngelDevilChance}} Devil/Angel Room or {{LadderRoom}} crawlspaces"},
{"5", "", "Rerolls and restarts the current floor"}, {"5", "", "Rerolls and restarts the current floor"},
{"6", "", "Rerolls all of Isaac's items#Rerolls all pickups, trinkets and pedestal items on the floor"}, {"6", "", "Rerolls all of Isaac's items#Rerolls all pickups, trinkets and pedestal items on the floor"},
} }
@@ -1158,50 +1165,99 @@ EID.descriptions[languageCode].PickupNames = {
-- Tables with two or more entries are find-replace pairs -- Tables with two or more entries are find-replace pairs
-- For collectible/player conditionals, lines will automatically have their bulletpoint, and {1} is replaced with their name -- For collectible/player conditionals, lines will automatically have their bulletpoint, and {1} is replaced with their name
EID.descriptions[languageCode].ConditionalDescs = { EID.descriptions[languageCode].ConditionalDescs = {
------ GENERAL STRINGS ------
["Overridden"] = "Overridden by {1}", ["Overridden"] = "Overridden by {1}",
["Overrides"] = "Overrides {1}", ["Overrides"] = "Overrides {1}",
["Almost No Effect"] = "Little to no effect for {1}", ["Almost No Effect"] = "Little to no effect for {1}",
["No Effect"] = "No effect for {1}", ["No Effect"] = "No effect for {1}",
["Can't Charge"] = "Can't charge {1}", ["Can't Charge"] = "Can't charge {1}",
["Can't Be Charged"] = "Can't be charged by {1}", ["Can't Be Charged"] = "Can't be charged by {1}",
["Can't Be Duplicated"] = "Can't be duplicated",
["No Effect (Greed)"] = "{{GreedMode}} No effect in Greed Mode", ["No Effect (Greed)"] = "{{GreedMode}} No effect in Greed Mode",
["No Effect (Copies)"] = "No additional effect from multiple copies", -- Having the item already, or having Diplopia while looking at a pedestal ["No Effect (Copies)"] = "No additional effect from multiple copies", -- Having the item already, or having Diplopia while looking at a pedestal
["No Effect (Familiars)"] = "No additional effect on familiars", -- probably just for Hive Mind + BFFS!
["No Red"] = "No effect for characters that can't have Red Hearts", ["No Red"] = "No effect for characters that can't have Red Hearts",
["5.100.81"] = "Characters that can't have Red Hearts get set to 1 Soul/Black Heart", -- Dead Cat
["5.100.7"] = "x1.5 Damage multiplier while {1} effect is active", -- Blood of the Martyr
["5.100.34"] = "x1.5 Damage multiplier", -- Book of Belial
["5.300.16"] = "x1.5 Damage multiplier", -- XV - The Devil
["5.100.135 (PHD)"] = "Spawns 2-3 coins if you have {1}", -- IV Bag PHD
["Keeper 0-1"] = "Spawns 0-1 coin as {1}", -- IV Bag/Piggy Bank Keeper
------ GREED MODE ------
["Room to Wave"] = {"room", "wave", "room", "wave"}, -- convert room clear effects to wave clear effects
["No Champion Drops"] = "!!! Champions don't drop pickups in Greed Mode!", -- Champion Belt / Purple Heart
["5.300.15"] = {"{{DemonBeggar}} Spawns a Devil Beggar"}, -- Temperance (Greed) ["5.300.15"] = {"{{DemonBeggar}} Spawns a Devil Beggar"}, -- Temperance (Greed)
["5.300.19"] = {"Teleports Isaac to the first room of the floor"}, -- The Moon (Greed) ["5.300.19"] = {"Teleports Isaac to the first room of the floor"}, -- The Moon (Greed)
["5.300.20"] = {"{{Heart}} Full health#Deals 100 damage to all enemies"}, -- XIX - The Sun (Greed) ["5.300.20"] = {"{{Heart}} Full health#Deals 100 damage to all enemies"}, -- XIX - The Sun (Greed)
["5.100.483"] = "{{GreedMode}} Doesn't trigger once per wave, just once per room", -- Mama Mega (Greed) ["5.100.483"] = "{{GreedMode}} Doesn't trigger once per wave, just once per room", -- Mama Mega (Greed)
["5.100.535"] = "{{GreedMode}} No shield on Boss Waves, only on Ultra Greed", -- Blanket (Greed) ["5.100.535"] = "{{GreedMode}} No shield on Boss Waves, only on Ultra Greed", -- Blanket (Greed)
["5.350.120"] = "{{GreedMode}} No charge on Boss Waves, only on Ultra Greed", -- Hairpin (Greed)
["5.100.246"] = {"{{SuperSecretRoom}} Reveals the Super Secret Room location on the map"}, -- Blue Map (Greed)
["5.100.333"] = {"{{SuperSecretRoom}} Reveals the Super Secret Room location on the map"}, -- The Mind (Greed)
["5.100.514"] = {"Causes some enemies and projectiles to briefly pause at random intervals"}, -- Broken Modem (Greed)
["5.350.34"] = {"{{Heart}} Chance for a bonus heart from chests, tinted rocks and destroyed machines"}, -- Child's Heart
["5.350.36"] = {"{{Key}} Chance for a bonus key from chests, tinted rocks and destroyed machines"}, -- Rusted Key
["5.350.41"] = {"{{Bomb}} Chance for a bonus bomb from chests, tinted rocks and destroyed machines#{{Warning}} Removes {{Trinket53}} Tick"}, -- Match Stick
["5.350.44"] = {"{{Pill}} Chance for a bonus pill from chests, tinted rocks and destroyed machines"}, -- Safety Cap
["5.350.45"] = {"{{Card}} Chance for a bonus card from chests, tinted rocks and destroyed machines"}, -- Ace of Spades
["5.350.72"] = {"{{Battery}} +10% chance for random pickups to be a battery#{{Battery}} 5% chance to add 1 charge to held active item when clearing a wave"}, -- Watch Battery
------ ACHIEVEMENT CHECKS ------
["5.350.23"] = "{{Warning}} Dying in a {{SacrificeRoom}} Sacrifice Room while holding this trinket unlocks The Lost", -- Missing Poster (Unlock The Lost) ["5.350.23"] = "{{Warning}} Dying in a {{SacrificeRoom}} Sacrifice Room while holding this trinket unlocks The Lost", -- Missing Poster (Unlock The Lost)
["5.100.297"] = {"Unlocks {{Collectible523}} Moving Box", "Nothing"}, -- Pandora's Box unlocking Moving Box
------ SPECIFIC CHARACTER SYNERGIES/CHANGES ------
["5.100.135 (PHD)"] = "Spawns 2-3 coins if you have {1}", -- IV Bag PHD
["Keeper 0-1"] = "Spawns 0-1 coin as {1}", -- IV Bag/Piggy Bank Keeper
["5.100.549"] = "{1} simply gets ↑ {{Tears}} +0.4 Tears on pickup", -- Brittle Bones (Keeper+Lost) ["5.100.549"] = "{1} simply gets ↑ {{Tears}} +0.4 Tears on pickup", -- Brittle Bones (Keeper+Lost)
["5.100.316"] = "{1} removes the teleportation effect", -- Cursed Eye
["5.100.260"] = "Removes the teleportation effect of {1}", -- Black Candle
["5.100.501"] = "{1} can gain additional coin containers", -- Greed's Gullet ["5.100.501"] = "{1} can gain additional coin containers", -- Greed's Gullet
["5.100.230 (Keeper)"] = "{{Warning}} {1} just dies", -- Abaddon ["5.100.230 (Keeper)"] = "{{Warning}} {1} just dies", -- Abaddon
["5.300.48"] = "Teleport to I AM ERROR Room#Blank Card and ? Card will be destroyed", -- Blank Card + Q Card
["5.100.205 (Wafer)"] = "Reduces the cost to half a heart", -- Sharp Plug + Wafer
------ DUPLICATE COPIES OF ITEMS ------
["5.100.2 (Copies)"] = "Isaac fires 3 more tears#No additional stat decrease", -- The Inner Eye
["5.100.153 (Copies)"] = "Isaac fires 4 more tears#No additional stat decrease", -- Mutant Spider
["5.100.245 (Copies)"] = "Isaac fires 2 more tears", -- 20/20
["5.100.358 (Copies)"] = "Isaac fires 2 more tears closer to the center", -- The Wiz
["5.100.64 (Copies)"] = "Owning this item a second time makes all Shop items free", -- Steam Sale
["5.100.118 (Copies)"] = "Isaac fires an additional beam", -- Brimstone
["5.100.224 (Copies)"] = "Additional copies only give -0.2 speed", -- Kidney Stone
----- MISC. ITEM CONDITIONS ------
["Sacrificial Nugget"] = "Brown Nugget turrets count as familiars",
["Sacrificial Conception"] = "Familiars granted by {1} can be sacrificed, and will respawn",
["Sacrificial Angels"] = "{1} spawns 2 Black Hearts if sacrificed",
["Sacrificial Void"] = "Can be used multiple times if absorbed by Void",
["5.100.116 (1 Room)"] = "1 Room recharges become 15 second recharges while in an uncleared room", -- 9 Volt ["5.100.116 (1 Room)"] = "1 Room recharges become 15 second recharges while in an uncleared room", -- 9 Volt
["5.100.116 (Timed)"] = "Timed recharges start half full", -- 9 Volt ["5.100.116 (Timed)"] = "Timed recharges start half full", -- 9 Volt
["1 Room"] = "15 Second recharge while in an uncleared room", -- Actives + 9 Volt ["9 Volt 1 Room"] = "15 second recharge while in an uncleared room", -- Actives + 9 Volt
["Timed"] = "Charge starts half full after use", -- Actives + 9 Volt ["9 Volt Timed"] = "Charge starts half full after use", -- Actives + 9 Volt
["5.100.208"] = {20, 35, 5, 20}, -- Champion Belt + Hard Mode ["5.100.205 (Wafer)"] = "Reduces the cost to half a heart", -- Sharp Plug + Wafer
["Suicide 1"] = "{1} can't prevent the death", -- Plan C, Damocles, Suicide King ["Suicide 1"] = "{1} can't prevent the death", -- Plan C, Damocles, Suicide King
["Suicide 2"] = "Does not prevent death by {1}", -- Plan C, Damocles, Suicide King ["Suicide 2"] = "Does not prevent death by {1}", -- Plan C, Damocles, Suicide King
["5.100.7"] = "x1.5 Damage multiplier while {1} effect is active", -- Blood of the Martyr
["5.100.34"] = "x1.5 Damage multiplier", -- Book of Belial
["5.300.16"] = "x1.5 Damage multiplier", -- XV - The Devil
["5.100.81"] = "Characters that can't have Red Hearts get set to 1 Soul/Black Heart", -- Dead Cat
["5.100.316"] = "{1} removes the teleportation effect", -- Cursed Eye
["5.100.260"] = "Removes the teleportation effect of {1}", -- Black Candle
["? Card Single Use"] = "Single use items will disappear after using ? Card", -- Single Use Actives + ? Card
["5.300.48"] = "Teleport to I AM ERROR Room#Blank Card and ? Card will be destroyed", -- Blank Card + ? Card
["5.100.208"] = {20, 35, 5, 20}, -- Champion Belt + Hard Mode
["5.100.521"] = "{{Collectible376}} Free items won't be restocked", -- Coupon + Restock/Greed
["Black Feather"] = "↑ {{Damage}} +0.2 Damage", -- Black Feather items
["Bulb Multiple"] = "Only checks the primary active item", -- Vibrant/Dim Bulb + Schoolbag/Pocket Actives
["Bulb Zero"] = "Actives with 0 max charges trigger the bulb", -- Vibrant/Dim Bulb + zero charge actives
["5.350.101 (Timed)"] = "Basically useless with timed recharges", -- Dim Bulb + Timed Recharges
["5.70.28"] = "Isaac shoots forward and to the sides instead", -- R U A Wizard + The Wiz
["5.100.523"] = "Counts as a passive item to {1}", -- Moving Box + Void
["Mongo Babies"] = "Can be copied by {1}", -- Mongo Baby + Baby Familiars
["Technology 2 One Eye"] = "With {1}, the laser replaces your tears entirely", -- Technology 2 + one eye
} }
+102 -28
View File
@@ -39,7 +39,6 @@ local repCollectibles={
[55] = {"55", "Mom's Eye", "50% chance to shoot an extra tear backwards#{{Luck}} 100% chance at 5 luck"}, -- Mom's Eye [55] = {"55", "Mom's Eye", "50% chance to shoot an extra tear backwards#{{Luck}} 100% chance at 5 luck"}, -- Mom's Eye
[59] = {"59", "The Book of Belial", "{{AngelDevilChance}} +12.5% Devil/Angel Room chance while held#{{Timer}} Receive for the room:#↑ {{Damage}} +2 Damage"}, -- The Book of Belial (Judas' Birthright) [59] = {"59", "The Book of Belial", "{{AngelDevilChance}} +12.5% Devil/Angel Room chance while held#{{Timer}} Receive for the room:#↑ {{Damage}} +2 Damage"}, -- The Book of Belial (Judas' Birthright)
[62] = {"62", "Charm of the Vampire", "↑ {{Damage}} +0.3 Damage#{{HalfHeart}} Killing 13 enemies heals half a heart"}, -- Charm of the Vampire [62] = {"62", "Charm of the Vampire", "↑ {{Damage}} +0.3 Damage#{{HalfHeart}} Killing 13 enemies heals half a heart"}, -- Charm of the Vampire
[64] = {"64", "Steam Sale", "{{Shop}} Shop items cost 50% less#Owning this item multiple times reduces the price further"}, -- Steam Sale
[67] = {"67", "Sister Maggy", "Shoots normal tears#Deals 6 damage per tear"}, -- Sister Maggy [67] = {"67", "Sister Maggy", "Shoots normal tears#Deals 6 damage per tear"}, -- Sister Maggy
[69] = {"69", "Chocolate Milk", "{{Chargeable}} Chargeable tears#{{Damage}} Damage scales with charge time, up to 4x"}, -- Chocolate Milk [69] = {"69", "Chocolate Milk", "{{Chargeable}} Chargeable tears#{{Damage}} Damage scales with charge time, up to 4x"}, -- Chocolate Milk
[70] = {"70", "Growth Hormones", "↑ {{Speed}} +0.2 Speed#↑ {{Damage}} +1 Damage"}, -- Growth Hormones [70] = {"70", "Growth Hormones", "↑ {{Speed}} +0.2 Speed#↑ {{Damage}} +1 Damage"}, -- Growth Hormones
@@ -55,6 +54,7 @@ local repCollectibles={
[98] = {"98", "The Relic", "{{SoulHeart}} Spawns 1 Soul Heart every 7-8 rooms"}, -- The Relic [98] = {"98", "The Relic", "{{SoulHeart}} Spawns 1 Soul Heart every 7-8 rooms"}, -- The Relic
[101] = {"101", "The Halo", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.3 Speed#↑ {{Tears}} +0.2 Tears#↑ {{Damage}} +0.3 Damage#↑ {{Range}} +1.5 Range#{{Heart}} Heals 1 heart"}, -- The Halo [101] = {"101", "The Halo", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.3 Speed#↑ {{Tears}} +0.2 Tears#↑ {{Damage}} +0.3 Damage#↑ {{Range}} +1.5 Range#{{Heart}} Heals 1 heart"}, -- The Halo
[106] = {"106", "Mr. Mega", "↑ x1.85 Bomb damage#{{Bomb}} +5 Bombs"}, -- Mr. Mega [106] = {"106", "Mr. Mega", "↑ x1.85 Bomb damage#{{Bomb}} +5 Bombs"}, -- Mr. Mega
[107] = {"107", "The Pinking Shears", "{{Timer}} Receive for the room:#Flight#Isaac's body separates from his head and attacks enemies with 23.5 contact damage per second"}, -- The Pinking Shears
[110] = {"110", "Mom's Contacts", "↑ {{Range}} +1.5 Range#20% chance to shoot petrifying tears#{{Luck}} 50% chance at 20 luck"}, -- Mom's Contacts [110] = {"110", "Mom's Contacts", "↑ {{Range}} +1.5 Range#20% chance to shoot petrifying tears#{{Luck}} 50% chance at 20 luck"}, -- Mom's Contacts
[114] = {"114", "Mom's Knife", "Isaac's tears are replaced by a throwable knife#{{Damage}} The knife deals 2x Isaac's damage while held and caps at 6x damage at 1/3 charge#Charging further only increases throwing range#Damage reduces to 2x when returning to Isaac"}, -- Mom's Knife [114] = {"114", "Mom's Knife", "Isaac's tears are replaced by a throwable knife#{{Damage}} The knife deals 2x Isaac's damage while held and caps at 6x damage at 1/3 charge#Charging further only increases throwing range#Damage reduces to 2x when returning to Isaac"}, -- Mom's Knife
[115] = {"115", "Ouija Board", "↑ {{Tears}} +0.5 Tears#Spectral tears"}, -- Ouija Board [115] = {"115", "Ouija Board", "↑ {{Tears}} +0.5 Tears#Spectral tears"}, -- Ouija Board
@@ -97,7 +97,7 @@ local repCollectibles={
[218] = {"218", "Placenta", "↑ {{Heart}} +1 Health#{{Heart}} Heals 1 heart#{{HalfHeart}} 50% chance to heal half a heart every minute"}, -- Placenta [218] = {"218", "Placenta", "↑ {{Heart}} +1 Health#{{Heart}} Heals 1 heart#{{HalfHeart}} 50% chance to heal half a heart every minute"}, -- Placenta
[222] = {"222", "Anti-Gravity", "↑ {{Tears}} +1 Fire rate#Holding the fire buttons causes tears to hover in mid-air#Releasing the fire buttons shoots them in the direction they were fired"}, -- Anti-Gravity [222] = {"222", "Anti-Gravity", "↑ {{Tears}} +1 Fire rate#Holding the fire buttons causes tears to hover in mid-air#Releasing the fire buttons shoots them in the direction they were fired"}, -- Anti-Gravity
[223] = {"223", "Pyromaniac", "{{Bomb}} +5 Bombs#{{HalfHeart}} Getting hit by explosions heals half a heart instead of damaging Isaac#{{Burning}} Fire immunity (except projectiles)"}, -- Pyromaniac [223] = {"223", "Pyromaniac", "{{Bomb}} +5 Bombs#{{HalfHeart}} Getting hit by explosions heals half a heart instead of damaging Isaac#{{Burning}} Fire immunity (except projectiles)"}, -- Pyromaniac
[224] = {"224", "Cricket's Body", "↑ {{Tears}} +0.5 Fire rate#↑ {{Tearsize}} +0.1 Tear size#↓ {{Range}} x0.8 Range multiplier#Tears split in 4 on hit#Split tears deal half damage"}, -- Cricket's Body [224] = {"224", "Cricket's Body", "↑ {{Tears}} +0.5 Fire rate#↓ {{Range}} x0.8 Range multiplier#Tears split in 4 on hit#Split tears deal half damage"}, -- Cricket's Body
[225] = {"225", "Gimpy", "{{SoulHeart}} Taking damage has a 8% chance to spawn a Soul Heart#{{Luck}} +2% chance per luck#{{HalfHeart}} Enemies have a chance to drop a half Red Heart on death"}, -- Gimpy [225] = {"225", "Gimpy", "{{SoulHeart}} Taking damage has a 8% chance to spawn a Soul Heart#{{Luck}} +2% chance per luck#{{HalfHeart}} Enemies have a chance to drop a half Red Heart on death"}, -- Gimpy
[226] = {"226", "Black Lotus", "↑ {{Heart}} +1 Health#{{Heart}} Heals 1 heart#{{SoulHeart}} +1 Soul Heart#{{BlackHeart}} +1 Black Heart"}, -- Black Lotus [226] = {"226", "Black Lotus", "↑ {{Heart}} +1 Health#{{Heart}} Heals 1 heart#{{SoulHeart}} +1 Soul Heart#{{BlackHeart}} +1 Black Heart"}, -- Black Lotus
[228] = {"228", "Mom's Perfume", "↑ {{Tears}} +0.5 Fire rate#{{Fear}} 15% chance to shoot fear tears"}, -- Mom's Perfume [228] = {"228", "Mom's Perfume", "↑ {{Tears}} +0.5 Fire rate#{{Fear}} 15% chance to shoot fear tears"}, -- Mom's Perfume
@@ -135,7 +135,7 @@ local repCollectibles={
[296] = {"296", "Converter", "{{Heart}} Converts 1 Soul or Black Heart into 1 heart container"}, -- Converter [296] = {"296", "Converter", "{{Heart}} Converts 1 Soul or Black Heart into 1 heart container"}, -- Converter
-- NOTE FOR LOCALIZERS: There is code to highlight the text of your current floor -- NOTE FOR LOCALIZERS: There is code to highlight the text of your current floor
-- For it to work, only use line breaks or semicolons to separate floor details, and use the same order as English -- For it to work, only use line breaks or semicolons to separate floor details, and use the same order as English
[297] = {"297", "Pandora's Box", "{{Warning}} SINGLE USE {{Warning}} Spawns rewards based on floor:#B1: 2{{SoulHeart}}; B2: 2{{Bomb}} + 2{{Key}}#C1: Boss item; C2: B1+C1#D1: 4{{SoulHeart}}; D2: 20{{Coin}}#W1: 2 Boss items#W2: {{Collectible33}} The Bible#???/Void: Nothing#Sheol: Devil item + 1{{BlackHeart}}#Cathe: Angel item + 1{{EternalHeart}}#Dark Room: Unlocks {{Collectible523}} Moving Box; Chest: 1{{Coin}}#Home: {{Collectible580}} Red Key"}, -- Pandora's Box [297] = {"297", "Pandora's Box", "{{Warning}} SINGLE USE {{Warning}} Spawns rewards based on floor:#B1: 2{{SoulHeart}}; B2: 2{{Bomb}} + 2{{Key}}#C1: Boss item; C2: B1+C1#D1: 4{{SoulHeart}}; D2: 20{{Coin}}#W1: 2 Boss items#W2: {{Collectible33}} The Bible#???/Void: Nothing#Sheol: Devil item + 1{{BlackHeart}}#Cathe: Angel item + 1{{EternalHeart}}#{{NoLB}}Dark Room: Unlocks {{Collectible523}} Moving Box#Chest: 1{{Coin}}#Home: {{Collectible580}} Red Key"}, -- Pandora's Box
[300] = {"300", "Aries", "↑ {{Speed}} +0.25 Speed#Moving above 0.85 Speed makes Isaac immune to contact damage and deals 25 damage to enemies"}, -- Aries [300] = {"300", "Aries", "↑ {{Speed}} +0.25 Speed#Moving above 0.85 Speed makes Isaac immune to contact damage and deals 25 damage to enemies"}, -- Aries
[307] = {"307", "Capricorn", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.1 Speed#↑ {{Tears}} +0.5 Fire rate#↑ {{Damage}} +0.5 Damage#↑ {{Range}} +0.75 Range#+1 {{Coin}} coin, {{Bomb}} bomb and {{Key}} key"}, -- Capricorn [307] = {"307", "Capricorn", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.1 Speed#↑ {{Tears}} +0.5 Fire rate#↑ {{Damage}} +0.5 Damage#↑ {{Range}} +0.75 Range#+1 {{Coin}} coin, {{Bomb}} bomb and {{Key}} key"}, -- Capricorn
[308] = {"308", "Aquarius", "Isaac leaves a trail of creep#{{Damage}} The creep deals 66% of Isaac's damage per second and inherits his tear effects"}, -- Aquarius [308] = {"308", "Aquarius", "Isaac leaves a trail of creep#{{Damage}} The creep deals 66% of Isaac's damage per second and inherits his tear effects"}, -- Aquarius
@@ -147,6 +147,7 @@ local repCollectibles={
[319] = {"319", "Cain's Other Eye", "Shoots tears in random directions with the same effects as Isaac#{{Damage}} Deals 75% of Isaac's damage"}, -- Cain's Other Eye [319] = {"319", "Cain's Other Eye", "Shoots tears in random directions with the same effects as Isaac#{{Damage}} Deals 75% of Isaac's damage"}, -- Cain's Other Eye
[320] = {"320", "???'s Only Friend", "Controllable fly#Deals 15 contact damage per second"}, -- ???'s Only Friend [320] = {"320", "???'s Only Friend", "Controllable fly#Deals 15 contact damage per second"}, -- ???'s Only Friend
[323] = {"323", "Isaac's Tears", "Shoots 8 tears in all directions#The tears copy Isaac's tear effects, plus 5 damage#Recharges by shooting tears"}, -- Isaac's Tears [323] = {"323", "Isaac's Tears", "Shoots 8 tears in all directions#The tears copy Isaac's tear effects, plus 5 damage#Recharges by shooting tears"}, -- Isaac's Tears
[325] = {"325", "Scissors", "{{Timer}} Isaac's head turns into a stationary familiar for the room#The body is controlled separately and gushes blood tears in the direction Isaac is shooting"}, -- Scissors
[326] = {"326", "Breath of Life", "Holding down the USE button empties the charge bar#Isaac is temporarily invincible when the charge bar is empty#Isaac summons light beams on contact with enemies when invincible#If damage is blocked with perfect timing, shoot a 4-way holy beam and gain a brief shield#{{Warning}} Holding it for too long deals damage to Isaac"}, -- Breath of Life [326] = {"326", "Breath of Life", "Holding down the USE button empties the charge bar#Isaac is temporarily invincible when the charge bar is empty#Isaac summons light beams on contact with enemies when invincible#If damage is blocked with perfect timing, shoot a 4-way holy beam and gain a brief shield#{{Warning}} Holding it for too long deals damage to Isaac"}, -- Breath of Life
[328] = {"328", "The Negative", "↑ {{Damage}} +1 Damage#Taking damage at half a Red Heart or none damages all enemies in the room"}, -- The Negative [328] = {"328", "The Negative", "↑ {{Damage}} +1 Damage#Taking damage at half a Red Heart or none damages all enemies in the room"}, -- The Negative
[330] = {"330", "Soy Milk", "↑ {{Tears}} x5.5 Fire rate multiplier#↓ {{Damage}} x0.2 Damage multiplier#↓ {{Tearsize}} -0.3 Tear size#Drastically reduces knockback"}, -- Soy Milk [330] = {"330", "Soy Milk", "↑ {{Tears}} x5.5 Fire rate multiplier#↓ {{Damage}} x0.2 Damage multiplier#↓ {{Tearsize}} -0.3 Tear size#Drastically reduces knockback"}, -- Soy Milk
@@ -221,7 +222,7 @@ local repCollectibles={
[491] = {"491", "Acid Baby", "{{Pill}} Spawns a random pill every 7 rooms#{{Poison}} Using a pill poisons all enemies in the room"}, -- Acid Baby [491] = {"491", "Acid Baby", "{{Pill}} Spawns a random pill every 7 rooms#{{Poison}} Using a pill poisons all enemies in the room"}, -- Acid Baby
[493] = {"493", "Adrenaline", "↑ {{Damage}} Damage up for every empty heart container#The more empty heart containers, the bigger the bonus for each new one"}, -- Adrenaline [493] = {"493", "Adrenaline", "↑ {{Damage}} Damage up for every empty heart container#The more empty heart containers, the bigger the bonus for each new one"}, -- Adrenaline
[494] = {"494", "Jacob's Ladder", "Tears spawn a spark of electricity on impact#Sparks deal half of Isaac's damage#Sparks can spread to other enemies"}, -- Jacob's Ladder [494] = {"494", "Jacob's Ladder", "Tears spawn a spark of electricity on impact#Sparks deal half of Isaac's damage#Sparks can spread to other enemies"}, -- Jacob's Ladder
[495] = {"495", "Ghost Pepper", "8.33% chance to shoot a blue fire that blocks enemy shots and deals contact damage#{{Luck}} 50% chance at 10 luck#Fires shrink and disappear after 2 seconds"}, -- Ghost Pepper [495] = {"495", "Ghost Pepper", "8% chance to shoot a blue fire that blocks enemy shots and deals contact damage#{{Luck}} 50% chance at 10 luck#Fires shrink and disappear after 2 seconds"}, -- Ghost Pepper
[496] = {"496", "Euthanasia", "3.33% chance to shoot a needle#{{Luck}} 25% chance at 13 luck#Needles kill normal enemies instantly, bursting them into 10 tears#{{Damage}} Needles deal 3x Isaac's damage against bosses"}, -- Euthanasia [496] = {"496", "Euthanasia", "3.33% chance to shoot a needle#{{Luck}} 25% chance at 13 luck#Needles kill normal enemies instantly, bursting them into 10 tears#{{Damage}} Needles deal 3x Isaac's damage against bosses"}, -- Euthanasia
[497] = {"497", "Camo Undies", "{{Confusion}} Entering a room camouflages Isaac and confuses all enemies until a tear is shot#↑ {{Speed}} +0.5 Speed while cloaked#Uncloaking deals damage around Isaac and grants a very brief fire rate and damage up"}, -- Camo Undies [497] = {"497", "Camo Undies", "{{Confusion}} Entering a room camouflages Isaac and confuses all enemies until a tear is shot#↑ {{Speed}} +0.5 Speed while cloaked#Uncloaking deals damage around Isaac and grants a very brief fire rate and damage up"}, -- Camo Undies
[500] = {"500", "Sack of Sacks", "Spawns a sack every 7-8 rooms"}, -- Sack of Sacks [500] = {"500", "Sack of Sacks", "Spawns a sack every 7-8 rooms"}, -- Sack of Sacks
@@ -232,7 +233,7 @@ local repCollectibles={
[507] = {"507", "Sharp Straw", "{{Damage}} Deals Isaac's damage + 10% of the enemy's max health to all enemies#{{HalfHeart}} Dealing damage with the Straw can spawn half hearts"}, -- Sharp Straw [507] = {"507", "Sharp Straw", "{{Damage}} Deals Isaac's damage + 10% of the enemy's max health to all enemies#{{HalfHeart}} Dealing damage with the Straw can spawn half hearts"}, -- Sharp Straw
[508] = {"508", "Mom's Razor", "{{BleedingOut}} Orbital that causes bleeding, which makes enemies take damage when they move#{{Damage}} Deals 1.5x Isaac's damage per second"}, -- Mom's Razor [508] = {"508", "Mom's Razor", "{{BleedingOut}} Orbital that causes bleeding, which makes enemies take damage when they move#{{Damage}} Deals 1.5x Isaac's damage per second"}, -- Mom's Razor
[509] = {"509", "Bloodshot Eye", "Orbital that shoots a tear every 0.33 seconds to nearby enemies#Deals 3.5 damage per tear#Deals 20 contact damage per second"}, -- Bloodshot Eye [509] = {"509", "Bloodshot Eye", "Orbital that shoots a tear every 0.33 seconds to nearby enemies#Deals 3.5 damage per tear#Deals 20 contact damage per second"}, -- Bloodshot Eye
[514] = {"514", "Broken Modem", "Causes some enemies and projectiles to briefly pause at random intervals#Paused projectiles disappear#25% chance to double room clear rewards#(Doesn't double chest, card or pill rewards)"}, -- Broken Modem [514] = {"514", "Broken Modem", "Causes some enemies and projectiles to briefly pause at random intervals#Paused projectiles disappear#25% chance to double room clear rewards"}, -- Broken Modem
[517] = {"517", "Fast Bombs", "{{Bomb}} +7 Bombs#Removes the delay between bomb placements#Bombs don't deal knockback to each other"}, -- Fast Bombs [517] = {"517", "Fast Bombs", "{{Bomb}} +7 Bombs#Removes the delay between bomb placements#Bombs don't deal knockback to each other"}, -- Fast Bombs
[522] = {"522", "Telekinesis", "Stops all enemy projectiles that come close to Isaac for 3 seconds and throws them away from him afterwards#Pushes close enemies away during the effect"}, -- Telekinesis [522] = {"522", "Telekinesis", "Stops all enemy projectiles that come close to Isaac for 3 seconds and throws them away from him afterwards#Pushes close enemies away during the effect"}, -- Telekinesis
[523] = {"523", "Moving Box", "Stores up to 10 pickups and items from the current room#Using the item again drops everything back on the floor#Allows Isaac to move things between rooms"}, -- Moving Box [523] = {"523", "Moving Box", "Stores up to 10 pickups and items from the current room#Using the item again drops everything back on the floor#Allows Isaac to move things between rooms"}, -- Moving Box
@@ -340,10 +341,10 @@ local repCollectibles={
[649] = {"649", "Fruity Plum", "Propels herself diagonally around the room, firing tears in her path that deal 3 damage#Deals 6 contact damage per second"}, -- Fruity Plum [649] = {"649", "Fruity Plum", "Propels herself diagonally around the room, firing tears in her path that deal 3 damage#Deals 6 contact damage per second"}, -- Fruity Plum
[650] = {"650", "Plum Flute", "{{Timer}} Summons a friendly Baby Plum in the room for 10 seconds"}, -- Plum Flute [650] = {"650", "Plum Flute", "{{Timer}} Summons a friendly Baby Plum in the room for 10 seconds"}, -- Plum Flute
[651] = {"651", "Star of Bethlehem", "Slowly travels from the first room of the floor to the {{BossRoom}} Boss Room#Moves faster if you're ahead of it, and slower if you're behind it#Standing in its aura grants:#↑ {{Tears}} x2.5 Tears multiplier#↑ {{Damage}} x1.8 Damage multiplier#Homing tears#50% chance to ignore damage"}, -- Star of Bethlehem [651] = {"651", "Star of Bethlehem", "Slowly travels from the first room of the floor to the {{BossRoom}} Boss Room#Moves faster if you're ahead of it, and slower if you're behind it#Standing in its aura grants:#↑ {{Tears}} x2.5 Tears multiplier#↑ {{Damage}} x1.8 Damage multiplier#Homing tears#50% chance to ignore damage"}, -- Star of Bethlehem
[652] = {"652", "Cube Baby", "Can be kicked around by walking into it#{{Freezing}} Afflicts slowness, deals contact damage, and freezes enemies it kills"}, -- Cube Baby [652] = {"652", "Cube Baby", "Can be kicked around by walking into it#{{Slow}} Slows and deals up to 17.5 contact damage depending on speed#{{Freezing}} Freezes enemies it kills"}, -- Cube Baby
[653] = {"653", "Vade Retro", "Holding the item causes non-ghost enemies to spawn small red ghosts on death#Using the item causes the ghosts to explode#Using the item also kills any ghost enemies (including bosses) that have less than 50% HP left"}, -- Vade Retro [653] = {"653", "Vade Retro", "Holding the item causes non-ghost enemies to spawn small red ghosts on death#Using the item causes the ghosts to explode#Using the item also kills any ghost enemies (including bosses) that have less than 50% HP left"}, -- Vade Retro
[654] = {"654", "False PHD", "{{BlackHeart}} +1 Black Heart#{{Pill}} Identifies all pills#Converts all good pills into bad pills#↑ {{Damage}} Eating a stat down pill grants +0.6 damage#{{BlackHeart}} Eating other bad pills spawns a Black Heart"}, -- False PHD [654] = {"654", "False PHD", "{{BlackHeart}} +1 Black Heart#{{Pill}} Identifies all pills#Converts all good pills into bad pills#↑ {{Damage}} Eating a stat down pill grants +0.6 damage#{{BlackHeart}} Eating other bad pills spawns a Black Heart"}, -- False PHD
[655] = {"655", "Spin to Win", "Passively grants an orbital that blocks enemy shots and deals 10.5 contact damage per second#Using the item grants:#↑ {{Speed}} +0.5 Speed#Greatly increases the rotation speed of orbitals"}, -- Spin to Win [655] = {"655", "Spin to Win", "Passively grants an orbital that blocks enemy shots and deals 10.5 contact damage per second#Using the item grants:#↑ {{Speed}} +0.5 Speed#Increases speed and damage of orbitals"}, -- Spin to Win
[656] = {"656", "Damocles", "Hangs a sword above Isaac's head, which doubles all pedestal items#Does not double items that have a price or come from chests#{{Warning}} After taking any damage, the sword has an extremely low chance to instantly kill Isaac every frame#Invincibility effects can prevent the death"}, -- Damocles (hidden passive version) [656] = {"656", "Damocles", "Hangs a sword above Isaac's head, which doubles all pedestal items#Does not double items that have a price or come from chests#{{Warning}} After taking any damage, the sword has an extremely low chance to instantly kill Isaac every frame#Invincibility effects can prevent the death"}, -- Damocles (hidden passive version)
[657] = {"657", "Vasculitis", "Enemies explode into tears upon death, which inherit the effects of Isaac's tears"}, -- Vasculitis [657] = {"657", "Vasculitis", "Enemies explode into tears upon death, which inherit the effects of Isaac's tears"}, -- Vasculitis
[658] = {"658", "Giant Cell", "Taking damage spawns a Minisaac#Minisaacs chase and shoot at nearby enemies"}, -- Giant Cell [658] = {"658", "Giant Cell", "Taking damage spawns a Minisaac#Minisaacs chase and shoot at nearby enemies"}, -- Giant Cell
@@ -367,10 +368,10 @@ local repCollectibles={
[676] = {"676", "Empty Heart", "{{EmptyHeart}} +1 Empty heart container when at 1 Red Heart or less at the start of a new floor"}, -- Empty Heart [676] = {"676", "Empty Heart", "{{EmptyHeart}} +1 Empty heart container when at 1 Red Heart or less at the start of a new floor"}, -- Empty Heart
[677] = {"677", "Astral Projection", "{{Timer}} Taking damage in an uncleared room grants for the fight:#Spectral tears#Flight#Negates the next damage taken#Stops time for 2 seconds#Greatly increases speed and fire rate for 2 seconds"}, -- Astral Projection [677] = {"677", "Astral Projection", "{{Timer}} Taking damage in an uncleared room grants for the fight:#Spectral tears#Flight#Negates the next damage taken#Stops time for 2 seconds#Greatly increases speed and fire rate for 2 seconds"}, -- Astral Projection
[678] = {"678", "C Section", "{{Chargeable}} Replaces Isaac's tears with a charge attack that shoots homing, spectral fetus tears#{{Damage}} Fetus tears deal about 2.8x Isaac's damage per second"}, -- C Section [678] = {"678", "C Section", "{{Chargeable}} Replaces Isaac's tears with a charge attack that shoots homing, spectral fetus tears#{{Damage}} Fetus tears deal about 2.8x Isaac's damage per second"}, -- C Section
[679] = {"679", "Lil Abaddon", "{{Collectible399}} Familiar that charges and unleashes a Maw of the Void circle#It deals 52 damage over 1 second"}, -- Lil Abaddon [679] = {"679", "Lil Abaddon", "{{Collectible399}} Familiar that charges and unleashes a Maw of the Void circle#It deals 52.5 damage over 1 second"}, -- Lil Abaddon
[680] = {"680", "Montezuma's Revenge", "{{Chargeable}} Firing charges up a short-ranged high damage backwards beam#Does not replace Isaac's tears"}, -- Montezuma's Revenge [680] = {"680", "Montezuma's Revenge", "{{Chargeable}} Firing charges up a short-ranged high damage backwards beam#Does not replace Isaac's tears"}, -- Montezuma's Revenge
[681] = {"681", "Lil Portal", "Deals contact damage and flies forward#Consumes pickups in its path#Each pickup consumed increases its size, damage, and spawns a blue fly#Consuming four pickups spawns a portal to an unexplored room"}, -- Lil Portal [681] = {"681", "Lil Portal", "Deals contact damage and flies forward#Consumes pickups in its path#Each pickup consumed increases its size, damage, and spawns a blue fly#Consuming four pickups spawns a portal to an unexplored room"}, -- Lil Portal
[682] = {"682", "Worm Friend", "Sometimes bursts out of the ground and grabs an enemy#Grabbed enemies take damage, are slowed and cannot move"}, -- Worm Friend [682] = {"682", "Worm Friend", "Sometimes bursts out of the ground and grabs an enemy#Grabbed enemies take 8 damage per second, are slowed and cannot move"}, -- Worm Friend
[683] = {"683", "Bone Spurs", "Enemies spawn bone shards on death#Bones block projectiles and deal contact damage"}, -- Bone Spurs [683] = {"683", "Bone Spurs", "Enemies spawn bone shards on death#Bones block projectiles and deal contact damage"}, -- Bone Spurs
[684] = {"684", "Hungry Soul", "Killing an enemy has a chance to spawn a ghost#Ghosts chase enemies, deal contact damage and explode after 5 seconds#Isaac doesn't take damage from the explosion"}, -- Hungry Soul [684] = {"684", "Hungry Soul", "Killing an enemy has a chance to spawn a ghost#Ghosts chase enemies, deal contact damage and explode after 5 seconds#Isaac doesn't take damage from the explosion"}, -- Hungry Soul
[685] = {"685", "Jar of Wisps", "Spawns a random wisp#Spawns one additional wisp with each use, up to 12"}, -- Jar of Wisps [685] = {"685", "Jar of Wisps", "Spawns a random wisp#Spawns one additional wisp with each use, up to 12"}, -- Jar of Wisps
@@ -416,7 +417,7 @@ local repCollectibles={
[725] = {"725", "IBS", "Dealing enough damage causes Isaac to flash red#Releasing the fire button while Isaac is flashing either:#Throws a random poop#Creates buffing creep#{{Poison}} Farts a poison cloud#Spawns 5 live bombs"}, -- IBS [725] = {"725", "IBS", "Dealing enough damage causes Isaac to flash red#Releasing the fire button while Isaac is flashing either:#Throws a random poop#Creates buffing creep#{{Poison}} Farts a poison cloud#Spawns 5 live bombs"}, -- IBS
[726] = {"726", "Hemoptysis", "Double-tapping a fire button makes Isaac sneeze blood#The sneeze deals 1.5x Isaac's damage#1 second cooldown#{{BrimstoneCurse}} Affected enemies take extra damage from Brimstone beams"}, -- Hemoptysis [726] = {"726", "Hemoptysis", "Double-tapping a fire button makes Isaac sneeze blood#The sneeze deals 1.5x Isaac's damage#1 second cooldown#{{BrimstoneCurse}} Affected enemies take extra damage from Brimstone beams"}, -- Hemoptysis
[727] = {"727", "Ghost Bombs", "{{Bomb}} +5 Bombs#Isaac's bombs spawn ghosts that chase enemies#Ghosts deal 2x Isaac's damage per second and explode after 10 seconds"}, -- Ghost Bombs [727] = {"727", "Ghost Bombs", "{{Bomb}} +5 Bombs#Isaac's bombs spawn ghosts that chase enemies#Ghosts deal 2x Isaac's damage per second and explode after 10 seconds"}, -- Ghost Bombs
[728] = {"728", "Gello", "A demon familiar bursts out of Isaac for the room#The demon mimics Isaac's tears, stats and effects"}, -- Gello [728] = {"728", "Gello", "A demon familiar bursts out of Isaac for the room#The demon shoots towards the nearest enemy, mimicing Isaac's tears, stats and effects#{{Damage}} Its tears deal 75% of Isaac's damage"}, -- Gello
[729] = {"729", "Decap Attack", "Throws Isaac's head in a direction#The head deals contact damage and shoots tears from where it lands#Using the item again or stepping on the head reattaches it"}, -- Decap Attack [729] = {"729", "Decap Attack", "Throws Isaac's head in a direction#The head deals contact damage and shoots tears from where it lands#Using the item again or stepping on the head reattaches it"}, -- Decap Attack
[730] = {"730", "Glass Eye", "↑ {{Damage}} +0.75 Damage#↑ {{Luck}} +1 Luck"}, -- Glass Eye [730] = {"730", "Glass Eye", "↑ {{Damage}} +0.75 Damage#↑ {{Luck}} +1 Luck"}, -- Glass Eye
[731] = {"731", "Stye", "↑ {{Damage}} x1.28 Damage multiplier for the right eye#↑ {{Range}} +6.5 Range for the right eye#↓ {{Shotspeed}} -0.3 Shot speed for the right eye"}, -- Stye [731] = {"731", "Stye", "↑ {{Damage}} x1.28 Damage multiplier for the right eye#↑ {{Range}} +6.5 Range for the right eye#↓ {{Shotspeed}} -0.3 Shot speed for the right eye"}, -- Stye
@@ -711,6 +712,7 @@ EID:updateDescriptionsViaTable(repCarBattery, EID.descriptions[languageCode].car
local repBFFSSynergies = { local repBFFSSynergies = {
["5.100.67"] = {6, 12}, -- Sister Maggy ["5.100.67"] = {6, 12}, -- Sister Maggy
["5.100.98"] = {"7-8", "6"}, -- The Relic ["5.100.98"] = {"7-8", "6"}, -- The Relic
["5.100.107"] = {23.5, 47}, -- The Pinking Shears
["5.100.172"] = {112.5, 225}, -- Sacrificial Dagger ["5.100.172"] = {112.5, 225}, -- Sacrificial Dagger
["5.100.178"] = {7, 14, "Spawns a blue flame at point of impact"}, -- Holy Water ["5.100.178"] = {7, 14, "Spawns a blue flame at point of impact"}, -- Holy Water
["5.100.206"] = {56, 112}, -- Guillotine ["5.100.206"] = {56, 112}, -- Guillotine
@@ -722,8 +724,8 @@ local repBFFSSynergies = {
["5.100.276"] = "Fires additional shots in random directions and leaves a larger puddle of creep", -- Isaac's Heart ["5.100.276"] = "Fires additional shots in random directions and leaves a larger puddle of creep", -- Isaac's Heart
["5.100.319"] = {75, 150}, -- Cain's Other Eye ["5.100.319"] = {75, 150}, -- Cain's Other Eye
["5.100.320"] = {15, 30}, -- ???'s Only Friend ["5.100.320"] = {15, 30}, -- ???'s Only Friend
["5.100.365"] = {30, 60}, -- Lost Fly
["5.100.360"] = {75, 150, 100, 200}, -- Incubus (+ Lilith exception) ["5.100.360"] = {75, 150, 100, 200}, -- Incubus (+ Lilith exception)
["5.100.365"] = {30, 60}, -- Lost Fly
["5.100.384"] = {"5-20", "10-40"}, -- Lil Gurdy ["5.100.384"] = {"5-20", "10-40"}, -- Lil Gurdy
["5.100.389"] = {"7-8", "6"}, -- Rune Bag ["5.100.389"] = {"7-8", "6"}, -- Rune Bag
["5.100.467"] = {10, 20}, -- Finger! ["5.100.467"] = {10, 20}, -- Finger!
@@ -748,8 +750,27 @@ local repBFFSSynergies = {
["5.100.627"] = {25, 50}, -- Knife Piece 2 ["5.100.627"] = {25, 50}, -- Knife Piece 2
["5.100.629"] = {3, 6}, -- Bot Fly ["5.100.629"] = {3, 6}, -- Bot Fly
["5.100.635"] = "On use, shoots 8 tears from the player's position", -- Stitches ["5.100.635"] = "On use, shoots 8 tears from the player's position", -- Stitches
["5.100.645"] = {3.5, 7}, -- Tinytoma
["5.100.649"] = {3, 6, 2, 4}, -- Fruity Plum
["5.100.650"] = "Contact damage doubled", -- Plum Flute
["5.100.652"] = {17.5, 35}, -- Cube Baby
["5.100.655"] = {10.5, 21, "No BFFS! bonus damage for any familiar while Spin to Win is being used"}, -- Spin to Win
["5.100.679"] = {52.5, 105}, -- Lil Abaddon
["5.100.681"] = "Damage doubled", -- Lil Portal
["5.100.682"] = {8, 16}, -- Worm Friend
["5.100.685"] = "Doubles wisp tear and contact damage", -- Jar of Wisps
["5.100.698"] = {37.5, 75}, -- Twisted Pair
["5.100.702"] = "Doubles wisp tear and contact damage", -- Vengeful Spirit
["5.100.706"] = "Locust damage is increased by 25%", -- Abyss
["5.100.712"] = "Doubles orbital contact damage", -- Lemegeton
["5.100.713"] = "Clot damage is doubled", -- Sumptorium
["5.100.728"] = {75, 150, 100, 200}, -- Incubus (+ Lilith exception)
--TODO: check familiars 645, 649, 651, 652, 656, 667, 679, 681, 682, 697, 698; work on hive mind support ["5.300.96"] = "Doubles wisp tear and contact damage", -- Soul of Bethany
["5.350.142"] = "Doubles wisp tear and contact damage", -- Beth's Faith
["5.350.182"] = "Doubles wisp tear and contact damage", -- Beth's Essence
["5.350.176"] = "Clot damage is doubled", -- Lil Clot
["5.350.186"] = "Locust damage is increased by 25%", -- Apollyon's Best Friend
} }
EID:updateDescriptionsViaTable(repBFFSSynergies, EID.descriptions[languageCode].BFFSSynergies) EID:updateDescriptionsViaTable(repBFFSSynergies, EID.descriptions[languageCode].BFFSSynergies)
@@ -782,7 +803,7 @@ local repTrinkets={
[110] = {"110", "Silver Dollar", "{{Shop}} Shops appear in the Womb and Corpse"}, -- Silver Dollar [110] = {"110", "Silver Dollar", "{{Shop}} Shops appear in the Womb and Corpse"}, -- Silver Dollar
[111] = {"111", "Bloody Crown", "{{TreasureRoom}} Treasure Rooms appear in the Womb and Corpse"}, -- Bloody Crown [111] = {"111", "Bloody Crown", "{{TreasureRoom}} Treasure Rooms appear in the Womb and Corpse"}, -- Bloody Crown
[119] = {"119", "Stem Cell", "{{Heart}} Entering a new floor heals half of Isaac's empty Red/Bone Hearts#{{HalfHeart}} Heals half a heart minimum"}, -- Stem Cell [119] = {"119", "Stem Cell", "{{Heart}} Entering a new floor heals half of Isaac's empty Red/Bone Hearts#{{HalfHeart}} Heals half a heart minimum"}, -- Stem Cell
[125] = {"125", "Extension Cord", "Connects all familiars with beams of electricity#The beams deal 6 damage#Beams also arc between co-op players (including Jacob & Esau)"}, -- Extension Cord [125] = {"125", "Extension Cord", "Connects all familiars with beams of electricity#The beams deal 6 damage"}, -- Extension Cord
[128] = {"128", "Finger Bone", "{{EmptyBoneHeart}} Taking damage has a 4% chance to grant a Bone Heart"}, -- Finger Bone [128] = {"128", "Finger Bone", "{{EmptyBoneHeart}} Taking damage has a 4% chance to grant a Bone Heart"}, -- Finger Bone
[129] = {"129", "Jawbreaker", "{{Damage}} 10% chance to shoot teeth that deal 3.2x Isaac's damage#{{Luck}} 100% chance at 9 luck"}, -- Jawbreaker [129] = {"129", "Jawbreaker", "{{Damage}} 10% chance to shoot teeth that deal 3.2x Isaac's damage#{{Luck}} 100% chance at 9 luck"}, -- Jawbreaker
[130] = {"130", "Chewed Pen", "{{Slow}} 10% chance to shoot slowing tears#{{Luck}} 100% chance at 18 luck"}, -- Chewed Pen [130] = {"130", "Chewed Pen", "{{Slow}} 10% chance to shoot slowing tears#{{Luck}} 100% chance at 18 luck"}, -- Chewed Pen
@@ -983,7 +1004,7 @@ EID.descriptions[languageCode].tarotClothBuffs = {
[17] = {6, 12}, -- XVI - The Tower [17] = {6, 12}, -- XVI - The Tower
[18] = "If the Treasure Room hasn't been entered yet, it will have two items to choose from", -- XVII - The Stars [18] = "If the Treasure Room hasn't been entered yet, it will have two items to choose from", -- XVII - The Stars
[20] = {100, 400}, -- XIX - The Sun [20] = {100, 400}, -- XIX - The Sun
[21] = {" a ", " 2 ", " Beggar", " {{CR}}Beggars", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XX - Judgement [21] = {" a ", " 2 ", "Beggar ", "{{CR}}Beggars ", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XX - Judgement
[56] = "Drops Isaac's most recent 6 items alongside the pickups", -- 0 - The Fool? [56] = "Drops Isaac's most recent 6 items alongside the pickups", -- 0 - The Fool?
[59] = {2, 3}, -- III - The Empress? [59] = {2, 3}, -- III - The Empress?
[61] = {2, 3}, -- V - The Hierophant? [61] = {2, 3}, -- V - The Hierophant?
@@ -1300,40 +1321,93 @@ EID.descriptions[languageCode].ModdedRecipesWarningText = "Modded items could ma
-- Tables with one entry will completely replace the original description -- Tables with one entry will completely replace the original description
-- Tables with two or more entries are find-replace pairs -- Tables with two or more entries are find-replace pairs
local repConditions = { local repConditions = {
------ GENERAL STRINGS ------
["Tainted Revive"] = "{1} simply revives", ["Tainted Revive"] = "{1} simply revives",
["Ice Tears"] = "Freezing an enemy doesn't count as killing", -- Uranus Anti-Synergy
["5.100.135 (Hard Mode)"] = {"1-2 coins", "1 coin", "2-3 coins", "2 coins"}, -- IV Bag Hard Mode (modify the PHD text too) ------ GREED MODE ------
["5.100.344"] = {"{{BlackHeart}} +1 Black Heart#{{Bomb}} Spawns 3 bombs"}, -- Match Book (Greed)
["5.300.74"] = {"Teleports Isaac to the first room of the floor"}, -- The Moon? (Greed)
["5.100.416"] = {"{{Coin}} Increases the coin cap to 999"}, -- Deep Pockets (Greed)
["5.100.566"] = {"{{HalfSoulHeart}} +1 half Soul Heart when entering a new floor#!!! The stage transition nightmare shows the wrong items in Greed Mode"}, -- Dream Catcher (Greed)
["5.100.580"] = "{{GreedMode}} Can only rarely make special rooms in Greed Mode#{{SuperSecretRoom}} Can still help find the Super Secret Room", -- Red Key (Greed)
["5.300.83"] = "{{GreedMode}} Can only rarely make special rooms in Greed Mode#{{SuperSecretRoom}} Can still help find the Super Secret Room", -- Soul of Cain (Greed)
["5.100.514"] = {"Causes some enemies and projectiles to briefly pause at random intervals#Paused projectiles disappear"}, -- Broken Modem (Greed)
["5.350.162"] = {"{{Player7}} Clearing a wave has a 50% chance to turn the player into Azazel#{{Timer}} Effect lasts until clearing another wave"}, -- Azazel's Stump (Greed)
------ ACHIEVEMENT CHECKS ------
-- todo...
------ SPECIFIC CHARACTER SYNERGIES/CHANGES ------
["5.100.642"] = "Single use for {1}", -- Magic Skin + Lost ["5.100.642"] = "Single use for {1}", -- Magic Skin + Lost
["5.100.240"] = "{1} keeps the stat changes when he drops it", -- Experimental Treatment + Tainted Isaac ["5.100.240"] = "{1} keeps the stat changes when he drops it", -- Experimental Treatment + Tainted Isaac
["5.100.644"] = "{1} keeps the stat increase when he drops it", -- Consolation Prize + Tainted Isaac ["5.100.644"] = "{1} keeps the stat increase when he drops it", -- Consolation Prize + Tainted Isaac
["5.100.549"] = "{1} simply gets ↑ {{Tears}} +0.4 Fire rate on pickup", -- Brittle Bones (Keeper+Lost) ["5.100.549"] = "{1} simply gets ↑ {{Tears}} +0.4 Fire rate on pickup", -- Brittle Bones (Keeper+Lost)
["5.100.694"] = "Works for {1}, letting him survive 4 hits", -- Heartbreak + Losts ["5.100.694"] = "Works for {1}, letting him survive 4 hits", -- Heartbreak + Losts
["5.100.694 (Keeper)"] = "{1} gains 1 Broken Heart, fatal hits grant 1 Broken Heart, and he dies at 3 Broken Hearts", -- Heartbreak + Normal Keeper ["5.100.694 (Keeper)"] = "{1} gains 1 Broken Heart, fatal hits grant 1 Broken Heart, and he dies at 3 Broken Hearts", -- Heartbreak + Normal Keeper
["5.100.501"] = "{1} can gain additional coin containers#Health up items can grant an extra container per 25 coins", -- Greed's Gullet + Keeper
["5.100.694 (Tainted Keeper)"] = "{1} gains 1 Broken Heart and dies at 2 Broken Hearts#{{Warning}} {1} will die in one hit after taking this item", -- Heartbreak + Tainted Keeper ["5.100.694 (Tainted Keeper)"] = "{1} gains 1 Broken Heart and dies at 2 Broken Hearts#{{Warning}} {1} will die in one hit after taking this item", -- Heartbreak + Tainted Keeper
["5.100.201"] = "Refills {1}'s charge on pickup", -- Iron Bar + Notched Axe
["5.350.172"] = "{1} removes the teleportation effect", -- Cursed Penny + Black Candle
["5.100.188"] = "Deals 7.5 damage as {1}", -- Cain + Abel ["5.100.188"] = "Deals 7.5 damage as {1}", -- Cain + Abel
["5.100.360"] = "Deals 100% damage as {1}", -- Lilith + Incubus ["5.100.360"] = "Deals 100% damage as {1}", -- Lilith + Incubus
["5.100.501"] = "{1} can gain additional coin containers#Health up items can grant an extra container per 25 coins", -- Greed's Gullet (Health up bug) ["5.100.728"] = "Deals 100% damage as {1}", -- Lilith + Gello
["5.100.501 (Deep Pockets)"] = "+1 container for every 100 coins past 99", -- Greed's Gullet + Deep Pockets
["5.350.156"] = "+1 Coin container for {1}", -- Mother's Kiss ["5.350.156"] = "+1 Coin container for {1}", -- Mother's Kiss
["5.100.230 (Keeper)"] = "{1} is left with 1 coin container", -- Abaddon ["5.100.230 (Keeper)"] = "{1} is left with 1 coin container", -- Abaddon
["5.100.230 (Bethany)"] = "{1} is left with half a heart", -- Abaddon ["5.100.230 (Bethany)"] = "{1} is left with half a heart", -- Abaddon
["5.100.230 (Tainted Bethany)"] = "{1} doesn't lose her blood charges", -- Abaddon ["5.100.230 (Tainted Bethany)"] = "{1} doesn't lose her blood charges", -- Abaddon
["5.100.245"] = "Removes the fire rate penalty of {1}", -- 20/20 + Mutant Spider, The Inner Eye, Polyphemus
["5.100.245 (Keeper)"] = "Fire rate up and decreased tear spread for {1}", -- 20/20 + Keeper ["5.100.245 (Keeper)"] = "Fire rate up and decreased tear spread for {1}", -- 20/20 + Keeper
["20/20"] = "No fire rate penalty with {1}", -- 20/20 + Mutant Spider, The Inner Eye, Polyphemus
["5.100.705"] = "Temporary +1 damage up for each bullet/enemy", -- Dark Arts + Dark/Tainted Judas ["5.100.705"] = "Temporary +1 damage up for each bullet/enemy", -- Dark Arts + Dark/Tainted Judas
["5.100.205 (Tainted Magdalene)"] = "Allows infinite usage of Yum Heart", -- Sharp Plug + Tainted Magdalene ["5.100.205 (Tainted Magdalene)"] = "Allows infinite usage of Yum Heart", -- Sharp Plug + Tainted Magdalene
["Ice Tears"] = "Freezing an enemy doesn't count as killing", -- Uranus Anti-Synergy -- Vibrant/Dim Bulb
["5.350.100 (Bethany)"] = "Works with {1}'s soul charges",
["5.350.100 (Tainted Bethany)"] = "Works with {1}'s blood charges",
["5.350.101 (Bethany)"] = "Ignores {1}'s soul charges",
["5.350.101 (Tainted Bethany)"] = "Ignores {1}'s blood charges",
------ DUPLICATE COPIES OF ITEMS ------
["5.100.2 (Copies)"] = "Isaac fires 1 more tear#No additional stat decrease", -- The Inner Eye
["5.100.153 (Copies)"] = "Isaac fires 2 more tears#No additional stat decrease", -- Mutant Spider
["5.100.245 (Copies)"] = "Isaac fires 1 more tear#No additional stat decrease", -- 20/20
["5.100.358 (Copies)"] = "Isaac fires 1 more tear in the center", -- The Wiz
["5.100.64 (Copies)"] = "Owning this item multiple times reduces the price further", -- Steam Sale
["5.100.118 (Copies)"] = "Multiple Brimstones grant increased damage and a larger beam", -- Brimstone
["5.100.531 (Copies)"] = "Additional copies only give +1 damage", -- Haemolacria
["5.100.224 (Copies)"] = "Additional copies only give +0.5 fire rate", -- Cricket's Body
----- MISC. ITEM CONDITIONS ------
["Sacrificial Nugget"] = "Turns Brown Nugget turrets into coins",
["Sacrificial Item Wisps"] = "Familiars created by Lemegeton can be sacrificed#Turns all Lemegeton wisps into {{HalfSoulHeart}} half Soul Hearts",
["Sacrificial Plum"] = "The summoned Plum counts as a familiar, and doesn't remove Plum Flute",
["Sacrificial Quints"] = "If a Quints familiar is sacrificed, you lose Quints",
["Sacrificial Abyss"] = "Abyss Locusts count as familiars",
["Sacrificial Star"] = "Star of Bethlehem counts as a familiar",
["Sacrificial Clots"] = "Turns Clots into coins",
["1000.76.0"] = "{{Warning}} Only rerolls the character that activates the dice", -- Dice Room 1 (Co-op)
["1000.76.5"] = "{{Warning}} All characters' items will be rerolled in co-op!", -- Dice Room 6 (Co-op)
["5.100.45"] = "{{HalfHeart}} Heals other players for half a heart", -- Yum Heart (Co-Op) ["5.100.45"] = "{{HalfHeart}} Heals other players for half a heart", -- Yum Heart (Co-Op)
["5.350.125"] = "Beams also arc between players", -- Extension Cord (Co-Op)
["5.100.245"] = "Removes the fire rate penalty of {1}", -- 20/20 + Mutant Spider, The Inner Eye, Polyphemus
["20/20"] = "No fire rate penalty with {1}", -- 20/20 + Mutant Spider, The Inner Eye, Polyphemus
["5.100.135 (Hard Mode)"] = {"1-2 coins", "1 coin", "2-3 coins", "2 coins"}, -- IV Bag Hard Mode (modify the PHD text too)
["5.100.201"] = "Refills {1}'s charge on pickup", -- Iron Bar + Notched Axe
["5.350.172"] = "{1} removes the teleportation effect", -- Cursed Penny + Black Candle
["5.100.501 (Deep Pockets)"] = "+1 container for every 100 coins past 99", -- Greed's Gullet + Deep Pockets
["? Card Single Use"] = "Single use items can be used multiple times with ? Card", -- Single Use Actives + ? Card
["Both Peppers"] = "With {1}, base chance to shoot a flame is 12.5%, up to 100% at 7 luck", -- Ghost Pepper + Bird's Eye
["Black Feather"] = "↑ {{Damage}} +0.5 Damage", -- Black Feather items
["Hemoptysis"] = "Works with {1}", -- Hemoptysis + Brimstone items
["5.100.600"] = "x1.2 Fire rate multiplier for {1}", -- Eye Drops (items and some players)
["4.5 Volt Timed"] = "No effect on timed recharges", -- 4.5 Volt + Timed Recharges
["4.5 Volt Multiple"] = "Secondary active items only gain charge if the primary active is fully charged", -- 4.5 Volt + Schoolbag/Pocket Actives
["Bulb Zero"] = "Actives with 0 max charges don't count", -- Vibrant/Dim Bulb + zero charge actives
["5.100.344"] = {"{{BlackHeart}} +1 Black Heart#{{Bomb}} Spawns 3 bombs"}, -- Match Book (Greed)
["5.300.74"] = {"Teleports Isaac to the first room of the floor"}, -- The Moon? (Greed)
["5.100.416"] = {"{{Coin}} Increases the coin cap to 999"}, -- Deep Pockets (Greed)
} }
EID:updateDescriptionsViaTable(repConditions, EID.descriptions[languageCode].ConditionalDescs) EID:updateDescriptionsViaTable(repConditions, EID.descriptions[languageCode].ConditionalDescs)
+26 -15
View File
@@ -718,6 +718,7 @@ function EID:replaceShortMarkupStrings(text)
return text return text
end end
local VariantToColorText = { [100] = "{{ColorYellow}}", [350] = "{{ColorYellow}}", [300] = "{{ColorCard}}", [70] = "{{ColorPill}}" }
-- Replaces name markup objects with the actual name -- Replaces name markup objects with the actual name
function EID:replaceNameMarkupStrings(text) function EID:replaceNameMarkupStrings(text)
for word in string.gmatch(text, "{{Name.-}}") do for word in string.gmatch(text, "{{Name.-}}") do
@@ -737,21 +738,25 @@ function EID:replaceNameMarkupStrings(text)
table.insert(entityID, tonumber(e)) table.insert(entityID, tonumber(e))
end end
local iconText = "" local iconText = ""
if showIcon then local colorText = ""
if entityID[1] == 1 then iconText = "{{Player" .. entityID[3] .. "}} " if entityID[1] == 1 then
else iconText = "{{" .. EID:GetIconNameByVariant(entityID[2]) .. entityID[3] .. "}} " end if showIcon then iconText = "{{Player" .. entityID[3] .. "}} " end
colorText = "{{ColorIsaac}}"
else
if showIcon then iconText = "{{" .. EID:GetIconNameByVariant(entityID[2]) .. entityID[3] .. "}} " end
colorText = VariantToColorText[entityID[2]] or ""
end end
name = iconText .. EID:getObjectName(entityID[1], entityID[2], entityID[3]) name = iconText .. colorText .. EID:getObjectName(entityID[1], entityID[2], entityID[3]) .. "{{CR}}"
elseif indicator == "C" then -- Collectible elseif indicator == "C" then -- Collectible
name = (showIcon and "{{Collectible"..id.."}} " or "")..EID:getObjectName(5, 100, id) name = (showIcon and "{{Collectible"..id.."}} " or "") .. "{{ColorYellow}}" .. EID:getObjectName(5, 100, id) .. "{{CR}}"
elseif indicator == "T" then -- Trinket elseif indicator == "T" then -- Trinket
name = (showIcon and "{{Trinket"..id.."}} " or "")..EID:getObjectName(5, 350, id) name = (showIcon and "{{Trinket"..id.."}} " or "") .. "{{ColorYellow}}" .. EID:getObjectName(5, 350, id) .. "{{CR}}"
elseif indicator == "P" then -- Pills elseif indicator == "P" then -- Pills
name = (showIcon and "{{Pill"..id.."}} " or "")..EID:getPillName(id, false) name = (showIcon and "{{Pill"..id.."}} " or "") .. "{{ColorPill}}" .. EID:getPillName(id, false) .. "{{CR}}"
elseif indicator == "K" then -- Card elseif indicator == "K" then -- Card
name = (showIcon and "{{Card"..id.."}} " or "")..EID:getObjectName(5, 300, id) name = (showIcon and "{{Card"..id.."}} " or "") .. "{{ColorCard}}" .. EID:getObjectName(5, 300, id) .. "{{CR}}"
elseif indicator == "I" then -- Player (I for Isaac) elseif indicator == "I" then -- Player (I for Isaac)
name = (showIcon and "{{Player"..id.."}} " or "")..EID:getPlayerName(id) name = (showIcon and "{{Player"..id.."}} " or "") .. "{{ColorIsaac}}" .. EID:getPlayerName(id) .. "{{CR}}"
end end
text = string.gsub(text, word, name, 1) text = string.gsub(text, word, name, 1)
end end
@@ -997,15 +1002,19 @@ function EID:replaceAllMarkupWithSpaces(text, checkBulletpoint)
return "" return ""
end end
end end
-- iconsFound is used to make the next space after a markup icon be immune to line breaks, but only if it's just one icon with no other text
local iconsFound = 0; if text:gsub(" ", ""):gsub("{{.-}}","") ~= "" then iconsFound = -999 end
for word in string.gmatch(text, "{{.-}}") do for word in string.gmatch(text, "{{.-}}") do
local lookup = EID:getIcon(word) local lookup = EID:getIcon(word)
if lookup[1] ~= "ERROR" then if lookup[1] ~= "ERROR" then
text = string.gsub(text, word, EID:generatePlaceholderString(lookup[3]), 1) text = string.gsub(text, word, EID:generatePlaceholderString(lookup[3]), 1)
iconsFound = iconsFound + 1
else else
text = string.gsub(text, word, "", 1) text = string.gsub(text, word, "", 1)
end end
end end
return text return text, iconsFound
end end
-- Fits a given string to a specific width -- Fits a given string to a specific width
@@ -1013,8 +1022,8 @@ end
function EID:fitTextToWidth(str, textboxWidth, breakUtf8Chars) function EID:fitTextToWidth(str, textboxWidth, breakUtf8Chars)
local formattedLines = {} local formattedLines = {}
-- Lines with a {{NoLineBreak}} tag should be left in one continuous line -- Lines with a {{NoLineBreak}} tag should be left in one continuous line
if str:find("{{NoLineBreak}}") then if str:find("{{NoLineBreak}}") or str:find("{{NoLB}}") then
str = str:gsub("{{NoLineBreak}}","") str = str:gsub("{{NoLineBreak}}",""):gsub("{{NoLB}}","")
table.insert(formattedLines,str) table.insert(formattedLines,str)
return formattedLines return formattedLines
end end
@@ -1022,6 +1031,8 @@ function EID:fitTextToWidth(str, textboxWidth, breakUtf8Chars)
local text = {} local text = {}
-- the first word we run into might actually be a bulletpoint icon, which should be zero width -- the first word we run into might actually be a bulletpoint icon, which should be zero width
local isBulletpoint = true local isBulletpoint = true
-- if we find an icon by itself, we should skip the following space
local previousWordWasIcon = false
local cursor = 1 local cursor = 1
local word_begin_index = 1 local word_begin_index = 1
@@ -1088,11 +1099,11 @@ function EID:fitTextToWidth(str, textboxWidth, breakUtf8Chars)
-- we can break after str[cursor] -- we can break after str[cursor]
local word = sub(str, word_begin_index, cursor) local word = sub(str, word_begin_index, cursor)
local wordFiltered = EID:replaceAllMarkupWithSpaces(word, isBulletpoint) local wordFiltered, iconsFound = EID:replaceAllMarkupWithSpaces(word, isBulletpoint)
isBulletpoint = false isBulletpoint = false
local wordLength = EID:getStrWidth(wordFiltered) local wordLength = EID:getStrWidth(wordFiltered)
if curLength + wordLength <= textboxWidth or curLength < 17 then if curLength + wordLength <= textboxWidth or curLength < 17 or previousWordWasIcon then
table.insert(text, word) table.insert(text, word)
curLength = curLength + wordLength curLength = curLength + wordLength
else else
@@ -1100,7 +1111,7 @@ function EID:fitTextToWidth(str, textboxWidth, breakUtf8Chars)
text = { word } text = { word }
curLength = wordLength curLength = wordLength
end end
previousWordWasIcon = (iconsFound == 1)
-- next word starts here -- next word starts here
word_begin_index = cursor + 1 word_begin_index = cursor + 1
end end
+218 -112
View File
@@ -16,102 +16,76 @@ Argument 4: Optional table that can define a variety of different settings
]] ]]
-- General conditions ------ GENERAL CONDITIONS ------
-- Tarot Cloth (AB+ and Rep) (fallback to English because most are just find+replace) -- Tarot Cloth
if not EID.isRepentance then if not EID.isRepentance then
EID:AddItemConditional("5.300", 451, nil, {locTable = "tarotClothBuffsAB", replaceColor = "ColorShinyPurple", noFallback = false}) 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 else EID:AddItemConditional("5.300", 451, nil, {locTable = "tarotClothBuffs", replaceColor = "ColorShinyPurple", noFallback = false}) end
EID:AddItemConditional("5.100", 356, EID.CheckForCarBattery, {locTable = "carBattery", replaceColor = "BlinkYellowGreen", noFallback = false}) -- Car Battery
EID:AddItemConditional("5.100", 247, EID.CheckForBFFS, {locTable = "BFFSSynergies", replaceColor = "BlinkPink", noFallback = false}) -- BFFS!
-- IV Bag conditions (need to be applied in a specific order) -- Car Battery
EID:AddItemConditional(135, 75, "PHD") -- PHD improves IV Bag EID:AddItemConditional("5.100", 356, EID.CheckForCarBattery, {locTable = "carBattery", replaceColor = "BlinkYellowGreen", noFallback = false})
EID:AddPlayerConditional(135, 14, "Keeper 0-1") -- Keeper gets 0-1 coins EID:AddConditional(356, EID.CheckActivesForCarBattery, "No Effect") -- "No effect" text for Car Battery pedestal
if EID.isRepentance then EID:AddConditional(135, EID.IsHardMode, "Hard Mode") end -- Hard Mode pays out less
-- Greed Mode -- BFFS! / Hive Mind
-- "No effect" append EID:AddItemConditional({"5.100","5.350.54","5.350.57"}, 247, EID.CheckForBFFS, {locTable = "BFFSSynergies", replaceColor = "BlinkPink", noFallback = false})
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"}, 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 EID:AddConditional(247, EID.CheckFamiliarsForBFFS, "No Effect") -- "No effect" text for BFFS pedestal
EID:AddConditional({483, 535, "5.300.15", "5.300.19", "5.300.20"}, EID.IsGreedMode) -- Mama Mega, Blanket, Temperance, The Moon, The Sun
-- todo: isaac's fork; and maybe some other "room" effects that also work on wave clear could mention waves
-- change the "room clear reward" trinkets (like ace of spades) to not mention room clears
-- broken modem room clear duplication shouldn't be mentioned?
if EID.isRepentance then if EID.isRepentance then
EID:AddConditional({344, 416, "5.300.74"}, EID.IsGreedMode) -- Match Book, Deep Pockets, The Moon? 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:AddItemConditional("5.100", 248, EID.CheckForHiveMind, {locTable = "BFFSSynergies", replaceColor = "BlinkBlue", noFallback = false}) -- Hive Mind
EID:AddSynergyConditional(247, 248, "No Effect (Familiars)") -- Already having Hive Mind / BFFS!
end end
-- Different effect for No Red Health players -- Abyss, Birthright Book of Belial, Binge Eater
EID:AddConditional({442, "5.350.107", "5.350.119"}, function() return EID:CheckForNoRedHealthPlayer() end, "No Red") -- Dark Prince's Crown, Crow Heart, Stem Cell if EID.isRepentance then
EID:AddConditional(81, function() return EID:CheckForNoRedHealthPlayer() end) -- Dead Cat 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
end
-- Achievement checks (these always return true without REPENTOGON)
------ 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({483, 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")
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("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
-- Specific character synergies/changes
------ NO RED HEALTH PLAYERS ------
EID:AddConditional({442, "5.350.107", "5.350.119"}, EID.CheckForNoRedHealthPlayer, "No Red") -- Dark Prince's Crown, Crow Heart, Stem Cell
EID:AddConditional(81, EID.CheckForNoRedHealthPlayer) -- Dead Cat
if EID.isRepentance then
EID:AddConditional({569, 671, 676}, EID.CheckForNoRedHealthPlayer, "No Red") -- Blood Oath, Candy Heart, Empty Heart
EID:AddPlayerConditional({671, 676}, 14, "No Effect") -- Candy Heart / Empty Heart + Keeper
EID:AddPlayerConditional(676, 16, "No Effect", nil, false) -- Empty Heart + Forgotten (not Tainted)
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:AddPlayerConditional(549, { 10, 14 }) -- Keeper/Lost + Brittle Bones EID:AddPlayerConditional(549, { 10, 14 }) -- Keeper/Lost + Brittle Bones
EID:AddPlayerConditional(108, 14, "No Effect") -- Keeper + The Wafer EID:AddPlayerConditional(108, 14, "No Effect") -- Keeper + The Wafer
EID:AddPlayerConditional(227, 14, "Keeper 0-1") -- Keeper + Piggy Bank EID:AddPlayerConditional(227, 14, "Keeper 0-1") -- Keeper + Piggy Bank
EID:AddPlayerConditional(501, 14) -- Keeper + Greed's Gullet EID:AddPlayerConditional(501, 14) -- Keeper + Greed's Gullet
EID:AddPlayerConditional(230, 14, "Keeper") -- Keeper + Abaddon EID:AddPlayerConditional(230, 14, "Keeper") -- Keeper + Abaddon
EID:AddPlayerConditional(152, 2, "Technology 2 One Eye") -- Cain + Technology 2
-- 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:AddSynergyConditional({475, "5.300.46"}, {210}, "Suicide 1", "Suicide 2") -- Plan C + Gnawed Leaf
EID:AddSynergyConditional({475, "5.300.46"}, {276, 313}, "Suicide 1", "Suicide 2") -- Plan C, Suicide King + Isaac's Heart, Holy Mantle
EID:AddSynergyConditional(368, {69, 118, 316, 229, 395, 114, 329}, "Almost No Effect") -- Epiphora + Charge Shots / Ludovico
-- 9 Volt + 1 Room/Timed Charges
-- This got a bit complicated, since it looks at a trait of every collectible + you having another, but hey, it's compact
EID:AddConditional(116, function() return EID:CheckPlayersForActiveChargeType(1) end, "1 Room", { useResult = true })
EID:AddConditional(116, function() return EID:CheckPlayersForActiveChargeType(nil, 1) end, "Timed", { useResult = true })
EID:AddConditional("5.100", function(descObj) return EID:PlayersHaveCollectible(116) and EID:CheckActiveChargeType(descObj.ObjSubType, 1) end, "1 Room", { bulletpoint = "Collectible116" })
EID:AddConditional("5.100", function(descObj) return EID:PlayersHaveCollectible(116) and EID:CheckActiveChargeType(descObj.ObjSubType, nil, 1) end, "Timed", { bulletpoint = "Collectible116" })
-- Items that have no effect from multiple copies (AddSelfConditional adds it when holding Diplopia automatically)
-- 3 Dollar Bill,
EID:AddSelfConditional({191}, "No Effect (Copies)")
if not EID.isRepentance then
-- Anti-Gravity,
EID:AddSelfConditional({222}, "No Effect (Copies)")
end
if EID.isRepentance then if EID.isRepentance then
-- 2Spooky,
EID:AddSelfConditional({554}, "No Effect (Copies)")
end
-- Overridden / Overrides by Epic Fetus, Brimstone, Mom's Knife
-- Haven't done it yet but I'm sure preparing the system for it
-- Remember some of these will be AB+ only (not EID.isRepentance)
-- AB+ only conditionals
if not EID.isRepentance then
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
EID:AddConditional(208, function() return EID:IsHardMode() end) -- Champion Belt
end
-- Rep only conditionals
if EID.isRepentance then
-- General conditions
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
-- Co-op friendly items
-- todo: which? (extension cord)
EID:AddConditional(45, function() return EID:MultiplePlayerCharacters() end) -- Yum Heart
-- No red health
EID:AddConditional({569, 671, 676}, function() return EID:CheckForNoRedHealthPlayer() end, "No Red") -- Blood Oath, Candy Heart, Empty Heart
EID:AddPlayerConditional({671, 676}, 14, "No Effect") -- Candy Heart / Empty Heart + Keeper
EID:AddPlayerConditional(676, 16, "No Effect", nil, false) -- Empty Heart + Forgotten (not Tainted)
-- Tainted characters reviving as themselves -- Tainted characters reviving as themselves
EID:AddPlayerConditional({ 161, "5.350.28" }, 25, "Tainted Revive") -- Ankh, Broken Ankh EID:AddPlayerConditional({ 161, "5.350.28" }, 25, "Tainted Revive") -- Ankh, Broken Ankh
EID:AddPlayerConditional(311, 24, "Tainted Revive") -- Judas's Shadow EID:AddPlayerConditional(311, 24, "Tainted Revive") -- Judas's Shadow
@@ -121,7 +95,7 @@ if EID.isRepentance then
-- Specific character synergies/changes -- Specific character synergies/changes
EID:AddPlayerConditional("5.350.1", 14, "Keeper 0-1") -- Keeper + Swallowed Penny EID:AddPlayerConditional("5.350.1", 14, "Keeper 0-1") -- Keeper + Swallowed Penny
EID:AddPlayerConditional(188, 2) -- Cain + Abel EID:AddPlayerConditional(188, 2) -- Cain + Abel
EID:AddPlayerConditional(360, 13) -- Incubus + Lilith EID:AddPlayerConditional({ 360, 728 }, 13) -- Incubus/Gello + Lilith
EID:AddPlayerConditional({ 240, 644 }, 21) -- Tainted Isaac + Experimental Treatment, Consolation Prize EID:AddPlayerConditional({ 240, 644 }, 21) -- Tainted Isaac + Experimental Treatment, Consolation Prize
EID:AddPlayerConditional({ 642, 694 }, 10) -- Lost + Magic Skin, Heartbreak EID:AddPlayerConditional({ 642, 694 }, 10) -- Lost + Magic Skin, Heartbreak
EID:AddPlayerConditional(694, 14, "Keeper", nil, false) -- Keeper + Heartbreak EID:AddPlayerConditional(694, 14, "Keeper", nil, false) -- Keeper + Heartbreak
@@ -132,50 +106,182 @@ if EID.isRepentance then
EID:AddPlayerConditional(245, 14, "Keeper") -- 20/20 + Keeper EID:AddPlayerConditional(245, 14, "Keeper") -- 20/20 + Keeper
EID:AddPlayerConditional(705, { 12, 24 }) -- Dark Arts + Dark/Tainted Judas EID:AddPlayerConditional(705, { 12, 24 }) -- Dark Arts + Dark/Tainted Judas
EID:AddPlayerConditional(205, 22, "Tainted Magdalene")-- Tainted Magdalene + Sharp Plug 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
end
------ DUPLICATE COPIES OF ITEMS ------
-- Items that have no effect from multiple copies (AddSelfConditional adds it when holding Diplopia 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
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 -----
-- huge TODO here, a lot of AB+ only ones too
if not EID.isRepentance then
end
if EID.isRepentance then
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") -- PHD improves IV Bag
EID:AddPlayerConditional(135, 14, "Keeper 0-1") -- Keeper gets 0-1 coins
if EID.isRepentance then EID:AddConditional(135, EID.IsHardMode, "Hard Mode") 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.CheckForMultipleActives, "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: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
-- 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
-- todo: what items have a cool co-op synergy?
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 -- Item Synergies
EID:AddItemConditional(201, 147) -- Iron Bar refills Notched Axe EID:AddItemConditional(201, 147) -- Iron Bar refills Notched Axe
EID:AddItemConditional("5.350.172", 260) -- Black Candle + Cursed Penny EID:AddItemConditional("5.350.172", 260) -- Black Candle + Cursed Penny
EID:AddItemConditional(501, 416) -- Greed's Gullet + Deep Pockets 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(245, { 2, 153, 169 }, nil, "20/20") -- 20/20 + The Inner Eye, Mutant Spider, Polyphemus
EID:AddSynergyConditional(330, 561, "Overridden", "Overrides") -- Soy Milk + Almond Milk
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
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: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: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
-- 9 Volt, Sharp Plug + Special Charge Actives -- eye drops + passives like brimstone go here but there's a lot of them
EID:AddConditional({116, 205}, function() return EID:CheckPlayersForActiveChargeType(nil, 2) end, "Can't Charge", { useResult = true }) EID:AddPlayerConditional(600, {2, 7, 13, 16}) -- Eye Drops + Cain, Azazel, Lilith, Forgotten
EID:AddConditional("5.100", function(descObj) return EID:PlayersHaveCollectible(116) and EID:CheckActiveChargeType(descObj.ObjSubType, nil, 2) end, "Can't Be Charged", { bulletpoint = "Collectible116", variableText = "{{NameOnlyC116}}" }) EID:AddSynergyConditional(152, {708, 444}, "Technology 2 One Eye") -- Technology 2 + Stapler, Lead Pencil
EID:AddConditional("5.100", function(descObj) return EID:PlayersHaveCollectible(205) and EID:CheckActiveChargeType(descObj.ObjSubType, nil, 2) end, "Can't Be Charged", { bulletpoint = "Collectible205", variableText = "{{NameOnlyC205}}" })
end end
--[[ --[[
TODO STUFF: BUURAZU'S TODO STUFF:
Overridden / Overrides (Brimstone, Mom's Knife, Epic Fetus stuff)
Co-op benefit items (not sure what they are tbh)
Spoiler achievement descriptions (plus a config setting possibly, to always show the spoilers) (Chaos Card and Plan C?)
BFFs / Hive Mind + Tainted Apollyon, Tainted Eve, Tainted Lilith; melody trinket + Tainted Eve/Lilith; these are insane synergies that deserve attention
Maybe a find/replace pair for some Keeper descriptions that talk about Red hearts but work for him, Red -> Coin or Red/Coin; Could be good for Dead Cat. or just leave it be
Crystal Key + Pandora's Box should be moved here? Or leave it in modifiers
Are Blank Card + Placebo + Clear Rune ready to get moved to here now that I have good ways to return values?
Jacob's Ladder synergies with other battery items (I didn't even know about this)
Bean synergies with ghost pepper/bird's eye
Car Battery / BFFS whitelist for showing certain lines on the car/bffs pedestal, not just "No effect"
Implement a system where similar texts don't get shown multiple times in one apply conditionals function (hive minds/bffs)
hallowed ground / midas touch + the poop / card against humanity / everything jar synergies
Add Void synergy information for some active items (which?) (warn on things like mom's box you don't get double trinket power?)
TODOS I'VE DECIDED NOT TODO RIGHT NOW:
Incubus effects; a lot are AB+ only; annoying to test; plus Lilith has to be added for all of them too
TODOs unrelated to conditionals:
Luck modifier that prints out a percentage for the effect based on your current luck stat
Glyph of Balance prediction in Item Reminder?
Purity's current stat boost, if possible
Implement the standardized colors for characters, items, map names, etc
Character info tab in item reminder
Make Glitched Crown type pedestals work better in EID (pause on one item and press tab to switch to the next item)
Don't show Void stat ups depending on what Void has absorbed (abyss absorbed = no void stat ups etc, reroll item = might become actives)
Wild Card vurp-like desc modifier
MAYBE SOME DAYS:
Bag of Crafting "sort by recipe nearest completion in bag" option
no recipes mode could suggest ingredient replacement (replace: {lowest}->{highest})
super bum shouldn't count duplicate progress
Add a background or something to overlapping local descs
Pre-cache an entity's description in some way before even looking at them using coroutines
Reorganize eid_api better, maybe split it in two, shouldn't the api only contain functions other modders would use?
Make api functions for conditionals/other new features I've made that might be difficult for modders to approach
"Add golden trinket / mom's box / is rune / is card / placebo recharge / false phd info for mods to add in EID:addCard/Pill?" - did most of these happen?
check the actual github wiki, i've never looked at that, maybe I should update that some time
As eid_modifiers' usefulness dwindles, maybe it should add its modifiers like how external mods would add them
new config options for spoiler-heavy descriptions if we make any (chaos card and plan C?)
CO-OP BENEFIT ITEMS! tech zero / extension cord in co-op? yum heart and such
Items that override other items (brimstone, mom's knife, epic fetus stuff)
BFFs / the fly booster + Tainted Apollyon, Tainted Eve; melody trinket + Tainted Eve; these are insane synergies that deserve attention
TODO: Make some of these coll/char IDs be from the enum for readability? or just keep it to comments
TODO: A find/replace pair for some Keeper descriptions that talk about Red hearts but work for him, Red -> Coin or Red/Coin; Could be good for Dead Cat. or just leave it be
-- hey what if all these Luck addons that I kinda don't like instead showed an accurate percentage of what they do at your current luck (although this is Modifier territory, with a per character display) (might be annoying though)
-- todo: TrinketConditional, use it for the crystal key + pandora's box or whichever key it is, and Black Feather items maybe (leave the damage calc to modifiers, but we can append text to black feather items)
-- todo: Vibrant/Dim Bulb + doesn't work with pocket consumables
-- todo: idk about the BFFs synergy stuff but I noticed that Brown Nugget is incorrectly dealt with, it gained double damage in rep
-- hive mind and BFFs synergy has a lot of overlap also, need a data list of hivemind familiars
-- brown nugget + sacrificial altar in AB+?!
-- ? Card + single use actives in Repentance? Alabaster Box. is there a way to detect an active is a single-use active or do we need a hardcode list?
-- unrelated to conditionals: Glyph of Balance prediction in Item Reminder?
-- Jacob's Ladder synergies with other battery items (I didn't even know about this)
-- Bean actives synegies with ghost pepper/bird's eye
-- todo: head of krampus damage (needs rep version), shoop da whoop damage / tick count (differs by 1 in repentance lol ok), head of krampus car battery, rep car battery
-- Greed Mode useless World card, Moon warps to super secret, Glyph of Balance very bad in AB+ (removed from Greed in rep), Blanket bad, Deep Pockets bad
car battery "no effect" items (also apply this as a synergy where car battery has no effect text, and other bad synergies, based on your active)
-- overall todo: remove "tick" language from all descriptions; Lil brimstone, black powder, black hole
Cain + items that close his eyes? mostly AB+ only?
Pandora's Box achievement check if moving box is unlocked find replace that with "nothing"
]] ]]
+112 -46
View File
@@ -7,6 +7,7 @@ local game = Game()
If you're adding a condition that applies to an entire type of item, pass in a string in Type.Var format If you're adding a condition that applies to an entire type of item, pass in a string in Type.Var format
Argument 2: The function that will apply the condition if it returns true; descObj will be passed into this function Argument 2: The function that will apply the condition if it returns true; descObj will be passed into this function
This function can return a collectible ID, which will be used for bulletpoints/variable text
Argument 3 (optional): Additional text for finding the string in the localization file Argument 3 (optional): Additional text for finding the string in the localization file
For example, if you put "Overridden" here, modifying Tech X, it will look for ConditionalDescs["5.100.395 (Overridden)"] AND ConditionalDescs["Overridden"] For example, if you put "Overridden" here, modifying Tech X, it will look for ConditionalDescs["5.100.395 (Overridden)"] AND ConditionalDescs["Overridden"]
@@ -20,22 +21,30 @@ local game = Game()
replaceColor: Find/replace text will be highlighted with this color replaceColor: Find/replace text will be highlighted with this color
bulletpoint: Appended lines will begin with this bulletpoint bulletpoint: Appended lines will begin with this bulletpoint
noFallback: Don't fallback to English if this isn't localized; by default, conditionals don't fallback, to avoid printing English text in unupdated languages noFallback: Don't fallback to English if this isn't localized; by default, conditionals don't fallback, to avoid printing English text in unupdated languages
useResult: The condition function can return a collectible ID; if true, use that ID to generate bulletpoint/variable text. This is to be able to use specific collectible icons/names while using more general modded-item-friendly conditions usePedestalName: If true, display the pedestal item's name in place of {1}
Argument 5 (very optional): The position in the table to insert this new condition, in case mods want to insert modifiers before our base ones Argument 5 (very optional): The position in the table to insert this new condition, in case mods want to insert modifiers before our base ones
]] ]]
local function CopyTable(t1)
local newTable = {}; for k, v in pairs(t1) do newTable[k] = v end
return newTable
end
function EID:AddConditional(IDs, funcText, modText, extraTable, insertPoint) function EID:AddConditional(IDs, funcText, modText, extraTable, insertPoint)
if type(IDs) ~= "table" then IDs = { IDs } end if type(IDs) ~= "table" then IDs = { IDs } end
if modText == "" then modText = nil end if modText == "" then modText = nil end
extraTable = extraTable or {} extraTable = extraTable or {}
-- make a shallow copy of the passed-in table if extraTable.noFallback == nil then extraTable.noFallback = true end
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end
newTable.func = funcText;
newTable.modifierText = modText;
if newTable.noFallback == nil then newTable.noFallback = true end
for _, id in ipairs(IDs) do for _, id in ipairs(IDs) do
if type(id) ~= "string" then id = "5.100." .. id end if type(id) ~= "string" then id = "5.100." .. id end
EID.DescriptionConditions[id] = EID.DescriptionConditions[id] or {} EID.DescriptionConditions[id] = EID.DescriptionConditions[id] or {}
local newTable = CopyTable(extraTable)
newTable.func = funcText;
newTable.modifierText = modText;
if newTable.usePedestalName then
newTable.variableText = "{{NameOnly" .. id .. "}}"
end
if insertPoint then if insertPoint then
table.insert(EID.DescriptionConditions[id], insertPoint, newTable) table.insert(EID.DescriptionConditions[id], insertPoint, newTable)
else else
@@ -48,13 +57,14 @@ end
-- By default, they'll have a bulletpoint for the item/char, and {1} becomes the item/char's name -- By default, they'll have a bulletpoint for the item/char, and {1} becomes the item/char's name
-- checkInReminder is for if a synergy is no longer relevant once the item isn't obtainable (e.g. Abyss locusts) (true by default) -- checkInReminder is for if a synergy is no longer relevant once the item isn't obtainable (e.g. Abyss locusts) (true by default)
function EID:AddItemConditional(IDs, ownedIDs, modText, extraTable, checkInReminder) function EID:AddItemConditional(IDs, ownedIDs, modText, extraTable, checkInReminder)
if type(ownedIDs) ~= "table" then ownedIDs = { ownedIDs } end if type(ownedIDs) ~= "table" then ownedIDs = { ownedIDs } end
if checkInReminder == nil then checkInReminder = true end if checkInReminder == nil then checkInReminder = true end
extraTable = extraTable or {} extraTable = extraTable or {}
for _, ownedID in ipairs(ownedIDs) do for _, ownedID in ipairs(ownedIDs) do
EID.collectiblesToCheck[ownedID] = true EID.collectiblesToCheck[ownedID] = true
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end local newTable = CopyTable(extraTable)
local tvs = ownedID; if type(ownedID) == "number" then tvs = "5.100." .. ownedID end local tvs = ownedID; if type(ownedID) == "number" then tvs = "5.100." .. ownedID end
if newTable.variableText == nil then newTable.variableText = "{{NameOnly" .. tvs .. "}}" end if newTable.variableText == nil then newTable.variableText = "{{NameOnly" .. tvs .. "}}" end
@@ -69,14 +79,23 @@ function EID:AddSynergyConditional(IDs, ownedIDs, modText1, modText2, extraTable
EID:AddItemConditional(IDs, ownedIDs, modText1, extraTable1, checkInReminder) EID:AddItemConditional(IDs, ownedIDs, modText1, extraTable1, checkInReminder)
EID:AddItemConditional(ownedIDs, IDs, modText2 or modText1, extraTable2 or extraTable1, checkInReminder) EID:AddItemConditional(ownedIDs, IDs, modText2 or modText1, extraTable2 or extraTable1, checkInReminder)
end end
-- For adding a synergy pair where the same item name should be used for the descriptions of both sides of it
-- e.g. Sacrificial Altar synergies are displayed on both the Altar and the familiar, but only the familiar's name matters
function EID:AddOneSidedSynergyConditional(IDs, ownedIDs, modText, extraTable, checkInReminder)
extraTable = extraTable or {}
local newTable = CopyTable(extraTable)
newTable.usePedestalName = true
EID:AddItemConditional(IDs, ownedIDs, modText, newTable, checkInReminder)
EID:AddItemConditional(ownedIDs, IDs, modText, extraTable, checkInReminder)
end
-- For adding a conditional that looks at owning itself; item reminder is of course disabled -- For adding a conditional that looks at owning itself; item reminder is of course disabled
-- Holding Diplopia should probably also trigger this type of conditional, so it's included by default -- Holding Diplopia or Crooked Penny should probably also trigger this type of conditional, so it's included by default
function EID:AddSelfConditional(ownedIDs, modText, extraTable, includeDiplopia) function EID:AddSelfConditional(ownedIDs, modText, extraTable, includeDiplopia)
if type(ownedIDs) ~= "table" then ownedIDs = { ownedIDs } end if type(ownedIDs) ~= "table" then ownedIDs = { ownedIDs } end
if includeDiplopia == nil then includeDiplopia = true end if includeDiplopia == nil then includeDiplopia = true end
for _, ownedID in ipairs(ownedIDs) do for _, ownedID in ipairs(ownedIDs) do
if includeDiplopia then EID:AddItemConditional(ownedID, {ownedID, 347}, modText, extraTable, false) if includeDiplopia then EID:AddItemConditional(ownedID, {ownedID, 347, 485}, modText, extraTable, false)
else EID:AddItemConditional(ownedID, ownedID, modText, extraTable, false) end else EID:AddItemConditional(ownedID, ownedID, modText, extraTable, false) end
end end
end end
@@ -87,7 +106,7 @@ function EID:AddPlayerConditional(IDs, charIDs, modText, extraTable, includeTain
if includeTainted == nil then includeTainted = true end if includeTainted == nil then includeTainted = true end
extraTable = extraTable or {} extraTable = extraTable or {}
for _, charID in ipairs(charIDs) do for _, charID in ipairs(charIDs) do
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end local newTable = CopyTable(extraTable)
if newTable.variableText == nil then newTable.variableText = "{{NameOnlyI" .. charID .. "}}" end if newTable.variableText == nil then newTable.variableText = "{{NameOnlyI" .. charID .. "}}" end
if newTable.bulletpoint == nil then newTable.bulletpoint = "Player" .. charID end if newTable.bulletpoint == nil then newTable.bulletpoint = "Player" .. charID end
EID:AddConditional(IDs, function() return EID:ConditionalCharCheck(charID, includeTainted) end, modText, newTable) EID:AddConditional(IDs, function() return EID:ConditionalCharCheck(charID, includeTainted) end, modText, newTable)
@@ -102,8 +121,8 @@ function EID:ConditionalItemCheck(itemID, checkInReminder)
if not checkInReminder then return false end if not checkInReminder then return false end
local player = EID.ItemReminderPlayerEntity local player = EID.ItemReminderPlayerEntity
if EID:PlayerHasItem(player, itemID) or EID:PlayerVoidedCollectible(player, itemID) then return true end if EID:PlayerHasItem(player, itemID) or EID:PlayerVoidedCollectible(player, itemID) then return true end
else elseif EID.collectiblesOwned[itemID] or EID.collectiblesAbsorbed[itemID] then
return EID.collectiblesOwned[itemID] or EID.collectiblesAbsorbed[itemID] return true
end end
end end
@@ -129,18 +148,18 @@ function EID:IsGreedModePlusTarot()
return game:IsGreedMode() and EID:ConditionalItemCheck(451, true) return game:IsGreedMode() and EID:ConditionalItemCheck(451, true)
end end
function EID:PlayersHaveRestock()
return EID:PlayersHaveCollectible(376) or EID:IsGreedMode()
end
function EID:IsHardMode() function EID:IsHardMode()
if game.Difficulty == 1 or game.Difficulty == 3 then return game.Difficulty == 1 or game.Difficulty == 3
return true
else
return false
end
end end
-- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat -- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat
function EID:CheckForNoRedHealthPlayer() function EID:CheckForNoRedHealthPlayer()
if EID.InsideItemReminder then if EID.InsideItemReminder then
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player local player = EID.ItemReminderPlayerEntity
return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()]
else else
for i = 0, game:GetNumPlayers() - 1 do for i = 0, game:GetNumPlayers() - 1 do
@@ -153,30 +172,65 @@ function EID:CheckForNoRedHealthPlayer()
return false return false
end end
function EID:CheckForCarBattery(descObj) -- Check if we have characters with Schoolbag or a pocket active item
if EID.CarBatteryNoSynergy[descObj.ObjSubType] then return "No Effect" function EID:CheckForMultipleActives(onlyChargeablePockets)
else return descObj.ObjSubType end if EID.InsideItemReminder then
end local player = EID.ItemReminderPlayerEntity
if player:HasCollectible(534) then return true end
function EID:CheckForBFFS(descObj) local id = player:GetPlayerType()
local config = EID.itemConfig:GetCollectible(descObj.ObjSubType) if EID.isRepentance and (EID.PocketActivePlayerIDs[id] == 0 or (not onlyChargeablePockets and EID.PocketActivePlayerIDs[id])) then return true end
-- Check for no effect, then the table of synergies (will we end up not doing the defualt "double damage" text?) else
if EID.BFFSNoSynergy[descObj.ObjSubType] then return "No Effect" end for i = 0, game:GetNumPlayers() - 1 do
local player = Isaac.GetPlayer(i)
if config ~= nil and config.Type == ItemType.ITEM_FAMILIAR then if player:HasCollectible(534) then return true end
return descObj.fullItemString local id = player:GetPlayerType()
if EID.isRepentance and (EID.PocketActivePlayerIDs[id] == 0 or (not onlyChargeablePockets and EID.PocketActivePlayerIDs[id])) then return true end
end
end end
return false
end
-- Check if we have characters with Schoolbag or a chargeable pocket active item (for 4.5 Volt)
function EID:CheckForMultipleChargeableActives()
return EID:CheckForMultipleActives(true)
end
-- When we have Car Battery, change active pedestal descriptions
function EID:CheckForCarBattery(descObj)
if EID.CarBatteryNoSynergy[descObj.ObjSubType] then return "No Effect" end
return descObj.ObjSubType
end
-- When we're looking at a Car Battery pedestal, check our actives for having no effect
function EID:CheckActivesForCarBattery(descObj)
if EID.InsideItemReminder then return false end
for k,_ in pairs(EID.CarBatteryNoSynergy) do
if EID:PlayersHaveCollectible(k) then return k end
end
return false
end
-- When we have BFFS/Hive Mind, change familiar pedestal descriptions
function EID:CheckForBFFS(descObj)
if descObj.ObjVariant == 100 and EID.BFFSNoSynergy[descObj.ObjSubType] then return "No Effect" end
return descObj.fullItemString
end
function EID:CheckForHiveMind(descObj)
if EID.HiveMindFamiliars[descObj.ObjSubType] then return EID:CheckForBFFS(descObj) end
return "N/A" return "N/A"
end end
function EID:CheckForHiveMind(descObj) -- When we're looking at a BFFS pedestal, check our familiars for having no effect (only finds the earliest one, but whatever)
if EID.HiveMindFamiliars[descObj.ObjSubType] then return descObj.fullItemString end function EID:CheckFamiliarsForBFFS(descObj)
return "N/A" if EID.InsideItemReminder then return false end
for k,_ in pairs(EID.BFFSNoSynergy) do
if EID:PlayersHaveCollectible(k) then return k end
end
return false
end end
-- Check for a player having an active item with a specific quantity of charges, or charge type -- Check for a player having an active item with a specific quantity of charges, or charge type
-- 0 = normal, 1 = timed, 2 = special -- 0 = normal, 1 = timed, 2 = special
function EID:CheckPlayersForActiveChargeType(maxCharge, chargeType) function EID:CheckPlayersForActiveChargeType(maxCharge, chargeType, checkPockets)
checkPockets = checkPockets or true
local players = {} local players = {}
if EID.InsideItemReminder then if EID.InsideItemReminder then
players[1] = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player players[1] = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
@@ -185,22 +239,31 @@ function EID:CheckPlayersForActiveChargeType(maxCharge, chargeType)
table.insert(players, Isaac.GetPlayer(i)) table.insert(players, Isaac.GetPlayer(i))
end end
end end
local maxSlot = EID.isRepentance and 1 or 0
if EID.isRepentance and checkPockets then maxSlot = 3 end
for i = 1, #players do for i = 1, #players do
local player = players[i] local player = players[i]
for j = 0, EID.isRepentance and 3 or 0 do for j = 0, maxSlot do
local activeID = player:GetActiveItem(j) local activeID = player:GetActiveItem(j)
if EID:CheckActiveChargeType(activeID, maxCharge, chargeType) then return activeID end if EID:CheckActiveChargeType(activeID, maxCharge, chargeType) then return activeID end
end end
end end
return false return false
end end
function EID:CheckActiveChargeType(itemID, maxCharge, chargeType) -- Check the given item ID for the given max charge and/or charge type (as well as check if the players have the additional collectible ID provided)
local active = EID.itemConfig:GetCollectible(itemID) function EID:CheckActiveChargeType(itemID, maxCharge, chargeType, requiredCollectible)
if active then if requiredCollectible == nil or EID:ConditionalItemCheck(requiredCollectible) then
if active.MaxCharges == maxCharge and active.ChargeType ~= 2 then return true local active = EID.itemConfig:GetCollectible(itemID)
elseif EID.isRepentance and active.ChargeType == chargeType then return true if active and active.Type == ItemType.ITEM_ACTIVE then
elseif not EID.isRepentance and chargeType == 1 and active.MaxCharges >= 30 then return true end local result = true
if maxCharge and active.MaxCharges ~= maxCharge then result = false end
if EID.isRepentance then
if chargeType and active.ChargeType ~= chargeType then result = false end
else
if chargeType == 1 and active.MaxCharges < 30 then result = false end
end
return result
end
end end
return false return false
end end
@@ -251,9 +314,10 @@ end
function EID:applyConditionals(descObj) function EID:applyConditionals(descObj)
EID:CheckPlayersCollectibles() EID:CheckPlayersCollectibles()
local adjustedSubtype = EID:getAdjustedSubtype(descObj.ObjType, descObj.ObjVariant, descObj.ObjSubType)
local typeVar = descObj.ObjType.."."..descObj.ObjVariant -- for general conditions (Tarot Cloth, Book of Virtues) local typeVar = descObj.ObjType.."."..descObj.ObjVariant -- for general conditions (Tarot Cloth, Book of Virtues)
local typeVarSub = descObj.fullItemString -- for specific conditions local typeVarSub = descObj.ObjType.."."..descObj.ObjVariant.."."..adjustedSubtype -- for specific conditions
-- Combine specific+generic conditions into one table (in that order) -- Combine specific+generic conditions into one table (in that order)
local conds = {} local conds = {}
if EID.DescriptionConditions[typeVarSub] then TableConcat(conds, EID.DescriptionConditions[typeVarSub]) end if EID.DescriptionConditions[typeVarSub] then TableConcat(conds, EID.DescriptionConditions[typeVarSub]) end
@@ -279,10 +343,12 @@ function EID:applyConditionals(descObj)
end end
-- If we find the localization string for this condition, and it passes the test, modify the description text -- If we find the localization string for this condition, and it passes the test, modify the description text
local result = cond.func(descObj) local result = cond.func(EID, descObj)
if text ~= nil and result then if text ~= nil and result then
local variableText, bulletpoint local variableText, bulletpoint
if cond.useResult then -- If the condition returned a value, use that value
if result ~= true then
-- For the time being, we assume the result was a collectible number (will support more soon)
variableText = "{{NameOnlyC"..result.."}}" variableText = "{{NameOnlyC"..result.."}}"
bulletpoint = "Collectible"..result bulletpoint = "Collectible"..result
else else
+18 -6
View File
@@ -709,7 +709,8 @@ EID.InlineColors = {
["ColorBagOverfill"] = KColor(1, 0.5, 0.1, 0.6), ["ColorBagOverfill"] = KColor(1, 0.5, 0.1, 0.6),
["ColorIsaac"] = KColor(0.89, 0.776, 0.773, 1), ["ColorIsaac"] = KColor(0.89, 0.776, 0.773, 1),
["ColorTaintedIsaac"] = KColor(0.812, 0.612, 0.608, 1), ["ColorCard"] = KColor(0.815, 0.651, 0.494, 1), -- actually taken from Ouija Board, real card brown would be too dark for descriptions
["ColorPill"] = KColor(0.306, 0.651, 0.851, 1),
-- Swag Colors -- Swag Colors
-- Rainbow color effect -- Rainbow color effect
@@ -731,11 +732,19 @@ EID.InlineColors = {
local c = EID.InlineColors local c = EID.InlineColors
return SwagColors({c["ColorYellow"], c["ColorRed"]}) return SwagColors({c["ColorYellow"], c["ColorRed"]})
end, end,
-- Silver to gray, for Black Feather?
["BlinkGray"] = function(_)
local c = EID.InlineColors
return SwagColors({c["ColorGray"], c["ColorSilver"]})
end,
-- Pink for BFFs <3, the two shades come from Nancy Bombs and Eraser -- Pink for BFFs <3, the two shades come from Nancy Bombs and Eraser
["BlinkPink"] = function(_) ["BlinkPink"] = function(_)
local c = EID.InlineColors
return SwagColors({KColor(1, 0.698, 0.886, 1), KColor(1, 0.5, 1, 1)}) return SwagColors({KColor(1, 0.698, 0.886, 1), KColor(1, 0.5, 1, 1)})
end, end,
-- Blue for Hive Mind, the two shades come from Hive Mind
["BlinkBlue"] = function(_)
return SwagColors({KColor(0.341, 0.529, 0.906, 1), KColor(0.592, 0.717, 0.937, 1)})
end,
-- Shiny purple color effect -- Shiny purple color effect
["ColorShinyPurple"] = function(_) ["ColorShinyPurple"] = function(_)
return SwagColors({KColor(0.812, 0.627, 1, 1), KColor(0.62, 0.251, 1, 1)}, 40) return SwagColors({KColor(0.812, 0.627, 1, 1), KColor(0.62, 0.251, 1, 1)}, 40)
@@ -933,7 +942,7 @@ if EID.isRepentance then
EID.CarBatteryNoSynergy[323] = false -- Isaac's Tears EID.CarBatteryNoSynergy[323] = false -- Isaac's Tears
EID.CarBatteryNoSynergy[386] = false -- D12 EID.CarBatteryNoSynergy[386] = false -- D12
EID.CarBatteryNoSynergy[421] = true -- Kidney Bean EID.CarBatteryNoSynergy[421] = true -- Kidney Bean
EID.CarBatteryNoSynergy[522] = false -- Telekinesis TODO: REPENTANCE DIFFERENCES IN MAIN DESC TOO EID.CarBatteryNoSynergy[522] = false -- Telekinesis
EID.CarBatteryNoSynergy[523] = true -- Moving Box EID.CarBatteryNoSynergy[523] = true -- Moving Box
-- Repentance actives -- Repentance actives
EID.CarBatteryNoSynergy[555] = true; EID.CarBatteryNoSynergy[577] = true; EID.CarBatteryNoSynergy[578] = true; EID.CarBatteryNoSynergy[580] = true; EID.CarBatteryNoSynergy[555] = true; EID.CarBatteryNoSynergy[577] = true; EID.CarBatteryNoSynergy[578] = true; EID.CarBatteryNoSynergy[580] = true;
@@ -949,6 +958,7 @@ EID.BFFSNoSynergy = { [10] = true, [11] = true, [81] = true, [178] = true, [238]
if EID.isRepentance then if EID.isRepentance then
EID.BFFSNoSynergy[178] = false -- Holy Water EID.BFFSNoSynergy[178] = false -- Holy Water
EID.BFFSNoSynergy[276] = false -- Isaac's Heart EID.BFFSNoSynergy[276] = false -- Isaac's Heart
EID.BFFSNoSynergy[325] = true -- Scissors
EID.BFFSNoSynergy[405] = true -- GB Bug EID.BFFSNoSynergy[405] = true -- GB Bug
EID.BFFSNoSynergy[467] = false -- Finger! EID.BFFSNoSynergy[467] = false -- Finger!
EID.BFFSNoSynergy[504] = false -- Brown Nugget EID.BFFSNoSynergy[504] = false -- Brown Nugget
@@ -959,12 +969,14 @@ if EID.isRepentance then
end end
-- Familiars that count for Hive Mind in Repentance (although it could give them No Effect if it just increases size) -- Familiars that count for Hive Mind in Repentance (although it could give them No Effect if it just increases size)
EID.HiveMindFamiliars = { [10] = true, [57] = true, [128] = true, [170] = true, [264] = true, [272] = true, [274] = true, [279] = true, [320] = true, [364] = true, [365] = true, [403] = true, [426] = true, [430] = true, [504] = true, [511] = true, [575] = true, [581] = true, [629] = true, } EID.HiveMindFamiliars = { [10] = true, [57] = true, [128] = true, [170] = true, [264] = true, [272] = true, [274] = true, [279] = true, [320] = true, [364] = true, [365] = true, [403] = true, [426] = true, [430] = true, [504] = true, [511] = true, [575] = true, [581] = true, [629] = true, [649] = true, [650] = true, [706] = true, }
-- Tainted character's respective normal version ID, for conditionals that apply to both versions of the character -- Tainted character's respective normal version ID, for conditionals that apply to both versions of the character
-- To help with other character pairs, Esau = Jacob, Dead Tainted Lazarus = Tainted Lazarus, Tainted Soul = Tainted Forgotten -- To help with other character pairs, Esau = Jacob, Dead Tainted Lazarus = Tainted Lazarus, Tainted Soul = Tainted Forgotten
EID.TaintedToRegularID = { [20] = 19, [21] = 0, [22] = 1, [23] = 2, [24] = 3, [25] = 4, [26] = 5, [27] = 6, [28] = 7, [29] = 8, [30] = 9, [31] = 10, [32] = 13, EID.TaintedToRegularID = { [20] = 19, [21] = 0, [22] = 1, [23] = 2, [24] = 3, [25] = 4, [26] = 5, [27] = 6, [28] = 7, [29] = 8, [30] = 9, [31] = 10, [32] = 13,
[33] = 14, [34] = 15, [35] = 16, [36] = 18, [37] = 19, [38] = 29, [39] = 37, [40] = 35 } [33] = 14, [34] = 15, [35] = 16, [36] = 18, [37] = 19, [38] = 29, [39] = 37, [40] = 35 }
-- Player IDs of Tainted characters, might be useful for something
EID.TaintedIDs = {}; for i = 21, 40 do EID.TaintedIDs[i] = true end
-- Character IDs that are Soul/Black Hearts only: ???, The Lost, The Soul -- Character IDs that are Soul/Black Hearts only: ???, The Lost, The Soul
EID.NoRedHeartsPlayerIDs = { [4] = true, [10] = true, [17] = true } EID.NoRedHeartsPlayerIDs = { [4] = true, [10] = true, [17] = true }
@@ -972,8 +984,8 @@ if EID.isRepentance then
-- ???, The Lost, Black Judas, The Soul, Tainted Judas, Tainted ???, Tainted Lost, Tainted Forgotten, Tainted Bethany, Tainted Soul -- ???, 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 } EID.NoRedHeartsPlayerIDs = { [4] = true, [10] = true, [12] = true, [17] = true, [24] = true, [25] = true, [31] = true, [35] = true, [36] = true, [40] = true }
end end
-- Character IDs that have a pocket active -- Character IDs that have a pocket active (0 = normal, 1 = timed, 2 = special)
EID.PocketActivePlayerIDs = { [22] = true, [23] = true, [24] = true, [25] = true, [26] = true, [29] = true, [34] = true, [36] = true, [37] = true, [38] = true, [39] = true } EID.PocketActivePlayerIDs = { [22] = 0, [23] = 2, [24] = 1, [25] = 2, [26] = 1, [29] = 0, [34] = 0, [36] = 0, [37] = 1, [38] = 0, [39] = 1 }
-- Cards that don't work with Blank Card in Repentance (Note: ? Card is blacklisted here, don't use this for determining what is a card) -- Cards that don't work with Blank Card in Repentance (Note: ? Card is blacklisted here, don't use this for determining what is a card)
EID.blankCardHidden = {[32]=true,[33]=true,[34]=true,[35]=true,[36]=true,[37]=true,[38]=true,[39]=true,[40]=true,[41]=true,[48]=true,[49]=true,[50]=true,[55]=true,[78]=true,[81]=true,[82]=true,[83]=true,[84]=true,[85]=true,[86]=true,[87]=true,[88]=true,[89]=true,[90]=true,[91]=true,[92]=true,[93]=true,[94]=true,[95]=true,[96]=true,[97]=true,} EID.blankCardHidden = {[32]=true,[33]=true,[34]=true,[35]=true,[36]=true,[37]=true,[38]=true,[39]=true,[40]=true,[41]=true,[48]=true,[49]=true,[50]=true,[55]=true,[78]=true,[81]=true,[82]=true,[83]=true,[84]=true,[85]=true,[86]=true,[87]=true,[88]=true,[89]=true,[90]=true,[91]=true,[92]=true,[93]=true,[94]=true,[95]=true,[96]=true,[97]=true,}
+2 -1
View File
@@ -246,7 +246,8 @@ function EID:VoidRoomCheck()
(not EID.isRepentance or pickup.OptionsPickupIndex == 0 or EID.VoidOptionIndexes[pickup.OptionsPickupIndex] == nil) then (not EID.isRepentance or pickup.OptionsPickupIndex == 0 or EID.VoidOptionIndexes[pickup.OptionsPickupIndex] == nil) then
numRunable = numRunable + 1 numRunable = numRunable + 1
if EID.isRepentance then EID.VoidOptionIndexes[pickup.OptionsPickupIndex] = entity.SubType end if EID.isRepentance then EID.VoidOptionIndexes[pickup.OptionsPickupIndex] = entity.SubType end
if (EID.itemConfig:GetCollectible(entity.SubType).Type ~= ItemType.ITEM_ACTIVE) then -- Moving Box (523) is counted as a passive item
if (EID.itemConfig:GetCollectible(entity.SubType).Type ~= ItemType.ITEM_ACTIVE or entity.SubType == 523) then
numVoidable = numVoidable + 1 numVoidable = numVoidable + 1
else else
table.insert(activesAbsorbed, entity.SubType) table.insert(activesAbsorbed, entity.SubType)
+1 -1
View File
@@ -232,7 +232,7 @@ local function BlackFeatherCallback(descObj)
local isGolden = EID.isRepentance and ((descObj.ObjSubType & TrinketType.TRINKET_GOLDEN_FLAG) == TrinketType.TRINKET_GOLDEN_FLAG) local isGolden = EID.isRepentance and ((descObj.ObjSubType & TrinketType.TRINKET_GOLDEN_FLAG) == TrinketType.TRINKET_GOLDEN_FLAG)
local base = EID.isRepentance and 0.5 or 0.2 local base = EID.isRepentance and 0.5 or 0.2
local damageMultiplied = base * itemCounter * (hasBox and 2 or 1) * (isGolden and 2 or 1) local damageMultiplied = base * itemCounter * (hasBox and 2 or 1) * (isGolden and 2 or 1)
local dmgColor = (hasBox or isGolden) and "ColorGold" or "ColorLime" local dmgColor = itemCounter == 0 and "CR" or (hasBox or isGolden) and "ColorGold" or "BlinkGray"
local description = EID:getDescriptionEntry("BlackFeatherInformation") local description = EID:getDescriptionEntry("BlackFeatherInformation")
description, _ = EID:ReplaceVariableStr(description, 1, tostring(itemCounter)) description, _ = EID:ReplaceVariableStr(description, 1, tostring(itemCounter))