Compare commits

...
13 Commits
Author SHA1 Message Date
Wofsauge 2663deafa0 chore: release 4.91
Check Localization / Check Localization process (push) Canceled after 0s
2025-01-25 16:29:26 +01:00
Wofsauge b10a18c2b6 Fixed error caused by entities that dont have an icon assigned to them
closes #796
2025-01-25 15:59:59 +01:00
Wofsauge 33181983e7 Updated workshop mod description
Check Localization / Check Localization process (push) Canceled after 0s
2025-01-25 00:36:37 +01:00
Wofsauge e94d60285b chore: release 4.90 2025-01-25 00:35:53 +01:00
Wofsauge 830d7b7fd6 small code improvements 2025-01-25 00:12:40 +01:00
Wofsauge a120a6c693 Added "AchievementLocked" icon to the achievement warning text 2025-01-25 00:12:27 +01:00
Wofsauge 0ced81f7e3 Improved "Unidentified Pill"-info rendering 2025-01-25 00:11:54 +01:00
Wofsauge fc7c9d5605 Fixed modded card/pill icons in Item Reminder
closes #795
2025-01-24 23:31:21 +01:00
Wofsauge 97cbaecc42 Improved Luadocs and fixed some code warnings 2025-01-24 00:19:16 +01:00
Christina / twyn!b 38fbb8a473 Better Contagion description (#794)
fix minor grammar issue, add info about enemies also exploding if poisoned
2025-01-19 21:17:36 +01:00
CatWiz ca6a9e7fb5 Added Luadoc comments to all functions in eid_api.lua (#793)
* luadoc part 1

* luadoc part 2

* luadoc part 3

* luadoc part 4

* fixed warnings

* added some missing returns
2025-01-12 13:24:58 +01:00
MartinFierroWasTaken 9a1f5b0930 Update spa.lua (#792)
+Switched "moscas"(flies) with "langostas"(locusts) on the [706] abyss item description
+added & translated abyss special locusts table

also check lines 68, 83, 142 & 145 on the english rep+ language file for minor errors
2025-01-12 00:01:07 +01:00
BenevolusGoat 0fd8346b66 Have Consolation Prize use EID:getPlayerName instead of directly using player:GetName() (#790) 2024-12-29 18:00:29 +01:00
7 changed files with 1102 additions and 319 deletions

No files matched your search

+1 -1
View File
@@ -488,7 +488,7 @@ EID.descriptions[languageCode].collectibles={
{"463", "Sulfuric Acid", "↑ {{Damage}} +0.3 Damage#Isaac's tears can destroy rocks and open doors"}, -- Sulfuric Acid {"463", "Sulfuric Acid", "↑ {{Damage}} +0.3 Damage#Isaac's tears can destroy rocks and open doors"}, -- Sulfuric Acid
{"464", "Glyph of Balance", "{{SoulHeart}} +2 Soul Hearts#Champion enemies drop whatever pickup Isaac needs the most"}, -- Glyph of Balance {"464", "Glyph of Balance", "{{SoulHeart}} +2 Soul Hearts#Champion enemies drop whatever pickup Isaac needs the most"}, -- Glyph of Balance
{"465", "Analog Stick", "↑ {{Tears}} +0.3 Tears#Allows Isaac to shoot tears in any direction"}, -- Analog Stick {"465", "Analog Stick", "↑ {{Tears}} +0.3 Tears#Allows Isaac to shoot tears in any direction"}, -- Analog Stick
{"466", "Contagion", "{{Poison}} The first enemy killed in a room explodes and poison all nearby enemies"}, -- Contagion {"466", "Contagion", "{{Poison}} The first enemy killed in a room explodes and poisons all nearby enemies#Enemies that die while poisoned also explode and poison nearby enemies"}, -- Contagion
{"467", "Finger!", "{{Damage}} Constantly deals 10% of Isaac's damage in the direction it points"}, -- Finger! {"467", "Finger!", "{{Damage}} Constantly deals 10% of Isaac's damage in the direction it points"}, -- Finger!
{"468", "Shade", "Follows Isaac's movement on a 1 second delay#Deals 30 contact damage per second#After it deals 600 damage, it is absorbed by Isaac, increasing his contact damage"}, -- Shade {"468", "Shade", "Follows Isaac's movement on a 1 second delay#Deals 30 contact damage per second#After it deals 600 damage, it is absorbed by Isaac, increasing his contact damage"}, -- Shade
{"469", "Depression", "Leaves a trail of creep#The creep deals 6 damage per second#Enemies that touch the cloud can be hit by a holy light beam"}, -- Depression {"469", "Depression", "Leaves a trail of creep#The creep deals 6 damage per second#Enemies that touch the cloud can be hit by a holy light beam"}, -- Depression
+249 -1
View File
@@ -38,7 +38,7 @@ local collectibles = {
-- Change: Complete rewrite -- Change: Complete rewrite
[681] = {"681", "Portal Pequeño", "Disparar 2 veces en una dirección lanza el portal#Inflige daño por contacto al ser lanzado#Consume los recolectables a su paso#Cada uno aumentará su tamaño, daño, y generará una Mosca Azul#Consumir 2-3 recolectables genera un portal a una habitacion especial y el familiar desaparece por el resto del nivel#El contenido de la habitacion persiste por el resto de la partida"}, -- Portal Pequeño [681] = {"681", "Portal Pequeño", "Disparar 2 veces en una dirección lanza el portal#Inflige daño por contacto al ser lanzado#Consume los recolectables a su paso#Cada uno aumentará su tamaño, daño, y generará una Mosca Azul#Consumir 2-3 recolectables genera un portal a una habitacion especial y el familiar desaparece por el resto del nivel#El contenido de la habitacion persiste por el resto de la partida"}, -- Portal Pequeño
-- Change: Added info about the damage based on item quality -- Change: Added info about the damage based on item quality
[706] = {"706", "Abismo", "Consume todo objeto dentro de la habitacion y genera una mosca familiar por objeto#Algunos objetos generan una mosca especial al ser consumidos#{{Damage}} Las moscas hacen daño igual a Isaac multiplicado por la calidad del objeto consumido:#{{Quality0}} - 0.5x#{{Quality1}} - 0.75x#{{Quality2}} - 1.0x#{{Quality3}} - 1.5x#{{Quality4}} - 2.0x"}, -- Abismo [706] = {"706", "Abismo", "Consume todo objeto dentro de la habitacion y genera una langosta familiar por objeto#Algunos objetos generan una langosta especial al ser consumidos#{{Damage}} Las langostas infligen tu daño multiplicado por la calidad del objeto consumido:#{{Quality0}} - 0.5x#{{Quality1}} - 0.75x#{{Quality2}} - 1.0x#{{Quality3}} - 1.5x#{{Quality4}} - 2.0x"}, -- Abismo
} }
EID:updateDescriptionsViaTable(collectibles, EID.descriptions[languageCode].collectibles) EID:updateDescriptionsViaTable(collectibles, EID.descriptions[languageCode].collectibles)
@@ -58,6 +58,254 @@ local trinkets = {
} }
EID:updateDescriptionsViaTable(trinkets, EID.descriptions[languageCode].trinkets) EID:updateDescriptionsViaTable(trinkets, EID.descriptions[languageCode].trinkets)
-- Table that contains commonly used descriptions for abyss synergies
local abyssPresets = {
noEffect = "Sin efectos",
normalTwo = "Dos langostas normales",
smallFour = "Cuatro langostas pequeñas",
blackFear = "Langostas negras que asustan a los enemigos",
blueConfuse = "Langostas azules que empujan y confunden a los enemigos",
blueFreeze = "Langostas azules que congelan a los enemigos",
cyanDestroyProjectiles = "Langosta cian que destruye proyectiles enemigos",
cyanElectricity = "Langosta cian que crea arcos de electricidad causando 0.1 de daño por tick",
grayConfuse = "Langosta gris que confunde a los enemigos",
grayPetrify = "Langosta gris que petrifica a los enemigos",
grayMagnetize = "Langosta gris que magnetiza a los enemigos",
graySlow = "Langosta gris claro que ralentiza enemigos",
grayBones = "Langosta gris claro que crea 1-3 fragmentos de hueso tras golpear enemigos",
greenPoison = "Langosta verde que envenena a los enemigos",
pinkMimic = "Langosta rosa que imita aleatoriamente los efectos de otras langostas especiales",
pinkCharm = "Langosta rosa que encanta a los enemigos",
purpleHoming = "Langosta morada teledirigida",
orangeBurn = "Langosta ardiente que incendia a los enemigos",
redBleed = "Langosta rojiza que inflige sangrado a los enemigos",
redLarge = "Langosta rojiza grande",
whiteBeam = "Langosta blanca brillante que puede generar rayos de luz que infligen el triple del daño de Isaac",
whiteGodhead = "Langosta blanca brillante con un aura que inflige 2 de daño por tick a los enemigos dentro",
yellowExplode = "Langosta amarilla explosiva",
yellowPoisonExplode = "Langosta amarilla que envenena a los enemigos y explota",
yellowMimicExplode = "Langosta amarilla que explota e imita aleatoriamente los efectos de otras langostas especiales",
}
-- Special Locust effects when Item was eaten by Abyss
local abyssSynergies = {
[4] = abyssPresets.noEffect, -- Cricket's Head
[6] = "Langosta veloz que inflige daño rapidamente", -- Number One
[7] = abyssPresets.noEffect, -- Blood of the Martyr
[10] = "Dos langostas cian que destruyen proyectiles enemigos", -- Halo of Flies
[12] = abyssPresets.redLarge, -- Magic Mushroom
[19] = abyssPresets.yellowExplode, -- Boom!
[37] = abyssPresets.yellowExplode, -- Mr. Boom
[39] = abyssPresets.grayPetrify, -- Mom's Bra
[40] = abyssPresets.yellowExplode, -- Kamikaze!
[47] = abyssPresets.yellowExplode, -- Doctor's Remote
[52] = abyssPresets.yellowExplode, -- Dr. Fetus
[41] = abyssPresets.blackFear, -- Mom's Pad
[53] = abyssPresets.grayMagnetize, -- Magneto
[58] = abyssPresets.cyanDestroyProjectiles, -- Book of Shadows
[62] = abyssPresets.redBleed, -- Charm of the Vampire
[63] = abyssPresets.cyanElectricity, -- The Battery
[65] = abyssPresets.yellowExplode, -- Anarchist Cookbook
[66] = abyssPresets.graySlow, -- The Hourglass
[68] = abyssPresets.cyanElectricity, -- Technology
[69] = abyssPresets.redLarge, -- Chocolate Milk
[71] = "Langosta roja pequeña", -- Mini Mush
[73] = abyssPresets.cyanDestroyProjectiles, -- Cube of Meat
[77] = abyssPresets.cyanDestroyProjectiles, -- My Little Unicorn
[89] = abyssPresets.graySlow, -- Spider Bite
[95] = abyssPresets.cyanElectricity, -- Robo Baby
[99] = abyssPresets.graySlow, -- Little Gish
[100] = abyssPresets.purpleHoming, -- Little Steven
[104] = "Una Langosta roja normal y dos langostas rojas pequeñas", -- The Parasite
[106] = abyssPresets.yellowExplode, -- Mr. Mega
[108] = abyssPresets.cyanDestroyProjectiles, -- The Wafer
[110] = abyssPresets.grayPetrify, -- Mom's Contacts
[111] = abyssPresets.greenPoison, -- The Bean
[112] = abyssPresets.cyanDestroyProjectiles, -- Guardian Angel
[114] = "Langosta roja grande que ataca rapidamente", -- Mom's Knife
[116] = abyssPresets.cyanElectricity, -- 9 Volt
[118] = "Langosta negra grande", -- Brimstone
[124] = abyssPresets.pinkMimic, -- Dead Sea Scrolls
[125] = abyssPresets.yellowExplode, -- Bobby-Bomb
[136] = abyssPresets.yellowExplode, -- Best Friend
[137] = abyssPresets.yellowExplode, -- Remote Detonator
[140] = abyssPresets.yellowExplode, -- Bob's Curse
[149] = abyssPresets.greenPoison, -- Ipecac
[153] = abyssPresets.smallFour, -- Mutant Spider
[160] = abyssPresets.whiteBeam, -- Crack the Sky
[162] = abyssPresets.cyanDestroyProjectiles, -- Celtic Cross
[164] = abyssPresets.orangeBurn, -- The Candle
[168] = abyssPresets.yellowExplode, -- Epic Fetus
[169] = abyssPresets.redLarge, -- Polyphemus
[171] = abyssPresets.graySlow, -- Spider Butt
[172] = abyssPresets.cyanDestroyProjectiles, -- Sacrificial Dagger
[178] = "Langosta blanca brillante que puede generar rayos de luz que infligen el triple del daño de Isaac", -- Holy Water
[180] = abyssPresets.greenPoison, -- The Black Bean
[181] = abyssPresets.whiteBeam, -- White Pony
[182] = "Langosta blanca, lenta, brillante y teledirigida que puede generar rayos de luz que infligen el triple del daño de Isaac", -- Sacred Heart
[187] = abyssPresets.cyanDestroyProjectiles, -- Guppy's Hairball
[190] = abyssPresets.yellowExplode, -- Pyro
[191] = abyssPresets.pinkMimic, -- 3 Dollar Bill
[192] = abyssPresets.purpleHoming, -- Telepathy for Dummies
[200] = abyssPresets.pinkCharm, -- Mom's Eyeshadow
[201] = abyssPresets.grayConfuse, -- Iron Bar
[202] = abyssPresets.grayPetrify, -- Midas' Touch
[207] = abyssPresets.cyanDestroyProjectiles, -- Ball of Bandages
[209] = abyssPresets.yellowPoisonExplode, -- Butt Bombs
[210] = abyssPresets.cyanDestroyProjectiles, -- Gnawed Leaf
[213] = abyssPresets.cyanDestroyProjectiles, -- Lost Contact
[220] = abyssPresets.yellowExplode, -- Sad Bombs
[224] = abyssPresets.smallFour, -- Cricket's Body
[228] = abyssPresets.blackFear, -- Mom's Perfume
[230] = abyssPresets.blackFear, -- Abaddon
[231] = "Langosta negra que ralentiza a los enemigos", -- Ball of Tar
[232] = abyssPresets.graySlow, -- Stop Watch
[242] = abyssPresets.cyanDestroyProjectiles, -- Infamy
[243] = abyssPresets.cyanDestroyProjectiles, -- Trinity Shield
[244] = abyssPresets.cyanDestroyProjectiles, -- Tech.5
[245] = abyssPresets.normalTwo, -- 20/20
[248] = abyssPresets.redLarge, -- Hive Mind
[250] = abyssPresets.yellowExplode, -- BOGO Bombs
[256] = "Langosta amarilla ardiente que incendia a los enemigos y explota", -- Hot Bombs
[258] = abyssPresets.pinkMimic, -- Missing No.
[259] = abyssPresets.blackFear, -- Dark Matter
[264] = abyssPresets.purpleHoming, -- Smart Fly
[265] = abyssPresets.cyanDestroyProjectiles, -- Dry Baby
[266] = abyssPresets.graySlow, -- Juicy Sack
[267] = abyssPresets.cyanElectricity, -- Robo-Baby 2.0
[272] = abyssPresets.yellowExplode, -- BBF
[273] = abyssPresets.yellowPoisonExplode, -- Bob's Brain
[276] = abyssPresets.blueConfuse, -- Isaac's Heart
[277] = abyssPresets.blackFear, -- Lil Haunt
[279] = "Langosta cian grande y muy lenta que destruye proyectiles enemigos", -- Big Fan
[281] = abyssPresets.cyanDestroyProjectiles, -- Punching Bag
[289] = abyssPresets.orangeBurn, -- Red Candle
[294] = abyssPresets.blueConfuse, -- Butter Bean
[298] = abyssPresets.cyanDestroyProjectiles, -- Unicorn Stump
[300] = abyssPresets.blueConfuse, -- Aries
[303] = abyssPresets.cyanDestroyProjectiles, -- Virgo
[309] = abyssPresets.blueConfuse, -- Pisces
[310] = "Langosta negra, grande y lenta", -- Eve's Mascara
[313] = abyssPresets.cyanDestroyProjectiles, -- Holy Mantle
[315] = abyssPresets.grayMagnetize, -- Strange Attractor
[317] = abyssPresets.greenPoison, -- Mysterious Liquid
[326] = abyssPresets.cyanDestroyProjectiles, -- Breath of Life
[330] = "Langosta pequeña extremadamente veloz que inflige daño rapidamente", -- Soy Milk
[331] = abyssPresets.whiteGodhead, -- Godhead
[336] = "Langosta roja lenta", -- Dead Onion
[337] = abyssPresets.graySlow, -- Broken Watch
[338] = abyssPresets.grayPetrify, -- Boomerang
[347] = abyssPresets.normalTwo, -- Diplopia
[350] = abyssPresets.greenPoison, -- Toxic Shock
[351] = "Langosta verde que envenena, empuja y confunde a los enemigos", -- Mega Bean
[353] = abyssPresets.yellowExplode, -- Bomber Boy
[356] = abyssPresets.cyanElectricity, -- Car Battery
[360] = abyssPresets.normalTwo, -- Incubus
[363] = abyssPresets.cyanDestroyProjectiles, -- Sworn Protector
[366] = "Dos langostas amarillas que explotan", -- Scatter Bombs
[367] = "Langosta amarilla que ralentiza a los enemigos y explota", -- Sticky Bombs
[371] = abyssPresets.yellowExplode, -- Curse of the Tower
[372] = abyssPresets.cyanElectricity, -- Charged Baby
[374] = abyssPresets.whiteBeam, -- Holy Light
[375] = abyssPresets.cyanDestroyProjectiles, -- Host Hat
[378] = abyssPresets.yellowExplode, -- Number Two
[379] = abyssPresets.redLarge, -- Pupula Duplex
[387] = abyssPresets.graySlow, -- Censer
[391] = abyssPresets.pinkCharm, -- Betrayal
[393] = abyssPresets.greenPoison, -- Serpent's Kiss
[395] = abyssPresets.cyanElectricity, -- Tech X
[398] = "Langosta azul que encoje a los enemigos", -- God's Flesh
[401] = abyssPresets.yellowExplode, -- Explosivo
[402] = abyssPresets.pinkMimic, -- Chaos
[403] = abyssPresets.pinkMimic, -- Spider Mod
[404] = "Langosta cian que envenena a los enemigos y destruye proyectiles enemigos", -- Farting Baby
[405] = abyssPresets.pinkMimic, -- GB Bug
[415] = abyssPresets.whiteBeam, -- Crown of Light
[417] = abyssPresets.whiteGodhead, -- Succubus
[418] = abyssPresets.pinkMimic, -- Fruit Cake
[421] = abyssPresets.pinkCharm, -- Kidney Bean
[423] = abyssPresets.cyanDestroyProjectiles, -- Circle of Protection
[425] = abyssPresets.graySlow, -- Night Light
[427] = abyssPresets.yellowExplode, -- Mine Crafter
[432] = abyssPresets.yellowMimicExplode, -- Glitter Bombs
[441] = "Langosta negra grande", -- Mega Blast
[446] = abyssPresets.greenPoison, -- Dead Tooth
[448] = abyssPresets.redBleed, -- Shard of Glass
[449] = abyssPresets.cyanDestroyProjectiles, -- Metal Plate
[453] = abyssPresets.grayBones, -- Compound Fracture
[457] = abyssPresets.cyanDestroyProjectiles, -- Cone Head
[459] = abyssPresets.greenPoison, -- Sinus Infection
[460] = abyssPresets.grayConfuse, -- Glaucoma
[466] = abyssPresets.greenPoison, -- Contagion
[473] = "Langosta roja grande y lenta", -- Big Chubby
[478] = abyssPresets.grayPetrify, -- Pause
[483] = "Langosta amarilla grande que explota", -- Mama Mega
[488] = abyssPresets.pinkMimic, -- Metronome
[495] = abyssPresets.orangeBurn, -- Ghost Pepper
[497] = abyssPresets.grayConfuse, -- Camo Undies
[502] = abyssPresets.graySlow, -- Large Zit
[506] = abyssPresets.redBleed, -- Backstabber
[508] = abyssPresets.redBleed, -- Mom's Razor
[510] = abyssPresets.pinkMimic, -- Delirious
[512] = abyssPresets.grayMagnetize, -- Black Hole
[514] = "Langosta gris que petrifica y confunde a los enemigos", -- Broken Modem
[517] = abyssPresets.yellowExplode, -- Fast Bombs
[519] = abyssPresets.pinkMimic, -- Lil Delirium
[520] = abyssPresets.cyanElectricity, -- Jumper Cables
[524] = abyssPresets.cyanElectricity, -- Technology Zero
[525] = abyssPresets.cyanDestroyProjectiles, -- Leprosy
[533] = abyssPresets.whiteBeam, -- Trisagion
[541] = abyssPresets.grayBones, -- Marrow
[542] = abyssPresets.grayBones, -- Slipped Rib
[544] = abyssPresets.grayBones, -- Pointy Rib
[545] = abyssPresets.grayBones, -- Book of the Dead
[546] = abyssPresets.grayPetrify, -- Dad's Ring
[548] = abyssPresets.grayBones, -- Jawbone
[549] = abyssPresets.grayBones, -- Brittle Bones
[553] = abyssPresets.greenPoison, -- Mucomycosis
[554] = abyssPresets.blackFear, -- 2Spooky
[561] = "Langosta pequeña y veloz que inflige daño rapidamente", -- Almond Milk
[563] = abyssPresets.yellowMimicExplode, -- Nancy Bombs
[568] = abyssPresets.cyanDestroyProjectiles, -- Divine Intervention
[570] = abyssPresets.pinkMimic, -- Playdough Cookie
[574] = abyssPresets.whiteGodhead, -- Monstrance
[575] = abyssPresets.graySlow, -- The Intruder
[577] = "Dos langostas cian que destruyen proyectiles enemigos", -- Damocles
[581] = abyssPresets.cyanDestroyProjectiles, -- Psy Fly
[583] = abyssPresets.yellowExplode, -- Rocket in a Jar
[591] = abyssPresets.pinkCharm, -- Venus
[594] = abyssPresets.greenPoison, -- Jupiter
[596] = abyssPresets.blueFreeze, -- Uranus
[603] = abyssPresets.cyanElectricity, -- Battery Pack
[606] = abyssPresets.grayMagnetize, -- Ocular Rift
[608] = abyssPresets.blueFreeze, -- Freezer Baby
[615] = abyssPresets.cyanDestroyProjectiles, -- Lil Dumpy
[616] = abyssPresets.orangeBurn, -- Bird's Eye
[617] = abyssPresets.grayMagnetize, -- Lodestone
[618] = abyssPresets.pinkCharm, -- Rotten Tomato
[622] = abyssPresets.pinkMimic, -- Genesis
[625] = "Langosta roja grande que ataca rapidamente", -- Mega Mush
[629] = abyssPresets.cyanDestroyProjectiles, -- Bot Fly
[631] = "Dos langostas rojas pequeñas", -- Meat Cleaver
[637] = abyssPresets.blueConfuse, -- Knockout Drops
[640] = abyssPresets.orangeBurn, -- Urn of Souls
[645] = abyssPresets.cyanDestroyProjectiles, -- Tinytoma
[646] = abyssPresets.yellowExplode, -- Brimstone Bombs
[647] = abyssPresets.cyanElectricity, -- 4.5 Volt
[652] = abyssPresets.blueFreeze, -- Cube Baby
[663] = abyssPresets.cyanDestroyProjectiles, -- Tooth and Nail
[683] = abyssPresets.grayBones, -- Bone Spurs
[689] = abyssPresets.pinkMimic, -- Glitched Crown
[690] = abyssPresets.blueConfuse, -- Belly Jelly
[693] = "Tres langostas cian que destruyen proyectiles enemigos", -- The Swarm
[698] = abyssPresets.normalTwo, -- Twisted Pair
[721] = abyssPresets.pinkMimic, -- TMTRAINER
[727] = abyssPresets.yellowExplode, -- Ghost Bombs
[706] = "Genera 16 langostas de diferentes colores y efectos", -- Abyss
}
EID:updateDescriptionsViaTable(abyssSynergies, EID.descriptions[languageCode].abyssSynergies)
-- 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
+796 -270
View File
File diff suppressed because it is too large. Load diff
+13 -18
View File
@@ -310,8 +310,8 @@ function EID:ClosestCharCheck(modifierText, playerTypes, includeTainted)
end end
-- The closest player does not apply the modifier; check for players that do get this modifier -- The closest player does not apply the modifier; check for players that do get this modifier
for i = 1, #EID.coopAllPlayers do for _, player in ipairs(EID.coopAllPlayers) do
local t = EID.coopAllPlayers[i]:GetPlayerType() local t = player:GetPlayerType()
if EID:ArrayContains(playerTypes, t) or (includeTainted and EID:ArrayContains(playerTypes, EID.TaintedToRegularID[t])) then if EID:ArrayContains(playerTypes, t) or (includeTainted and EID:ArrayContains(playerTypes, EID.TaintedToRegularID[t])) then
table.insert(EID.DifferentEffectPlayers, t) table.insert(EID.DifferentEffectPlayers, t)
end end
@@ -320,8 +320,7 @@ function EID:ClosestCharCheck(modifierText, playerTypes, includeTainted)
end end
function EID:PlayersHaveGoldenBomb() function EID:PlayersHaveGoldenBomb()
for i = 1, #EID.coopAllPlayers do for _, player in ipairs(EID.coopAllPlayers) do
local player = EID.coopAllPlayers[i]
if player:HasGoldenBomb() then if player:HasGoldenBomb() then
return true return true
end end
@@ -364,8 +363,7 @@ function EID:CheckForNoRedHealthPlayer()
local player = EID.ItemReminderPlayerEntity local player = EID.ItemReminderPlayerEntity
return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()]
else else
for i = 1, #EID.coopAllPlayers do for _, player in ipairs(EID.coopAllPlayers) do
local player = EID.coopAllPlayers[i]
if EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] then if EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] then
return true return true
end end
@@ -379,8 +377,7 @@ function EID:CheckForTaintedPlayer()
local player = EID.ItemReminderPlayerEntity local player = EID.ItemReminderPlayerEntity
return EID.TaintedIDs[player:GetPlayerType()] return EID.TaintedIDs[player:GetPlayerType()]
else else
for i = 1, #EID.coopAllPlayers do for _, player in ipairs(EID.coopAllPlayers) do
local player = EID.coopAllPlayers[i]
if EID.TaintedIDs[player:GetPlayerType()] then if EID.TaintedIDs[player:GetPlayerType()] then
return true return true
end end
@@ -390,15 +387,14 @@ function EID:CheckForTaintedPlayer()
end end
-- Check if we have characters with Schoolbag or a pocket active item -- Check if we have characters with Schoolbag or a pocket active item
function EID:CheckForMultipleActives(descObj, onlyChargeablePockets) function EID:CheckForMultipleActives(_, onlyChargeablePockets)
if EID.InsideItemReminder then if EID.InsideItemReminder then
local player = EID.ItemReminderPlayerEntity local player = EID.ItemReminderPlayerEntity
if player:HasCollectible(534) then return 534 end if player:HasCollectible(534) then return 534 end
local id = player:GetPlayerType() local id = player:GetPlayerType()
if EID.isRepentance and (EID.PocketActivePlayerIDs[id] == 0 or (not onlyChargeablePockets and EID.PocketActivePlayerIDs[id])) then return player:GetActiveItem(2) end if EID.isRepentance and (EID.PocketActivePlayerIDs[id] == 0 or (not onlyChargeablePockets and EID.PocketActivePlayerIDs[id])) then return player:GetActiveItem(2) end
else else
for i = 1, #EID.coopAllPlayers do for _, player in ipairs(EID.coopAllPlayers) do
local player = EID.coopAllPlayers[i]
if player:HasCollectible(534) then return 534 end if player:HasCollectible(534) then return 534 end
local id = player:GetPlayerType() local id = player:GetPlayerType()
if EID.isRepentance and (EID.PocketActivePlayerIDs[id] == 0 or (not onlyChargeablePockets and EID.PocketActivePlayerIDs[id])) then return player:GetActiveItem(2) end if EID.isRepentance and (EID.PocketActivePlayerIDs[id] == 0 or (not onlyChargeablePockets and EID.PocketActivePlayerIDs[id])) then return player:GetActiveItem(2) end
@@ -416,8 +412,7 @@ function EID:CheckForPocketActives()
local player = EID.ItemReminderPlayerEntity local player = EID.ItemReminderPlayerEntity
return EID.PocketActivePlayerIDs[player:GetPlayerType()] return EID.PocketActivePlayerIDs[player:GetPlayerType()]
else else
for i = 1, #EID.coopAllPlayers do for _, player in ipairs(EID.coopAllPlayers) do
local player = EID.coopAllPlayers[i]
if EID.PocketActivePlayerIDs[player:GetPlayerType()] then return true end if EID.PocketActivePlayerIDs[player:GetPlayerType()] then return true end
end end
end end
@@ -430,14 +425,14 @@ function EID:CheckForCarBattery(descObj)
return descObj.ObjSubType return descObj.ObjSubType
end end
-- When we're looking at a Car Battery pedestal, check our actives for having an effect or no effect -- When we're looking at a Car Battery pedestal, check our actives for having an effect or no effect
function EID:CheckActivesForCarBattery(descObj) function EID:CheckActivesForCarBattery(_)
if EID.InsideItemReminder then return false end if EID.InsideItemReminder then return false end
for k,v in pairs(EID.CarBatteryPedestalWhitelist) do for k,v in pairs(EID.CarBatteryPedestalWhitelist) do
if v and EID:PlayersHaveCollectible(k) then return k end if v and EID:PlayersHaveCollectible(k) then return k end
end end
return false return false
end end
function EID:CheckActivesForNoCarBattery(descObj) function EID:CheckActivesForNoCarBattery(_)
if EID.InsideItemReminder then return false end if EID.InsideItemReminder then return false end
for k,v in pairs(EID.CarBatteryNoSynergy) do for k,v in pairs(EID.CarBatteryNoSynergy) do
if v and EID:PlayersHaveCollectible(k) then return k end if v and EID:PlayersHaveCollectible(k) then return k end
@@ -458,21 +453,21 @@ function EID:CheckForHiveMind(descObj)
end end
-- When we're looking at a BFFS pedestal, check our familiars for having an effect (only finds the earliest one) -- When we're looking at a BFFS pedestal, check our familiars for having an effect (only finds the earliest one)
function EID:CheckFamiliarsForBFFS(descObj) function EID:CheckFamiliarsForBFFS(_)
if EID.InsideItemReminder then return false end if EID.InsideItemReminder then return false end
for k,v in pairs(EID.BFFSPedestalWhitelist) do for k,v in pairs(EID.BFFSPedestalWhitelist) do
if v and EID:PlayersHaveCollectible(k) then return "5.100." .. k end if v and EID:PlayersHaveCollectible(k) then return "5.100." .. k end
end end
return false return false
end end
function EID:CheckFamiliarsForHiveMind(descObj) function EID:CheckFamiliarsForHiveMind(_)
if EID.InsideItemReminder then return false end if EID.InsideItemReminder then return false end
for k,v in pairs(EID.BFFSPedestalWhitelist) do for k,v in pairs(EID.BFFSPedestalWhitelist) do
if EID.HiveMindFamiliars[k] and v and EID:PlayersHaveCollectible(k) then return "5.100." .. k end if EID.HiveMindFamiliars[k] and v and EID:PlayersHaveCollectible(k) then return "5.100." .. k end
end end
return false return false
end end
function EID:CheckFamiliarsForNoBFFS(descObj) function EID:CheckFamiliarsForNoBFFS(_)
if EID.InsideItemReminder then return false end if EID.InsideItemReminder then return false end
for k,v in pairs(EID.BFFSNoSynergy) do for k,v in pairs(EID.BFFSNoSynergy) do
if v and EID:PlayersHaveCollectible(k) then return k end if v and EID:PlayersHaveCollectible(k) then return k end
+5 -6
View File
@@ -14,10 +14,8 @@ function EID:TabReleased() return EID.TabHeldLastFrame and not EID.TabHeldThisFr
-- List of collectible IDs for us to check if a player owns them; feel free to add to this in mods that add description modifiers! -- List of collectible IDs for us to check if a player owns them; feel free to add to this in mods that add description modifiers!
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_VOID] = true EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_VOID] = true
EID.collectiblesToCheck["5.300.41"] = true -- Black Rune EID.collectiblesToCheck["5.300.41"] = true -- Black Rune
local maxSlot = 1
-- Repentance modifiers -- Repentance modifiers
if EID.isRepentance then if EID.isRepentance then
maxSlot = 3
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_BOOK_OF_VIRTUES] = true EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_BOOK_OF_VIRTUES] = true
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_SPINDOWN_DICE] = true EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_SPINDOWN_DICE] = true
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_MOMS_BOX] = true EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_MOMS_BOX] = true
@@ -459,7 +457,7 @@ if EID.isRepentance then
for p = 1,#EID.coopAllPlayers do for p = 1,#EID.coopAllPlayers do
local player = EID.coopAllPlayers[p] local player = EID.coopAllPlayers[p]
local playerID = player:GetPlayerType() local playerID = player:GetPlayerType()
local playerName = player:GetName() local playerName = EID:getPlayerName(player:GetPlayerType())
local playerStats = {} local playerStats = {}
playerStats[1] = EID:SimpleRound((player.MoveSpeed * 4.5) - 2) playerStats[1] = EID:SimpleRound((player.MoveSpeed * 4.5) - 2)
@@ -920,12 +918,13 @@ if EID.isRepentance then
local function GlitchedCrownCallback(descObj) local function GlitchedCrownCallback(descObj)
if not descObj.Entity or inGlitchedCrown then return descObj end if not descObj.Entity or inGlitchedCrown then return descObj end
local entity = descObj.Entity local entity = descObj.Entity
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
local pedestalID = descObj.Entity.InitSeed .. descObj.Entity.Index
if EID.GlitchedCrownCheck[curRoomIndex] and EID.GlitchedCrownCheck[curRoomIndex][descObj.Entity.InitSeed .. descObj.Entity.Index] then if EID.GlitchedCrownCheck[curRoomIndex] and EID.GlitchedCrownCheck[curRoomIndex][pedestalID] then
-- this table has collectible ID keys that define the first frame and most recent frame that that ID has been seen on this pedestal -- this table has collectible ID keys that define the first frame and most recent frame that that ID has been seen on this pedestal
-- we need to filter out items that haven't been seen in a while (due to a reroll perhaps), then sort by first frame -- we need to filter out items that haven't been seen in a while (due to a reroll perhaps), then sort by first frame
local pedestalID = descObj.Entity.InitSeed .. descObj.Entity.Index
local items = EID.GlitchedCrownCheck[curRoomIndex][pedestalID] local items = EID.GlitchedCrownCheck[curRoomIndex][pedestalID]
local sortedItems = {} local sortedItems = {}
for id, frames in pairs(items) do for id, frames in pairs(items) do
+30 -20
View File
@@ -12,8 +12,8 @@ EID.isRepentance = REPENTANCE or EID.isRepentancePlus -- REPENTANCE variable can
require("eid_config") require("eid_config")
EID.Config = EID.UserConfig EID.Config = EID.UserConfig
EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default! EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default!
EID.ModVersion = 4.89 EID.ModVersion = 4.91
EID.ModVersionCommit = "73a5cce" EID.ModVersionCommit = "b10a18c"
EID.DefaultConfig.Version = EID.Config.Version EID.DefaultConfig.Version = EID.Config.Version
EID.isHidden = false EID.isHidden = false
EID.player = nil -- The primary Player Entity of Player 1 EID.player = nil -- The primary Player Entity of Player 1
@@ -49,7 +49,7 @@ local pathsChecked = {}
local altPathItemChecked = {} local altPathItemChecked = {}
local alwaysUseLocalMode = false -- set to true after drawing a non-local mode description this frame local alwaysUseLocalMode = false -- set to true after drawing a non-local mode description this frame
EID.ForceRefreshCache = false -- set to true to force-refresh descriptions, currently used for potential transformation text changes EID.ForceRefreshCache = false -- set to true to force-refresh descriptions, currently used for potential transformation text changes
EID.holdTabPlayer = 0 EID.holdTabPlayer = nil
EID.holdTabCounter = 0 EID.holdTabCounter = 0
EID.DInfinityState = {} EID.DInfinityState = {}
local forgottenDropTimer = 0 local forgottenDropTimer = 0
@@ -294,7 +294,7 @@ if EID.isRepentance then
-- (it also watches for item rerolls to fill the new entity's GetData) -- (it also watches for item rerolls to fill the new entity's GetData)
-- POST_NEW_ROOM then handles putting the result in the entity's GetData -- POST_NEW_ROOM then handles putting the result in the entity's GetData
local curFrame = Isaac.GetFrameCount() local curFrame = Isaac.GetFrameCount()
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
if curFrame == lastGetItemResult[2] then if curFrame == lastGetItemResult[2] then
if initialItemNext then lastGetItemResult[1] = selectedCollectible if initialItemNext then lastGetItemResult[1] = selectedCollectible
elseif flipItemNext and lastGetItemResult[1] then elseif flipItemNext and lastGetItemResult[1] then
@@ -328,7 +328,7 @@ if EID.isRepentance then
flipItemNext = true flipItemNext = true
lastGetItemResult[4] = entity.InitSeed lastGetItemResult[4] = entity.InitSeed
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
local gridPos = game:GetRoom():GetGridIndex(entity.Position) local gridPos = game:GetRoom():GetGridIndex(entity.Position)
-- Update a Flip item's init seed after D6 rerolls or using Flip (aka Grid Index didn't change, Init Seed did) -- Update a Flip item's init seed after D6 rerolls or using Flip (aka Grid Index didn't change, Init Seed did)
@@ -355,7 +355,7 @@ if EID.isRepentance then
-- Only pedestals with indexes that were present at room load can be flip pedestals -- Only pedestals with indexes that were present at room load can be flip pedestals
-- Fixes shop restock machines and Diplopia... mostly. At least while you're in the room. -- Fixes shop restock machines and Diplopia... mostly. At least while you're in the room.
if EID:getEntityData(entity, "EID_FlipItemID") and entity.Index > EID.flipMaxIndex then if EID:getEntityData(entity, "EID_FlipItemID") and entity.Index > EID.flipMaxIndex then
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
local gridPos = game:GetRoom():GetGridIndex(entity.Position) local gridPos = game:GetRoom():GetGridIndex(entity.Position)
local flipEntry = EID.flipItemPositions[curRoomIndex] and EID.flipItemPositions[curRoomIndex][entity.InitSeed] local flipEntry = EID.flipItemPositions[curRoomIndex] and EID.flipItemPositions[curRoomIndex][entity.InitSeed]
-- only wipe the data if the grid index matches (so Diplopia pedestals don't) -- only wipe the data if the grid index matches (so Diplopia pedestals don't)
@@ -370,7 +370,7 @@ if EID.isRepentance then
-- also, reload our descriptions due to transformation progress changing upon Flip -- also, reload our descriptions due to transformation progress changing upon Flip
EID.ForceRefreshCache = true EID.ForceRefreshCache = true
lastFrameGridChecked = Isaac.GetFrameCount() lastFrameGridChecked = Isaac.GetFrameCount()
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
if EID.flipItemPositions[curRoomIndex] then if EID.flipItemPositions[curRoomIndex] then
local pedestals = Isaac.FindByType(5, 100, -1, true, false) local pedestals = Isaac.FindByType(5, 100, -1, true, false)
for _, pedestal in ipairs(pedestals) do for _, pedestal in ipairs(pedestals) do
@@ -602,7 +602,7 @@ function EID:printDescription(desc, cachedID)
EID.lineHeight = EID.Config["LineHeight"] EID.lineHeight = EID.Config["LineHeight"]
if EID.Config["ShowItemIcon"] and desc.Icon then if EID.Config["ShowItemIcon"] and desc.Icon then
offsetX = offsetX + 14 offsetX = offsetX + 14
EID:renderInlineIcons({{desc.Icon,0}}, renderPos.X - 3 * EID.Scale, renderPos.Y - 4 * EID.Scale) EID:renderInlineIcons({{desc.Icon}}, renderPos.X - 3 * EID.Scale, renderPos.Y - 4 * EID.Scale)
end end
--Display ItemType / Charge --Display ItemType / Charge
@@ -683,7 +683,7 @@ function EID:printDescription(desc, cachedID)
local transformLineHeight = EID.lineHeight local transformLineHeight = EID.lineHeight
if EID.Config["TransformationIcons"] then if EID.Config["TransformationIcons"] then
transformLineHeight = math.max(EID.lineHeight, transformSprite[4]) transformLineHeight = math.max(EID.lineHeight, transformSprite[4])
EID:renderInlineIcons({{transformSprite,0}}, renderPos.X, renderPos.Y) EID:renderInlineIcons({{transformSprite}}, renderPos.X, renderPos.Y)
end end
if EID.Config["TransformationText"] or EID.Config["TransformationProgress"] then if EID.Config["TransformationText"] or EID.Config["TransformationProgress"] then
local transformationName = "" local transformationName = ""
@@ -775,7 +775,7 @@ EID.isDeathCertRoom = false
if EID.isRepentance then if EID.isRepentance then
function EID:AssignFlipItems() function EID:AssignFlipItems()
EID.flipMaxIndex = -1 EID.flipMaxIndex = -1
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
if EID.flipItemPositions[curRoomIndex] then if EID.flipItemPositions[curRoomIndex] then
local pedestals = Isaac.FindByType(5, 100, -1, true, false) local pedestals = Isaac.FindByType(5, 100, -1, true, false)
for _, pedestal in ipairs(pedestals) do for _, pedestal in ipairs(pedestals) do
@@ -832,30 +832,40 @@ function EID:renderUnidentifiedPill(entity)
if alwaysUseLocalMode then return false if alwaysUseLocalMode then return false
else alwaysUseLocalMode = true end else alwaysUseLocalMode = true end
end end
EID.isDisplaying = true
local pillColor = entity.SubType local pillColor = entity.SubType
if pillColor >= 2049 then if pillColor >= 2049 then
pillColor = pillColor - 2048 pillColor = pillColor - 2048
end end
local pos = EID:getTextPosition() local renderPos = EID:getTextPosition()
local textScale = Vector(EID.Scale, EID.Scale)
local offsetX = 0
if EID.CachingDescription then if EID.CachingDescription then
table.insert(EID.CachedStrings, {}) table.insert(EID.CachedStrings, {})
table.insert(EID.CachedIcons, {}) table.insert(EID.CachedIcons, {})
table.insert(EID.CachedRenderPoses, Vector(pos.X, pos.Y)) table.insert(EID.CachedRenderPoses, Vector(renderPos.X, renderPos.Y))
end end
local descriptionObj = EID:getDescriptionObj(entity.Type, entity.Variant, entity.SubType, entity, false) local descriptionObj = EID:getDescriptionObj(entity.Type, entity.Variant, entity.SubType, entity, false)
descriptionObj.Name = EID:getDescriptionEntry("unidentifiedPill")
descriptionObj.Description = "" descriptionObj.Description = ""
descriptionObj.ShowWhenUnidentified = false descriptionObj.ShowWhenUnidentified = false
descriptionObj = EID:applyDescriptionModifier(descriptionObj, -999) descriptionObj = EID:applyDescriptionModifier(descriptionObj, -999)
if EID.Config["ShowItemIcon"] then if EID.Config["ShowItemIcon"] and descriptionObj.Icon then
descriptionObj.Name = "{{Pill"..pillColor.."}} "..descriptionObj.Name offsetX = offsetX + 14
EID:renderInlineIcons({{descriptionObj.Icon}}, renderPos.X - 3 * EID.Scale, renderPos.Y - 4 * EID.Scale)
EID:renderInlineIcons({{EID.InlineIcons["SecretRoom"]}}, renderPos.X + 1 * EID.Scale, renderPos.Y - 4 * EID.Scale)
end end
EID:renderString(descriptionObj.Name, pos + Vector(0,-1), Vector(EID.Scale, EID.Scale), EID:getErrorColor()) EID:renderString(
EID:getDescriptionEntry("unidentifiedPill"),
renderPos + (Vector(offsetX, -3) * EID.Scale),
textScale,
EID:getErrorColor()
)
if EID.Config["ShowItemDescription"] and descriptionObj.ShowWhenUnidentified then if EID.Config["ShowItemDescription"] and descriptionObj.ShowWhenUnidentified then
pos.Y = pos.Y + EID.lineHeight * EID.Scale renderPos.Y = renderPos.Y + EID.lineHeight * EID.Scale
EID:printBulletPoints(descriptionObj.Description, pos) EID:printBulletPoints(descriptionObj.Description, renderPos)
end end
end end
@@ -895,7 +905,7 @@ function EID:renderIndicator(entity, playerNum)
end end
-- Don't apply sprite.Color changes to Effects (Dice Floors, Card Reading Portals), use Arrow instead -- Don't apply sprite.Color changes to Effects (Dice Floors, Card Reading Portals), use Arrow instead
if EID.Config["Indicator"] == "arrow" or entity.Type == 1000 or EID:IsGridEntity(entity) then if EID.Config["Indicator"] == "arrow" or entity.Type == 1000 or sprite == nil then
ArrowSprite:RenderLayer(playerNum-1, arrowPos, nullVector, nullVector) ArrowSprite:RenderLayer(playerNum-1, arrowPos, nullVector, nullVector)
else else
local colorMult = {1,1,1} local colorMult = {1,1,1}
@@ -1174,7 +1184,7 @@ function EID:CheckStartOfRunWarnings()
if not EID:AreAchievementsAllowed() then if not EID:AreAchievementsAllowed() then
local demoDescObj = EID:getDescriptionObj(-999, -1, 1) local demoDescObj = EID:getDescriptionObj(-999, -1, 1)
demoDescObj.Name = EID:getDescriptionEntry("AchievementWarningTitle") or "" demoDescObj.Name = EID:getDescriptionEntry("AchievementWarningTitle") or ""
demoDescObj.Description = EID:getDescriptionEntry("AchievementWarningText") or "" demoDescObj.Description = ("{{AchievementLocked}} "..EID:getDescriptionEntry("AchievementWarningText")) or ""
EID:displayPermanentText(demoDescObj, "AchievementWarningTitle") EID:displayPermanentText(demoDescObj, "AchievementWarningTitle")
hasShownStartWarning = true hasShownStartWarning = true
end end
+8 -3
View File
@@ -6,6 +6,8 @@
<description>[img]https://i.imgur.com/l9nbaxP.png[/img] <description>[img]https://i.imgur.com/l9nbaxP.png[/img]
This mod displays detailed information about all items, trinkets, cards, runes and pills DIRECTLY onto your screen. Say goodbye to your browser tab with platinumgod or the wiki open ;) This mod displays detailed information about all items, trinkets, cards, runes and pills DIRECTLY onto your screen. Say goodbye to your browser tab with platinumgod or the wiki open ;)
The Steam-Workshop version of this mod is compatible with Afterbirth+, Repentance, Repentogon and Repentance+. There are also versions for [url=https://github.com/wofsauge/External-Item-Descriptions#versions]Rebirth or Afterbirth[/url], as well as [url=https://github.com/wofsauge/External-Item-Descriptions/wiki/How-to-install-the-mod]Epic Games, GoG and other sources[/url].
[img]https://i.imgur.com/bRGqujD.png[/img] [url=https://discord.gg/HhD4vMM4bZ]Need help or want to chat? Join our Discord server![/url] [img]https://i.imgur.com/bRGqujD.png[/img] [url=https://discord.gg/HhD4vMM4bZ]Need help or want to chat? Join our Discord server![/url]
[img]https://i.imgur.com/P6a8043.png[/img] [url=https://github.com/wofsauge/External-Item-Descriptions]Check this project out on GitHub![/url] [img]https://i.imgur.com/P6a8043.png[/img] [url=https://github.com/wofsauge/External-Item-Descriptions]Check this project out on GitHub![/url]
@@ -33,9 +35,12 @@ This mod displays detailed information about all items, trinkets, cards, runes a
Supported Languages: Supported Languages:
Chinese, Czech, Dutch, English, French, German, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Brazilian-Portuguese, Turkish, Ukrainian Chinese, Czech, Dutch, English, French, German, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Brazilian-Portuguese, Turkish, Ukrainian
To change the language, just edit the config. We recommend [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2681875787]'Mod Config Menu Pure'[/url] for this.
[img]https://i.imgur.com/RVtZEqp.png[/img] [img]https://i.imgur.com/RVtZEqp.png[/img]
For [b]Steam users[/b], simply press the &quot;Subscribe&quot; button on the mod's Steam Workshop page. This will automatically install the mod for you. For [b]Steam users[/b], simply press the &quot;Subscribe&quot; button on the mod's Steam Workshop page. This will automatically install the mod for you.
For [b]manual mod installation[/b], read this tutorial &quot;[url=https://github.com/wofsauge/External-Item-Descriptions/wiki/How-to-install-the-mod]How to install the mod[/url]&quot; For [b]manual mod installation[/b], read this tutorial &quot;[url=https://github.com/wofsauge/External-Item-Descriptions/wiki/How-to-install-the-mod]How to install the mod[/url]&quot;
If you have problems installing use the [url=https://wofsauge.github.io/IsaacDocs/rep/faq/interactive_FAQ.html]Interactive FAQ[/url]. If you have problems installing use the [url=https://wofsauge.github.io/IsaacDocs/rep/faq/interactive_FAQ.html]Interactive FAQ[/url].
[img]https://i.imgur.com/PFTZnfC.png[/img] [img]https://i.imgur.com/PFTZnfC.png[/img]
Simply install [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2681875787]'Mod Config Menu Pure'[/url]. You can use it to configure the mod while playing. Simply install [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2681875787]'Mod Config Menu Pure'[/url]. You can use it to configure the mod while playing.
@@ -44,14 +49,14 @@ Alternatively, edit the `eid_config.lua` file like described [url=https://github
[img]https://i.imgur.com/vUP4whT.png[/img] [img]https://i.imgur.com/vUP4whT.png[/img]
There are multiple Versions of the mod, depending on which DLCs you have installed. There are multiple Versions of the mod, depending on which DLCs you have installed.
You are currently looking at the version for Afterbirth+ and Repentance. [b]You are currently looking at the version for Afterbirth+ and Repentance.[/b]
[url=https://github.com/wofsauge/External-Item-Descriptions#versions]Alternative versions for all other DLCs, or for manual installation purposes can be found here[/url] [url=https://github.com/wofsauge/External-Item-Descriptions#versions]Click here for the Rebirth or Afterbirth Versions[/url]
[img]https://i.imgur.com/jrdGbna.png[/img] [img]https://i.imgur.com/jrdGbna.png[/img]
[url=https://github.com/wofsauge/External-Item-Descriptions/blob/master/CREDITS.md]Check out the credits here[/url] [url=https://github.com/wofsauge/External-Item-Descriptions/blob/master/CREDITS.md]Check out the credits here[/url]
</description> </description>
<version>4.89</version> <version>4.91</version>
<visibility>Public</visibility> <visibility>Public</visibility>
<tag id="Lua"/> <tag id="Lua"/>
<tag id="Items"/> <tag id="Items"/>