Add conditional description additions (#638)
* v1 conditional descs * v1 conditional descs * Update en_us.lua * Update en_us.lua * Update eid_api.lua for conditional descs * Conditional descs v1 * Tarot conditional, Exp Pill callback * fix Temperance Tarot * Some more conditional descs * Conditional descs update * Update main.lua * Change 0 to nil in repentogon's bag
This commit is contained in:
1 parent
5798a9eb52
commit
a719f198e2
7 files changed
+280
-23
No files matched your search
@@ -101,7 +101,7 @@ EID.descriptions[languageCode].collectibles={
|
||||
{"78", "Book of Revelations", "{{SoulHeart}} +1 Soul Heart#{{AngelDevilChance}} +17.5% Devil/Angel Room chance while held#Higher horseman boss chance if used"},
|
||||
{"79", "The Mark", "↑ {{Speed}} +0.2 Speed#↑ {{Damage}} +1 Damage#{{SoulHeart}} +1 Soul Heart"},
|
||||
{"80", "The Pact", "↑ {{Tears}} +0.7 Tears#↑ {{Damage}} +0.5 Damage#{{SoulHeart}} +2 Soul Hearts"},
|
||||
{"81", "Dead Cat", "↑ +9 Lives#Isaac respawns with 1 heart container on death#{{Warning}} Sets Isaac's heart containers to 1 when picked up#Characters that can't have Red Hearts get set to 1 Soul/Black Heart"},
|
||||
{"81", "Dead Cat", "↑ +9 Lives#Isaac respawns with 1 heart container on death#{{Warning}} Sets Isaac's heart containers to 1 when picked up"},
|
||||
{"82", "Lord of the Pit", "↑ {{Speed}} +0.3 Speed#Flight"},
|
||||
{"83", "The Nail", "{{SoulHeart}} +1 Soul Heart#{{Timer}} Receive for the room:#↑ {{Damage}} +0.7 Damage#↓ {{Speed}} -0.18 Speed#Isaac deals 40 contact damage per second#Allows Isaac to destroy rocks by walking into them"},
|
||||
{"84", "We Need To Go Deeper!", "Opens a trapdoor to the next floor#{{LadderRoom}} 10% chance to open a crawlspace trapdoor"},
|
||||
@@ -155,7 +155,7 @@ EID.descriptions[languageCode].collectibles={
|
||||
{"132", "A Lump of Coal", "{{Damage}} Tears deal more damage the further they travel"},
|
||||
{"133", "Guppy's Paw", "{{SoulHeart}} Converts 1 heart container into 3 Soul Hearts"},
|
||||
{"134", "Guppy's Tail", "{{Chest}} 33% chance to replace the room clear reward with a chest#33% chance to spawn no room clear reward"},
|
||||
{"135", "IV Bag", "{{Coin}} Hurts Isaac for half a heart and spawns 1-3 coins#{{Player14}} Spawns 0-1 coin as Keeper"},
|
||||
{"135", "IV Bag", "{{Coin}} Hurts Isaac for half a heart and spawns 1-2 coins"},
|
||||
{"136", "Best Friend", "Spawns a decoy Isaac that attracts enemies and explodes after 5 seconds"},
|
||||
{"137", "Remote Detonator", "{{Bomb}} +5 Bombs#Isaac's bombs no longer explode automatically#Using the item detonates all of Isaac's bombs at once"},
|
||||
{"138", "Stigmata", "↑ {{Heart}} +1 Health#↑ {{Damage}} +0.3 Damage"},
|
||||
@@ -261,7 +261,7 @@ EID.descriptions[languageCode].collectibles={
|
||||
{"238", "Key Piece 1", "{{Warning}} Getting both parts of the key opens a big golden door#{{AngelChance}} +25% Angel Room chance#{{EternalHeart}} +2% chance for Eternal Hearts"},
|
||||
{"239", "Key Piece 2", "{{Warning}} Getting both parts of the key opens a big golden door#{{AngelChance}} +25% Angel Room chance#{{EternalHeart}} +2% chance for Eternal Hearts"},
|
||||
{"240", "Experimental Treatment", "↑ Increases 4 random stats#↓ Decreases 2 random stats"},
|
||||
{"241", "Contract from Below", "Doubles all room clear rewards#33% chance for no room clear reward#{{GreedMode}} Doesn't affect Greed Mode"},
|
||||
{"241", "Contract from Below", "Doubles all room clear rewards#33% chance for no room clear reward"},
|
||||
{"242", "Infamy", "50% chance to block enemy shots"},
|
||||
{"243", "Trinity Shield", "Blocks enemy shots coming from the direction Isaac is shooting"},
|
||||
{"244", "Tech.5", "Occasionally shoot lasers in addition to Isaac's tears"},
|
||||
@@ -464,7 +464,7 @@ EID.descriptions[languageCode].collectibles={
|
||||
{"439", "Mom's Box", "{{Trinket}} Spawns a random trinket#While held:#↑ {{Luck}} +1 Luck#{{Trinket}} Doubles trinket effects"},
|
||||
{"440", "Kidney Stone", "↑ +2 Tear height#↓ {{Speed}} -0.2 Speed#↓ {{Range}} -17 Range#Isaac occasionally stops firing and charges an attack that releases a burst of tears and a kidney stone"},
|
||||
{"441", "Mega Blast", "{{Timer}} Fires a huge Mega Satan blood beam for 15 seconds#The beam persists between rooms and floors"},
|
||||
{"442", "Dark Prince's Crown", "While at 1 full Red Heart:#↑ {{Tears}} +0.75 Tears#↑ {{Range}} +1.5 Range#↑ +1 Tear height#↑ {{Shotspeed}} +0.2 Shot speed#Does not work on characters without Red Hearts"}, -- Dark Princes Crown (apostrophe added to the name in Repentance)
|
||||
{"442", "Dark Prince's Crown", "While at 1 full Red Heart:#↑ {{Tears}} +0.75 Tears#↑ {{Range}} +1.5 Range#↑ +1 Tear height#↑ {{Shotspeed}} +0.2 Shot speed"}, -- Dark Princes Crown (apostrophe added to the name in Repentance)
|
||||
{"443", "Apple!", "↑ {{Tears}} +0.3 Tears#{{Damage}} 6.66% chance to shoot razor blades that deal 4x Isaac's damage#{{Luck}} 100% chance at 14 luck"},
|
||||
{"444", "Lead Pencil", "Isaac shoots a cluster of tears every 15 tears#Tears in the cluster deal double damage"},
|
||||
{"445", "Dog Tooth", "↑ {{Speed}} +0.1 Speed#↑ {{Damage}} +0.3 Damage#{{SecretRoom}}{{SuperSecretRoom}} A wolf howls in rooms adjacent to a Secret/Super Secret Room#{{LadderRoom}} A dog barks in rooms with a crawlspace under a rock"},
|
||||
@@ -631,7 +631,7 @@ EID.descriptions[languageCode].trinkets={
|
||||
{"20", "Monkey Paw", "{{BlackHeart}} Spawns 1 Black Heart when Isaac's health is reduced to half a heart#{{Warning}} Disappears after spawning 3 Black Hearts"},
|
||||
{"21", "Mysterious Paper", "Randomly grants the effect of: #{{Collectible327}} The Polaroid#{{Collectible328}} The Negative#{{Trinket48}} A Missing Page#{{Trinket23}} Missing Poster"},
|
||||
{"22", "Daemon's Tail", "{{Heart}} Decreases spawn rate of hearts to 20%#{{BlackHeart}} All Heart pickups turn into Black Hearts#{{Key}} Increases the drop chance of keys"},
|
||||
{"23", "Missing Poster", "{{Player10}} Respawn as The Lost on death#{{Warning}} Dying in a {{SacrificeRoom}} Sacrifice Room while holding this trinket unlocks The Lost"},
|
||||
{"23", "Missing Poster", "{{Player10}} Respawn as The Lost on death"},
|
||||
{"24", "Butt Penny", "{{Coin}} 20% higher chance for coins to spawn from poop#Picking up coins makes Isaac fart"},
|
||||
{"25", "Mysterious Candy", "Isaac farts or spawns poop every 30 seconds"},
|
||||
{"26", "Hook Worm", "↑ {{Range}} +10 Range#Isaac's tears move in angular patterns"},
|
||||
@@ -755,7 +755,7 @@ EID.descriptions[languageCode].cards={
|
||||
{"12", "XI - Strength", "{{Timer}} Receive for the room:#↑ {{Heart}} +1 Health#↑ {{Speed}} +0.3 Speed#↑ {{Damage}} +0.3 Damage#↑ {{Damage}} x1.5 Damage multiplier#↑ {{Range}} +5.25 Range#↑ +0.5 Tear height"},
|
||||
{"13", "XII - The Hanged Man", "{{Timer}} Flight for the room"},
|
||||
{"14", "XIII - Death", "Deals 40 damage to all enemies in the room"},
|
||||
{"15", "XIV - Temperance", "{{DonationMachine}} Spawns a Blood Donation Machine#{{GreedMode}} Spawns a Devil Beggar in Greed Mode"},
|
||||
{"15", "XIV - Temperance", "{{DonationMachine}} Spawns a Blood Donation Machine"},
|
||||
{"16", "XV - The Devil", "{{Timer}} Receive for the room:#↑ {{Damage}} +2 Damage"},
|
||||
{"17", "XVI - The Tower", "Spawns 6 Troll Bombs"},
|
||||
{"18", "XVII - The Stars", "{{TreasureRoom}} Teleports Isaac to the Treasure Room"},
|
||||
@@ -955,3 +955,13 @@ EID.descriptions[languageCode].PickupNames = {
|
||||
["5.350"] = "{{Trinket}} Trinket",
|
||||
|
||||
}
|
||||
|
||||
EID.descriptions[languageCode].ConditionalDescs = {
|
||||
["5.100.81"] = "Characters that can't have Red Hearts get set to 1 Soul/Black Heart", -- Dead Cat
|
||||
["5.100.241"] = "{{GreedMode}} Doesn't affect Greed Mode", -- Contract From Below
|
||||
["5.100.135 (Keeper)"] = "{{Player14}} Spawns 0-1 coin as Keeper", -- IV Bag Keeper
|
||||
["5.100.135 (PHD)"] = "{{Collectible75}} Spawns 2-3 coins if you have PHD", -- IV Bag PHD
|
||||
["5.100.442"] = "No effect for characters that can't have Red Hearts", -- Dark Prince's Crown
|
||||
["5.300.15"] = "{{DemonBeggar}} Spawns a Devil Beggar", -- Temperance (Greed Mode effect)
|
||||
["5.350.23"] = "{{Warning}} Dying in a {{SacrificeRoom}} Sacrifice Room while holding this trinket unlocks The Lost", -- Missing Poster (Unlock The Lost)
|
||||
}
|
||||
+24
-12
@@ -61,7 +61,6 @@ local repCollectibles={
|
||||
[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
|
||||
[129] = {"129", "Bucket of Lard", "↑ {{Heart}} +2 Health#↓ {{Speed}} -0.2 Speed"}, -- Bucket of Lard
|
||||
[135] = {"135", "IV Bag", "{{Coin}} Hurts Isaac for half a heart and spawns 1-2 coins#{{HardMode}} Spawns 1 coin on Hard Mode#{{Player14}} Spawns 0-1 coin as Keeper"}, -- IV Bag
|
||||
[138] = {"138", "Stigmata", "↑ {{Heart}} +1 Health#↑ {{Damage}} +0.3 Damage#{{Heart}} Heals 1 heart"}, -- Stigmata
|
||||
[139] = {"139", "Mom's Purse", "{{Trinket}} Spawns 1 random trinket#{{Trinket}} Isaac can hold 2 trinkets"}, -- Mom's Purse
|
||||
[140] = {"140", "Bob's Curse", "{{Bomb}} +5 Bombs#{{Poison}} Isaac's bombs create a cloud of poison#{{Poison}} Poison immunity"}, -- Bob's Curse
|
||||
@@ -73,7 +72,6 @@ local repCollectibles={
|
||||
[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
|
||||
[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
|
||||
[161] = {"161", "Ankh", "{{Player4}} Respawn as ??? (Blue Baby) on death#{{Player25}} Tainted ??? simply revives"},
|
||||
[169] = {"169", "Polyphemus", "↑ {{Damage}} +4 Damage#↑ {{Damage}} x2 Damage multiplier#↓ {{Tears}} x0.42 Fire rate multiplier#Tears pierce killed enemies if there is leftover damage"}, --Polyphemus
|
||||
[171] = {"171", "Spider Butt", "{{Slow}} Slows down enemies for 4 seconds#Deals 10 damage to all enemies#Enemies killed by the item spawn blue spiders"}, -- Spider Butt
|
||||
[172] = {"172", "Sacrificial Dagger", "Orbital#Blocks enemy shots#Deals 112.5 damage per second"}, -- Sacrificial Dagger
|
||||
@@ -139,7 +137,6 @@ local repCollectibles={
|
||||
[308] = {"308", "Aquarius", "Isaac leaves a trail of creep#{{Damage}} The creep deals 66% of Isaac's damage per second and inherits his tear effects"}, -- Aquarius
|
||||
[309] = {"309", "Pisces", "↑ {{Tears}} +0.5 Fire rate#↑ {{Tearsize}} +0.12 Tear size#Increases tear knockback"}, --Pisces
|
||||
[310] = {"310", "Eve's Mascara", "↑ {{Damage}} x2 Damage multiplier#↓ {{Tears}} x0.66 Tear multiplier#↓ {{Shotspeed}} -0.5 Shot speed"},
|
||||
[311] = {"311", "Judas' Shadow", "{{Player12}} When dead, respawn as Dark Judas with a 2x damage multiplier#{{Player24}} Tainted Judas simply revives"}, --Judas' Shadow
|
||||
[314] = {"314", "Thunder Thighs", "↑ {{Heart}} +1 Health#↓ {{Speed}} -0.4 Speed#{{Heart}} Heals 1 heart#Isaac can destroy rocks by walking into them"}, -- Thunder Thighs
|
||||
[315] = {"315", "Strange Attractor", "Isaac's tears attract enemies, pickups and trinkets#The attraction effect is much stronger at the end of the tears' path"}, -- Strange Attractor
|
||||
[316] = {"316", "Cursed Eye", "Charged wave of 5 tears#{{Warning}} Taking damage while partially charged teleports Isaac to a random room#{{Collectible260}} Black Candle removes the teleportation effect"}, -- Cursed Eye
|
||||
@@ -150,7 +147,6 @@ local repCollectibles={
|
||||
[328] = {"328", "The Negative", "↑ {{Damage}} +1 Damage#Taking damage at half a Red Heart or none damages all enemies in the room"}, -- The Negative
|
||||
[330] = {"330", "Soy Milk", "↑ {{Tears}} x5.5 Fire rate multiplier#↓ {{Damage}} x0.2 Damage multiplier#↓ {{Tearsize}} -0.3 Tear size#Drastically reduces knockback"}, -- Soy Milk
|
||||
[331] = {"331", "Godhead", "↑ {{Damage}} +0.5 Damage#↓ {{Tears}} -0.3 Tears#↓ {{Shotspeed}} -0.3 Shot speed#Homing tears#Tears gain an aura that deals 60 damage per second"}, -- Godhead
|
||||
[332] = {"332", "Lazarus' Rags", "{{Player11}} When dead, revive as Lazarus (Risen)#{{Player29}} Tainted Lazarus simply revives"},
|
||||
[336] = {"336", "Dead Onion", "↑ {{Tearsize}} +0.22 Tear size#↓ {{Range}} -1.5 Range#↓ {{Shotspeed}} -0.4 Shot speed#Piercing + spectral tears"}, -- Dead Onion
|
||||
[339] = {"339", "Safety Pin", "↑ {{Range}} +2.5 Range#↑ {{Shotspeed}} +0.16 Shot speed#{{BlackHeart}} +1 Black Heart"}, -- Safety Pin
|
||||
[342] = {"342", "Blue Cap", "↑ {{Heart}} +1 Health#↑ {{Tears}} +0.7 Tears#↓ {{Shotspeed}} -0.16 Shot speed#{{Heart}} Heals 1 heart"}, -- Blue Cap
|
||||
@@ -355,12 +351,12 @@ local repCollectibles={
|
||||
[668] = {"668", "Dad's Note", "Begins the Ascent#Trinkets left in previous {{TreasureRoom}} Treasure or {{BossRoom}} Boss Rooms turn into {{Card78}} Cracked Keys"}, -- Dad's Note
|
||||
[669] = {"669", "Sausage", "↑ {{Heart}} +1 Health#↑ {{Speed}} +0.2 Speed#↑ {{Tears}} +0.5 Tears#↑ {{Damage}} +0.5 Damage#↑ {{Range}} +2.5 Range#↑ {{Shotspeed}} +0.16 Shot speed#↑ {{Luck}} +1 Luck#{{Heart}} Full health#↑ {{AngelDevilChance}} +6.9% Devil/Angel Room chance#↑ {{PlanetariumChance}} +6.9% Planetarium chance"}, -- Sausage
|
||||
[670] = {"670", "Options?", "Allows Isaac to choose from two different room clear rewards"}, -- Options?
|
||||
[671] = {"671", "Candy Heart", "↑ Picking up {{Heart}} Red Hearts grants random permanent stat ups#{{Heart}} Spawns a Red Heart"}, -- Candy Heart
|
||||
[671] = {"671", "Candy Heart", "↑ Healing with {{Heart}} Red Hearts grants random permanent stat ups#{{Heart}} Spawns a Red Heart"}, -- Candy Heart
|
||||
[672] = {"672", "A Pound of Flesh", "{{DevilRoom}} Devil Room items cost coins#{{Shop}} Shop items cost hearts#Consumables in shops are surrounded by spikes"}, -- A Pound of Flesh
|
||||
[673] = {"673", "Redemption", "{{DevilRoom}} Entering a new floor after visiting a Devil Room and not taking any item/pickup grants:#↑ {{Damage}} +1 Damage#{{SoulHeart}} +1 Soul Heart"}, -- Redemption
|
||||
[674] = {"674", "Spirit Shackles", "Taking fatal damage transforms Isaac into a ghost chained to his dead body and allows him to continue to fight with half a heart#If the ghost survives, Isaac revives after 10 seconds#Must be recharged by picking up a Soul Heart"}, -- Spirit Shackles
|
||||
[675] = {"675", "Cracked Orb", "Taking damage:#Unlocks all locked doors in the room#Reveals a random room on the map#Destroys all tinted and crawlspace rocks"}, -- Cracked Orb
|
||||
[676] = {"676", "Empty Heart", "{{EmptyHeart}} +1 Empty heart container when at 1 Red Heart or less at the start of a new floor#No effect for characters that can't have Red Hearts"}, -- Empty Heart
|
||||
[676] = {"676", "Empty Heart", "{{EmptyHeart}} +1 Empty heart container when at 1 Red Heart or less at the start of a new floor"}, -- Empty Heart
|
||||
[677] = {"677", "Astral Projection", "{{Timer}} Taking damage in an uncleared room grants for the fight:#Spectral tears#Flight#Negates the next damage taken#Stops time for 2 seconds#Greatly increases speed and fire rate for 2 seconds"}, -- Astral Projection
|
||||
[678] = {"678", "C Section", "{{Chargeable}} Replaces Isaac's tears with a charge attack that shoots homing, spectral fetus tears#{{Damage}} Fetus tears deal about 2.8x Isaac's damage per second"}, -- C Section
|
||||
[679] = {"679", "Lil Abaddon", "{{Collectible399}} Familiar that charges and unleashes a Maw of the Void circle"}, -- Lil Abaddon
|
||||
@@ -732,12 +728,10 @@ EID:updateDescriptionsViaTable(repCarBattery, EID.descriptions[languageCode].car
|
||||
---------- Trinkets ----------
|
||||
|
||||
local repTrinkets={
|
||||
[1] = {"1", "Swallowed Penny", "{{Coin}} Taking damage spawns 1 coin#{{Player14}} 0-1 as Keeper"}, -- Swallowed Penny
|
||||
[10] = {"10", "Wiggle Worm", "↑ {{Tears}} +0.4 Tears#Spectral tears#Isaac's tears move in waves"}, -- Wiggle Worm
|
||||
[11] = {"11", "Ring Worm", "↑ {{Tears}} +0.47 Tears#Spectral tears#Isaac's tears move in spirals with high speed"}, -- Ring Worm
|
||||
[15] = {"15", "Lucky Rock", "{{Coin}} Destroying rocks has a 33% chance to spawn a coin"},-- Lucky Rock
|
||||
[16] = {"16", "Mom's Toenail", "Mom's Foot stomps a random spot in the room every 20 seconds"}, -- Mom's Toenail
|
||||
[23] = {"23", "Missing Poster", "{{Player10}} Respawn as The Lost on death#{{Player31}} Tainted Lost simply revives#{{Warning}} Dying in a {{SacrificeRoom}} Sacrifice Room while holding this trinket unlocks The Lost"}, -- Missing Poster
|
||||
[24] = {"24", "Butt Penny", "{{Coin}} 20% higher chance for coins to spawn from poop#{{Poison}} Picking up coins makes Isaac fart, which poisons and knocks back enemies and projectiles"}, -- Butt Penny
|
||||
[26] = {"26", "Hook Worm", "↑ {{Tears}} +0.4 Tears#↑ {{Range}} +1.5 Range#Spectral tears#Isaac's tears move in angular patterns"}, -- Hook Worm
|
||||
[32] = {"32", "Liberty Cap", "25% chance for a random mushroom effect per room"}, -- Liberty Cap
|
||||
@@ -782,7 +776,7 @@ local repTrinkets={
|
||||
[146] = {"146", "Devil's Crown", "{{RedTreasureRoom}} Treasure Room items are replaced with devil deals"}, -- Devil's Crown
|
||||
[147] = {"147", "Charged Penny", "{{Battery}} Picking up a coin has a 17% chance to add 1 charge to the active item"}, -- Charged Penny
|
||||
[148] = {"148", "Friendship Necklace", "All familiars orbit around Isaac"}, -- Friendship Necklace
|
||||
[149] = {"149", "Panic Button", "Taking damage uses the active item if it is charged"}, -- Panic Button
|
||||
[149] = {"149", "Panic Button", "Right before taking damage, uses the active item if it is charged"}, -- Panic Button
|
||||
[150] = {"150", "Blue Key", "Locked doors can be opened for free, but Isaac has to clear a room from the Hush floor before accessing the room behind them"}, -- Blue Key
|
||||
[151] = {"151", "Flat File", "Retracts most spikes, rendering them harmless#Also affects {{CursedRoom}} Curse Room doors, mimics and any spike obstacle"}, -- Flat File
|
||||
[152] = {"152", "Telescope Lens", "{{PlanetariumChance}} +9% Planetarium chance#Additional +15% chance if a Planetarium hasn't been entered yet#Planetariums can spawn in the Womb and Corpse"}, -- Telescope Lens
|
||||
@@ -956,7 +950,7 @@ EID.descriptions[languageCode].tarotClothBuffs = {
|
||||
[11] = {"Spawns {{ColorShinyPurple}}2{{CR}} {{Slotmachine}} Slot Machines or {{FortuneTeller}} Fortune Machines"}, -- X - Wheel of Fortune
|
||||
[12] = {1, 2, 0.3, 0.6, 0.3, 0.6, 2.5, 5}, -- XI - Strength
|
||||
[14] = {40, 80}, -- XIII - Death
|
||||
[15] = {"{{DonationMachine}} Spawns {{ColorShinyPurple}}2{{CR}} Blood Donation Machines#{{GreedMode}} Spawns {{ColorShinyPurple}}2{{CR}} Devil Beggars in Greed Mode"}, -- XIV - Temperance
|
||||
[15] = {"{{DonationMachine}} Spawns {{ColorShinyPurple}}2{{CR}} Blood Donation Machines"}, -- XIV - Temperance
|
||||
[16] = {2, 4}, -- XV - The Devil
|
||||
[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
|
||||
@@ -1008,7 +1002,7 @@ local repPills={
|
||||
[43] = {"42", "I'm Excited!!", "{{Timer}} Speeds up Isaac and all enemies in the room#Triggers again after 30 and 60 seconds"}, -- I'm Excited!!
|
||||
[48] = {"47", "Shot speed Down", "↓ {{Shotspeed}} -0.15 Shot speed"}, -- Shot speed Down
|
||||
[49] = {"48", "Shot speed Up", "↑ {{Shotspeed}} +0.15 Shot speed"}, -- Shot speed Up
|
||||
[50] = {"49", "Experimental Pill", "↑ Increases 1 random stat#↓ Decreases 1 random stat#No stat decrease with {{Collectible75}}PHD, {{Collectible46}}Lucky Foot or {{Collectible303}}Virgo#No stat increase with {{Collectible654}}False PHD"}, -- Experimental Pill
|
||||
[50] = {"49", "Experimental Pill", "↑ Increases 1 random stat#↓ Decreases 1 random stat"}, -- Experimental Pill
|
||||
[9999] = {"", "Golden Pill", "Random pill effect#Has a chance to destroy itself with each use"}, -- golden Pill
|
||||
}
|
||||
EID:updateDescriptionsViaTable(repPills, EID.descriptions[languageCode].pills)
|
||||
@@ -1063,7 +1057,7 @@ EID.descriptions[languageCode].horsepills={
|
||||
{"46", "Vurp!", "Spawns the last pill Isaac used as a horse pill"}, -- Vurp!
|
||||
{"47", "Shot speed Down", "↓ {{Shotspeed}} -0.3 Shot speed"}, -- Shot speed Down
|
||||
{"48", "Shot speed Up", "↑ {{Shotspeed}} +0.3 Shot speed"}, -- Shot speed Up
|
||||
{"49", "Experimental Pill", "↑ Increases 1 random stat twice#↓ Decreases 1 random stat twice#No stat decrease with {{Collectible75}} PHD, {{Collectible46}} Lucky Foot or {{Collectible303}} Virgo#No stat increase with {{Collectible654}} False PHD"}, -- Experimental Pill
|
||||
{"49", "Experimental Pill", "↑ Increases 1 random stat twice#↓ Decreases 1 random stat twice"}, -- Experimental Pill
|
||||
[9999] = {"", "Golden Pill", "Random horse pill effect#Has a chance to destroy itself with each use"}, -- Golden Pill
|
||||
}
|
||||
|
||||
@@ -1179,6 +1173,9 @@ EID.descriptions[languageCode].FalsePHDHeart = "Spawns 1 {{BlackHeart}} Black He
|
||||
EID.descriptions[languageCode].FalsePHDDamage = "↑ {{Damage}} +0.6 Damage"
|
||||
EID.descriptions[languageCode].FalsePHDHorseDamage = "↑ {{Damage}} +1.2 Damage"
|
||||
|
||||
EID.descriptions[languageCode].ExperimentalPillPHD = "No stat decrease"
|
||||
EID.descriptions[languageCode].ExperimentalPillFalsePHD = "No random stat increase"
|
||||
|
||||
EID.descriptions[languageCode].PandorasBoxStrangeKeyEffect = "Instead, consumes the key and spawns 6 items from random pools"
|
||||
|
||||
EID.descriptions[languageCode].AchievementWarningTitle = "{{ColorYellow}}{{Warning}} WARNING {{Warning}}"
|
||||
@@ -1190,6 +1187,21 @@ EID.descriptions[languageCode].ModdedRecipesWarningText = "Modded items could ma
|
||||
|
||||
EID.descriptions[languageCode].ResultsWithX = "(Results with {1})"
|
||||
|
||||
|
||||
local repConditions={
|
||||
["5.100.161"] = "{{Player25}} Tainted ??? simply revives", -- Ankh
|
||||
["5.350.28"] = "{{Player25}} Tainted ??? simply revives", -- Broken Ankh
|
||||
["5.100.311"] = "{{Player24}} Tainted Judas simply revives", -- Judas's Shadow
|
||||
["5.100.332"] = "{{Player29}} Tainted Lazarus simply revives", -- Lazarus's Rags
|
||||
["5.350.23 (Tainted Lost)"] = "{{Player31}} Tainted Lost simply revives", -- Missing Poster
|
||||
["5.100.676"] = "No effect for characters that can't have Red Hearts", -- Empty Heart
|
||||
["5.300.15 (Tarot)"] = "{{DemonBeggar}} Spawns {{ColorShinyPurple}}2{{CR}} Devil Beggars", -- Temperance (Greed Mode + Tarot Cloth effect)
|
||||
["5.350.1"] = "{{Player14}} Spawns 0-1 coin as Keeper", -- Swallowed Penny
|
||||
["5.100.135 (Hard Mode)"] = {"1-2 coins", "1 coin", "2-3 coins", "2 coins"}, -- IV Bag Hard Mode (modify the PHD text too)
|
||||
}
|
||||
EID:updateDescriptionsViaTable(repConditions, EID.descriptions[languageCode].ConditionalDescs)
|
||||
|
||||
|
||||
-- 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
|
||||
EID.descriptions[languageCode].repCollectibles = repCollectibles
|
||||
|
||||
+9
-3
@@ -395,6 +395,7 @@ function EID:getDescriptionObj(Type, Variant, SubType, entity, checkModifiers)
|
||||
EID:getObjectItemTypeAndCharge(description)
|
||||
|
||||
if checkModifiers ~= false then
|
||||
description = EID:applyConditionals(description)
|
||||
description = EID:applyDescriptionModifier(description, SubType)
|
||||
end
|
||||
return description
|
||||
@@ -482,7 +483,8 @@ end
|
||||
-- falls back to english if it doesnt exist, unless specified otherwise
|
||||
function EID:getDescriptionEntry(objTable, objID, noFallback)
|
||||
if not objID then
|
||||
return EID.descriptions[EID:getLanguage()][objTable] or EID.descriptions["en_us"][objTable]
|
||||
if noFallback then return EID.descriptions[EID:getLanguage()][objTable]
|
||||
else return EID.descriptions[EID:getLanguage()][objTable] or EID.descriptions["en_us"][objTable] end
|
||||
else
|
||||
local translatedTable = EID.descriptions[EID:getLanguage()][objTable]
|
||||
if noFallback then return translatedTable and translatedTable[objID]
|
||||
@@ -1156,13 +1158,17 @@ function EID:PlayersHaveTrinket(trinketID)
|
||||
return false
|
||||
end
|
||||
|
||||
-- Checks if someone playing as certain character, for modifiers
|
||||
function EID:PlayersHaveCharacter(playerType)
|
||||
-- Checks if someone is playing as a certain character, for modifiers
|
||||
-- includeTainted means we don't care if the player is Tainted or not (for things that, say, apply to Lost/Tainted Lost)
|
||||
function EID:PlayersHaveCharacter(playerType, includeTainted)
|
||||
for i = 0, game:GetNumPlayers() - 1 do
|
||||
local player = Isaac.GetPlayer(i)
|
||||
if player:GetPlayerType() == playerType then
|
||||
return true, player
|
||||
end
|
||||
if includeTainted and REPENTANCE and Isaac.GetPlayerTypeByName(player:GetName()) == playerType then
|
||||
return true, player
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -995,6 +995,9 @@ function EID:handleBagOfCraftingRendering(ignoreRefreshRate)
|
||||
|
||||
if REPENTOGON then
|
||||
EID.BoC.BagItems = EID.bagPlayer:GetBagOfCraftingContent()
|
||||
for i=1,8 do
|
||||
if EID.BoC.BagItems[i] == 0 then EID.BoC.BagItems[i] = nil end
|
||||
end
|
||||
end
|
||||
local bagItems = EID.BoC.BagItemsOverride or EID.BoC.BagItems
|
||||
-- Display the result of the 8 items in our bag if applicable
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
local game = Game()
|
||||
|
||||
--[[ Descs that need a variant:
|
||||
respawn items that respawn you as the tainted version of yourself
|
||||
tainted isaac Consolation Prize, Experimental Treatment
|
||||
things that apply only to Lost/Tainted Lost (broken heart card, magic skin)
|
||||
spoilers descs
|
||||
lachyphragy in co-op? tech zero in co-op? yum heart and such obviously
|
||||
black candle + cursed penny / cursed eye
|
||||
healing stuff for keeper?
|
||||
iron bar + notched axe
|
||||
IV bag in hard mode
|
||||
IV bag for keeper (hmm, two different modifiers needed!)
|
||||
swallowed penny keeper
|
||||
experimental pill phd / false phd / phd + falsephd prints nothing
|
||||
iv bag also has interaction with PHD...
|
||||
Items that have synergies with other specific items
|
||||
Items that override other items (brimstone, mom's knife, epic fetus stuff)
|
||||
|
||||
|
||||
TODO: new config options for spoiler descs, and for hiding the "needed for collection" stuff
|
||||
]]
|
||||
|
||||
-- silly function but I don't want to mess with Game() colon functions in the conditions table
|
||||
function EID:IsGreedMode()
|
||||
return game:IsGreedMode()
|
||||
end
|
||||
function EID:IsHardMode()
|
||||
if game.Difficulty == 1 or game.Difficulty == 3 then return true
|
||||
else return false end
|
||||
end
|
||||
|
||||
-- Character IDs that aren't allowed to have Red Health: ???, The Lost, The Soul
|
||||
local noRedPlayerIDs = { [4] = true, [10] = true, [17] = true }
|
||||
-- ???, The Lost, Black Judas, The Soul, Tainted Judas, Tainted ???, Tainted Lost, Tainted Forgotten, Tainted Bethany, Tainted Soul
|
||||
if REPENTANCE then
|
||||
noRedPlayerIDs = { [4] = true, [10] = true, [12] = true, [17] = true, [24] = true, [25] = true, [31] = true, [35] = true, [36] = true, [40] = true }
|
||||
end
|
||||
-- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat
|
||||
function EID:CheckForNoRedHealthPlayer()
|
||||
for i = 0, game:GetNumPlayers() - 1 do
|
||||
local player = Isaac.GetPlayer(i)
|
||||
if noRedPlayerIDs[player:GetPlayerType()] then
|
||||
return true
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Check for multiple players existing for items like Yum Heart and Extension Cord, includes J&E
|
||||
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
|
||||
|
||||
--EID:PlayersHaveCharacter is already in the api to use for things like Swallowed Penny
|
||||
|
||||
|
||||
|
||||
--[[ (The conditions table has to be down here so that the functions exist)
|
||||
|
||||
func: The function that will be called to check if the condition is true
|
||||
vars: A table of values that will be passed into func
|
||||
type: A string denoting what kind of description change this is
|
||||
"append": Add new lines to the end of the description (default)
|
||||
"replaceAll": The entire description is replaced with a new one
|
||||
"findReplace": Find a phrase and replace it with a new one (the text in the localization file will be a table)
|
||||
repOnly: Don't check this on Afterbirth+ (not always necessary, because AB+ won't have the text anyway)
|
||||
abpOnly: Don't check this on Repentance
|
||||
modifierText: Text to add to find a specific string in the localization file (for items with multiple modifiers)
|
||||
|
||||
Due to co-op, it's best for replacing text in descriptions to only be used for things like Greed/Hard Mode
|
||||
Otherwise, appending is better so that players not affected by the change can still see what it will be for them
|
||||
]]
|
||||
local conditionsTable = {
|
||||
-- No Red HP
|
||||
["5.100.81"] = {func = EID.CheckForNoRedHealthPlayer}, -- Dead Cat
|
||||
["5.100.442"] = {func = EID.CheckForNoRedHealthPlayer}, -- Dark Prince's Crown
|
||||
["5.100.676"] = {func = EID.CheckForNoRedHealthPlayer}, -- Empty Heart
|
||||
|
||||
-- Keeper
|
||||
["5.100.135"] = { -- IV Bag is complicated
|
||||
{func = EID.PlayersHaveCollectible, vars = {75}, modifierText = "PHD"},
|
||||
{func = EID.PlayersHaveCharacter, vars = {14, true}, modifierText = "Keeper"},
|
||||
{func = EID.IsHardMode, type = "findReplace", modifierText = "Hard Mode"}, },
|
||||
["5.350.1"] = {func = EID.PlayersHaveCharacter, vars = {14, true}}, -- Swallowed Penny
|
||||
|
||||
-- Revives
|
||||
["5.100.161"] = {func = EID.PlayersHaveCharacter, vars = {25}}, -- Ankh
|
||||
["5.350.28"] = {func = EID.PlayersHaveCharacter, vars = {25}}, -- Broken Ankh
|
||||
["5.100.311"] = {func = EID.PlayersHaveCharacter, vars = {24}}, -- Judas's Shadow
|
||||
["5.100.332"] = {func = EID.PlayersHaveCharacter, vars = {29}}, -- Lazarus's Rags
|
||||
["5.350.23"] = { -- Missing Poster (revive, plus Unlock The Lost text)
|
||||
{func = EID.PlayersHaveCharacter, vars = {31}, modifierText = "Tainted Lost"},
|
||||
{func = EID.HaveNotUnlockedAchievement, vars = {Achievement.THE_LOST} } },
|
||||
|
||||
-- Greed Mode
|
||||
["5.100.241"] = {func = EID.IsGreedMode}, -- Contract From Below
|
||||
["5.300.15"] = {func = EID.IsGreedMode, type = "replaceAll"}, -- Temperance: spawns beggar in greed mode
|
||||
["5.300.15 (Tarot)"] = {func = EID.IsGreedMode, type = "replaceAll"}, -- Temperance + Tarot Cloth + Greed Mode
|
||||
|
||||
}
|
||||
|
||||
-- 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
|
||||
|
||||
function EID:applyConditionals(descObj, modifierText)
|
||||
local typeVarSub = descObj.ObjType.."."..descObj.ObjVariant.."."..descObj.ObjSubType
|
||||
if modifierText then typeVarSub = typeVarSub .. " (" .. modifierText .. ")" end
|
||||
|
||||
local conds = conditionsTable[typeVarSub]
|
||||
if not conds then return descObj end
|
||||
|
||||
-- Check every condition we need to check for this item (usually 1)
|
||||
if #conds == 0 then conds = { conds } end
|
||||
for i,cond in ipairs(conds) do
|
||||
local tvs = typeVarSub
|
||||
if cond.modifierText then tvs = tvs .. " (" .. cond.modifierText .. ")" end
|
||||
local text = EID:getDescriptionEntry("ConditionalDescs", nil, true)[tvs]
|
||||
if (text ~= nil) and (not repOnly or REPENTANCE) and (not abpOnly or not REPENTANCE) then
|
||||
-- is there a way to pass all a table's values into a function aside from this? it's fine for now...
|
||||
cond.vars = cond.vars or {}
|
||||
if cond.func(EID, cond.vars[1], cond.vars[2], cond.vars[3], cond.vars[4]) then
|
||||
if (cond.type == "append" or cond.type == nil) then
|
||||
descObj.Description = descObj.Description .. "#" .. text
|
||||
elseif (cond.type == "replaceAll") then
|
||||
descObj.Description = text
|
||||
elseif (cond.type == "findReplace") then
|
||||
-- Entry 1 is replaced with entry 2, entry 3 is replaced with entry 4, etc.
|
||||
local pos = 1
|
||||
while pos < #text do
|
||||
local toFind = text[pos]
|
||||
local replaceWith = text[pos+1]
|
||||
|
||||
--"%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
|
||||
end
|
||||
|
||||
|
||||
return descObj
|
||||
end
|
||||
+46
-2
@@ -501,7 +501,7 @@ if EID.isRepentance then
|
||||
end
|
||||
end
|
||||
end
|
||||
return descObj
|
||||
return EID:applyConditionals(descObj,"Tarot")
|
||||
end
|
||||
|
||||
|
||||
@@ -670,6 +670,49 @@ if EID.isRepentance then
|
||||
end
|
||||
return descObj
|
||||
end
|
||||
|
||||
-- Handle Experimental Pill description addition
|
||||
local function ExperimentalPillCallback(descObj)
|
||||
local adjustedID = EID:getAdjustedSubtype(descObj.ObjType, descObj.ObjVariant, descObj.ObjSubType)
|
||||
if adjustedID - 1 ~= PillEffect.PILLEFFECT_EXPERIMENTAL then return descObj end
|
||||
local horse = descObj.ObjSubType > 2048
|
||||
|
||||
for i = 1,#EID.coopAllPlayers do
|
||||
local player = EID.coopAllPlayers[i]
|
||||
local playerID = EID:getPlayerID(player)
|
||||
local playerType = player:GetPlayerType()
|
||||
local pillModifierID = 0
|
||||
local goodAndBad = false
|
||||
|
||||
-- Check for PHD, Lucky Foot, Virgo, and False PHD
|
||||
if player:HasCollectible(75) then pillModifierID = 75
|
||||
elseif player:HasCollectible(46) then pillModifierID = 46
|
||||
elseif player:HasCollectible(303) then pillModifierID = 303
|
||||
end
|
||||
-- Check for False PHD, and if we have good AND bad pills, just print the damage up text
|
||||
if player:HasCollectible(654) then
|
||||
if pillModifierID ~= 0 then goodAndBad = true end
|
||||
pillModifierID = 654
|
||||
end
|
||||
if pillModifierID ~= 0 then
|
||||
local expPillString = ""
|
||||
if pillModifierID == 654 then
|
||||
local damageUpString = ""
|
||||
if horse then damageUpString = EID:getDescriptionEntry("FalsePHDHorseDamage")
|
||||
else damageUpString = EID:getDescriptionEntry("FalsePHDDamage") end
|
||||
if goodAndBad then
|
||||
expPillString = damageUpString
|
||||
else
|
||||
expPillString = EID:getDescriptionEntry("ExperimentalPillFalsePHD") .. "#{{Collectible654}} " .. damageUpString
|
||||
end
|
||||
else expPillString = EID:getDescriptionEntry("ExperimentalPillPHD") end
|
||||
EID:appendToDescription(descObj, "#")
|
||||
if #EID.coopAllPlayers > 1 then EID:appendToDescription(descObj, (EID:getIcon("Player"..playerType) ~= EID.InlineIcons["ERROR"] and "{{Player"..playerType.."}} " or ("P" .. i .. ": "))) end
|
||||
EID:appendToDescription(descObj, "{{Collectible" .. pillModifierID .. "}} " .. expPillString)
|
||||
end
|
||||
end
|
||||
return descObj
|
||||
end
|
||||
|
||||
-- Handle False PHD description addition
|
||||
local function FalsePHDCallback(descObj)
|
||||
@@ -677,7 +720,7 @@ if EID.isRepentance then
|
||||
local horse = descObj.ObjSubType > 2048
|
||||
local data = EID.pillMetadata[adjustedID-1]
|
||||
if data ~= nil then
|
||||
local damageUp = string.find(data.class,"3") and (string.find(data.class,"-") or adjustedID-1 == PillEffect.PILLEFFECT_EXPERIMENTAL)
|
||||
local damageUp = string.find(data.class,"3") and string.find(data.class,"-")
|
||||
if adjustedID-1 == PillEffect.PILLEFFECT_SHOT_SPEED_DOWN then damageUp = true end
|
||||
-- why doesn't I'm Excited have a - in the xml data yet spawn a black heart...
|
||||
local blackHeart = (string.find(data.class,"2") or string.find(data.class,"1")) and (string.find(data.class,"-") or adjustedID-1 == PillEffect.PILLEFFECT_IM_EXCITED)
|
||||
@@ -793,6 +836,7 @@ if EID.isRepentance then
|
||||
if EID.collectiblesOwned[654] then table.insert(callbacks, FalsePHDCallback) end
|
||||
if EID.collectiblesOwned[348] then table.insert(callbacks, PlaceboCallback) end
|
||||
table.insert(callbacks, VurpCallback)
|
||||
table.insert(callbacks, ExperimentalPillCallback)
|
||||
|
||||
if EID.pillPlayer == nil and #EID.coopAllPlayers > 1 then
|
||||
table.insert(callbacks, CoopPillCallback)
|
||||
|
||||
Reference in new issue
Block a user