Compare commits

..
11 Commits
Author SHA1 Message Date
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 1103 additions and 326 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
{"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
{"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!
{"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
+249 -1
View File
@@ -38,7 +38,7 @@ local collectibles = {
-- 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
-- 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)
@@ -58,6 +58,254 @@ local 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 EID.enableDebug then
+797 -277
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
-- The closest player does not apply the modifier; check for players that do get this modifier
for i = 1, #EID.coopAllPlayers do
local t = EID.coopAllPlayers[i]:GetPlayerType()
for _, player in ipairs(EID.coopAllPlayers) do
local t = player:GetPlayerType()
if EID:ArrayContains(playerTypes, t) or (includeTainted and EID:ArrayContains(playerTypes, EID.TaintedToRegularID[t])) then
table.insert(EID.DifferentEffectPlayers, t)
end
@@ -320,8 +320,7 @@ function EID:ClosestCharCheck(modifierText, playerTypes, includeTainted)
end
function EID:PlayersHaveGoldenBomb()
for i = 1, #EID.coopAllPlayers do
local player = EID.coopAllPlayers[i]
for _, player in ipairs(EID.coopAllPlayers) do
if player:HasGoldenBomb() then
return true
end
@@ -364,8 +363,7 @@ function EID:CheckForNoRedHealthPlayer()
local player = EID.ItemReminderPlayerEntity
return EID.NoRedHeartsPlayerIDs[player:GetPlayerType()]
else
for i = 1, #EID.coopAllPlayers do
local player = EID.coopAllPlayers[i]
for _, player in ipairs(EID.coopAllPlayers) do
if EID.NoRedHeartsPlayerIDs[player:GetPlayerType()] then
return true
end
@@ -379,8 +377,7 @@ function EID:CheckForTaintedPlayer()
local player = EID.ItemReminderPlayerEntity
return EID.TaintedIDs[player:GetPlayerType()]
else
for i = 1, #EID.coopAllPlayers do
local player = EID.coopAllPlayers[i]
for _, player in ipairs(EID.coopAllPlayers) do
if EID.TaintedIDs[player:GetPlayerType()] then
return true
end
@@ -390,15 +387,14 @@ function EID:CheckForTaintedPlayer()
end
-- 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
local player = EID.ItemReminderPlayerEntity
if player:HasCollectible(534) then return 534 end
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
else
for i = 1, #EID.coopAllPlayers do
local player = EID.coopAllPlayers[i]
for _, player in ipairs(EID.coopAllPlayers) do
if player:HasCollectible(534) then return 534 end
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
@@ -416,8 +412,7 @@ function EID:CheckForPocketActives()
local player = EID.ItemReminderPlayerEntity
return EID.PocketActivePlayerIDs[player:GetPlayerType()]
else
for i = 1, #EID.coopAllPlayers do
local player = EID.coopAllPlayers[i]
for _, player in ipairs(EID.coopAllPlayers) do
if EID.PocketActivePlayerIDs[player:GetPlayerType()] then return true end
end
end
@@ -430,14 +425,14 @@ function EID:CheckForCarBattery(descObj)
return descObj.ObjSubType
end
-- 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
for k,v in pairs(EID.CarBatteryPedestalWhitelist) do
if v and EID:PlayersHaveCollectible(k) then return k end
end
return false
end
function EID:CheckActivesForNoCarBattery(descObj)
function EID:CheckActivesForNoCarBattery(_)
if EID.InsideItemReminder then return false end
for k,v in pairs(EID.CarBatteryNoSynergy) do
if v and EID:PlayersHaveCollectible(k) then return k end
@@ -458,21 +453,21 @@ function EID:CheckForHiveMind(descObj)
end
-- 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
for k,v in pairs(EID.BFFSPedestalWhitelist) do
if v and EID:PlayersHaveCollectible(k) then return "5.100." .. k end
end
return false
end
function EID:CheckFamiliarsForHiveMind(descObj)
function EID:CheckFamiliarsForHiveMind(_)
if EID.InsideItemReminder then return false end
for k,v in pairs(EID.BFFSPedestalWhitelist) do
if EID.HiveMindFamiliars[k] and v and EID:PlayersHaveCollectible(k) then return "5.100." .. k end
end
return false
end
function EID:CheckFamiliarsForNoBFFS(descObj)
function EID:CheckFamiliarsForNoBFFS(_)
if EID.InsideItemReminder then return false end
for k,v in pairs(EID.BFFSNoSynergy) do
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!
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_VOID] = true
EID.collectiblesToCheck["5.300.41"] = true -- Black Rune
local maxSlot = 1
-- Repentance modifiers
if EID.isRepentance then
maxSlot = 3
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_BOOK_OF_VIRTUES] = true
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_SPINDOWN_DICE] = true
EID.collectiblesToCheck[CollectibleType.COLLECTIBLE_MOMS_BOX] = true
@@ -459,7 +457,7 @@ if EID.isRepentance then
for p = 1,#EID.coopAllPlayers do
local player = EID.coopAllPlayers[p]
local playerID = player:GetPlayerType()
local playerName = player:GetName()
local playerName = EID:getPlayerName(player:GetPlayerType())
local playerStats = {}
playerStats[1] = EID:SimpleRound((player.MoveSpeed * 4.5) - 2)
@@ -920,12 +918,13 @@ if EID.isRepentance then
local function GlitchedCrownCallback(descObj)
if not descObj.Entity or inGlitchedCrown then return descObj end
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
-- 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 sortedItems = {}
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")
EID.Config = EID.UserConfig
EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default!
EID.ModVersion = 4.89
EID.ModVersionCommit = "73a5cce"
EID.ModVersion = 4.90
EID.ModVersionCommit = "830d7b7"
EID.DefaultConfig.Version = EID.Config.Version
EID.isHidden = false
EID.player = nil -- The primary Player Entity of Player 1
@@ -49,7 +49,7 @@ local pathsChecked = {}
local altPathItemChecked = {}
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.holdTabPlayer = 0
EID.holdTabPlayer = nil
EID.holdTabCounter = 0
EID.DInfinityState = {}
local forgottenDropTimer = 0
@@ -294,7 +294,7 @@ if EID.isRepentance then
-- (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
local curFrame = Isaac.GetFrameCount()
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
if curFrame == lastGetItemResult[2] then
if initialItemNext then lastGetItemResult[1] = selectedCollectible
elseif flipItemNext and lastGetItemResult[1] then
@@ -328,7 +328,7 @@ if EID.isRepentance then
flipItemNext = true
lastGetItemResult[4] = entity.InitSeed
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
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)
@@ -355,7 +355,7 @@ if EID.isRepentance then
-- 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.
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 flipEntry = EID.flipItemPositions[curRoomIndex] and EID.flipItemPositions[curRoomIndex][entity.InitSeed]
-- 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
EID.ForceRefreshCache = true
lastFrameGridChecked = Isaac.GetFrameCount()
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
if EID.flipItemPositions[curRoomIndex] then
local pedestals = Isaac.FindByType(5, 100, -1, true, false)
for _, pedestal in ipairs(pedestals) do
@@ -602,7 +602,7 @@ function EID:printDescription(desc, cachedID)
EID.lineHeight = EID.Config["LineHeight"]
if EID.Config["ShowItemIcon"] and desc.Icon then
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
--Display ItemType / Charge
@@ -683,7 +683,7 @@ function EID:printDescription(desc, cachedID)
local transformLineHeight = EID.lineHeight
if EID.Config["TransformationIcons"] then
transformLineHeight = math.max(EID.lineHeight, transformSprite[4])
EID:renderInlineIcons({{transformSprite,0}}, renderPos.X, renderPos.Y)
EID:renderInlineIcons({{transformSprite}}, renderPos.X, renderPos.Y)
end
if EID.Config["TransformationText"] or EID.Config["TransformationProgress"] then
local transformationName = ""
@@ -775,7 +775,7 @@ EID.isDeathCertRoom = false
if EID.isRepentance then
function EID:AssignFlipItems()
EID.flipMaxIndex = -1
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
local curRoomIndex = game:GetLevel():GetCurrentRoomIndex()
if EID.flipItemPositions[curRoomIndex] then
local pedestals = Isaac.FindByType(5, 100, -1, true, false)
for _, pedestal in ipairs(pedestals) do
@@ -832,30 +832,40 @@ function EID:renderUnidentifiedPill(entity)
if alwaysUseLocalMode then return false
else alwaysUseLocalMode = true end
end
EID.isDisplaying = true
local pillColor = entity.SubType
if pillColor >= 2049 then
pillColor = pillColor - 2048
end
local pos = EID:getTextPosition()
local renderPos = EID:getTextPosition()
local textScale = Vector(EID.Scale, EID.Scale)
local offsetX = 0
if EID.CachingDescription then
table.insert(EID.CachedStrings, {})
table.insert(EID.CachedIcons, {})
table.insert(EID.CachedRenderPoses, Vector(pos.X, pos.Y))
table.insert(EID.CachedRenderPoses, Vector(renderPos.X, renderPos.Y))
end
local descriptionObj = EID:getDescriptionObj(entity.Type, entity.Variant, entity.SubType, entity, false)
descriptionObj.Name = EID:getDescriptionEntry("unidentifiedPill")
descriptionObj.Description = ""
descriptionObj.ShowWhenUnidentified = false
descriptionObj = EID:applyDescriptionModifier(descriptionObj, -999)
if EID.Config["ShowItemIcon"] then
descriptionObj.Name = "{{Pill"..pillColor.."}} "..descriptionObj.Name
if EID.Config["ShowItemIcon"] and descriptionObj.Icon then
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
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
pos.Y = pos.Y + EID.lineHeight * EID.Scale
EID:printBulletPoints(descriptionObj.Description, pos)
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Scale
EID:printBulletPoints(descriptionObj.Description, renderPos)
end
end
@@ -895,7 +905,7 @@ function EID:renderIndicator(entity, playerNum)
end
-- 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)
else
local colorMult = {1,1,1}
@@ -1174,7 +1184,7 @@ function EID:CheckStartOfRunWarnings()
if not EID:AreAchievementsAllowed() then
local demoDescObj = EID:getDescriptionObj(-999, -1, 1)
demoDescObj.Name = EID:getDescriptionEntry("AchievementWarningTitle") or ""
demoDescObj.Description = EID:getDescriptionEntry("AchievementWarningText") or ""
demoDescObj.Description = ("{{AchievementLocked}} "..EID:getDescriptionEntry("AchievementWarningText")) or ""
EID:displayPermanentText(demoDescObj, "AchievementWarningTitle")
hasShownStartWarning = true
end
+8 -3
View File
@@ -6,6 +6,8 @@
<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 ;)
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/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:
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]
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;
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]
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]
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]
[url=https://github.com/wofsauge/External-Item-Descriptions/blob/master/CREDITS.md]Check out the credits here[/url]
</description>
<version>4.89</version>
<version>4.90</version>
<visibility>Public</visibility>
<tag id="Lua"/>
<tag id="Items"/>