Compare commits

..
16 Commits
Author SHA1 Message Date
Wofsauge e864c137c5 chore: release 4.83
Check Localization / Check Localization process (push) Canceled after 0s
2024-11-01 21:20:03 +01:00
Wofsauge c647bb03ca Added icons for dice room faces 2024-11-01 21:04:28 +01:00
Wofsauge 3b45af3a10 updated black tooth description 2024-11-01 20:35:16 +01:00
Wofsauge a0ef98b7ce Merge branch 'master' of https://github.com/wofsauge/External-Item-Descriptions into master 2024-11-01 20:30:06 +01:00
Wofsauge 38dd07e082 Item Reminder: Add support for "ShowItemIcon" and "ShowItemName" config options 2024-11-01 20:30:03 +01:00
Tiburones202 dccdcc15dd Fixed a typo on Custom Poop API's side (#739)
* Fix for a typo on Custom Poop Api's side
2024-10-29 17:07:27 +01:00
Wofsauge c2dc476169 Fixed mod indicator for custom poop 2024-10-28 20:06:26 +01:00
Wofsauge bb94e101a3 Added mod indicator to custom poop 2024-10-28 19:58:19 +01:00
Tiburones202 0cf767bc51 Custom Poop API support. (#738)
* Dynamic health HealingRed removal list

HealingRed lines removal for custom health types support

fixed orphan socks description not showing the soul heart markup

Added and changed a lot of stuff from the Spanish EID

* fixed a typo in the Spanish EID

* Custom Poop API support.
2024-10-27 21:23:58 +01:00
Buurazu b11db096bf Update eid_conditionals_funcs.lua 2024-10-26 23:19:55 -04:00
Buurazu a3aecf1bed Void single use 2024-10-18 08:21:47 -04:00
Buurazu e7f0b215e7 Void single use 2024-10-18 08:21:30 -04:00
Wofsauge c33fd329a7 Improved backwards compatibility of the code 2024-10-15 20:48:12 +02:00
Wofsauge dc3d7c944a fixed Itempredictions: Liberty Cap, Broken Syringe and Moms Lock 2024-10-15 20:47:40 +02:00
리셰 5e7b3d92c1 Glitched Crown support additions (#736)
- always check cycle with RGON
-- this allows soul of isaac or everything jar. still 5+ entries are needed to show summary list
- add option to disable summary list
2024-10-15 20:05:41 +02:00
Dong-Yiyuan 59a71e0cc3 Center the small bullet point icons (#733)
* center the small bullet point icons

* tweak comments

* fix typo
2024-10-15 20:02:55 +02:00
17 changed files with 165 additions and 43 deletions

No files matched your search

+2 -1
View File
@@ -831,7 +831,7 @@ EID.descriptions[languageCode].trinkets={
{"92", "Cracked Crown", "↑ {{Tears}} x0.8 Tear delay#↑ x1.33 Stat multiplier for the stats that are above 1 {{Speed}} speed, 3.5 {{Damage}} damage, 23.75 {{Range}} range, 1 {{Shotspeed}} shot speed"}, -- Cracked Crown
{"93", "Used Diaper", "15% chance per room for all fly enemies to become friendly"}, -- Used Diaper
{"94", "Fish Tail", "Doubles all blue fly / spider spawns"}, -- Fish Tail
{"95", "Black Tooth", "{{Poison}} 3% chance to shoot poison tooth tears"}, -- Black Tooth
{"95", "Black Tooth", "{{Poison}} 3% chance to shoot poison tooth tears#The tooth deals 2x Isaac's damage"}, -- Black Tooth
{"96", "Ouroboros Worm", "↑ {{Range}} +4 Range#↑ +2 Tear height#Spectral tears#Chance for homing tears#{{Luck}} 100% chance at 9 luck#Isaac's tears move quickly in a spiral pattern"}, -- Ouroboros Worm
{"97", "Tonsil", "Taking damage 12-20 times spawns a projectile blocking familiar#Caps at 2 familiars"}, -- Tonsil
{"98", "Nose Goblin", "10% chance to shoot homing sticky tears#{{Damage}} Boogers deal Isaac's damage once per second#Boogers stick for 60 seconds"}, -- Nose Goblin
@@ -1293,6 +1293,7 @@ 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.316"] = "{1} removes the teleportation effect", -- Cursed Eye
["5.100.260"] = "Removes the teleportation effect of {1}", -- Black Candle
["Void Single Use"] = "Single use items are only activated once", -- Single Use Actives + Void
["? Card Single Use"] = "Single use items will disappear after using ? Card", -- Single Use Actives + ? Card
["5.300.48"] = "Teleport to I AM ERROR Room#Blank Card and ? Card will be destroyed", -- Blank Card + ? Card
["? + Blank Pedestal"] = "Using ? Card with Blank Card teleports you to the I AM ERROR room and destroys both cards", -- Looking at Blank Card with ? Card
+4
View File
@@ -1292,6 +1292,10 @@ EID.descriptions[languageCode].poopSpells = {
{"Fart", "Push nearby enemies and bullets back, and spawn a toxic cloud#{{Warning}} The cloud explodes if it touches fire!"},
{"Bomb", "Normal throwable bomb"},
{"Explosive Diarrhea", "Isaac quickly spawns 5 lit bombs"},
--Undetected poop, for Poop API
--[Poop name in code] = {Icon, Name, Description}
["Unknown"] = {"{{PoopSpell1}}", "Unknown Poop", "The effects of the poop are Unknown"}
}
EID.descriptions[languageCode].itemPoolFor = "Pool for Item:"
+4 -2
View File
@@ -1087,18 +1087,20 @@ EID.descriptions[languageCode].GlitchedItemText = {
---------- Misc. Text ----------
-- Poop spells
EID.descriptions[languageCode].poopSpells = {
EID.descriptions[languageCode].poopSpells = { --¿Deberíamos cambiar "Popó" a "Caca"? (Y de paso poner nombres normales para los hechizos)
{"Popó", "Popó normal, puede generar recolectables"},
{"Mazorqueada", "Genera moscas azules al estar intacta"},
{"¡ESTO ARDE!", "Inflige daño por contacto al estar intacta#{{Burning}} Genera fuego al ser destruida"},
{"Hice caca seca", "Can deal damage 3 times when thrown#Takes a lot of hits to destroy"},
{"Esto está podrido...", "{{Poison}} Genera nubes tóxicas#!!! ¡La nube explotará si entra en contacto con fuego!"},
{"", "{{Slow}} Genera creep ralentizante#{{Confusion}} Inflige 10 de daño y confunde a los enemigos"},
{"Popó Negra", "{{Slow}} Genera creep ralentizante#{{Confusion}} Inflige 10 de daño y confunde a los enemigos"},
{"¡Santa cagada!", "{{Collectible543}} Lanzas una popó blanca con un aura#Al estar dentro del aura, recibes:#↑ {{Damage}} Daño +20%#↑ {{Tears}} Lágrimas +150% #Lágrimas teledirigidas#Posibilidad de bloquear daño"},
{"Diarrea", "Dejas un camino de creep#Pararte sobre el creep otorga: #↑ {{Tears}} Más lágrimas#↑ {{Damage}} Más daño#Si el creep toca una popó con efecto especial, adquirirá sus propiedades"},
{"Un pedo", "Empuja enemigos y disparos#{{Poison}} Genera una bomba tóxico#!!! ¡La nube explotará si entra en contacto con fuego!"},
{"Bomba", "Normal throwable bomb"},
{"Diarrea explosiva", "Genera 5 bombas encendidas a tu paso"},
["Unknown"] = {"{{PoopSpell1}}", "Popó Desconocida", "Los efectos de la popó son desconocidos"}
}
-- Poop spells end
+5
View File
@@ -509,6 +509,10 @@ EID.UserConfig = {
-- REPENTANCE ONLY!!!
-- Default = false
["SpindownDiceSkipLocked"] = false,
-- Show summary list for Glitched Crown, 5 item names are shown first, and press tap to cycle descriptions
-- REPENTANCE ONLY!!!
-- Default = true
["GlitchedCrownSummary"] = true,
-- Error message displayed when an error occurs
-- Default = [Effect not defined]
@@ -651,6 +655,7 @@ EID.DefaultConfig = {
["SpindownDiceDisplayID"] = false,
["SpindownDiceDisplayName"] = false,
["SpindownDiceSkipLocked"] = false,
["GlitchedCrownSummary"] = true,
["SaveGameNumber"] = 0,
["HideUncollectedItemDescriptions"] = false,
["ItemCollectionIndicator"] = true,
+57 -16
View File
@@ -279,6 +279,17 @@ function EID:addIcon(shortcut, animationName, animationFrame, width, height, lef
EID.InlineIcons[shortcut] = {animationName, animationFrame, width, height, leftOffset, topOffset, spriteObject}
end
-- Adds a custom poop spell to T???'s poop descriptions. This spell should be added with the "Custom Poop API" library to actually appear in-game.
-- Token is the name of the spell in the Custom Poop API code. Examples: "CORNY", "BURNING", "BOMB".
-- Name is the actual name you want to display. Examples: "Corny Poop", "Burning Poop", "Bomb".
-- Icon is the displayed poop icon. Should be a markup.
-- Description is the actual description showed to the player. Examples: "Spawns blue flies while intact", "Deals contact damage while intact#Leaves a fire behind when destroyed", "Normal throwable bomb".
-- Language is the language you want to add it to. Examples: "en_us", "spa", "ru".
-- EXAMPLE: EID:addCustomPoopSpell("MYPOOP", "I Made This Poop", "{{PoopSpell1}}", "Can be throwed to deal damage", "en_us")
function EID:addCustomPoopSpell(token, name, icon, description, language)
EID.descriptions[language]["poopSpells"][token] = {icon, name, description, EID._currentMod}
end
-- Adds a new color object with the shortcut defined in the "shortcut" variable (e.g. "{{shortcut}}" = your color)
-- Shortcuts are case Sensitive! Shortcuts can be overriden with this function to allow for full control over everything
-- Define a callback to let it be called when interpreting the color-markup. define a kColor otherwise for a simple color change
@@ -905,10 +916,10 @@ end
-- Searches thru the given string and replaces Iconplaceholders with icons.
-- Returns 2 values. the string without the placeholders but with an accurate space between lines. and a table of all Inline Sprites
function EID:filterIconMarkup(text)
function EID:filterIconMarkup(text, renderBulletPointIcon)
local spriteTable = {}
for word in string.gmatch(text, "{{.-}}") do
local textposition = string.find(text, word)
local textposition = string.find(text, word) or 1
local callback = EID._NextIconModifier
EID._NextIconModifier = nil
@@ -916,6 +927,12 @@ function EID:filterIconMarkup(text)
local lookup = EID:getIcon(word)
local preceedingTextWidth = EID:getStrWidth(string.sub(text, 0, textposition - 1)) * EID.Scale
-- Center the small bullet point icons by adding an extra left offset to them.
-- If the icon has a positive left offset, that means the offset is already included in the icon itself and we should not add it again
if renderBulletPointIcon and lookup[3] < 11 and (#lookup < 5 or lookup[5] <= 0) then
preceedingTextWidth = preceedingTextWidth + math.floor((12 - lookup[3]) / 2) * EID.Scale
end
table.insert(spriteTable, {lookup, preceedingTextWidth, callback})
text = string.gsub(text, word, EID:generatePlaceholderString(lookup[3]), 1)
end
@@ -1166,12 +1183,12 @@ end
-- needs to be called in a render Callback
-- args: string, Vector(int, int), Vector(float,float), KColor obj, bool
-- Returns the last used KColor
function EID:renderString(str, position, scale, kcolor)
function EID:renderString(str, position, scale, kcolor, renderBulletPointIcon)
str = EID:replaceShortMarkupStrings(str)
local textPartsTable = EID:filterColorMarkup(str, kcolor)
local offsetX = 0
for _, textPart in ipairs(textPartsTable) do
local strFiltered, spriteTable = EID:filterIconMarkup(textPart[1])
local strFiltered, spriteTable = EID:filterIconMarkup(textPart[1], renderBulletPointIcon)
EID:renderInlineIcons(spriteTable, position.X + offsetX, position.Y)
if strFiltered then -- prevent possible crash when strFiltered is nil
EID.font:DrawStringScaledUTF8(strFiltered, position.X + offsetX, position.Y, scale.X, scale.Y, textPart[2], 0, false)
@@ -2107,6 +2124,9 @@ function EID:getObjectIcon(descObj)
end
return EID:createItemIconObject("Pill" .. descObj.ObjSubType)
end
-- Handle Dice Room Floor
elseif descObj.ObjType == 1000 and descObj.ObjVariant == 76 then
return EID.InlineIcons["DiceFace" .. descObj.ObjSubType]
end
end
@@ -2390,18 +2410,39 @@ end
EID.GlitchedCrownCheck = {}
-- Watch pedestals for being a Glitched Crown style pedestal that flips between items too quickly to display descriptions for
function EID:WatchForGlitchedCrown()
if not EID.collectiblesOwned[689] then return end
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
EID.GlitchedCrownCheck[curRoomIndex] = EID.GlitchedCrownCheck[curRoomIndex] or {}
for _, entity in ipairs(Isaac.FindByType(5, 100, -1, true, false)) do
-- Use InitSeed and Index to prevent any Diplopia weirdness
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index] = EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index] or {}
-- Initialize the data about this pedestal showing its current item ID, if necessary
-- in order to sort the items displayed, while also trashing items that haven't shown up in a while, keep both "initial frame seen" and "last frame seen"
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][entity.SubType] = EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][entity.SubType] or {EID.GameUpdateCount, EID.GameUpdateCount}
-- update the last frame seen for the pedestal's current collectible ID
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][entity.SubType][2] = EID.GameUpdateCount
if REPENTOGON then
-- In REPENTOGON, always check even without Glitched Crown, allowing to check 5+ Soul of Isaac usage, or Everything Jar
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
EID.GlitchedCrownCheck[curRoomIndex] = EID.GlitchedCrownCheck[curRoomIndex] or {}
for _, entity in ipairs(Isaac.FindByType(5, 100, -1, true, false)) do
-- Use InitSeed and Index to prevent any Diplopia weirdness
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index] = EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index] or {}
local pickup = entity:ToPickup()
local cycle = pickup:GetCollectibleCycle()
if #cycle > 1 then
for i, subType in ipairs(cycle) do
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][subType] = EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][subType] or {EID.GameUpdateCount + i, EID.GameUpdateCount + i}
-- update the last frame seen for the pedestal's current collectible ID
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][subType][2] = EID.GameUpdateCount + i
end
end
end
else
if not EID.collectiblesOwned[689] then return end
local curRoomIndex = game:GetLevel():GetCurrentRoomDesc().ListIndex
EID.GlitchedCrownCheck[curRoomIndex] = EID.GlitchedCrownCheck[curRoomIndex] or {}
for _, entity in ipairs(Isaac.FindByType(5, 100, -1, true, false)) do
-- Use InitSeed and Index to prevent any Diplopia weirdness
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index] = EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index] or {}
-- Initialize the data about this pedestal showing its current item ID, if necessary
-- in order to sort the items displayed, while also trashing items that haven't shown up in a while, keep both "initial frame seen" and "last frame seen"
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][entity.SubType] = EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][entity.SubType] or {EID.GameUpdateCount, EID.GameUpdateCount}
-- update the last frame seen for the pedestal's current collectible ID
EID.GlitchedCrownCheck[curRoomIndex][entity.InitSeed..entity.Index][entity.SubType][2] = EID.GameUpdateCount
end
end
end
+8 -8
View File
@@ -47,20 +47,20 @@ end
function EID:BoCSGetSearchValue()
local s = searchValue
for _, callbackData in pairs(Isaac.GetCallbacks("EIDCallbacks.SEARCH_NAME_CONVERSION")) do
if callbackData.Param == EID:getLanguage() then
local newString = callbackData.Function(callbackData.Mod, callbackData.Param, s)
if newString and type(newString) == "string" then
s = newString
end
local newString = callbackData.Function(callbackData.Mod, s)
if type(newString) == "string" then
s = newString
end
end
return s
end
EID:AddCallback("EIDCallbacks.SEARCH_NAME_CONVERSION", function (_, lang, string)
EID:AddCallback("EIDCallbacks.SEARCH_NAME_CONVERSION", function(_, searchString)
-- TODO : make english search inside ko_kr language setting (priotity low though)
return EID.engKeystrokeToKor(string)
end, "ko_kr")
if EID:getLanguage() == "ko_kr" then
return EID.engKeystrokeToKor(searchString)
end
end)
function EID:BoCSGetLocked()
return locked
+2
View File
@@ -327,6 +327,8 @@ EID:AddItemConditional("5.300.48", 286, nil, { lineColor = "ColorSilver" })
EID:AddItemConditional(286, "5.300.48", "? + Blank Pedestal") -- ? Card + Blank Card
EID:AddSynergyConditional(368, {69, 118, 316, 229, 395, 114, 329}, "Almost No Effect") -- Epiphora + Charge Shots / Ludovico
EID:AddSynergyConditional({127, 297, 347, 490, 483, 515, 475}, 477, "Void Single Use") -- Void + Single Use Actives
if EID.isRepentance then EID:AddSynergyConditional({536, 585, 577, 628, 636}, 477, "Void Single Use") end -- Void + Single Use Actives
EID:AddSynergyConditional({127, 297, 347, 490, 483, 515, 475, 536}, "5.300.48", "? Card Single Use") -- ? Card + Single Use Actives
if EID.isRepentance then EID:AddSynergyConditional({585, 577, 628, 636}, "5.300.48", "? Card Single Use") end -- ? Card + Single Use Actives
+4 -3
View File
@@ -45,13 +45,14 @@ end
-- Function for adding text to a pedestal's description when you're playing a specific character
-- The character's head icon will be at the start of appended lines
-- Optional parameters: replaceText, language, extraTable
-- By default, adding a conditional to a base character will also add it to the Tainted version of the character
-- Optional parameters: replaceText, language, extraTable, includeTainted
-- Example usage: EID:addPlayerCondition(myAngstyItemID, PlayerType.PLAYER_EVE, "Gives Eve extra mascara (2x Damage multiplier)")
function EID:addPlayerCondition(ID, playerID, text, replaceText, language, extraTable)
function EID:addPlayerCondition(ID, playerID, text, replaceText, language, extraTable, includeTainted)
language = language or "en_us"
if replaceText then text = {text, replaceText} end
local modifierText = newModdedCondition(text, language)
EID:AddPlayerConditional(ID, playerID, modifierText, extraTable)
EID:AddPlayerConditional(ID, playerID, modifierText, extraTable, includeTainted)
end
-- Shortcut function for tarotClothBuffs, tarotClothBuffsAB, carBattery, abyssSynergies, bookOfBelialBuffs, bingeEaterBuffs
+8
View File
@@ -635,6 +635,14 @@ EID.InlineIcons = {
["MiddleWisp"] = {"Wisps", 1, 10, 9, 0, 2},
["OuterWisp"] = {"Wisps", 2, 10, 9, 0, 2},
-- Dice Faces
["DiceFace1"] = {"DiceFaces", 0, 14, 14, 0, -1},
["DiceFace2"] = {"DiceFaces", 1, 14, 14, 0, -1},
["DiceFace3"] = {"DiceFaces", 2, 14, 14, 0, -1},
["DiceFace4"] = {"DiceFaces", 3, 14, 14, 0, -1},
["DiceFace5"] = {"DiceFaces", 4, 14, 14, 0, -1},
["DiceFace6"] = {"DiceFaces", 5, 14, 14, 0, -1},
-- Misc
["HardMode"] = {"Misc", 0, 16, 12, 0, -2},
["GreedMode"] = {"Misc", 1, 16, 12, 0, -2},
+44 -6
View File
@@ -345,7 +345,7 @@ EID.ItemReminderDescriptionModifier = {
},
["5.350.32"] = { -- Liberty Cap
isHiddenInfo = true,
modifierFunction = function(descObj, _)
modifierFunction = function(descObj, player)
local result = EID:LibertyCapPrediction(player)
if result then
descObj = EID:ItemReminderReplaceWithResult(descObj, result)
@@ -365,7 +365,7 @@ EID.ItemReminderDescriptionModifier = {
},
["5.350.75"] = { -- 404 Error
isHiddenInfo = true,
modifierFunction = function(descObj, player)
modifierFunction = function(descObj, _)
local seed = game:GetLevel():GetCurrentRoom():GetSpawnSeed()
local result = EID:RNGNext(seed, 2, 7, 25) % (EID.isRepentance and 189 or 128) + 1
descObj = EID:ItemReminderReplaceWithResult(descObj, result, 350)
@@ -374,7 +374,7 @@ EID.ItemReminderDescriptionModifier = {
},
["5.350.132"] = { -- Broken Syringe
isHiddenInfo = true,
modifierFunction = function(descObj, _)
modifierFunction = function(descObj, player)
local result = EID:BrokenSyringePrediction(player)
if result then
descObj = EID:ItemReminderReplaceWithResult(descObj, result)
@@ -384,7 +384,7 @@ EID.ItemReminderDescriptionModifier = {
},
["5.350.153"] = { -- Mom's Lock
isHiddenInfo = true,
modifierFunction = function(descObj, _)
modifierFunction = function(descObj, player)
local result = EID:MomsLockPrediction(player)
if result then
descObj = EID:ItemReminderReplaceWithResult(descObj, result)
@@ -600,6 +600,39 @@ function EID:ItemReminderHandlePoopSpells(player)
local descsAvailableToRender = numAvailableDescriptionSlots
for i = 0, 5 do -- max 6 poop spell slots
local nextPoop = player:GetPoopSpell(i)
--Custom Poop support
if CustomPoopAPI then
local poopSaveData = CustomPoopAPI.GetPersistentPlayerData(player)
local poopKey = poopSaveData.Poops[i + 1]
if poopKey == "DIARREAH" then poopKey = "DIARRHEA" end --Typo from Custom Poop API's side
nextPoop = PoopSpellType["SPELL_"..poopKey] --Yes, this works LOL
if nextPoop == nil then
nextPoop = PoopSpellType.SPELL_NONE --Prevent from rendering normally
local customPoop = EID:getDescriptionEntry("poopSpells")[poopKey]
local ignoreExisting = false
if customPoop == nil then --If the poop still doesn't exist, use the unkown one instead
customPoop = EID:getDescriptionEntry("poopSpells")["Unknown"] or EID.descriptions["en_us"]["poopSpells"]["Unknown"]
ignoreExisting = true
end
if ignoreExisting or not displayedPoopTypes[customPoop] then
local poopName = customPoop[2]
if customPoop[4] then
poopName = poopName .. EID:getModNameString({ ["ModName"] = customPoop[4] })
end
EID:ItemReminderAddTempDescriptionEntry(customPoop[1], poopName, customPoop[3])
displayedPoopTypes[customPoop] = true
descsAvailableToRender = descsAvailableToRender - 1
end
end
end
--End of custom poop support
if not displayedPoopTypes[nextPoop] then
EID:ItemReminderAddTempDescriptionEntry("{{PoopSpell" .. nextPoop .. "}}", poopInfo[nextPoop][1],
poopInfo[nextPoop][2])
@@ -911,13 +944,18 @@ function EID:ItemReminderGetDescription()
-- Default: put all descriptions into one long description
for _, entry in ipairs(EID.ItemReminderTempDescriptions) do
if EID.Config["ShowItemIcon"] then
finalHoldMapDesc = finalHoldMapDesc .. entry[1] .. " "
end
if EID.Config["ShowItemName"] then
finalHoldMapDesc = finalHoldMapDesc .. "{{ColorEIDObjName}}" .. entry[2]
end
local description = entry[3] .. "#"
if tryTrim then
description = EID:ItemReminderTrimBulletPoints(description)
end
finalHoldMapDesc = finalHoldMapDesc .. entry[1] .. " {{ColorEIDObjName}}" .. entry[2] .. "#" .. description
finalHoldMapDesc = finalHoldMapDesc .. "#" .. description
end
EID.InsideItemReminder = false
+1 -1
View File
@@ -447,7 +447,7 @@ local syringeItems = {[0] = 13, 14, 240, 70, 143, 345, 493, 496}
local momItems = {[0] = 29, 30, 31, 55, 110, 114, 199, 200, 217, 228, 355, 508, 732}
function EID:TemporaryEffectPrediction(player, rng, itemTable)
local tempItem = itemTable[rng % #itemTable]
local tempItem = itemTable[rng % (1 + #itemTable)] -- # operator doesnt account for values assigned to keys (e.g. "[0]=" entries)
if player:GetEffects():HasCollectibleEffect(tempItem) then return tempItem else return false end
end
+2
View File
@@ -477,6 +477,8 @@ if MCMLoaded then
{infoText = "Changes Health Ups and removes healing effect text when playing as a character that can't have red health"})
EID:AddBooleanSetting("Display", "DisplayTCainSalvageResults", "Show Tainted Cain Salvage Results",
{repOnly = true, infoText = "As Tainted Cain, replaces pedestal descriptions with what they will turn into on touch"})
EID:AddBooleanSetting("Display", "GlitchedCrownSummary", "Show Glitched Crown Summary",
{repOnly = true, infoText = "With Glitched Crown, show summary list for cycling pedestals"})
--------Obstruction---------
+1 -1
View File
@@ -989,7 +989,7 @@ if EID.isRepentance then
-- Using magic numbers here in case it's slightly faster, and because the callback names give context
-- Check Birthright first because it overwrites the description instead of appending to it
if descObj.ObjSubType == 619 then table.insert(callbacks, BirthrightCallback) end
if EID.collectiblesOwned[689] then table.insert(callbacks, GlitchedCrownCallback) end
if (REPENTOGON or EID.collectiblesOwned[689]) and EID.Config["GlitchedCrownSummary"] then table.insert(callbacks, GlitchedCrownCallback) end
-- Glowing Hourglass overwrites the description when used three times
if REPENTOGON and descObj.ObjSubType == 422 then table.insert(callbacks, GlowingHourglassCallback) end
+3 -3
View File
@@ -10,8 +10,8 @@ EID.isRepentance = REPENTANCE -- REPENTANCE variable can be altered by any mod,
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.82
EID.ModVersionCommit = "a697585"
EID.ModVersion = 4.83
EID.ModVersionCommit = "c467bb0"
EID.DefaultConfig.Version = EID.Config.Version
EID.isHidden = false
EID.player = nil -- The primary Player Entity of Player 1
@@ -728,7 +728,7 @@ function EID:printBulletPoints(description, renderPos)
local bpIcon, rejectedIcon = EID:handleBulletpointIcon(lineToPrint)
if EID:getIcon(bpIcon) ~= EID.InlineIcons["ERROR"] then
lineToPrint = string.gsub(lineToPrint, bpIcon .. " ", "", 1)
textColor = EID:renderString(bpIcon, renderPos + Vector(-3 * EID.Scale, 0), textScale , textColor)
textColor = EID:renderString(bpIcon, renderPos + Vector(-3 * EID.Scale, 0), textScale , textColor, true)
else
if rejectedIcon then lineToPrint = string.gsub(lineToPrint, rejectedIcon .. " ", "", 1) end
textColor = EID:renderString(bpIcon, renderPos, textScale , textColor)
+1 -1
View File
@@ -51,7 +51,7 @@ You are currently looking at the version for Afterbirth+ and Repentance.
[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.82</version>
<version>4.83</version>
<visibility>Public</visibility>
<tag id="Lua"/>
<tag id="Items"/>
+19 -1
View File
@@ -1,5 +1,5 @@
<AnimatedActor>
<Info CreatedBy="Unknown" CreatedOn="18-Aug-24 00:34:46" Version="203" Fps="30"/>
<Info CreatedBy="Unknown" CreatedOn="01.11.2024 20:46:37" Version="204" Fps="30"/>
<Content>
<Spritesheets>
<Spritesheet Path="eid_inline_icons.png" Id="0"/>
@@ -739,5 +739,23 @@
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="DiceFaces" FrameNum="6" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPosition="0" YPosition="0" XPivot="0" YPivot="0" XCrop="0" YCrop="318" Width="14" Height="14" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="0" XPivot="0" YPivot="0" XCrop="14" YCrop="318" Width="14" Height="14" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="0" XPivot="0" YPivot="0" XCrop="28" YCrop="318" Width="14" Height="14" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="0" XPivot="0" YPivot="0" XCrop="42" YCrop="318" Width="14" Height="14" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="0" XPivot="0" YPivot="0" XCrop="56" YCrop="318" Width="14" Height="14" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPosition="0" YPosition="0" XPivot="0" YPivot="0" XCrop="70" YCrop="318" Width="14" Height="14" XScale="100" YScale="100" Delay="1" Visible="true" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
<LayerAnimation LayerId="1" Visible="true"/>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
</AnimatedActor>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 48 KiB