Fix Tarot Cloth Rep modifiers + Car Battery overhaul (#675)
* Tarot Cloth Rep fix, Car Battery updates * oops I readded detailed * oops I readded detailed * Less full replaces in tarot cloth table * oops bad copypaste * Finished AB+ car battery * Car Battery rep check in progress * Yum Heart co-op * Car Battery in progress * Finish Car Battery, add Isaac color * Move the functions out * Add files via upload * No effect * Finished Car Battery synergies * some Greed conditionals * some Greed conditionals * fix Black Feather in AB+ * move the apply function * Greed conds + move apply func
This commit is contained in:
1 parent
6c79d567ff
commit
2ae25e6752
6 files changed
+552
-401
No files matched your search
+82
-40
@@ -69,7 +69,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"46", "Lucky Foot", "↑ {{Luck}} +1 Luck#+8% room clear reward chance#Better chance to win while gambling"}, -- Lucky Foot
|
{"46", "Lucky Foot", "↑ {{Luck}} +1 Luck#+8% room clear reward chance#Better chance to win while gambling"}, -- Lucky Foot
|
||||||
{"47", "Doctor's Remote", "{{Collectible168}} On use, start aiming a crosshair#A missile lands on the crosshair after 1.5 seconds#Deals 20x Isaac's damage"}, -- Doctor's Remote
|
{"47", "Doctor's Remote", "{{Collectible168}} On use, start aiming a crosshair#A missile lands on the crosshair after 1.5 seconds#Deals 20x Isaac's damage"}, -- Doctor's Remote
|
||||||
{"48", "Cupid's Arrow", "Piercing tears"}, -- Cupid's Arrow
|
{"48", "Cupid's Arrow", "Piercing tears"}, -- Cupid's Arrow
|
||||||
{"49", "Shoop da Whoop!", "{{Collectible118}} Using the item and shooting in a direction fires a high damage beam"}, -- Shoop da Whoop!
|
{"49", "Shoop da Whoop!", "{{Collectible118}} Using the item and shooting in a direction fires a beam#It deals 26x Isaac's damage over 0.9 seconds"}, -- Shoop da Whoop!
|
||||||
{"50", "Steven", "↑ {{Damage}} +1 Damage"}, -- Steven
|
{"50", "Steven", "↑ {{Damage}} +1 Damage"}, -- Steven
|
||||||
{"51", "Pentagram", "↑ {{Damage}} +1 Damage#{{AngelDevilChance}} +10% Devil/Angel Room chance"}, -- Pentagram
|
{"51", "Pentagram", "↑ {{Damage}} +1 Damage#{{AngelDevilChance}} +10% Devil/Angel Room chance"}, -- Pentagram
|
||||||
{"52", "Dr. Fetus", "↓ {{Tears}} x2.5 Tear delay multiplier#{{Bomb}} Isaac shoots bombs instead of tears#{{Damage}} Those bombs deal 5x Isaac's damage + 30"}, -- Dr. Fetus
|
{"52", "Dr. Fetus", "↓ {{Tears}} x2.5 Tear delay multiplier#{{Bomb}} Isaac shoots bombs instead of tears#{{Damage}} Those bombs deal 5x Isaac's damage + 30"}, -- Dr. Fetus
|
||||||
@@ -131,14 +131,14 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"108", "The Wafer", "Reduces most damage taken to half a heart"}, -- The Wafer
|
{"108", "The Wafer", "Reduces most damage taken to half a heart"}, -- The Wafer
|
||||||
{"109", "Money = Power", "↑ {{Damage}} +0.04 Damage for every {{Coin}} coin Isaac has"}, -- Money = Power
|
{"109", "Money = Power", "↑ {{Damage}} +0.04 Damage for every {{Coin}} coin Isaac has"}, -- Money = Power
|
||||||
{"110", "Mom's Contacts", "↑ {{Range}} +0.25 Range#↑ +0.5 Tear height#20% chance to shoot petrifying tears#{{Luck}} 50% chance at 20 luck"}, -- Mom's Contacts
|
{"110", "Mom's Contacts", "↑ {{Range}} +0.25 Range#↑ +0.5 Tear height#20% chance to shoot petrifying tears#{{Luck}} 50% chance at 20 luck"}, -- Mom's Contacts
|
||||||
{"111", "The Bean", "{{Poison}} Farts a poison cloud#The fart deals 5 damage to enemies and poisons them#The poison deals Isaac's damage 6 times"}, -- The Bean
|
{"111", "The Bean", "{{Poison}} Deals 5 damage and poisons any enemies nearby#The poison deals Isaac's damage 6 times"}, -- The Bean
|
||||||
{"112", "Guardian Angel", "Orbital#Speeds up all other orbitals#Blocks projectiles#Deals 105 contact damage per second"}, -- Guardian Angel
|
{"112", "Guardian Angel", "Orbital#Speeds up all other orbitals#Blocks projectiles#Deals 105 contact damage per second"}, -- Guardian Angel
|
||||||
{"113", "Demon Baby", "Shoots enemies that get close to him#Deals 3 damage per tear"}, -- Demon Baby
|
{"113", "Demon Baby", "Shoots enemies that get close to him#Deals 3 damage per tear"}, -- Demon Baby
|
||||||
{"114", "Mom's Knife", "Isaac's tears are replaced by a throwable knife#{{Damage}} The knife deals 2x Isaac's damage while held and 6x at the furthest possible distance"}, -- Mom's Knife
|
{"114", "Mom's Knife", "Isaac's tears are replaced by a throwable knife#{{Damage}} The knife deals 2x Isaac's damage while held and 6x at the furthest possible distance"}, -- Mom's Knife
|
||||||
{"115", "Ouija Board", "Spectral tears"}, -- Ouija Board
|
{"115", "Ouija Board", "Spectral tears"}, -- Ouija Board
|
||||||
{"116", "9 Volt", "{{Battery}} Automatically charges the first bar of active items#{{Battery}} Fully recharges the active item on pickup"}, -- 9 Volt
|
{"116", "9 Volt", "{{Battery}} Automatically charges the first bar of active items#{{Battery}} Fully recharges the active item on pickup"}, -- 9 Volt
|
||||||
{"117", "Dead Bird", "Getting hit spawns a bird#The bird deals 4.3 contact damage per second"}, -- Dead Bird
|
{"117", "Dead Bird", "Getting hit spawns a bird#The bird deals 4.3 contact damage per second"}, -- Dead Bird
|
||||||
{"118", "Brimstone", "↓ {{Tears}} x3 Tear delay multiplier#{{Chargeable}} Isaac's tears are replaced by a chargeable blood beam"}, -- Brimstone
|
{"118", "Brimstone", "↓ {{Tears}} x3 Tear delay multiplier#{{Chargeable}} Isaac's tears are replaced by a chargeable blood beam#It deals 13x Isaac's damage over 0.9 seconds"}, -- Brimstone
|
||||||
{"119", "Blood Bag", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.3 Speed#{{Heart}} Heals 4 hearts"}, -- Blood Bag
|
{"119", "Blood Bag", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.3 Speed#{{Heart}} Heals 4 hearts"}, -- Blood Bag
|
||||||
{"120", "Odd Mushroom (Thin)", "↑ {{Speed}} +0.3 Speed#↑ {{Tears}} +1.7 Tears#↓ {{Damage}} x0.9 Damage multiplier#↓ {{Damage}} -0.4 Damage"}, -- Odd Mushroom (Thin)
|
{"120", "Odd Mushroom (Thin)", "↑ {{Speed}} +0.3 Speed#↑ {{Tears}} +1.7 Tears#↓ {{Damage}} x0.9 Damage multiplier#↓ {{Damage}} -0.4 Damage"}, -- Odd Mushroom (Thin)
|
||||||
{"121", "Odd Mushroom (Large)", "↑ {{EmptyHeart}} +1 Empty heart container#↑ {{Damage}} +0.3 Damage#↑ {{Range}} +0.25 Range#↑ +0.5 Tear height#↓ {{Speed}} -0.1 Speed"}, -- Odd Mushroom (Large)
|
{"121", "Odd Mushroom (Large)", "↑ {{EmptyHeart}} +1 Empty heart container#↑ {{Damage}} +0.3 Damage#↑ {{Range}} +0.25 Range#↑ +0.5 Tear height#↓ {{Speed}} -0.1 Speed"}, -- Odd Mushroom (Large)
|
||||||
@@ -172,7 +172,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"149", "Ipecac", "↑ {{Damage}} +40 Damage#↓ {{Tears}} Tears down#Isaac's tears are fired in an arc#{{Poison}} The tears explode and poison enemies where they land"}, -- Ipecac
|
{"149", "Ipecac", "↑ {{Damage}} +40 Damage#↓ {{Tears}} Tears down#Isaac's tears are fired in an arc#{{Poison}} The tears explode and poison enemies where they land"}, -- Ipecac
|
||||||
{"150", "Tough Love", "{{Damage}} 10% chance to shoot teeth that deal 3.2x Isaac's damage#{{Luck}} 100% chance at 9 luck"}, -- Tough Love
|
{"150", "Tough Love", "{{Damage}} 10% chance to shoot teeth that deal 3.2x Isaac's damage#{{Luck}} 100% chance at 9 luck"}, -- Tough Love
|
||||||
{"151", "The Mulligan", "Hitting an enemy with a tear has a 1/6 chance to spawn a fly"}, -- The Mulligan
|
{"151", "The Mulligan", "Hitting an enemy with a tear has a 1/6 chance to spawn a fly"}, -- The Mulligan
|
||||||
{"152", "Technology 2", "↓ {{Tears}} x2 Tear delay multiplier#↓ {{Damage}} x0.65 Damage multiplier#Replaces Isaac's right eye tears with a continuous laser#{{Damage}} The laser deals 20% of Isaac's damage per tick"}, -- Technology 2
|
{"152", "Technology 2", "↓ {{Tears}} x2 Tear delay multiplier#↓ {{Damage}} x0.65 Damage multiplier#Replaces Isaac's right eye tears with a continuous laser#{{Damage}} The laser deals 3x Isaac's damage per second"}, -- Technology 2
|
||||||
{"153", "Mutant Spider", "↓ {{Tears}} Tears down#Isaac shoots 4 tears at once"}, -- Mutant Spider
|
{"153", "Mutant Spider", "↓ {{Tears}} Tears down#Isaac shoots 4 tears at once"}, -- Mutant Spider
|
||||||
{"154", "Chemical Peel", "↑ {{Damage}} +2 Damage for the left eye"}, -- Chemical Peel
|
{"154", "Chemical Peel", "↑ {{Damage}} +2 Damage for the left eye"}, -- Chemical Peel
|
||||||
{"155", "The Peeper", "Floats around the room#Deals 17.1 contact damage per second"}, -- The Peeper
|
{"155", "The Peeper", "Floats around the room#Deals 17.1 contact damage per second"}, -- The Peeper
|
||||||
@@ -228,7 +228,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"205", "Sharp Plug", "{{Battery}} Using an uncharged active item fully recharges it at the cost of 2 hearts#Only works when item has no charges"}, -- Sharp Plug
|
{"205", "Sharp Plug", "{{Battery}} Using an uncharged active item fully recharges it at the cost of 2 hearts#Only works when item has no charges"}, -- Sharp Plug
|
||||||
{"206", "Guillotine", "↑ {{Tears}} -1 Tear delay#↑ {{Damage}} +1 Damage#Isaac's head becomes an orbital that shoots, doesn't take damage and deals 105 contact damage per second"}, -- Guillotine
|
{"206", "Guillotine", "↑ {{Tears}} -1 Tear delay#↑ {{Damage}} +1 Damage#Isaac's head becomes an orbital that shoots, doesn't take damage and deals 105 contact damage per second"}, -- Guillotine
|
||||||
{"207", "Ball of Bandages", "Lv1: Orbital#{{Charm}} Lv2: Orbital that shoots charmed tears#{{Charm}} Lv3: Bandage Girl#{{Charm}} Lv4: Super Bandage Girl"}, -- Ball of Bandages
|
{"207", "Ball of Bandages", "Lv1: Orbital#{{Charm}} Lv2: Orbital that shoots charmed tears#{{Charm}} Lv3: Bandage Girl#{{Charm}} Lv4: Super Bandage Girl"}, -- Ball of Bandages
|
||||||
{"208", "Champion Belt", "↑ {{Damage}} +1 Damage#+15% chance for champion enemies"}, -- Champion Belt
|
{"208", "Champion Belt", "↑ {{Damage}} +1 Damage#Champion enemy chance goes from 5% to 20%#Doesn't increase chance of champion bosses"}, -- Champion Belt
|
||||||
{"209", "Butt Bombs", "{{Bomb}} +5 Bombs#{{Confusion}} Explosions concuss and damage every enemy in the room"}, -- Butt Bombs
|
{"209", "Butt Bombs", "{{Bomb}} +5 Bombs#{{Confusion}} Explosions concuss and damage every enemy in the room"}, -- Butt Bombs
|
||||||
{"210", "Gnawed Leaf", "Standing still for 1 second makes Isaac invincible"}, -- Gnawed Leaf
|
{"210", "Gnawed Leaf", "Standing still for 1 second makes Isaac invincible"}, -- Gnawed Leaf
|
||||||
{"211", "Spiderbaby", "Taking damage spawns 1-2 blue spiders"}, -- Spiderbaby
|
{"211", "Spiderbaby", "Taking damage spawns 1-2 blue spiders"}, -- Spiderbaby
|
||||||
@@ -313,7 +313,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"290", "The Jar", "{{Heart}} Picking up Red Hearts while at full health stores up to 4 of them in the Jar#Using the item drops all stored hearts on the floor"}, -- The Jar
|
{"290", "The Jar", "{{Heart}} Picking up Red Hearts while at full health stores up to 4 of them in the Jar#Using the item drops all stored hearts on the floor"}, -- The Jar
|
||||||
{"291", "Flush!", "Turns all non-boss enemies into poop#Instantly kills poop enemies and bosses"}, -- Flush!
|
{"291", "Flush!", "Turns all non-boss enemies into poop#Instantly kills poop enemies and bosses"}, -- Flush!
|
||||||
{"292", "Satanic Bible", "{{BlackHeart}} +1 Black Heart"}, -- Satanic Bible
|
{"292", "Satanic Bible", "{{BlackHeart}} +1 Black Heart"}, -- Satanic Bible
|
||||||
{"293", "Head of Krampus", "{{Collectible118}} Shoot a 4-way blood beam"}, -- Head of Krampus
|
{"293", "Head of Krampus", "{{Collectible118}} Shoot a 4-way blood beam#They each deal 440 damage over 1.33 seconds"}, -- Head of Krampus
|
||||||
{"294", "Butter Bean", "Knocks back nearby enemies and projectiles#10% chance to turn into the stronger {{Collectible484}} Wait What? when swapping it with a different active item and picking it up again"}, -- Butter Bean
|
{"294", "Butter Bean", "Knocks back nearby enemies and projectiles#10% chance to turn into the stronger {{Collectible484}} Wait What? when swapping it with a different active item and picking it up again"}, -- Butter Bean
|
||||||
{"295", "Magic Fingers", "Deals 2x Isaac's damage to all enemies#{{Coin}} Costs 1 coin"}, -- Magic Fingers
|
{"295", "Magic Fingers", "Deals 2x Isaac's damage to all enemies#{{Coin}} Costs 1 coin"}, -- Magic Fingers
|
||||||
{"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
|
||||||
@@ -503,7 +503,7 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"478", "Pause", "Pauses all enemies in the room until Isaac shoots#Touching a paused enemy still deals damage to Isaac#Enemies unpause after 30 seconds"}, -- Pause
|
{"478", "Pause", "Pauses all enemies in the room until Isaac shoots#Touching a paused enemy still deals damage to Isaac#Enemies unpause after 30 seconds"}, -- Pause
|
||||||
{"479", "Smelter", "{{Trinket}} Consumes Isaac's held trinkets and grants their effects permanently#Increases the spawn rate of trinkets"}, -- Smelter
|
{"479", "Smelter", "{{Trinket}} Consumes Isaac's held trinkets and grants their effects permanently#Increases the spawn rate of trinkets"}, -- Smelter
|
||||||
{"480", "Compost", "Converts pickups into blue flies or spiders#Doubles all blue flies and spiders#Spawns 1 blue fly or spider if Isaac has none"}, -- Compost
|
{"480", "Compost", "Converts pickups into blue flies or spiders#Doubles all blue flies and spiders#Spawns 1 blue fly or spider if Isaac has none"}, -- Compost
|
||||||
{"481", "Dataminer", "↑ Random stat up#↓ Random stat down#{{Timer}} Random tear effect for the room#{{Blank}} Corrupts all sprites and music in the room"}, -- Dataminer
|
{"481", "Dataminer", "↑ Random stat up#↓ Random stat down#{{Timer}} Random tear effects for the room#{{Blank}} Corrupts all sprites and music in the room"}, -- Dataminer
|
||||||
{"482", "Clicker", "Changes your character to a random character#Removes the most recent item collected"}, -- Clicker
|
{"482", "Clicker", "Changes your character to a random character#Removes the most recent item collected"}, -- Clicker
|
||||||
{"483", "Mama Mega!", "{{Warning}} SINGLE USE {{Warning}}#Affects the whole floor#Explodes all objects#Deals 200 damage to all enemies#Opens the door to Boss Rush, Hush and all secret rooms#Having a golden bomb when using the item consumes it and allows for another use of Mama Mega"}, -- Mama Mega!
|
{"483", "Mama Mega!", "{{Warning}} SINGLE USE {{Warning}}#Affects the whole floor#Explodes all objects#Deals 200 damage to all enemies#Opens the door to Boss Rush, Hush and all secret rooms#Having a golden bomb when using the item consumes it and allows for another use of Mama Mega"}, -- Mama Mega!
|
||||||
{"484", "Wait What?", "Upon use, pushes enemies away and spawns a rock wave around Isaac#The rock wave can open rooms and break rocks"}, -- Wait What?
|
{"484", "Wait What?", "Upon use, pushes enemies away and spawns a rock wave around Isaac#The rock wave can open rooms and break rocks"}, -- Wait What?
|
||||||
@@ -567,43 +567,80 @@ EID.descriptions[languageCode].collectibles={
|
|||||||
{"542", "Slipped Rib", "Orbital#Reflects enemy projectiles"}, -- Slipped Rib
|
{"542", "Slipped Rib", "Orbital#Reflects enemy projectiles"}, -- Slipped Rib
|
||||||
{"543", "Hallowed Ground", "Taking damage spawns a white poop#While inside the poop's aura:#↑ {{Tears}} x0.5 Tear delay multiplier#Chance to block damage"}, -- Hallowed Ground
|
{"543", "Hallowed Ground", "Taking damage spawns a white poop#While inside the poop's aura:#↑ {{Tears}} x0.5 Tear delay multiplier#Chance to block damage"}, -- Hallowed Ground
|
||||||
{"544", "Pointy Rib", "Levitates in front of Isaac#Deals 6x Isaac's damage per second"}, -- Pointy Rib
|
{"544", "Pointy Rib", "Levitates in front of Isaac#Deals 6x Isaac's damage per second"}, -- Pointy Rib
|
||||||
{"545", "Book of the Dead", "Spawns a bone orbital or charmed bony per enemy killed in the room"}, -- Book of the Dead
|
{"545", "Book of the Dead", "Spawns a bone orbital or charmed bony per enemy killed in the room (up to 8)"}, -- Book of the Dead
|
||||||
{"546", "Dad's Ring", "Grants an aura that petrifies enemies"}, -- Dad's Ring
|
{"546", "Dad's Ring", "Grants an aura that petrifies enemies"}, -- Dad's Ring
|
||||||
{"547", "Divorce Papers", "↑ {{Tears}} +0.7 Tears#{{EmptyBoneHeart}} +1 Bone Heart#{{Trinket21}} Spawns the Mysterious Paper trinket"}, -- Divorce Papers
|
{"547", "Divorce Papers", "↑ {{Tears}} +0.7 Tears#{{EmptyBoneHeart}} +1 Bone Heart#{{Trinket21}} Spawns the Mysterious Paper trinket"}, -- Divorce Papers
|
||||||
{"548", "Jaw Bone", "Boomerang-like familiar#Deals 7 contact damage#Can grab and bring back pickups"}, -- Jaw Bone
|
{"548", "Jaw Bone", "Boomerang-like familiar#Deals 7 contact damage#Can grab and bring back pickups"}, -- Jaw Bone
|
||||||
{"549", "Brittle Bones", "{{EmptyBoneHeart}} Replaces all of Isaac's Red Heart containers with 6 empty Bone Hearts#Upon losing a Bone Heart:#↑ {{Tears}} +0.5 Tears#Shoots 8 bone tears in all directions"}, -- Brittle Bones
|
{"549", "Brittle Bones", "{{EmptyBoneHeart}} Replaces all of Isaac's Red Heart containers with 6 empty Bone Hearts#Upon losing a Bone Heart:#↑ {{Tears}} +0.5 Tears#Shoots 8 bone tears in all directions"}, -- Brittle Bones
|
||||||
{"550", "Broken Shovel", "Mom's Foot constantly tries to stomp Isaac#Using the item stops the stomping for the room#{{Warning}} (Try to beat Boss Rush with it!)"}, -- Broken Shovel
|
{"550", "Broken Shovel", "Mom's Foot constantly tries to stomp Isaac#Using the item stops the stomping for the room (or one Boss Rush wave)#{{Warning}} (Try to beat Boss Rush with it!)"}, -- Broken Shovel
|
||||||
{"551", "Broken Shovel", "Completes Mom's Shovel#{{Warning}} Use the shovel on the mound of dirt in the \"Dark Room\""}, -- Broken Shovel
|
{"551", "Broken Shovel", "Completes Mom's Shovel#{{Warning}} Use the shovel on the mound of dirt in the \"Dark Room\""}, -- Broken Shovel
|
||||||
{"552", "Mom's Shovel", "Spawns a trapdoor to the next floor#10% chance for {{LadderRoom}} crawlspace trapdoor#{{Warning}} Use the shovel on the mound of dirt in the \"Dark Room\""}, -- Mom's Shovel
|
{"552", "Mom's Shovel", "Spawns a trapdoor to the next floor#10% chance for {{LadderRoom}} crawlspace trapdoor#{{Warning}} Use the shovel on the mound of dirt in the \"Dark Room\""}, -- Mom's Shovel
|
||||||
}
|
}
|
||||||
|
|
||||||
---------- Modifiers ----------
|
---------- Modifiers ----------
|
||||||
|
|
||||||
-- Effect of Car battery on Active Items
|
-- Effect of Car Battery on Active Items
|
||||||
-- these all need way more consistency with the original effect text and spellchecking
|
|
||||||
EID.descriptions[languageCode].carBattery = {
|
EID.descriptions[languageCode].carBattery = {
|
||||||
[58] = "Lasts 20 seconds", -- Book of Shadows
|
["No Effect"] = "No effect",
|
||||||
[66] = "Lasts 16 seconds", -- The Hourglass
|
[35] = {40, 80}, -- The Necronomicon
|
||||||
[77] = "Lasts 12 seconds", -- My Little Unicorn
|
[37] = { " a ", " 2 ", "bomb", "{{CR}}bombs" }, -- Mr. Boom
|
||||||
[93] = "Lasts 13 seconds", -- The Gamekid
|
[38] = {10, 20}, -- Tammy's Head
|
||||||
[111] = "Deals twice the damage", -- The Bean
|
[45] = {1, 2, "heart", "{{CR}}hearts"}, -- Yum Heart
|
||||||
[124] = "Triggers two effects", -- Dead Sea Scrolls
|
[58] = {10, 20}, -- Book of Shadows
|
||||||
[145] = "Spawns 4-7 blue flies", -- Guppy's Head
|
[65] = {6, 12}, -- Anarchist's Cookbook
|
||||||
[171] = "Deals 10 additional damage", -- Spider Butt
|
[66] = {8, 16}, -- The Hourglass
|
||||||
[293] = "Doubles the beam's damage", -- Head of Krampus
|
[77] = {6, 12}, -- My Little Unicorn
|
||||||
[298] = "Lasts 12 seconds", -- Unicorn Stump
|
[78] = {1, 2}, -- Book of Revelations
|
||||||
[351] = "Deals twice the damage", -- Mega Bean
|
[83] = {1, 2}, -- The Nail
|
||||||
[383] = "Split splitted tears -> 6x more tears", -- Tear Detonator
|
[85] = {1, 2, "card", "{{CR}}cards"}, -- Deck of Cards
|
||||||
[421] = "Deals twice the damage", -- Kidney Bean
|
[86] = {120, 240}, -- Monstro's Tooth
|
||||||
[427] = "Spawns two TNT barrels", -- Mine Crafter
|
[93] = {6.5, 13}, -- The Gamekid
|
||||||
[477] = "Activates every absorbed item twice", -- Void
|
[97] = {" a ", " 2 ", "pickup", "{{CR}}pickups"}, -- The Book of Sin
|
||||||
[482] = "Change the character twice and remove two items", -- Clicker
|
[102] = {1, 2, "pill", "{{CR}}pills"}, -- Mom's Bottle of Pills
|
||||||
[485] = "25% chance to quadruple items and pickups, 75% chance to remove them", -- Crooked Penny
|
[107] = "Spawns two bodies", -- The Pinking Shears
|
||||||
[486] = "Triggers on-hit item effects twice", -- Dull Razor
|
[111] = {5, 10}, -- The Bean
|
||||||
[488] = "Grants two items effect", -- Metronome
|
[123] = {" a ", " 2 ", "familiar", "{{CR}}familiars"}, -- Monster Manual
|
||||||
[489] = "Triggers two dice effects. The second die can't be predicted", -- D Infinity
|
[124] = {" a ", " 2 ", "effect", "{{CR}}effects"}, -- Dead Sea Scrolls
|
||||||
[523] = "Swap box contents with room pickups", -- Moving Box
|
[136] = {" a ", " 2 ", "Isaac", "{{CR}}Isaacs"}, -- Best Friend
|
||||||
[550] = "Stops stomps for two rooms or waves in Boss Rush and Challenges {{ChallengeRoom}} {{BossRushRoom}}", -- Broken Shovel
|
[145] = {"2-4", "4-8"}, -- Guppy's Head
|
||||||
|
[146] = {1, 2, "Heart", "{{CR}}Hearts"}, -- Prayer Card (should this just say +1 health...)
|
||||||
|
[158] = {" a ", " 2 ", "Heart", "{{CR}}Hearts", "rune", "{{CR}}runes", "card", "{{CR}}cards"}, -- Crystal Ball
|
||||||
|
[160] = {5, 10}, -- Crack the Sky
|
||||||
|
[171] = {10, 20}, -- Spider Butt
|
||||||
|
[283] = "Rerolls twice, helping with transformation progress but draining item pools faster", -- D100
|
||||||
|
[284] = "Rerolls twice, helping with transformation progress but draining item pools faster", -- D4
|
||||||
|
[286] = "Triggers it twice", -- Blank Card
|
||||||
|
[287] = {"one", "two"}, -- Book of Secrets
|
||||||
|
[288] = {"1-4", "2-8"}, -- Box of Spiders
|
||||||
|
[292] = {1, 2}, -- Satanic Bible
|
||||||
|
[293] = {440, 880}, -- Head of Krampus
|
||||||
|
[294] = "Increased knockback", -- Butter Bean
|
||||||
|
[298] = {6, 12}, -- Unicorn Stump
|
||||||
|
[348] = "Triggers it twice", -- Placebo
|
||||||
|
[349] = "Triggers the chance twice", -- Wooden Nickel
|
||||||
|
[351] = {5, 10}, -- Mega Bean
|
||||||
|
[357] = {"Duplicates", "Triplicates"}, -- Box of Friends
|
||||||
|
[383] = {6, 36}, -- Tear Detonator
|
||||||
|
[421] = {5, 10}, -- Kidney Bean
|
||||||
|
[427] = {" a ", " 2 ", "barrel", "{{CR}}barrels", "barrel", "{{CR}}barrels"}, -- Mine Crafter
|
||||||
|
[439] = {" a ", " 2 ", "trinket", "{{CR}}trinkets"}, -- Mom's Box
|
||||||
|
[476] = {" a ", " 2 ", "pickup", "{{CR}}pickups"}, -- D1
|
||||||
|
[477] = "Activates every absorbed active item twice", -- Void
|
||||||
|
[480] = {"Doubles", "Quadruples"}, -- Compost
|
||||||
|
[481] = "Two stat ups and stat downs", -- Dataminer
|
||||||
|
[482] = "Changes your character twice and removes two items", -- Clicker
|
||||||
|
[485] = "25% chance to quadruple, 25% chance to double and remove the originals, 50% chance to remove", -- Crooked Penny
|
||||||
|
[486] = {"effects", "{{CR}}effects {{BlinkYellowGreen}}twice"}, -- Dull Razor
|
||||||
|
[488] = "Activates twice, but only the second effect stays", -- Metronome
|
||||||
|
[489] = {" a ", " 2 ", "effect", "{{CR}}effects"}, -- D Infinity (TODO: d infinity's desc addon is not visible in item reminder)
|
||||||
|
[504] = {" a ", " 2 ", "turret", "{{CR}}turrets"}, -- Brown Nugget
|
||||||
|
[507] = "Triggers twice", -- Sharp Straw
|
||||||
|
[510] = {" a ", " 2 ", "version", "{{CR}}versions"}, -- Delirious
|
||||||
|
[516] = {" a ", " 2 ", "Sprinkler", "{{CR}}Sprinklers"}, -- Sprinkler
|
||||||
|
[521] = {"one", "two"}, -- Coupon
|
||||||
|
[523] = "Swaps box contents with room pickups", -- Moving Box
|
||||||
|
[545] = {8, 16}, -- Book of the Dead
|
||||||
|
[550] = "Stops stomps for two rooms (or Boss Rush waves)", -- Broken Shovel
|
||||||
}
|
}
|
||||||
|
|
||||||
---------- Trinkets ----------
|
---------- Trinkets ----------
|
||||||
@@ -969,6 +1006,7 @@ EID.descriptions[languageCode].PickupNames = {
|
|||||||
["5.300"] = "{{Card}} Card",
|
["5.300"] = "{{Card}} Card",
|
||||||
["5.301"] = "{{Rune}} Rune", -- not a real id
|
["5.301"] = "{{Rune}} Rune", -- not a real id
|
||||||
["5.350"] = "{{Trinket}} Trinket",
|
["5.350"] = "{{Trinket}} Trinket",
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Card Buffs caused by Tarot Cloth (separate table from Rep due to how different they are)
|
-- Card Buffs caused by Tarot Cloth (separate table from Rep due to how different they are)
|
||||||
@@ -981,13 +1019,13 @@ EID.descriptions[languageCode].tarotClothBuffsAB = {
|
|||||||
[7] = {2, 4}, -- VI - The Lovers
|
[7] = {2, 4}, -- VI - The Lovers
|
||||||
[8] = {6, 12}, -- VII - The Chariot
|
[8] = {6, 12}, -- VII - The Chariot
|
||||||
[9] = {"Spawns {{ColorShinyPurple}}2{{CR}} random {{UnknownHeart}} hearts, {{Coin}} coins, {{Bomb}} bombs and {{Key}} keys"}, -- VIII - Justice
|
[9] = {"Spawns {{ColorShinyPurple}}2{{CR}} random {{UnknownHeart}} hearts, {{Coin}} coins, {{Bomb}} bombs and {{Key}} keys"}, -- VIII - Justice
|
||||||
[11] = {"Spawns {{ColorShinyPurple}}2{{CR}} {{Slotmachine}} Slot Machines or {{FortuneTeller}} Fortune Machines"}, -- X - Wheel of Fortune
|
[11] = {" a ", " 2 ", "Machine", "{{CR}}Machines", "Machine", "{{CR}}Machines"}, -- X - Wheel of Fortune
|
||||||
[12] = {1, 2, 0.3, 0.6, 0.3, 0.6, 5.25, 10.5}, -- XI - Strength
|
[12] = {1, 2, 0.3, 0.6, 0.3, 0.6, 5.25, 10.5}, -- XI - Strength
|
||||||
[14] = {40, 80}, -- XIII - Death
|
[14] = {40, 80}, -- XIII - Death
|
||||||
[15] = {"{{DonationMachine}} Spawns {{ColorShinyPurple}}2{{CR}} Blood Donation Machines"}, -- XIV - Temperance
|
[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] = {"Spawns {{ColorShinyPurple}}2{{CR}} Beggars or Devil Beggars#2% chance to spawn a special Beggar"}, -- 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
|
||||||
@@ -1015,6 +1053,7 @@ EID.descriptions[languageCode].ConditionalDescs = {
|
|||||||
["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}",
|
||||||
|
["No Effect (Greed)"] = "{{GreedMode}} No effect in Greed Mode",
|
||||||
|
|
||||||
["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.81"] = "Characters that can't have Red Hearts get set to 1 Soul/Black Heart", -- Dead Cat
|
||||||
@@ -1026,9 +1065,11 @@ EID.descriptions[languageCode].ConditionalDescs = {
|
|||||||
["5.100.135 (PHD)"] = "Spawns 2-3 coins if you have {1}", -- IV Bag PHD
|
["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
|
["Keeper 0-1"] = "Spawns 0-1 coin as {1}", -- IV Bag/Piggy Bank Keeper
|
||||||
|
|
||||||
["5.100.241"] = "{{GreedMode}} Doesn't affect Greed Mode", -- Contract From Below
|
["5.300.15"] = {"{{DemonBeggar}} Spawns a Devil Beggar"}, -- Temperance (Greed)
|
||||||
["5.300.15"] = {"{{DemonBeggar}} Spawns a Devil Beggar"}, -- Temperance (Greed Mode effect)
|
["5.300.19"] = {"Teleports Isaac to the first room of the floor"}, -- The Moon (Greed)
|
||||||
["5.300.15 (Tarot)"] = {"{{DemonBeggar}} Spawns {{ColorShinyPurple}}2{{CR}} Devil Beggars"}, -- Temperance (Greed Mode + Tarot Cloth effect)
|
["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.535"] = "{{GreedMode}} No shield on Boss Waves, only on Ultra Greed", -- Blanket (Greed)
|
||||||
|
|
||||||
["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)
|
||||||
|
|
||||||
@@ -1045,10 +1086,11 @@ EID.descriptions[languageCode].ConditionalDescs = {
|
|||||||
["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
|
["1 Room"] = "15 second recharge while in an uncleared room", -- Actives + 9 Volt
|
||||||
["Timed"] = "Charge starts half full after use", -- Actives + 9 Volt
|
["Timed"] = "Charge starts half full after use", -- Actives + 9 Volt
|
||||||
|
["5.100.208"] = {20, 35, 5, 20}, -- Champion Belt + Hard Mode
|
||||||
}
|
}
|
||||||
|
|
||||||
EID.descriptions[languageCode].BFFSSynergies = {
|
EID.descriptions[languageCode].BFFSSynergies = {
|
||||||
["NoEffect"] = "No Effect",
|
["NoEffect"] = "No effect",
|
||||||
["DoubleDamage"] = "Damage doubled",
|
["DoubleDamage"] = "Damage doubled",
|
||||||
["5.100.273"] = "Doubles impact damage and increases explosive damage by 25", -- Bob's Brain
|
["5.100.273"] = "Doubles impact damage and increases explosive damage by 25", -- Bob's Brain
|
||||||
["5.100.266"] = "Spawns an extra Blue Spider", -- Juicy Sack
|
["5.100.266"] = "Spawns an extra Blue Spider", -- Juicy Sack
|
||||||
|
|||||||
+62
-28
@@ -32,8 +32,8 @@ local repCollectibles={
|
|||||||
[40] = {"40", "Kamikaze!", "Causes a big explosion at Isaac's location#Deals 185 damage"}, -- Kamikaze!
|
[40] = {"40", "Kamikaze!", "Causes a big explosion at Isaac's location#Deals 185 damage"}, -- Kamikaze!
|
||||||
[41] = {"41", "Mom's Pad", "{{Fear}} Fears all enemies in the room for 5 seconds#Spawns a blue fly"}, -- Mom's Pad
|
[41] = {"41", "Mom's Pad", "{{Fear}} Fears all enemies in the room for 5 seconds#Spawns a blue fly"}, -- Mom's Pad
|
||||||
[42] = {"42", "Bob's Rotten Head", "Using the item and firing in a direction throws the head#{{Poison}} The head explodes where it lands and creates a poison cloud#Deals Isaac's damage + 185"}, -- Bob's Rotten Head
|
[42] = {"42", "Bob's Rotten Head", "Using the item and firing in a direction throws the head#{{Poison}} The head explodes where it lands and creates a poison cloud#Deals Isaac's damage + 185"}, -- Bob's Rotten Head
|
||||||
[45] = {"45", "Yum Heart", "{{Heart}} Heals 1 heart#{{HalfHeart}} Heals other players for half a heart"}, -- Yum Heart
|
|
||||||
[46] = {"46", "Lucky Foot", "↑ {{Luck}} +1 Luck#Better chance to win while gambling#Increases room clearing drop chance#Turns bad pills into good ones"}, -- Lucky Foot
|
[46] = {"46", "Lucky Foot", "↑ {{Luck}} +1 Luck#Better chance to win while gambling#Increases room clearing drop chance#Turns bad pills into good ones"}, -- Lucky Foot
|
||||||
|
[49] = {"49", "Shoop da Whoop!", "{{Collectible118}} Using the item and shooting in a direction fires a beam#It deals 24x Isaac's damage over 0.83 seconds"}, -- Shoop da Whoop!
|
||||||
[52] = {"52", "Dr. Fetus", "↓ {{Tears}} x0.4 Fire rate multiplier#{{Bomb}} Isaac shoots bombs instead of tears#{{Damage}} Those bombs deal 10x Isaac's tear damage#If that results in over 60 damage, they instead deal 5x damage +30"}, -- Dr. Fetus
|
[52] = {"52", "Dr. Fetus", "↓ {{Tears}} x0.4 Fire rate multiplier#{{Bomb}} Isaac shoots bombs instead of tears#{{Damage}} Those bombs deal 10x Isaac's tear damage#If that results in over 60 damage, they instead deal 5x damage +30"}, -- Dr. Fetus
|
||||||
[53] = {"53", "Magneto", "Pickups are attracted to Isaac#Opens chests from 2 tiles away, ignoring damage of Spike Chests"}, -- Magneto
|
[53] = {"53", "Magneto", "Pickups are attracted to Isaac#Opens chests from 2 tiles away, ignoring damage of Spike Chests"}, -- Magneto
|
||||||
[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
|
||||||
@@ -58,7 +58,7 @@ local repCollectibles={
|
|||||||
[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
|
||||||
[118] = {"118", "Brimstone", "↓ {{Tears}} x0.33 Fire rate multiplier#{{Chargeable}} Isaac's tears are replaced by a chargeable blood beam"}, -- Brimstone
|
[118] = {"118", "Brimstone", "↓ {{Tears}} x0.33 Fire rate multiplier#{{Chargeable}} Isaac's tears are replaced by a chargeable blood beam#It deals 9x Isaac's damage over 0.63 seconds"}, -- Brimstone
|
||||||
[121] = {"121", "Odd Mushroom (Large)", "↑ {{Heart}} +1 Health#↑ {{Damage}} +1 Damage#↑ {{Range}} +1.5 Range#↓ {{Speed}} -0.2 Speed"}, -- Odd Mushroom (Large)
|
[121] = {"121", "Odd Mushroom (Large)", "↑ {{Heart}} +1 Health#↑ {{Damage}} +1 Damage#↑ {{Range}} +1.5 Range#↓ {{Speed}} -0.2 Speed"}, -- Odd Mushroom (Large)
|
||||||
[123] = {"123", "Monster Manual", "{{Timer}} Spawns a random familiar for the floor"}, -- Monster Manual
|
[123] = {"123", "Monster Manual", "{{Timer}} Spawns a random familiar for the floor"}, -- Monster Manual
|
||||||
[126] = {"126", "Razor Blade", "↑ {{Damage}} +1.2 Damage for the room#{{Warning}} Deals 1 heart of damage to Isaac#After the first use in a room, deals half a heart instead#{{Heart}} Removes Red Hearts first"}, -- Razor Blade
|
[126] = {"126", "Razor Blade", "↑ {{Damage}} +1.2 Damage for the room#{{Warning}} Deals 1 heart of damage to Isaac#After the first use in a room, deals half a heart instead#{{Heart}} Removes Red Hearts first"}, -- Razor Blade
|
||||||
@@ -70,7 +70,7 @@ local repCollectibles={
|
|||||||
[147] = {"147", "Notched Axe", "Using the item makes Isaac hold the axe#Holding the axe allows Isaac to break rocks, secret room entrances and damage enemies#Landing a hit with the axe reduces its charge#Entering a new floor fully recharges the axe"}, -- Notched Axe
|
[147] = {"147", "Notched Axe", "Using the item makes Isaac hold the axe#Holding the axe allows Isaac to break rocks, secret room entrances and damage enemies#Landing a hit with the axe reduces its charge#Entering a new floor fully recharges the axe"}, -- Notched Axe
|
||||||
[148] = {"148", "Infestation", "Taking damage spawns 2-6 blue flies"}, -- Infestation
|
[148] = {"148", "Infestation", "Taking damage spawns 2-6 blue flies"}, -- Infestation
|
||||||
[149] = {"149", "Ipecac", "↑ {{Damage}} +40 Damage#↓ {{Tears}} x0.33 Fire rate multiplier#↓ {{Range}} x0.8 Range multiplier#↓ {{Shotspeed}} -0.2 Shot speed#Isaac's tears are fired in an arc#{{Poison}} The tears explode and poison enemies where they land"}, -- Ipecac
|
[149] = {"149", "Ipecac", "↑ {{Damage}} +40 Damage#↓ {{Tears}} x0.33 Fire rate multiplier#↓ {{Range}} x0.8 Range multiplier#↓ {{Shotspeed}} -0.2 Shot speed#Isaac's tears are fired in an arc#{{Poison}} The tears explode and poison enemies where they land"}, -- Ipecac
|
||||||
[152] = {"152", "Technology 2", "↓ {{Tears}} x0.67 Fire rate multiplier#Replaces Isaac's right eye tears with a continuous laser#{{Damage}} The laser deals 13% of Isaac's damage per tick"}, -- Technology 2
|
[152] = {"152", "Technology 2", "↓ {{Tears}} x0.67 Fire rate multiplier#Replaces Isaac's right eye tears with a continuous laser#{{Damage}} The laser deals 2x Isaac's damage per second"}, -- Technology 2
|
||||||
[153] = {"153", "Mutant Spider", "↓ {{Tears}} x0.42 Fire rate multiplier#Isaac shoots 4 tears at once"}, -- Mutant Spider
|
[153] = {"153", "Mutant Spider", "↓ {{Tears}} x0.42 Fire rate multiplier#Isaac shoots 4 tears at once"}, -- Mutant Spider
|
||||||
[155] = {"155", "The Peeper", "↑ {{Damage}} x1.35 Damage multiplier for the left eye#Floats around the room#Deals 17.1 contact damage per second"}, -- The Peeper
|
[155] = {"155", "The Peeper", "↑ {{Damage}} x1.35 Damage multiplier for the left eye#Floats around the room#Deals 17.1 contact damage per second"}, -- The Peeper
|
||||||
[158] = {"158", "Crystal Ball", "Spawns a {{SoulHeart}} Soul Heart, {{Rune}} rune or {{Card}} card#{{Timer}} Full mapping effect for the floor (except {{SuperSecretRoom}} Super Secret Room)#While held:#{{PlanetariumChance}} +15% Planetarium chance#{{PlanetariumChance}} +100% if a {{TreasureRoom}} Treasure Room was skipped"}, -- Crystal Ball
|
[158] = {"158", "Crystal Ball", "Spawns a {{SoulHeart}} Soul Heart, {{Rune}} rune or {{Card}} card#{{Timer}} Full mapping effect for the floor (except {{SuperSecretRoom}} Super Secret Room)#While held:#{{PlanetariumChance}} +15% Planetarium chance#{{PlanetariumChance}} +100% if a {{TreasureRoom}} Treasure Room was skipped"}, -- Crystal Ball
|
||||||
@@ -120,7 +120,7 @@ local repCollectibles={
|
|||||||
[276] = {"276", "Isaac's Heart", "Isaac becomes invincible#Spawns a heart familiar that follows Isaac#The heart charges up when Isaac fires and releases a burst of tears when he stops#{{Warning}} If the heart familiar gets hit, Isaac takes damage"}, -- Isaac's Heart
|
[276] = {"276", "Isaac's Heart", "Isaac becomes invincible#Spawns a heart familiar that follows Isaac#The heart charges up when Isaac fires and releases a burst of tears when he stops#{{Warning}} If the heart familiar gets hit, Isaac takes damage"}, -- Isaac's Heart
|
||||||
[278] = {"278", "Dark Bum", "{{Heart}} Picks up nearby Red Hearts#Spawns a Black Heart, rune, card, pill, or spider for every 1.5 hearts picked up"}, -- Dark Bum
|
[278] = {"278", "Dark Bum", "{{Heart}} Picks up nearby Red Hearts#Spawns a Black Heart, rune, card, pill, or spider for every 1.5 hearts picked up"}, -- Dark Bum
|
||||||
[280] = {"280", "Sissy Longlegs", "Randomly spawns blue spiders in hostile rooms#{{Charm}} Charms enemies it comes in contact with"}, -- Sissy Longlegs
|
[280] = {"280", "Sissy Longlegs", "Randomly spawns blue spiders in hostile rooms#{{Charm}} Charms enemies it comes in contact with"}, -- Sissy Longlegs
|
||||||
[283] = {"283", "D100", "Duplicates 1 pickup in the room#Rerolls Isaac's speed, tears, damage, range and passive items#Rerolls all pedestal items, pickups and rocks in the room#Restarts the room, respawns all enemies and rerolls them"}, -- D100
|
[283] = {"283", "D100", "Duplicates 1 pickup in the room#Rerolls Isaac's speed, tears, damage, range and passive items#Rerolls all pedestal items, pickups and rocks in the room#Restarts the room, respawns all enemies and devolves them"}, -- D100
|
||||||
[285] = {"285", "D10", "Devolves all enemies in the room#For instance, all Red Flies become Black Flies"}, -- D10
|
[285] = {"285", "D10", "Devolves all enemies in the room#For instance, all Red Flies become Black Flies"}, -- D10
|
||||||
[286] = {"286", "Blank Card", "Triggers the effect of the card Isaac holds without using it"}, -- Blank Card
|
[286] = {"286", "Blank Card", "Triggers the effect of the card Isaac holds without using it"}, -- Blank Card
|
||||||
[287] = {"287", "Book of Secrets", "Highlights tinted and crawlspace rocks in the room#{{Timer}} Receive one of these effects for the floor:#{{Collectible54}} Treasure Map#{{Collectible21}} Compass #{{Collectible246}} Blue Map#Only grants effects not already active#{{Collectible76}} If all effects are active, grants X-Ray Vision"}, -- Book of Secrets
|
[287] = {"287", "Book of Secrets", "Highlights tinted and crawlspace rocks in the room#{{Timer}} Receive one of these effects for the floor:#{{Collectible54}} Treasure Map#{{Collectible21}} Compass #{{Collectible246}} Blue Map#Only grants effects not already active#{{Collectible76}} If all effects are active, grants X-Ray Vision"}, -- Book of Secrets
|
||||||
@@ -128,6 +128,7 @@ local repCollectibles={
|
|||||||
[289] = {"289", "Red Candle", "Throws a red flame#The flame disappears when it has dealt damage or blocked shots 5 times, or after 10 seconds"}, -- Red Candle
|
[289] = {"289", "Red Candle", "Throws a red flame#The flame disappears when it has dealt damage or blocked shots 5 times, or after 10 seconds"}, -- Red Candle
|
||||||
[291] = {"291", "Flush!", "Turns all non-boss enemies into poop#Instantly kills poop enemies and bosses#Extinguishes fire places and fills the room with water#Turns lava pits into walkable ground"}, -- Flush!
|
[291] = {"291", "Flush!", "Turns all non-boss enemies into poop#Instantly kills poop enemies and bosses#Extinguishes fire places and fills the room with water#Turns lava pits into walkable ground"}, -- Flush!
|
||||||
[292] = {"292", "Satanic Bible", "{{BlackHeart}} +1 Black Heart#{{DevilRoom}} Using the item before a boss fight makes the boss reward a devil deal#Purchasing these devil deals has the same consequences as those in Devil Rooms#Does not affect item pedestals in The Void floor"}, -- Satanic Bible
|
[292] = {"292", "Satanic Bible", "{{BlackHeart}} +1 Black Heart#{{DevilRoom}} Using the item before a boss fight makes the boss reward a devil deal#Purchasing these devil deals has the same consequences as those in Devil Rooms#Does not affect item pedestals in The Void floor"}, -- Satanic Bible
|
||||||
|
[293] = {"293", "Head of Krampus", "{{Collectible118}} Shoot a 4-way blood beam#They each deal 200 damage over 1.33 seconds"}, -- Head of Krampus
|
||||||
[294] = {"294", "Butter Bean", "Knocks back nearby enemies and projectiles#Enemies pushed into obstacles take 10 damage"}, -- Butter Bean
|
[294] = {"294", "Butter Bean", "Knocks back nearby enemies and projectiles#Enemies pushed into obstacles take 10 damage"}, -- Butter Bean
|
||||||
[295] = {"295", "Magic Fingers", "Deals 2x Isaac's damage + 10 to all enemies in the room#{{Coin}} Costs 1 coin"}, -- Magic Fingers
|
[295] = {"295", "Magic Fingers", "Deals 2x Isaac's damage + 10 to all enemies in the room#{{Coin}} Costs 1 coin"}, -- Magic Fingers
|
||||||
[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
|
||||||
@@ -172,6 +173,7 @@ local repCollectibles={
|
|||||||
[380] = {"380", "Pay To Play", "{{Coin}} +5 Coins#Locked blocks, doors and chests must be opened with coins instead of keys"}, -- Pay To Play
|
[380] = {"380", "Pay To Play", "{{Coin}} +5 Coins#Locked blocks, doors and chests must be opened with coins instead of keys"}, -- Pay To Play
|
||||||
[382] = {"382", "Friendly Ball", "Can be thrown at enemies to capture them#Using the item after capturing an enemy spawns the capture as a friendly companion#Walking over the ball after a capture instantly recharges the item"}, -- Friendly Ball
|
[382] = {"382", "Friendly Ball", "Can be thrown at enemies to capture them#Using the item after capturing an enemy spawns the capture as a friendly companion#Walking over the ball after a capture instantly recharges the item"}, -- Friendly Ball
|
||||||
[384] = {"384", "Lil Gurdy", "{{Chargeable}} Launches and bounces around the room with speed based on charge amount#Deals 5-25 contact damage per hit depending on speed"}, -- Lil Gurdy
|
[384] = {"384", "Lil Gurdy", "{{Chargeable}} Launches and bounces around the room with speed based on charge amount#Deals 5-25 contact damage per hit depending on speed"}, -- Lil Gurdy
|
||||||
|
[386] = {"386", "D12", "Rerolls any obstacle into another random obstacle (e.g. poop, pots, TNT, red poop, stone blocks etc.)#Small chance to reroll obstacles into buttons, killswitches, crawlspaces or trapdoors"}, -- D12
|
||||||
[389] = {"389", "Rune Bag", "{{Rune}} Spawns a random rune or Soul Stone every 7-8 rooms"}, -- Rune Bag
|
[389] = {"389", "Rune Bag", "{{Rune}} Spawns a random rune or Soul Stone every 7-8 rooms"}, -- Rune Bag
|
||||||
[391] = {"391", "Betrayal", "Enemies can hit each other with their projectiles, and start infighting"}, -- Betrayal
|
[391] = {"391", "Betrayal", "Enemies can hit each other with their projectiles, and start infighting"}, -- Betrayal
|
||||||
[393] = {"393", "Serpent's Kiss", "{{Poison}} 15% chance to shoot poison tears#{{Poison}} Poison enemies on contact#{{BlackHeart}} Enemies killed by contact poison have a chance to drop a Black Heart on death"}, -- Serpent's Kiss
|
[393] = {"393", "Serpent's Kiss", "{{Poison}} 15% chance to shoot poison tears#{{Poison}} Poison enemies on contact#{{BlackHeart}} Enemies killed by contact poison have a chance to drop a Black Heart on death"}, -- Serpent's Kiss
|
||||||
@@ -230,6 +232,7 @@ local repCollectibles={
|
|||||||
[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#(Doesn't double chest, card or pill 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
|
||||||
[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
|
||||||
[524] = {"524", "Technology Zero", "Isaac's tears are connected with beams of electricity#Electricity deals 4.5x Isaac's damage per second"}, -- Technology Zero
|
[524] = {"524", "Technology Zero", "Isaac's tears are connected with beams of electricity#Electricity deals 4.5x Isaac's damage per second"}, -- Technology Zero
|
||||||
[531] = {"531", "Haemolacria", "↑ {{Damage}} +1 Damage#↑ {{Damage}} x1.5 Damage multiplier#↓ {{Tears}} x0.33 Fire rate multiplier#↓ {{Range}} x0.8 Range multiplier#Isaac's tears fly in an arc and burst into smaller tears on impact"}, -- Haemolacria
|
[531] = {"531", "Haemolacria", "↑ {{Damage}} +1 Damage#↑ {{Damage}} x1.5 Damage multiplier#↓ {{Tears}} x0.33 Fire rate multiplier#↓ {{Range}} x0.8 Range multiplier#Isaac's tears fly in an arc and burst into smaller tears on impact"}, -- Haemolacria
|
||||||
@@ -239,7 +242,7 @@ local repCollectibles={
|
|||||||
[553] = {"553", "Mucormycosis", "25% chance to shoot a sticky spore tear#{{Luck}} Not affected by luck#{{Poison}} Spores blow up after 2.5 seconds, dealing damage, poisoning nearby enemies and releasing more spores"}, -- Mucormycosis
|
[553] = {"553", "Mucormycosis", "25% chance to shoot a sticky spore tear#{{Luck}} Not affected by luck#{{Poison}} Spores blow up after 2.5 seconds, dealing damage, poisoning nearby enemies and releasing more spores"}, -- Mucormycosis
|
||||||
[554] = {"554", "2Spooky", "{{Fear}} Fears enemies in a small radius around Isaac"}, -- 2Spooky
|
[554] = {"554", "2Spooky", "{{Fear}} Fears enemies in a small radius around Isaac"}, -- 2Spooky
|
||||||
[555] = {"555", "Golden Razor", "{{Coin}} +5 coins on pickup#{{Timer}} Pay 5 {{Coin}} coins and receive for the room:#↑ {{Damage}} +1.2 Damage"}, -- Golden Razor
|
[555] = {"555", "Golden Razor", "{{Coin}} +5 coins on pickup#{{Timer}} Pay 5 {{Coin}} coins and receive for the room:#↑ {{Damage}} +1.2 Damage"}, -- Golden Razor
|
||||||
[556] = {"556", "Sulfur", "{{Timer}} {{Collectible118}} Brimstone for the room"}, -- Sulfur
|
[556] = {"556", "Sulfur", "{{Timer}} {{Collectible118}} Brimstone for the room#Using it multiple times in one room grants increased damage and a larger beam"}, -- Sulfur
|
||||||
[557] = {"557", "Fortune Cookie", "Grants one of the following rewards:#A fortune#{{SoulHeart}} A Soul Heart#{{Rune}} A Rune or Soul Stone#{{Card}} A Tarot card#{{Trinket}} A Trinket"}, -- Fortune Cookie
|
[557] = {"557", "Fortune Cookie", "Grants one of the following rewards:#A fortune#{{SoulHeart}} A Soul Heart#{{Rune}} A Rune or Soul Stone#{{Card}} A Tarot card#{{Trinket}} A Trinket"}, -- Fortune Cookie
|
||||||
[558] = {"558", "Eye Sore", "Chance to shoot 1-3 extra tears in random directions#{{Luck}} Not affected by luck"}, -- Eye Sore
|
[558] = {"558", "Eye Sore", "Chance to shoot 1-3 extra tears in random directions#{{Luck}} Not affected by luck"}, -- Eye Sore
|
||||||
[559] = {"559", "120 Volt", "Repeatedly zaps nearby enemies#{{Damage}} Electricity deals up to 3.75x Isaac's damage per second"}, -- 120 Volt
|
[559] = {"559", "120 Volt", "Repeatedly zaps nearby enemies#{{Damage}} Electricity deals up to 3.75x Isaac's damage per second"}, -- 120 Volt
|
||||||
@@ -314,7 +317,7 @@ local repCollectibles={
|
|||||||
[628] = {"628", "Death Certificate", "{{Warning}} SINGLE USE {{Warning}}#Teleports Isaac to a floor that contains every item in the game#Choosing an item from this floor teleports Isaac back to the room he came from"}, -- Death Certificate
|
[628] = {"628", "Death Certificate", "{{Warning}} SINGLE USE {{Warning}}#Teleports Isaac to a floor that contains every item in the game#Choosing an item from this floor teleports Isaac back to the room he came from"}, -- Death Certificate
|
||||||
[629] = {"629", "Bot Fly", "Shoots shielded tears to destroy enemy projectiles"}, -- Bot Fly
|
[629] = {"629", "Bot Fly", "Shoots shielded tears to destroy enemy projectiles"}, -- Bot Fly
|
||||||
[630] = {"630", "", "<Item does not exist>"},
|
[630] = {"630", "", "<Item does not exist>"},
|
||||||
[631] = {"631", "Meat Cleaver", "Splits all enemies in the room into 2 smaller versions of themselves with less health"}, -- Meat Cleaver
|
[631] = {"631", "Meat Cleaver", "Splits all enemies in the room into 2 smaller versions with 40% health#Enemies that naturally split (like Envy) take enough damage to split instead#Deals 25 damage to enemies that can't be split"}, -- Meat Cleaver
|
||||||
[632] = {"632", "Evil Charm", "↑ {{Luck}} +2 Luck#Immune to {{Burning}} burn, {{Confusion}} confusion, {{Fear}} fear, and {{Poison}} poison effects"}, -- Evil Charm
|
[632] = {"632", "Evil Charm", "↑ {{Luck}} +2 Luck#Immune to {{Burning}} burn, {{Confusion}} confusion, {{Fear}} fear, and {{Poison}} poison effects"}, -- Evil Charm
|
||||||
[633] = {"633", "Dogma", "↑ {{Speed}} +0.1 Speed#↑ {{Damage}} +2 Damage#Flight and one-time {{HolyMantleSmall}} Holy Mantle shield#{{Heart}} Heals Isaac with Red and Soul Hearts if he has less than 6 hearts"}, -- Dogma
|
[633] = {"633", "Dogma", "↑ {{Speed}} +0.1 Speed#↑ {{Damage}} +2 Damage#Flight and one-time {{HolyMantleSmall}} Holy Mantle shield#{{Heart}} Heals Isaac with Red and Soul Hearts if he has less than 6 hearts"}, -- Dogma
|
||||||
[634] = {"634", "Purgatory", "Red cracks spawn on the ground in hostile rooms#Walking over the cracks summons homing exploding ghosts"}, -- Purgatory
|
[634] = {"634", "Purgatory", "Red cracks spawn on the ground in hostile rooms#Walking over the cracks summons homing exploding ghosts"}, -- Purgatory
|
||||||
@@ -397,7 +400,7 @@ local repCollectibles={
|
|||||||
[711] = {"711", "Flip", "Entering a room with item pedestals displays a ghostly second item on the pedestals#Using the item flips the real and ghostly item#Using Flip after taking the first item allows Isaac to pick up the other item#{{Warning}} Ghostly items alone on pedestals disappear after leaving the room"}, -- Flip
|
[711] = {"711", "Flip", "Entering a room with item pedestals displays a ghostly second item on the pedestals#Using the item flips the real and ghostly item#Using Flip after taking the first item allows Isaac to pick up the other item#{{Warning}} Ghostly items alone on pedestals disappear after leaving the room"}, -- Flip
|
||||||
[712] = {"712", "Lemegeton", "Spawns an orbital that grants a random item's effect#The items have a 25% chance to be from the current room's item pool and 75% chance to be from the Treasure, Boss or Shop pools"}, -- Lemegeton
|
[712] = {"712", "Lemegeton", "Spawns an orbital that grants a random item's effect#The items have a 25% chance to be from the current room's item pool and 75% chance to be from the Treasure, Boss or Shop pools"}, -- Lemegeton
|
||||||
[713] = {"713", "Sumptorium", "Removes half a heart and creates a clot#Clots copy Isaac's tears#Each type of heart generates a clot with different HP, damage and tear effect"}, -- Sumptorium
|
[713] = {"713", "Sumptorium", "Removes half a heart and creates a clot#Clots copy Isaac's tears#Each type of heart generates a clot with different HP, damage and tear effect"}, -- Sumptorium
|
||||||
[714] = {"714", "Recall", "Retrieves the Forgotten's body from any distance"}, -- Recall
|
[714] = {"714", "Recall", "Retrieves the Forgotten's body from any distance#The Soul is invincible while the Forgotten is returning"}, -- Recall
|
||||||
[715] = {"715", "Hold", "Using the item when empty stores the next poop inside#Using the item with a poop inside uses that poop"}, -- Hold
|
[715] = {"715", "Hold", "Using the item when empty stores the next poop inside#Using the item with a poop inside uses that poop"}, -- Hold
|
||||||
[716] = {"716", "Keeper's Sack", "Spawns 3 {{Coin}} coins and 1 {{Key}} key#{{Shop}} Spending 3 coins grants either:#↑ {{Speed}} +0.03 Speed#↑ {{Damage}} +0.5 Damage#↑ {{Range}} +0.25 Range"}, -- Keeper's Sack
|
[716] = {"716", "Keeper's Sack", "Spawns 3 {{Coin}} coins and 1 {{Key}} key#{{Shop}} Spending 3 coins grants either:#↑ {{Speed}} +0.03 Speed#↑ {{Damage}} +0.5 Damage#↑ {{Range}} +0.25 Range"}, -- Keeper's Sack
|
||||||
[717] = {"717", "Keeper's Kin", "Rocks and other obstacles spawn 2 blue spiders when destroyed#Rocks can occasionally spawn blue spiders in hostile rooms"}, -- Keeper's Kin
|
[717] = {"717", "Keeper's Kin", "Rocks and other obstacles spawn 2 blue spiders when destroyed#Rocks can occasionally spawn blue spiders in hostile rooms"}, -- Keeper's Kin
|
||||||
@@ -458,12 +461,12 @@ EID.descriptions[languageCode].birthright ={
|
|||||||
{"Tainted Lilith", "", "{{Collectible728}} Familiars that normally follow Tainted Lilith follow her Gello instead#The melee attack gains +3 damage per familiar"},
|
{"Tainted Lilith", "", "{{Collectible728}} Familiars that normally follow Tainted Lilith follow her Gello instead#The melee attack gains +3 damage per familiar"},
|
||||||
{"Tainted Keeper", "", "{{Coin}} Strongly attracts the coins dropped by defeating enemies#No effect on other coins"},
|
{"Tainted Keeper", "", "{{Coin}} Strongly attracts the coins dropped by defeating enemies#No effect on other coins"},
|
||||||
{"Tainted Apollyon", "", "Locusts continuously damage enemies without returning while the fire button is held"},
|
{"Tainted Apollyon", "", "Locusts continuously damage enemies without returning while the fire button is held"},
|
||||||
{"Tainted Forgotten", "", "{{Collectible714}} Tainted Soul gains the Recall ability to retrieve Tainted Forgotten from a distance"},
|
{"Tainted Forgotten", "", "{{Collectible714}} Tainted Soul gains the Recall ability to retrieve Tainted Forgotten from a distance#The Soul is invincible while the Forgotten is returning"},
|
||||||
{"Tainted Bethany", "", "Spawns four random item wisps of Quality {{Quality3}} and {{Quality4}} with significantly higher HP than normal"},
|
{"Tainted Bethany", "", "Spawns four random item wisps of Quality {{Quality3}} and {{Quality4}} with significantly higher HP than normal"},
|
||||||
{"Tainted Jacob", "", "Dark Esau splits into two, creating a shadowy clone of itself#Both Esaus always charge at the same time#{{Collectible722}} Using Anima Sola chains both Esaus"},
|
{"Tainted Jacob", "", "Dark Esau splits into two, creating a shadowy clone of itself#Both Esaus always charge at the same time#{{Collectible722}} Using Anima Sola chains both Esaus"},
|
||||||
{"Dead Tainted Lazarus", "", "The non-active form of Tainted Lazarus appears as a ghostly second character#He is invincible and deals 25% damage#Both forms receive the Birthright item"},
|
{"Dead Tainted Lazarus", "", "The non-active form of Tainted Lazarus appears as a ghostly second character#He is invincible and deals 25% damage#Both forms receive the Birthright item"},
|
||||||
{"Tainted Jacob 2", "", "Dark Esau splits into two, creating a shadowy clone of itself#Both Esaus always charge at the same time#{{Collectible722}} Using Anima Sola chains both Esaus"},
|
{"Tainted Jacob 2", "", "Dark Esau splits into two, creating a shadowy clone of itself#Both Esaus always charge at the same time#{{Collectible722}} Using Anima Sola chains both Esaus"},
|
||||||
{"Tainted Forgotten Soul", "", "{{Collectible714}} Tainted Soul gains the Recall ability to retrieve Tainted Forgotten from a distance"},
|
{"Tainted Forgotten Soul", "", "{{Collectible714}} Tainted Soul gains the Recall ability to retrieve Tainted Forgotten from a distance#The Soul is invincible while the Forgotten is returning"},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Buffs caused by Binge Eater
|
-- Buffs caused by Binge Eater
|
||||||
@@ -605,7 +608,7 @@ EID.descriptions[languageCode].bookOfVirtuesWisps = {
|
|||||||
[396] = "Cannot shoot tears#Each portal has 1 wisp", -- Ventricle Razor
|
[396] = "Cannot shoot tears#Each portal has 1 wisp", -- Ventricle Razor
|
||||||
[406] = "Middle ring wisp#Random damage and fire rate", -- D8
|
[406] = "Middle ring wisp#Random damage and fire rate", -- D8
|
||||||
[419] = "Middle ring wisp#20% chance for tears to teleport enemies#Wisps flicker every 5 seconds", -- Teleport 2.0
|
[419] = "Middle ring wisp#20% chance for tears to teleport enemies#Wisps flicker every 5 seconds", -- Teleport 2.0
|
||||||
[421] = "Middle ring wisp#{{Charm}} Charm fart when destroyed", -- Kidney Bean
|
[421] = "Middle ring wisp#{{Charm}} Charm tears#{{Charm}} Charm fart when destroyed", -- Kidney Bean
|
||||||
[422] = "Middle ring wisp#30% chance for petrifying tears#Respawns all wisps that got destroyed in the previous room", -- Glowing Hourglass
|
[422] = "Middle ring wisp#30% chance for petrifying tears#Respawns all wisps that got destroyed in the previous room", -- Glowing Hourglass
|
||||||
[427] = "Bounces around the room, exploding when shot by Isaac#Cannot shoot tears or deal contact damage", -- Mine Crafter
|
[427] = "Bounces around the room, exploding when shot by Isaac#Cannot shoot tears or deal contact damage", -- Mine Crafter
|
||||||
[434] = "Middle ring wisp#Wisps are spawned instead of flies#Up to 5 flies makes 1 wisp with increased health and damage", -- Jar of Flies
|
[434] = "Middle ring wisp#Wisps are spawned instead of flies#Up to 5 flies makes 1 wisp with increased health and damage", -- Jar of Flies
|
||||||
@@ -708,22 +711,44 @@ EID.descriptions[languageCode].abyssSynergies = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
-- Effect of Car battery on Active Items
|
-- Effect of Car battery on Active Items
|
||||||
-- these all need way more consistency with the original effect text and spellchecking
|
|
||||||
local repCarBattery = {
|
local repCarBattery = {
|
||||||
[323] = "Tears deal double damage", -- Isaac's Tears
|
[34] = {2, 4}, -- The Book of Belial -- TODO: Is this +1 damage or another +2 from additional uses?
|
||||||
[421] = "", -- Kidney Bean, double fart damage removed in Rep
|
[59] = {2, 4}, -- The Book of Belial (Birthright)
|
||||||
[489] = "Triggers two dice effects. The second die effect never change", -- D Infinity
|
[83] = {" Half", "1"}, -- The Nail
|
||||||
[523] = "", -- Moving Box
|
[263] = "Triggers it twice", -- Clear Rune
|
||||||
[556] = "Grants two Brimstones, giving extra damage", -- Sulfur
|
[283] = {1, 2, "pickup", "{{CR}}pickups"}, -- D100 TODO: TEST THIS is this really the only change
|
||||||
[584] = "Double wisps", -- Book of Virtues
|
[285] = "Devolves enemies twice", -- D10
|
||||||
[605] = "Spawn two Peepers. Doesn't give extra damage", -- The Scooper
|
[288] = {"4-8", "8-16"}, -- Box of Spiders
|
||||||
[609] = "Chances to delete items are doubled", -- Eternal D6
|
[293] = {200, 400}, -- Head of Krampus
|
||||||
[625] = "Effect lasts 60 seconds", -- Mega Mush
|
[296] = {1, 2, "Heart", "{{CR}}Hearts", 1, 2, "container", "{{CR}}containers"}, -- Converter
|
||||||
[705] = "Shadow effect lasts 2 seconds", -- Dark Arts
|
[323] = "The tears deal double damage", -- Isaac's Tears
|
||||||
|
[386] = "Increased chance for rare obstacles", -- D12
|
||||||
|
[485] = "25% chance to quadruple, 75% chance to remove", -- Crooked Penny
|
||||||
|
[489] = "Uses the selected dice twice", -- D Infinity
|
||||||
|
[522] = {3, 6}, -- Telekinesis
|
||||||
|
[557] = {"one", "two"}, -- Fortune Cookie
|
||||||
|
[582] = "Triggers twice", -- Wavy Cap
|
||||||
|
[584] = "Spawns two wisps", -- Book of Virtues
|
||||||
|
[605] = {" a ", " 2 ", "familiar", "{{CR}}familiars"}, -- The Scooper
|
||||||
|
[609] = {25, 44}, -- Eternal D6
|
||||||
|
[611] = "Triggers an additional 1-charge scream", -- Larynx
|
||||||
|
[625] = {30, 60}, -- Mega Mush
|
||||||
|
[631] = {25, 50}, -- Meat Cleaver
|
||||||
|
[635] = "Instantly swaps twice#Great for teleporting into enemies, but can't collect out-of-reach items", -- Stitches
|
||||||
|
[639] = {1, 2, "Heart", "{{CR}}Hearts"}, -- Yuck Heart
|
||||||
|
[642] = "Triggers twice", -- Magic Skin
|
||||||
|
[650] = {" a ", " 2 ", "Plum", "{{CR}}Plums"}, -- Plum Flute
|
||||||
|
[685] = "Spawns double the wisps, but the use count only goes up by 1", -- Jar of Wisps
|
||||||
|
[687] = {" a ", " 2 ", "monster", "{{CR}}monsters"}, -- Friend Finder
|
||||||
|
[704] = "Lasts 10 seconds, but killing an enemy caps time remaining at 5 seconds max", -- Berserk!
|
||||||
|
[705] = {1, 2}, -- Dark Arts
|
||||||
|
[712] = {" an ", " 2 ", "orbital", "{{CR}}orbitals"}, -- Lemegeton
|
||||||
|
[713] = {"half a heart", "a heart", "a clot", "2 {{CR}}clots"}, -- Sumptorium
|
||||||
|
[719] = {" a ", " 2 ", "item/pickup", "{{CR}}items/pickups"}, -- Keeper's Box
|
||||||
[720] = "Spawns a poop alongside the pickup", -- Everything Jar
|
[720] = "Spawns a poop alongside the pickup", -- Everything Jar
|
||||||
[723] = "Decreases internal ID by two", -- Spindown Dice
|
[722] = "Chains 2 enemies down#If there's only one enemy, chains it for 10 seconds", -- Anima Sola
|
||||||
|
[723] = {"one", "two"}, -- Spindown Dice
|
||||||
}
|
}
|
||||||
-- EID.descriptions[languageCode].carBattery[284] = nil -- D4
|
|
||||||
EID:updateDescriptionsViaTable(repCarBattery, EID.descriptions[languageCode].carBattery)
|
EID:updateDescriptionsViaTable(repCarBattery, EID.descriptions[languageCode].carBattery)
|
||||||
|
|
||||||
---------- Trinkets ----------
|
---------- Trinkets ----------
|
||||||
@@ -948,27 +973,27 @@ EID.descriptions[languageCode].tarotClothBuffs = {
|
|||||||
[8] = {6, 12}, -- VII - The Chariot
|
[8] = {6, 12}, -- VII - The Chariot
|
||||||
[9] = {"Spawns {{ColorShinyPurple}}2{{CR}} random {{UnknownHeart}} hearts, {{Coin}} coins, {{Bomb}} bombs and {{Key}} keys"}, -- VIII - Justice
|
[9] = {"Spawns {{ColorShinyPurple}}2{{CR}} random {{UnknownHeart}} hearts, {{Coin}} coins, {{Bomb}} bombs and {{Key}} keys"}, -- VIII - Justice
|
||||||
[10] = "Prevents Greed from spawning in the Shop#Turns a Greed Shop into a normal Shop if Greed was already fought in it", -- IX - The Hermit
|
[10] = "Prevents Greed from spawning in the Shop#Turns a Greed Shop into a normal Shop if Greed was already fought in it", -- IX - The Hermit
|
||||||
[11] = {"Spawns {{ColorShinyPurple}}2{{CR}} {{Slotmachine}} Slot Machines or {{FortuneTeller}} Fortune Machines"}, -- X - Wheel of Fortune
|
[11] = {" a ", " 2 ", "Machine", "{{CR}}Machines", "Machine", "{{CR}}Machines"}, -- X - Wheel of Fortune
|
||||||
[12] = {1, 2, 0.3, 0.6, 0.3, 0.6, 2.5, 5}, -- XI - Strength
|
[12] = {1, 2, 0.3, 0.6, 0.3, 0.6, 2.5, 5}, -- XI - Strength
|
||||||
[14] = {40, 80}, -- XIII - Death
|
[14] = {40, 80}, -- XIII - Death
|
||||||
[15] = {"{{DonationMachine}} Spawns {{ColorShinyPurple}}2{{CR}} Blood Donation Machines"}, -- XIV - Temperance
|
[15] = {" a ", " 2 ", "Machine", "{{CR}}Machines", "Devil Beggar", "{{CR}}Devil Beggars"}, -- XIV - Temperance ( + Greed version)
|
||||||
[16] = {2, 4}, -- XV - The Devil
|
[16] = {2, 4}, -- XV - The Devil
|
||||||
[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] = {"Spawns {{ColorShinyPurple}}2{{CR}} Beggars or Devil Beggars#2% chance to spawn a special Beggar"}, -- 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?
|
||||||
[62] = "Activates the effect twice", -- VI - The Lovers?
|
[62] = "Activates the effect twice", -- VI - The Lovers?
|
||||||
[64] = {4, 14, 2, 4}, -- VIII - Justice?
|
[64] = {4, 14, 2, 4}, -- VIII - Justice?
|
||||||
[65] = "Spawns 1 additional {{Coin}} penny", -- IX - The Hermit?
|
[65] = "Spawns 1 additional {{Coin}} penny", -- IX - The Hermit?
|
||||||
[66] = {"{{DiceRoom}} Triggers {{ColorShinyPurple}}2{{CR}} random Dice Room effects"}, -- X - Wheel of Fortune?
|
[66] = {" a ", " 2 ", "effect", "{{CR}}effects"}, -- X - Wheel of Fortune?
|
||||||
[68] = {30, 60}, -- XII - The Hanged Man?
|
[68] = {30, 60}, -- XII - The Hanged Man?
|
||||||
[70] = {5, 10}, -- XIV - Temperance?
|
[70] = {5, 10}, -- XIV - Temperance?
|
||||||
[72] = {7, 14}, -- XVI - The Tower?
|
[72] = {7, 14}, -- XVI - The Tower?
|
||||||
[73] = {"Removes Isaac's {{ColorShinyPurple}}2{{CR}} oldest collected passive items (ignoring starting items)#Spawns {{ColorShinyPurple}}4{{CR}} random items from the current room's item pool"}, -- XVII - The Stars?
|
[73] = {"Removes Isaac's {{ColorShinyPurple}}2{{CR}} oldest collected passive items (ignoring starting items)#Spawns {{ColorShinyPurple}}4{{CR}} random items from the current room's item pool"}, -- XVII - The Stars?
|
||||||
[76] = {"{{RestockMachine}} Spawns {{ColorShinyPurple}}2{{CR}} Restock Machines"}, -- XX - Judgement?
|
[76] = {" a ", " 2 ", "Machine", "{{CR}}Machines"}, -- XX - Judgement?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1225,6 +1250,11 @@ local repConditions={
|
|||||||
["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
|
["Ice Tears"] = "Freezing an enemy doesn't count as killing", -- Uranus Anti-Synergy
|
||||||
|
["5.100.45"] = "{{HalfHeart}} Heals other players for half a heart", -- Yum Heart (Co-Op)
|
||||||
|
|
||||||
|
["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)
|
||||||
|
|
||||||
@@ -1273,6 +1303,10 @@ local repCharacterInfo = {
|
|||||||
}
|
}
|
||||||
EID:updateDescriptionsViaTable(repCharacterInfo, EID.descriptions[languageCode].CharacterInfo)
|
EID:updateDescriptionsViaTable(repCharacterInfo, EID.descriptions[languageCode].CharacterInfo)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- If Debug enabled, add overwrite tables to the languagepack in order for the language completion script to be able to compare them
|
-- If Debug enabled, add overwrite tables to the languagepack in order for the language completion script to be able to compare them
|
||||||
if EID.enableDebug then
|
if EID.enableDebug then
|
||||||
EID.descriptions[languageCode].repCollectibles = repCollectibles
|
EID.descriptions[languageCode].repCollectibles = repCollectibles
|
||||||
|
|||||||
+55
-327
@@ -4,126 +4,41 @@ EID.DescriptionConditions = {}
|
|||||||
-- table of collectible IDs to periodically check if the players own. used by eid_modifiers.lua
|
-- table of collectible IDs to periodically check if the players own. used by eid_modifiers.lua
|
||||||
EID.collectiblesToCheck = {}
|
EID.collectiblesToCheck = {}
|
||||||
|
|
||||||
--[[
|
require("features.eid_conditionals_funcs")
|
||||||
Argument 1: The item ID
|
|
||||||
For convenience, numbers are assumed to be a collectible ID; strings in Type.Var.Sub format can be used as well
|
|
||||||
If you're adding a condition that applies to many items, you can pass in a table of IDs
|
|
||||||
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 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"]
|
|
||||||
|
|
||||||
Argument 4 (optional): Table with any additional options, usually not needed:
|
|
||||||
variableText: If there's a {1} in the desc, it will be replaced with this; can be a function for more dynamic text results, it will get descObj passed into it
|
|
||||||
locTable: Specify a different table to look for the localization string in, rather than ConditionalDescs
|
|
||||||
noTable: Set to true to look in the base localizations only (requires modText) (not used yet...)
|
|
||||||
lineColor: Appended lines will be highlighted with this color
|
|
||||||
replaceColor: Find/replace text will be highlighted with this color
|
|
||||||
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
|
|
||||||
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
|
|
||||||
|
|
||||||
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
|
|
||||||
]]
|
|
||||||
function EID:AddConditional(IDs, funcText, modText, extraTable, insertPoint)
|
|
||||||
if type(IDs) ~= "table" then IDs = { IDs } end
|
|
||||||
if modText == "" then modText = nil end
|
|
||||||
extraTable = extraTable or {}
|
|
||||||
-- make a shallow copy of the passed-in table
|
|
||||||
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
|
|
||||||
if type(id) ~= "string" then id = "5.100." .. id end
|
|
||||||
-- Check for only one period in the id string to mark it as being a general condition, which looks for a SubType entry in the localization file
|
|
||||||
local _, count = string.gsub(id, "%.", "")
|
|
||||||
if count == 1 and newTable.general == nil then newTable.general = true end
|
|
||||||
EID.DescriptionConditions[id] = EID.DescriptionConditions[id] or {}
|
|
||||||
if insertPoint then
|
|
||||||
table.insert(EID.DescriptionConditions[id], insertPoint, newTable)
|
|
||||||
else
|
|
||||||
table.insert(EID.DescriptionConditions[id], newTable)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Easy to use functions for conditionals that rely on having a specific collectible/character
|
|
||||||
-- By default, they'll have a bulletpoint for the coll/char, and {1} becomes the coll/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)
|
--[[ The general meaning of the arguments when adding a conditional are as follows:
|
||||||
function EID:AddCollectibleConditional(IDs, ownedIDs, modText, extraTable, checkInReminder)
|
|
||||||
if type(ownedIDs) ~= "table" then ownedIDs = { ownedIDs } end
|
|
||||||
if checkInReminder == nil then checkInReminder = true end
|
|
||||||
extraTable = extraTable or {}
|
|
||||||
for _, ownedID in ipairs(ownedIDs) do
|
|
||||||
EID.collectiblesToCheck[ownedID] = true
|
|
||||||
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end
|
|
||||||
if newTable.variableText == nil then newTable.variableText = "{{NameOnlyC" .. ownedID .. "}}" end
|
|
||||||
if newTable.bulletpoint == nil then newTable.bulletpoint = "Collectible" .. ownedID end
|
|
||||||
EID:AddConditional(IDs, function() return EID:ConditionalCollCheck(ownedID, checkInReminder) end, modText, newTable)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- For adding pairs of abilities to collectibles; you can define a different modifier text for each of them
|
Argument 1: ID of the item we're looking at the description of (assumed to be a collectible ID if it's just a number)
|
||||||
-- example: EID:AddSynergyConditional({list of IDs overridden by Brimstone}, Brimstone, "Overridden", "Overrides")
|
Argument 2: Function that needs to be true for us to change the description (or ID of the collectible/character that we need to have)
|
||||||
function EID:AddSynergyConditional(IDs, ownedIDs, modText1, modText2, extraTable1, extraTable2, checkInReminder)
|
Argument 3: Optional text for finding the correct string in the localization file (can also be a function, which is passed descObj, that returns the location)
|
||||||
EID:AddCollectibleConditional(IDs, ownedIDs, modText1, extraTable1, checkInReminder)
|
Argument 4: Optional table that can define a variety of different settings
|
||||||
EID:AddCollectibleConditional(ownedIDs, IDs, modText2 or modText1, extraTable2 or extraTable1, checkInReminder)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- includeTainted is for if you want to check the normal and tainted version of a character (true by default)
|
|
||||||
function EID:AddPlayerConditional(IDs, charIDs, modText, extraTable, includeTainted)
|
|
||||||
if type(charIDs) ~= "table" then charIDs = { charIDs } end
|
|
||||||
if includeTainted == nil then includeTainted = true end
|
|
||||||
extraTable = extraTable or {}
|
|
||||||
for _, charID in ipairs(charIDs) do
|
|
||||||
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end
|
|
||||||
if newTable.variableText == nil then newTable.variableText = "{{NameOnlyI" .. charID .. "}}" end
|
|
||||||
if newTable.bulletpoint == nil then newTable.bulletpoint = "Player" .. charID end
|
|
||||||
EID:AddConditional(IDs, function() return EID:ConditionalCharCheck(charID, includeTainted) end, modText, newTable)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Adding our conditionals (should this be its own file away from the functions that add/print conditionals?)
|
|
||||||
|
|
||||||
--[[
|
|
||||||
TODO STUFF:
|
|
||||||
|
|
||||||
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
|
|
||||||
-- 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)
|
|
||||||
|
|
||||||
]]
|
]]
|
||||||
|
|
||||||
-- General conditions
|
-- General conditions
|
||||||
-- Tarot Cloth (AB+ and Rep) (fallback to English because most are just find+replace)
|
-- Tarot Cloth (AB+ and Rep) (fallback to English because most are just find+replace)
|
||||||
EID:AddCollectibleConditional("5.300", 451, nil, {locTable = "tarotClothBuffsAB", replaceColor = "ColorShinyPurple", noFallback = false})
|
if not EID.isRepentance then
|
||||||
if EID.isRepentance then EID:AddCollectibleConditional("5.300", 451, nil, {locTable = "tarotClothBuffs", replaceColor = "ColorShinyPurple", noFallback = false}) end
|
EID:AddCollectibleConditional("5.300", 451, nil, {locTable = "tarotClothBuffsAB", replaceColor = "ColorShinyPurple", noFallback = false})
|
||||||
EID:AddCollectibleConditional("5.100", 356, nil, {locTable = "carBattery", replaceColor = "BlinkYellowGreen"}) -- Car Battery
|
else EID:AddCollectibleConditional("5.300", 451, nil, {locTable = "tarotClothBuffs", replaceColor = "ColorShinyPurple", noFallback = false}) end
|
||||||
|
EID:AddCollectibleConditional("5.100", 356, EID.CheckForCarBattery, {locTable = "carBattery", replaceColor = "BlinkYellowGreen", noFallback = false}) -- Car Battery
|
||||||
|
|
||||||
-- IV Bag conditions (need to be applied in a specific order)
|
-- IV Bag conditions (need to be applied in a specific order)
|
||||||
EID:AddCollectibleConditional(135, 75, "PHD") -- PHD improves IV Bag
|
EID:AddCollectibleConditional(135, 75, "PHD") -- PHD improves IV Bag
|
||||||
EID:AddPlayerConditional(135, 14, "Keeper 0-1") -- Keeper gets 0-1 coins
|
EID:AddPlayerConditional(135, 14, "Keeper 0-1") -- Keeper gets 0-1 coins
|
||||||
if EID.isRepentance then EID:AddConditional(135, function() return EID:IsHardMode() end, "Hard Mode") end -- Hard Mode pays out less
|
if EID.isRepentance then EID:AddConditional(135, EID.IsHardMode, "Hard Mode") end -- Hard Mode pays out less
|
||||||
|
|
||||||
-- Greed Mode
|
-- Greed Mode
|
||||||
EID:AddConditional({241, "5.300.15"}, function() return game:IsGreedMode() end) -- Contract From Below, Temperance
|
-- "No effect" append
|
||||||
EID:AddConditional("5.300.15", function() return game:IsGreedMode() and EID:PlayersHaveCollectible(451) end, "Tarot") -- Temperance + Greed + Tarot
|
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({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
|
||||||
|
EID:AddConditional({344, 416, "5.300.74"}, EID.IsGreedMode) -- Match Book, Deep Pockets, The Moon?
|
||||||
|
end
|
||||||
|
|
||||||
-- Different effect for No Red Health players
|
-- Different effect for No Red Health players
|
||||||
EID:AddConditional({442, "5.350.107", "5.350.119"}, function() return EID:CheckForNoRedHealthPlayer() end, "No Red") -- Dark Prince's Crown, Crow Heart, Stem Cell
|
EID:AddConditional({442, "5.350.107", "5.350.119"}, function() return EID:CheckForNoRedHealthPlayer() end, "No Red") -- Dark Prince's Crown, Crow Heart, Stem Cell
|
||||||
@@ -149,17 +64,20 @@ EID:AddCollectibleConditional("5.300.48", 286, nil, { lineColor = "ColorSilver"
|
|||||||
-- This got a bit complicated, since it looks at a trait of every collectible + you having another, but hey, it's compact
|
-- 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(1) end, "1 Room", { useResult = true })
|
||||||
EID:AddConditional(116, function() return EID:CheckPlayersForActiveChargeType(nil, 1) end, "Timed", { 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", general = false })
|
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", general = false })
|
EID:AddConditional("5.100", function(descObj) return EID:PlayersHaveCollectible(116) and EID:CheckActiveChargeType(descObj.ObjSubType, nil, 1) end, "Timed", { bulletpoint = "Collectible116" })
|
||||||
|
|
||||||
-- Overridden by Brimstone
|
-- Overridden by Brimstone
|
||||||
-- Haven't done it yet but I'm sure preparing the system for it
|
-- Haven't done it yet but I'm sure preparing the system for it
|
||||||
-- Remember most of these will be AB+ only (not EID.isRepentance)
|
-- Remember most of these will be AB+ only (not EID.isRepentance)
|
||||||
|
|
||||||
|
-- AB+ only conditionals
|
||||||
if not EID.isRepentance then
|
if not EID.isRepentance then
|
||||||
EID:AddCollectibleConditional(205, {116, 276}, "No Effect") -- Sharp Plug + 9 Volt, Isaac's Heart
|
EID:AddCollectibleConditional(205, {116, 276}, "No Effect") -- Sharp Plug + 9 Volt, Isaac's Heart
|
||||||
EID:AddCollectibleConditional(205, 108, "Wafer") -- Sharp Plug + The Wafer
|
EID:AddCollectibleConditional(205, 108, "Wafer") -- Sharp Plug + The Wafer
|
||||||
EID:AddSynergyConditional(205, 441, "Can't Charge", "Can't Be Charged") -- Sharp Plug + Mega Blast
|
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
|
end
|
||||||
|
|
||||||
if EID.isRepentance then
|
if EID.isRepentance then
|
||||||
@@ -169,7 +87,8 @@ if EID.isRepentance then
|
|||||||
EID:AddCollectibleConditional("5.100", 664, nil, { locTable = "bingeEaterBuffs" }) -- Binge Eater
|
EID:AddCollectibleConditional("5.100", 664, nil, { locTable = "bingeEaterBuffs" }) -- Binge Eater
|
||||||
|
|
||||||
-- Co-op friendly items
|
-- Co-op friendly items
|
||||||
-- todo (yum heart, extension cord)
|
-- todo: which? (extension cord)
|
||||||
|
EID:AddConditional(45, function() return EID:MultiplePlayerCharacters() end) -- Yum Heart
|
||||||
|
|
||||||
-- No red health
|
-- No red health
|
||||||
EID:AddConditional({569, 671, 676}, function() return EID:CheckForNoRedHealthPlayer() end, "No Red") -- Blood Oath, Candy Heart, Empty Heart
|
EID:AddConditional({569, 671, 676}, function() return EID:CheckForNoRedHealthPlayer() end, "No Red") -- Blood Oath, Candy Heart, Empty Heart
|
||||||
@@ -209,225 +128,34 @@ if EID.isRepentance then
|
|||||||
|
|
||||||
-- 9 Volt, Sharp Plug + Special Charge Actives
|
-- 9 Volt, Sharp Plug + Special Charge Actives
|
||||||
EID:AddConditional({116, 205}, function() return EID:CheckPlayersForActiveChargeType(nil, 2) end, "Can't Charge", { useResult = true })
|
EID:AddConditional({116, 205}, function() return EID:CheckPlayersForActiveChargeType(nil, 2) end, "Can't Charge", { useResult = true })
|
||||||
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}}", general = false })
|
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: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}}", general = false })
|
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
|
||||||
|
|
||||||
----- Evaluation Functions -----
|
|
||||||
|
|
||||||
function EID:ConditionalCharCheck(playerType, includeTainted)
|
--[[
|
||||||
-- We don't want to display irrelevant item info inside the Item Reminder
|
TODO STUFF:
|
||||||
if EID.InsideItemReminder then
|
|
||||||
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
|
||||||
if player:GetPlayerType() == playerType then
|
|
||||||
return true
|
|
||||||
elseif includeTainted and EID.isRepentance and EID.TaintedToRegularID[player:GetPlayerType()] == playerType then
|
|
||||||
return true
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
else
|
|
||||||
return EID:PlayersHaveCharacter(playerType, includeTainted)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function EID:ConditionalCollCheck(collectibleID, checkInReminder)
|
new config options for spoiler-heavy descriptions if we make any (chaos card and plan C?)
|
||||||
-- We don't want to display irrelevant item info inside the Item Reminder
|
CO-OP BENEFIT ITEMS! tech zero / extension cord in co-op? yum heart and such
|
||||||
if EID.InsideItemReminder then
|
Items that override other items (brimstone, mom's knife, epic fetus stuff)
|
||||||
if not checkInReminder then return false end
|
BFFs / the fly booster + Tainted Apollyon, Tainted Eve; melody trinket + Tainted Eve; these are insane synergies that deserve attention
|
||||||
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
TODO: Make some of these coll/char IDs be from the enum for readability? or just keep it to comments
|
||||||
if player:HasCollectible(collectibleID) then return true end
|
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
|
||||||
-- Check for the item being inside the Item Reminder player's Void (not sure if this is ever relevant...)
|
-- 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)
|
||||||
if player:HasCollectible(477) then
|
-- 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)
|
||||||
local playerID = EID:getPlayerID(player)
|
-- todo: Vibrant/Dim Bulb + doesn't work with pocket consumables
|
||||||
if EID.absorbedItems[tostring(playerID)] and EID.absorbedItems[tostring(playerID)][tostring(collectibleID)] then
|
-- todo: idk about the BFFs synergy stuff but I noticed that Brown Nugget is incorrectly dealt with, it gained double damage in rep
|
||||||
return true
|
-- hive mind and BFFs synergy has a lot of overlap also, need a data list of hivemind familiars
|
||||||
end
|
-- brown nugget + sacrificial altar in AB+?!
|
||||||
end
|
-- ? 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?
|
||||||
else
|
-- unrelated to conditionals: Glyph of Balance prediction in Item Reminder?
|
||||||
return EID.collectiblesOwned[collectibleID] or EID.collectiblesAbsorbed[collectibleID]
|
-- Jacob's Ladder synergies with other battery items (I didn't even know about this)
|
||||||
end
|
-- Bean actives synegies with ghost pepper/bird's eye
|
||||||
return false
|
-- 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
|
||||||
end
|
-- 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)
|
||||||
function EID:IsGreedMode()
|
-- overall todo: remove "tick" language from all descriptions; Lil brimstone, black powder, black hole
|
||||||
return game:IsGreedMode()
|
Cain + items that close his eyes? mostly AB+ only?
|
||||||
end
|
Pandora's Box achievement check if moving box is unlocked find replace that with "nothing"
|
||||||
|
]]
|
||||||
function EID:IsHardMode()
|
|
||||||
if game.Difficulty == 1 or game.Difficulty == 3 then
|
|
||||||
return true
|
|
||||||
else
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat
|
|
||||||
function EID:CheckForNoRedHealthPlayer()
|
|
||||||
if EID.InsideItemReminder then
|
|
||||||
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
|
||||||
return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()]
|
|
||||||
else
|
|
||||||
for i = 0, game:GetNumPlayers() - 1 do
|
|
||||||
local player = Isaac.GetPlayer(i)
|
|
||||||
if EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Check for a player having an active item with a specific quantity of charges, or charge type
|
|
||||||
-- 0 = normal, 1 = timed, 2 = special
|
|
||||||
function EID:CheckPlayersForActiveChargeType(maxCharge, chargeType)
|
|
||||||
local players = {}
|
|
||||||
if EID.InsideItemReminder then
|
|
||||||
players[1] = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
|
||||||
else
|
|
||||||
for i = 0, game:GetNumPlayers() - 1 do
|
|
||||||
table.insert(players, Isaac.GetPlayer(i))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for i = 1, #players do
|
|
||||||
local player = players[i]
|
|
||||||
for j = 0, EID.isRepentance and 3 or 0 do
|
|
||||||
local activeID = player:GetActiveItem(j)
|
|
||||||
if EID:CheckActiveChargeType(activeID, maxCharge, chargeType) then return activeID end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
function EID:CheckActiveChargeType(itemID, maxCharge, chargeType)
|
|
||||||
local active = EID.itemConfig:GetCollectible(itemID)
|
|
||||||
if active then
|
|
||||||
if active.MaxCharges == maxCharge and active.ChargeType ~= 2 then return true
|
|
||||||
elseif EID.isRepentance and active.ChargeType == chargeType then return true
|
|
||||||
elseif not EID.isRepentance and chargeType == 1 and active.MaxCharges >= 30 then return true end
|
|
||||||
end
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Check for multiple players existing for items like Yum Heart and Extension Cord, includes J&E (but does it include Forgotten?)
|
|
||||||
function EID:MultiplePlayerCharacters()
|
|
||||||
return #EID.coopAllPlayers > 1
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Check the bestiary/character list if we have REPENTOGON, to help avoid spoilers. Otherwise just return true
|
|
||||||
function EID:HaveEncountered(monsterType, monsterVariant)
|
|
||||||
if not REPENTOGON then return true end
|
|
||||||
return Isaac.GetPersistentGameData():GetBestiaryEncounterCount(monsterType, monsterVariant) > 0
|
|
||||||
end
|
|
||||||
|
|
||||||
function EID:HaveNotEncountered(monsterType, monsterVariant)
|
|
||||||
if not REPENTOGON then return true end
|
|
||||||
return not EID:HaveEncountered(monsterType, monsterVariant)
|
|
||||||
end
|
|
||||||
|
|
||||||
function EID:HaveUnlockedAchievement(achID)
|
|
||||||
if not REPENTOGON then return true end
|
|
||||||
return Isaac.GetPersistentGameData():Unlocked(achID)
|
|
||||||
end
|
|
||||||
|
|
||||||
function EID:HaveNotUnlockedAchievement(achID)
|
|
||||||
if not REPENTOGON then return true end
|
|
||||||
return not EID:HaveUnlockedAchievement(achID)
|
|
||||||
end
|
|
||||||
|
|
||||||
----- Apply Conditionals -----
|
|
||||||
|
|
||||||
-- thing to fix find/replace pairs with hyphens (like "1-2") breaking because hyphen is a special char
|
|
||||||
-- https://stackoverflow.com/questions/29072601/lua-string-gsub-with-a-hyphen
|
|
||||||
local function replace(str, what, with, count)
|
|
||||||
what = string.gsub(what, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1") -- escape pattern
|
|
||||||
with = string.gsub(with, "[%%]", "%%%%") -- escape replacement
|
|
||||||
return string.gsub(str, what, with, count)
|
|
||||||
end
|
|
||||||
-- super simple table concatenation: https://www.tutorialspoint.com/concatenation-of-tables-in-lua-programming
|
|
||||||
local function TableConcat(t1, t2)
|
|
||||||
for i = 1, #t2 do
|
|
||||||
t1[#t1 + 1] = t2[i]
|
|
||||||
end
|
|
||||||
return t1
|
|
||||||
end
|
|
||||||
|
|
||||||
function EID:applyConditionals(descObj)
|
|
||||||
EID:CheckPlayersCollectibles()
|
|
||||||
|
|
||||||
local typeVar = descObj.ObjType.."."..descObj.ObjVariant -- for general conditions (Tarot Cloth, Book of Virtues)
|
|
||||||
local typeVarSub = descObj.fullItemString -- for specific conditions
|
|
||||||
-- Combine general+specific conditions into one table
|
|
||||||
local conds = {}
|
|
||||||
if EID.DescriptionConditions[typeVar] then TableConcat(conds, EID.DescriptionConditions[typeVar]) end
|
|
||||||
if EID.DescriptionConditions[typeVarSub] then TableConcat(conds, EID.DescriptionConditions[typeVarSub]) end
|
|
||||||
-- Check every condition we need to check for this item
|
|
||||||
for _, cond in ipairs(conds) do
|
|
||||||
-- Search for the localization string; "S" (for generals) or "T.V.S" or "T.V.S (Modifier)" or "Modifier"
|
|
||||||
local locTable = cond.locTable or "ConditionalDescs"
|
|
||||||
local text = nil
|
|
||||||
|
|
||||||
if cond.noTable then
|
|
||||||
text = EID:getDescriptionEntry(cond.modifierText, nil, cond.noFallback)
|
|
||||||
elseif cond.general then
|
|
||||||
text = EID:getDescriptionEntry(locTable, descObj.ObjSubType, cond.noFallback)
|
|
||||||
elseif cond.modifierText then
|
|
||||||
text = EID:getDescriptionEntry(locTable, typeVarSub .. " (" .. cond.modifierText .. ")", cond.noFallback)
|
|
||||||
if text == nil then text = EID:getDescriptionEntry(locTable, cond.modifierText, cond.noFallback) end
|
|
||||||
else
|
|
||||||
text = EID:getDescriptionEntry(locTable, typeVarSub, cond.noFallback)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- If we find the localization string for this condition, and it passes the test, modify the description text
|
|
||||||
local result = cond.func(descObj)
|
|
||||||
if text ~= nil and result then
|
|
||||||
local variableText, bulletpoint
|
|
||||||
if cond.useResult then
|
|
||||||
variableText = "{{NameOnlyC"..result.."}}"
|
|
||||||
bulletpoint = "Collectible"..result
|
|
||||||
else
|
|
||||||
variableText = type(cond.variableText) == "function" and cond.variableText(descObj) or cond.variableText
|
|
||||||
bulletpoint = cond.bulletpoint
|
|
||||||
end
|
|
||||||
|
|
||||||
-- String = append
|
|
||||||
if type(text) == "string" then
|
|
||||||
text = EID:ReplaceVariableStr(text, 1, variableText)
|
|
||||||
local iconStr = "#"
|
|
||||||
if bulletpoint then iconStr = iconStr .. "{{" .. bulletpoint .. "}} " end
|
|
||||||
if cond.lineColor then iconStr = iconStr .. "{{" .. cond.lineColor .. "}}" end
|
|
||||||
EID:appendToDescription(descObj, iconStr .. text:gsub("#", iconStr))
|
|
||||||
|
|
||||||
-- Table with 1 entry = replace
|
|
||||||
elseif #text == 1 then
|
|
||||||
descObj.Description = EID:ReplaceVariableStr(text[1], 1, variableText)
|
|
||||||
|
|
||||||
-- Table with 2+ entries = find and replace pairs
|
|
||||||
-- Entry 1 is replaced with entry 2, entry 3 is replaced with entry 4, etc.
|
|
||||||
else
|
|
||||||
local pos = 1
|
|
||||||
while pos < #text do
|
|
||||||
local toFind = text[pos]
|
|
||||||
local replaceWith = EID:ReplaceVariableStr(text[pos + 1], 1, variableText)
|
|
||||||
if cond.replaceColor then replaceWith = "{{" .. cond.replaceColor .. "}}" .. replaceWith .. "{{CR}}" end
|
|
||||||
--"%d*%.?%d+" will grab every number group (1, 10, 0.5), this will allow us to not replace the "1" in "10" erroneously
|
|
||||||
if (type(toFind) == "number") then
|
|
||||||
local count = 0
|
|
||||||
descObj.Description = string.gsub(descObj.Description, "%d*%.?%d+", function(s)
|
|
||||||
if (s == tostring(toFind) and count == 0) then
|
|
||||||
count = count + 1
|
|
||||||
return replaceWith
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
-- Basic find+replace for non-numbers
|
|
||||||
else
|
|
||||||
descObj.Description = replace(descObj.Description, tostring(toFind), replaceWith, 1)
|
|
||||||
end
|
|
||||||
pos = pos + 2
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return descObj
|
|
||||||
end
|
|
||||||
@@ -0,0 +1,315 @@
|
|||||||
|
local game = Game()
|
||||||
|
|
||||||
|
--[[
|
||||||
|
Argument 1: The item ID
|
||||||
|
For convenience, numbers are assumed to be a collectible ID; strings in Type.Var.Sub format can be used as well
|
||||||
|
If you're adding a condition that applies to many items, you can pass in a table of IDs
|
||||||
|
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 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"]
|
||||||
|
Can also be a function for more dynamic deciding
|
||||||
|
|
||||||
|
Argument 4 (optional): Table with any additional options, usually not needed:
|
||||||
|
variableText: If there's a {1} in the desc, it will be replaced with this; can be a function for more dynamic text results, it will get descObj passed into it
|
||||||
|
locTable: Specify a different table to look for the localization string in, rather than ConditionalDescs
|
||||||
|
noTable: Set to true to look in the base localizations only (requires modText) (not used yet...)
|
||||||
|
lineColor: Appended lines will be highlighted with this color
|
||||||
|
replaceColor: Find/replace text will be highlighted with this color
|
||||||
|
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
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
]]
|
||||||
|
function EID:AddConditional(IDs, funcText, modText, extraTable, insertPoint)
|
||||||
|
if type(IDs) ~= "table" then IDs = { IDs } end
|
||||||
|
if modText == "" then modText = nil end
|
||||||
|
extraTable = extraTable or {}
|
||||||
|
-- make a shallow copy of the passed-in table
|
||||||
|
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
|
||||||
|
if type(id) ~= "string" then id = "5.100." .. id end
|
||||||
|
EID.DescriptionConditions[id] = EID.DescriptionConditions[id] or {}
|
||||||
|
if insertPoint then
|
||||||
|
table.insert(EID.DescriptionConditions[id], insertPoint, newTable)
|
||||||
|
else
|
||||||
|
table.insert(EID.DescriptionConditions[id], newTable)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Easy to use functions for conditionals that rely on having a specific collectible/character
|
||||||
|
-- By default, they'll have a bulletpoint for the coll/char, and {1} becomes the coll/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)
|
||||||
|
function EID:AddCollectibleConditional(IDs, ownedIDs, modText, extraTable, checkInReminder)
|
||||||
|
if type(ownedIDs) ~= "table" then ownedIDs = { ownedIDs } end
|
||||||
|
if checkInReminder == nil then checkInReminder = true end
|
||||||
|
extraTable = extraTable or {}
|
||||||
|
for _, ownedID in ipairs(ownedIDs) do
|
||||||
|
EID.collectiblesToCheck[ownedID] = true
|
||||||
|
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end
|
||||||
|
if newTable.variableText == nil then newTable.variableText = "{{NameOnlyC" .. ownedID .. "}}" end
|
||||||
|
if newTable.bulletpoint == nil then newTable.bulletpoint = "Collectible" .. ownedID end
|
||||||
|
EID:AddConditional(IDs, function() return EID:ConditionalCollCheck(ownedID, checkInReminder) end, modText, newTable)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- For adding pairs of abilities to collectibles; you can define a different modifier text for each of them
|
||||||
|
-- example: EID:AddSynergyConditional({list of IDs overridden by Brimstone}, Brimstone, "Overridden", "Overrides")
|
||||||
|
function EID:AddSynergyConditional(IDs, ownedIDs, modText1, modText2, extraTable1, extraTable2, checkInReminder)
|
||||||
|
EID:AddCollectibleConditional(IDs, ownedIDs, modText1, extraTable1, checkInReminder)
|
||||||
|
EID:AddCollectibleConditional(ownedIDs, IDs, modText2 or modText1, extraTable2 or extraTable1, checkInReminder)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- includeTainted is for if you want to check the normal and tainted version of a character (true by default)
|
||||||
|
function EID:AddPlayerConditional(IDs, charIDs, modText, extraTable, includeTainted)
|
||||||
|
if type(charIDs) ~= "table" then charIDs = { charIDs } end
|
||||||
|
if includeTainted == nil then includeTainted = true end
|
||||||
|
extraTable = extraTable or {}
|
||||||
|
for _, charID in ipairs(charIDs) do
|
||||||
|
local newTable = {}; for k, v in pairs(extraTable) do newTable[k] = v end
|
||||||
|
if newTable.variableText == nil then newTable.variableText = "{{NameOnlyI" .. charID .. "}}" end
|
||||||
|
if newTable.bulletpoint == nil then newTable.bulletpoint = "Player" .. charID end
|
||||||
|
EID:AddConditional(IDs, function() return EID:ConditionalCharCheck(charID, includeTainted) end, modText, newTable)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
----- Evaluation Functions -----
|
||||||
|
|
||||||
|
function EID:ConditionalCharCheck(playerType, includeTainted)
|
||||||
|
-- We don't want to display irrelevant item info inside the Item Reminder
|
||||||
|
if EID.InsideItemReminder then
|
||||||
|
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
||||||
|
if player:GetPlayerType() == playerType then
|
||||||
|
return true
|
||||||
|
elseif includeTainted and EID.isRepentance and EID.TaintedToRegularID[player:GetPlayerType()] == playerType then
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return EID:PlayersHaveCharacter(playerType, includeTainted)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:ConditionalCollCheck(collectibleID, checkInReminder)
|
||||||
|
-- We don't want to display irrelevant item info inside the Item Reminder
|
||||||
|
if EID.InsideItemReminder then
|
||||||
|
if not checkInReminder then return false end
|
||||||
|
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
||||||
|
if player:HasCollectible(collectibleID) then return true end
|
||||||
|
-- Check for the item being inside the Item Reminder player's Void (not sure if this is ever relevant...)
|
||||||
|
if player:HasCollectible(477) then
|
||||||
|
local playerID = EID:getPlayerID(player)
|
||||||
|
if EID.absorbedItems[tostring(playerID)] and EID.absorbedItems[tostring(playerID)][tostring(collectibleID)] then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
return EID.collectiblesOwned[collectibleID] or EID.collectiblesAbsorbed[collectibleID]
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:IsGreedMode()
|
||||||
|
return game:IsGreedMode()
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:IsGreedModePlusTarot()
|
||||||
|
return game:IsGreedMode() and EID:ConditionalCollCheck(451, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:IsHardMode()
|
||||||
|
if game.Difficulty == 1 or game.Difficulty == 3 then
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat
|
||||||
|
function EID:CheckForNoRedHealthPlayer()
|
||||||
|
if EID.InsideItemReminder then
|
||||||
|
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
||||||
|
return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()]
|
||||||
|
else
|
||||||
|
for i = 0, game:GetNumPlayers() - 1 do
|
||||||
|
local player = Isaac.GetPlayer(i)
|
||||||
|
if EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:CheckForCarBattery(descObj)
|
||||||
|
if EID.CarBatteryNoSynergy[descObj.ObjSubType] then return "No Effect"
|
||||||
|
else return descObj.ObjSubType end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check for a player having an active item with a specific quantity of charges, or charge type
|
||||||
|
-- 0 = normal, 1 = timed, 2 = special
|
||||||
|
function EID:CheckPlayersForActiveChargeType(maxCharge, chargeType)
|
||||||
|
local players = {}
|
||||||
|
if EID.InsideItemReminder then
|
||||||
|
players[1] = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
|
||||||
|
else
|
||||||
|
for i = 0, game:GetNumPlayers() - 1 do
|
||||||
|
table.insert(players, Isaac.GetPlayer(i))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for i = 1, #players do
|
||||||
|
local player = players[i]
|
||||||
|
for j = 0, EID.isRepentance and 3 or 0 do
|
||||||
|
local activeID = player:GetActiveItem(j)
|
||||||
|
if EID:CheckActiveChargeType(activeID, maxCharge, chargeType) then return activeID end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
function EID:CheckActiveChargeType(itemID, maxCharge, chargeType)
|
||||||
|
local active = EID.itemConfig:GetCollectible(itemID)
|
||||||
|
if active then
|
||||||
|
if active.MaxCharges == maxCharge and active.ChargeType ~= 2 then return true
|
||||||
|
elseif EID.isRepentance and active.ChargeType == chargeType then return true
|
||||||
|
elseif not EID.isRepentance and chargeType == 1 and active.MaxCharges >= 30 then return true end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check for multiple players existing for items like Yum Heart and Extension Cord, includes J&E (but does it include Forgotten?)
|
||||||
|
function EID:MultiplePlayerCharacters()
|
||||||
|
return #EID.coopAllPlayers > 1
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Check the bestiary/character list if we have REPENTOGON, to help avoid spoilers. Otherwise just return true
|
||||||
|
function EID:HaveEncountered(monsterType, monsterVariant)
|
||||||
|
if not REPENTOGON then return true end
|
||||||
|
return Isaac.GetPersistentGameData():GetBestiaryEncounterCount(monsterType, monsterVariant) > 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:HaveNotEncountered(monsterType, monsterVariant)
|
||||||
|
if not REPENTOGON then return true end
|
||||||
|
return not EID:HaveEncountered(monsterType, monsterVariant)
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:HaveUnlockedAchievement(achID)
|
||||||
|
if not REPENTOGON then return true end
|
||||||
|
return Isaac.GetPersistentGameData():Unlocked(achID)
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:HaveNotUnlockedAchievement(achID)
|
||||||
|
if not REPENTOGON then return true end
|
||||||
|
return not EID:HaveUnlockedAchievement(achID)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
----- Apply Conditionals -----
|
||||||
|
|
||||||
|
-- thing to fix find/replace pairs with hyphens (like "1-2") breaking because hyphen is a special char
|
||||||
|
-- https://stackoverflow.com/questions/29072601/lua-string-gsub-with-a-hyphen
|
||||||
|
local function replace(str, what, with, count)
|
||||||
|
what = string.gsub(what, "[%(%)%.%+%-%*%?%[%]%^%$%%]", "%%%1") -- escape pattern
|
||||||
|
with = string.gsub(with, "[%%]", "%%%%") -- escape replacement
|
||||||
|
return string.gsub(str, what, with, count)
|
||||||
|
end
|
||||||
|
-- super simple table concatenation: https://www.tutorialspoint.com/concatenation-of-tables-in-lua-programming
|
||||||
|
local function TableConcat(t1, t2)
|
||||||
|
for i = 1, #t2 do
|
||||||
|
t1[#t1 + 1] = t2[i]
|
||||||
|
end
|
||||||
|
return t1
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:applyConditionals(descObj)
|
||||||
|
EID:CheckPlayersCollectibles()
|
||||||
|
|
||||||
|
local typeVar = descObj.ObjType.."."..descObj.ObjVariant -- for general conditions (Tarot Cloth, Book of Virtues)
|
||||||
|
local typeVarSub = descObj.fullItemString -- for specific conditions
|
||||||
|
-- Combine general+specific conditions into one table
|
||||||
|
local conds = {}
|
||||||
|
if EID.DescriptionConditions[typeVarSub] then TableConcat(conds, EID.DescriptionConditions[typeVarSub]) end
|
||||||
|
if EID.DescriptionConditions[typeVar] then TableConcat(conds, EID.DescriptionConditions[typeVar]) end
|
||||||
|
-- Check every condition we need to check for this item
|
||||||
|
for _, cond in ipairs(conds) do
|
||||||
|
-- Search for the localization string; "S" (for generals) or "T.V.S" or "T.V.S (Modifier)" or "Modifier"
|
||||||
|
local locTable = cond.locTable or "ConditionalDescs"
|
||||||
|
local text = nil
|
||||||
|
local modifierText = type(cond.modifierText) == "function" and cond.modifierText(EID, descObj) or cond.modifierText
|
||||||
|
|
||||||
|
-- Find our string in the base localization table
|
||||||
|
if cond.noTable then
|
||||||
|
text = EID:getDescriptionEntry(modifierText, nil, cond.noFallback)
|
||||||
|
-- Find our string as either "Type.Var.Sub (Mod Text)" or "Mod Text"
|
||||||
|
elseif modifierText then
|
||||||
|
text = EID:getDescriptionEntry(locTable, typeVarSub .. " (" .. modifierText .. ")", cond.noFallback)
|
||||||
|
if text == nil then text = EID:getDescriptionEntry(locTable, modifierText, cond.noFallback) end
|
||||||
|
-- Find our string as either "Type.Var.Sub" or just the Subtype
|
||||||
|
else
|
||||||
|
text = EID:getDescriptionEntry(locTable, typeVarSub, cond.noFallback)
|
||||||
|
if text == nil then text = EID:getDescriptionEntry(locTable, descObj.ObjSubType, cond.noFallback) end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- If we find the localization string for this condition, and it passes the test, modify the description text
|
||||||
|
local result = cond.func(descObj)
|
||||||
|
if text ~= nil and result then
|
||||||
|
local variableText, bulletpoint
|
||||||
|
if cond.useResult then
|
||||||
|
variableText = "{{NameOnlyC"..result.."}}"
|
||||||
|
bulletpoint = "Collectible"..result
|
||||||
|
else
|
||||||
|
variableText = type(cond.variableText) == "function" and cond.variableText(EID, descObj) or cond.variableText
|
||||||
|
bulletpoint = cond.bulletpoint
|
||||||
|
end
|
||||||
|
|
||||||
|
-- String = append
|
||||||
|
if type(text) == "string" then
|
||||||
|
text = EID:ReplaceVariableStr(text, 1, variableText)
|
||||||
|
local iconStr = "#"
|
||||||
|
if bulletpoint then iconStr = iconStr .. "{{" .. bulletpoint .. "}} " end
|
||||||
|
if cond.lineColor then iconStr = iconStr .. "{{" .. cond.lineColor .. "}}" end
|
||||||
|
EID:appendToDescription(descObj, iconStr .. text:gsub("#", iconStr))
|
||||||
|
|
||||||
|
-- Table with 1 entry = replace
|
||||||
|
elseif #text == 1 then
|
||||||
|
descObj.Description = EID:ReplaceVariableStr(text[1], 1, variableText)
|
||||||
|
|
||||||
|
-- Table with 2+ entries = find and replace pairs
|
||||||
|
-- Entry 1 is replaced with entry 2, entry 3 is replaced with entry 4, etc.
|
||||||
|
else
|
||||||
|
local pos = 1
|
||||||
|
while pos < #text do
|
||||||
|
local toFind = text[pos]
|
||||||
|
local replaceWith = EID:ReplaceVariableStr(text[pos + 1], 1, variableText)
|
||||||
|
if cond.replaceColor then replaceWith = "{{" .. cond.replaceColor .. "}}" .. replaceWith .. "{{CR}}" end
|
||||||
|
--"%d*%.?%d+" will grab every number group (1, 10, 0.5), this will allow us to not replace the "1" in "10" erroneously
|
||||||
|
if (type(toFind) == "number") then
|
||||||
|
local count = 0
|
||||||
|
descObj.Description = string.gsub(descObj.Description, "%d*%.?%d+", function(s)
|
||||||
|
if (s == tostring(toFind) and count == 0) then
|
||||||
|
count = count + 1
|
||||||
|
return replaceWith
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
-- Basic find+replace for non-numbers
|
||||||
|
else
|
||||||
|
descObj.Description = replace(descObj.Description, tostring(toFind), replaceWith, 1)
|
||||||
|
end
|
||||||
|
pos = pos + 2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return descObj
|
||||||
|
end
|
||||||
+31
-5
@@ -707,6 +707,9 @@ EID.InlineColors = {
|
|||||||
["ColorLightYellow"] = KColor(1, 1, 0.5, 1),
|
["ColorLightYellow"] = KColor(1, 1, 0.5, 1),
|
||||||
["ColorBagComplete"] = KColor(0, 1, 0, 0.6),
|
["ColorBagComplete"] = KColor(0, 1, 0, 0.6),
|
||||||
["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),
|
||||||
|
["ColorTaintedIsaac"] = KColor(0.812, 0.612, 0.608, 1),
|
||||||
|
|
||||||
-- Swag Colors
|
-- Swag Colors
|
||||||
-- Rainbow color effect
|
-- Rainbow color effect
|
||||||
@@ -915,17 +918,40 @@ EID.LocalModePositionOffset = {
|
|||||||
Shop = function(entity) if EID:EntitySanityCheck(entity) and not EID:IsGridEntity(entity) and entity:ToPickup() and entity:ToPickup():IsShopItem() then return Vector(0, 35) end end,
|
Shop = function(entity) if EID:EntitySanityCheck(entity) and not EID:IsGridEntity(entity) and entity:ToPickup() and entity:ToPickup():IsShopItem() then return Vector(0, 35) end end,
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Items that dont have an effect with BFFS! item
|
-- Actives that have no additional effect from Car Battery
|
||||||
EID.BFFSNoSynergy = {[11] = true, [81] = true, [238] = true, [239] = true, [243] = true, [265] = true, [268] = true, [269] = true, [278] = true, [280] = true, [281] = true, [387] = true, [404] = true, [405] = true, [431] = true, [436] = true, [469] = true, [472] = true, [492] = true, [516] = true, [528] = true, [542] = true, [543] = true }
|
EID.CarBatteryNoSynergy = { [33] = true, [34] = true, [36] = true, [39] = true, [40] = true, [41] = true, [42] = true, [44] = true, [47] = true, [49] = true, [56] = true, [84] = true, [105] = true, [126] = true, [127] = true, [130] = true, [133] = true, [135] = true, [137] = true, [147] = true, [164] = true, [166] = true, [175] = true, [177] = true, [181] = true, [186] = true, [192] = true, [282] = true, [285] = true, [289] = true, [290] = true, [291] = true, [295] = true, [296] = true, [297] = true, [323] = true, [324] = true, [325] = true, [326] = true, [338] = true, [347] = true, [352] = true, [382] = true, [386] = true, [396] = true, [406] = true, [419] = true, [422] = true, [434] = true, [437] = true, [441] = true, [475] = true, [478] = true, [479] = true, [483] = true, [484] = true, [487] = true, [490] = true, [512] = true, [515] = true, [522] = true, [527] = true, [536] = true, [552] = true }
|
||||||
|
if EID.isRepentance then
|
||||||
|
EID.CarBatteryNoSynergy[34] = false -- The Book of Belial
|
||||||
|
EID.CarBatteryNoSynergy[284] = true -- D4 (essentially does nothing)
|
||||||
|
EID.CarBatteryNoSynergy[285] = false -- D10
|
||||||
|
EID.CarBatteryNoSynergy[296] = false -- Converter
|
||||||
|
EID.CarBatteryNoSynergy[323] = false -- Isaac's Tears
|
||||||
|
EID.CarBatteryNoSynergy[386] = false -- D12
|
||||||
|
EID.CarBatteryNoSynergy[421] = true -- Kidney Bean
|
||||||
|
EID.CarBatteryNoSynergy[522] = false -- Telekinesis TODO: REPENTANCE DIFFERENCES IN MAIN DESC TOO
|
||||||
|
EID.CarBatteryNoSynergy[523] = true -- Moving Box
|
||||||
|
-- Repentance actives
|
||||||
|
EID.CarBatteryNoSynergy[555] = true; EID.CarBatteryNoSynergy[577] = true; EID.CarBatteryNoSynergy[578] = true; EID.CarBatteryNoSynergy[580] = true;
|
||||||
|
EID.CarBatteryNoSynergy[585] = true; EID.CarBatteryNoSynergy[604] = true; EID.CarBatteryNoSynergy[622] = true; EID.CarBatteryNoSynergy[623] = true;
|
||||||
|
EID.CarBatteryNoSynergy[628] = true; EID.CarBatteryNoSynergy[636] = true; EID.CarBatteryNoSynergy[638] = true; EID.CarBatteryNoSynergy[640] = true;
|
||||||
|
EID.CarBatteryNoSynergy[653] = true; EID.CarBatteryNoSynergy[655] = true; EID.CarBatteryNoSynergy[703] = true; EID.CarBatteryNoSynergy[706] = true;
|
||||||
|
EID.CarBatteryNoSynergy[709] = true; EID.CarBatteryNoSynergy[710] = true; EID.CarBatteryNoSynergy[711] = true; EID.CarBatteryNoSynergy[714] = true;
|
||||||
|
EID.CarBatteryNoSynergy[715] = true; EID.CarBatteryNoSynergy[728] = true; EID.CarBatteryNoSynergy[729] = true;
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Familiars that have no effect from BFFS!
|
||||||
|
EID.BFFSNoSynergy = { [11] = true, [81] = true, [238] = true, [239] = true, [243] = true, [265] = true, [268] = true, [269] = true, [278] = true, [280] = true, [281] = true, [387] = true, [404] = true, [405] = true, [431] = true, [436] = true, [469] = true, [472] = true, [492] = true, [516] = true, [528] = true, [542] = true, [543] = true }
|
||||||
-- todo: this table is wrong, for instance brown nugget didnt have one and then got one
|
-- todo: this table is wrong, for instance brown nugget didnt have one and then got one
|
||||||
if REPENTANCE then
|
if EID.isRepentance then
|
||||||
EID.BFFSNoSynergy[504] = true -- Brown Nugget
|
EID.BFFSNoSynergy[504] = true -- Brown Nugget
|
||||||
EID.BFFSNoSynergy[567] = true -- Paschal Candle
|
EID.BFFSNoSynergy[567] = true -- Paschal Candle
|
||||||
EID.BFFSNoSynergy[651] = true -- Star of Bethlehem
|
EID.BFFSNoSynergy[651] = true -- Star of Bethlehem
|
||||||
EID.BFFSNoSynergy[697] = true -- Vanishing Twin
|
EID.BFFSNoSynergy[697] = true -- Vanishing Twin
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Familiars that have a BFFS! effect from Hive Mind
|
||||||
|
EID.HiveMindFamiliars = {}
|
||||||
|
|
||||||
-- 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,
|
||||||
@@ -933,7 +959,7 @@ EID.TaintedToRegularID = { [20] = 19, [21] = 0, [22] = 1, [23] = 2, [24] = 3, [2
|
|||||||
|
|
||||||
-- 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 }
|
||||||
if REPENTANCE then
|
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
|
||||||
@@ -949,7 +975,7 @@ EID.runeIDs = {[32]=true,[33]=true,[34]=true,[35]=true,[36]=true,[37]=true,[38]=
|
|||||||
|
|
||||||
---------------- BAG OF CRAFTING DATA ------------------
|
---------------- BAG OF CRAFTING DATA ------------------
|
||||||
|
|
||||||
if not REPENTANCE then return end
|
if not EID.isRepentance then return end
|
||||||
|
|
||||||
EID.BoC = {}
|
EID.BoC = {}
|
||||||
|
|
||||||
|
|||||||
@@ -235,7 +235,13 @@ local function BlackFeatherCallback(descObj)
|
|||||||
itemCounter = itemCounter + EID.player:GetCollectibleNum(itemID)
|
itemCounter = itemCounter + EID.player:GetCollectibleNum(itemID)
|
||||||
end
|
end
|
||||||
for trinketID, _ in pairs(EID.blackFeatherTrinkets) do
|
for trinketID, _ in pairs(EID.blackFeatherTrinkets) do
|
||||||
itemCounter = itemCounter + EID.player:GetTrinketMultiplier(trinketID)
|
-- in AB+, GetTrinketMultiplier doesn't take an ID, it's just 1 (or 2 with Mom's Box)
|
||||||
|
if EID.isRepentance then
|
||||||
|
itemCounter = itemCounter + EID.player:GetTrinketMultiplier(trinketID)
|
||||||
|
else
|
||||||
|
if EID.player:GetTrinket(0) == trinketID then itemCounter = itemCounter + EID.player:GetTrinketMultiplier() end
|
||||||
|
if EID.player:GetTrinket(1) == trinketID then itemCounter = itemCounter + EID.player:GetTrinketMultiplier() end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local hasBox = EID.collectiblesOwned[439]
|
local hasBox = EID.collectiblesOwned[439]
|
||||||
|
|||||||
Reference in new issue
Block a user