Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
f99a9c21f7
9 files changed
+214
-71
No files matched your search
+11
-8
@@ -333,7 +333,7 @@ local repCollectibles={
|
|||||||
[697] = {"697", "Исчезающий близнец", "Спутник, который становится клоном босса при входе в комнату босса#Победа над ним создает дополнительный артефакт#Клон медленнее и имеет 75% от исходного здоровья босса"}, -- Vanishing Twin
|
[697] = {"697", "Исчезающий близнец", "Спутник, который становится клоном босса при входе в комнату босса#Победа над ним создает дополнительный артефакт#Клон медленнее и имеет 75% от исходного здоровья босса"}, -- Vanishing Twin
|
||||||
[698] = {"698", "Нечестивая парочка", "Два спутника, стоящие по бокам#Слёзы равны вашим, но только с 37.5% вашего урона"}, -- Twisted Pair
|
[698] = {"698", "Нечестивая парочка", "Два спутника, стоящие по бокам#Слёзы равны вашим, но только с 37.5% вашего урона"}, -- Twisted Pair
|
||||||
[699] = {"699", "Ярость Азазеля", "Персонаж получает ярость, после каждой зачищенной комнаты#Через 4 комнаты он стреляет большим потоком Серы при входе в следующую комнату"}, -- Azazel's Rage
|
[699] = {"699", "Ярость Азазеля", "Персонаж получает ярость, после каждой зачищенной комнаты#Через 4 комнаты он стреляет большим потоком Серы при входе в следующую комнату"}, -- Azazel's Rage
|
||||||
[700] = {"700", "Эхо-камера", "Когда персонаж использует карту, пилюлю или руну, он также использует копию каждой карты/пилюли/руны, которые использовались с момента получения Эхо-камеры"}, -- Echo Chamber
|
[700] = {"700", "Эхо-камера", "Когда персонаж использует карту, пилюлю или руну, он также использует копии 3 последних карт/пилюль/рун, которые использовались с момента получения Эхо-камеры"}, -- Echo Chamber
|
||||||
[701] = {"701", "Гробница Исаака", "Создает старый сундук в начале каждого этажа#Может содержать:#1-3 синих сердца#3 брелока#Артефакт мамы или папы#Артефакт ангела"}, -- Isaac's Tomb
|
[701] = {"701", "Гробница Исаака", "Создает старый сундук в начале каждого этажа#Может содержать:#1-3 синих сердца#3 брелока#Артефакт мамы или папы#Артефакт ангела"}, -- Isaac's Tomb
|
||||||
[702] = {"702", "Мстительный дух", "После получения урона создает спутника-огонька до конца этажа#Максимум 6 спутников#Они стреляют огненными слезами, но не блокируют выстрелы"}, -- Vengeful Spirit
|
[702] = {"702", "Мстительный дух", "После получения урона создает спутника-огонька до конца этажа#Максимум 6 спутников#Они стреляют огненными слезами, но не блокируют выстрелы"}, -- Vengeful Spirit
|
||||||
[703] = {"703", "Исав Младший", "При использовании происходит переключение между текущим персонажем и Исавом-младшим, который имеет 3 черных сердца, +2 к урону и полет#Персонажи имеют независимые предметы и здоровье#!!! При его смерти, забег заканчивается"}, -- Esau Jr.
|
[703] = {"703", "Исав Младший", "При использовании происходит переключение между текущим персонажем и Исавом-младшим, который имеет 3 черных сердца, +2 к урону и полет#Персонажи имеют независимые предметы и здоровье#!!! При его смерти, забег заканчивается"}, -- Esau Jr.
|
||||||
@@ -674,10 +674,10 @@ EID.descriptions["ru"].tarotClothBuffs = {
|
|||||||
local repTrinkets={
|
local repTrinkets={
|
||||||
[1] = {"1", "Проглоченный Пенни", "При получении урона, на пол падает 1 монетка#0-1 если вы играете за Хранителя"}, -- Swallowed Penny
|
[1] = {"1", "Проглоченный Пенни", "При получении урона, на пол падает 1 монетка#0-1 если вы играете за Хранителя"}, -- Swallowed Penny
|
||||||
[10] = {"10", "Извивающийся червь", "Слезы двигаются волнами#↑ +0.4 к скорострельности#Дает спектральные слезы"}, -- Wiggle Worm
|
[10] = {"10", "Извивающийся червь", "Слезы двигаются волнами#↑ +0.4 к скорострельности#Дает спектральные слезы"}, -- Wiggle Worm
|
||||||
[11] = {"11", "Кольцевой червь", "Слезы движутся по спирали с большой скоростью#Дает спектральные слезы"}, -- Ring Worm
|
[11] = {"11", "Кольцевой червь", "Слезы движутся по спирали с большой скоростью#↑ +0.4 к скорострельности#Дает спектральные слезы"}, -- Ring Worm
|
||||||
[15] = {"15", "Счастливый камень", "Шанс 33%, что на месте уничтоженного камня появится монета"},-- Lucky Rock
|
[15] = {"15", "Счастливый камень", "Шанс 33%, что на месте уничтоженного камня появится монета"},-- Lucky Rock
|
||||||
[24] = {"24", "Пенни из задницы", "Каждая монета заставляет вас пукать#Пуки отталкивают и отравляют врагов"}, -- Butt Penny
|
[24] = {"24", "Пенни из задницы", "Каждая монета заставляет вас пукать#Пуки отталкивают и отравляют врагов"}, -- Butt Penny
|
||||||
[26] = {"26", "Крюкообразный червяк", "Слезы движутся угловатыми узорами#↑ +1.5 к дальности#Дает спектральные слезы"}, -- Hook Worm
|
[26] = {"26", "Крюкообразный червяк", "Слезы движутся угловатыми узорами#↑ +0.4 к скорострельности#↑ +1.5 к дальности#Дает спектральные слезы"}, -- Hook Worm
|
||||||
[32] = {"32", "Вольная шляпка", "Каждую комнату дает эффект случайного гриба"}, -- Liberty Cap
|
[32] = {"32", "Вольная шляпка", "Каждую комнату дает эффект случайного гриба"}, -- Liberty Cap
|
||||||
[33] = {"33", "Пуповина", "Когда у персонажа половина или нет красных сердец, появляется спутник Маленький Стивен#Высокий шанс создать спутника Близнеца при получении урона"}, -- Umbilical Cord
|
[33] = {"33", "Пуповина", "Когда у персонажа половина или нет красных сердец, появляется спутник Маленький Стивен#Высокий шанс создать спутника Близнеца при получении урона"}, -- Umbilical Cord
|
||||||
[48] = {"48", "Потерянная страница", "При получении урона есть шанс нанести урон всем врагам в комнате#Чёрные сердца и {{Collectible35}} эффекты некрономикона наносят на 40 урона больше"}, -- A Missing Page
|
[48] = {"48", "Потерянная страница", "При получении урона есть шанс нанести урон всем врагам в комнате#Чёрные сердца и {{Collectible35}} эффекты некрономикона наносят на 40 урона больше"}, -- A Missing Page
|
||||||
@@ -689,7 +689,7 @@ local repTrinkets={
|
|||||||
[69] = {"69", "Выцветшая фотокарточка", "Маскирует игрока случайным образом#Приводит врагов в замешательство#Позволяет открыть Странную дверь"}, -- Faded Polaroid
|
[69] = {"69", "Выцветшая фотокарточка", "Маскирует игрока случайным образом#Приводит врагов в замешательство#Позволяет открыть Странную дверь"}, -- Faded Polaroid
|
||||||
[80] = {"80", "Черное перо", "↑ +0.5 к урону за каждый имеющийся Дьявольский артефакт"}, -- Black Feather
|
[80] = {"80", "Черное перо", "↑ +0.5 к урону за каждый имеющийся Дьявольский артефакт"}, -- Black Feather
|
||||||
[92] = {"92", "Треснувшая корона", "↑ Увеличение характеристик ваших предметов на 20% эффективнее"}, -- Cracked Crown
|
[92] = {"92", "Треснувшая корона", "↑ Увеличение характеристик ваших предметов на 20% эффективнее"}, -- Cracked Crown
|
||||||
[96] = {"96", "Червь Уроборос", "Слезы летят по огромной дугообразной траектории#↑ +1.5 дальность стрельбы"}, -- Ouroboros Worm
|
[96] = {"96", "Червь Уроборос", "Слезы летят по огромной дугообразной траектории#↑ +0.4 к скорострельности#↑ +1.5 к дальности#Дает спектральные слезы#Шанс самонаводящейся слезы"}, -- Ouroboros Worm
|
||||||
[101] = {"101", "Тусклая лампочка", "!!! Когда ваш активный предмет полностью разряжен:#↑ +1.5 к урону#↑ +0.5 к скорости#↑ +1.5 к дальности#↑ +0.5 к скорострельности#↑ +0.3 к скорости слезы#↑ +2 к удаче"},
|
[101] = {"101", "Тусклая лампочка", "!!! Когда ваш активный предмет полностью разряжен:#↑ +1.5 к урону#↑ +0.5 к скорости#↑ +1.5 к дальности#↑ +0.5 к скорострельности#↑ +0.3 к скорости слезы#↑ +2 к удаче"},
|
||||||
[110] = {"110", "Серебряный доллар", " {{Shop}} Магазины появятся в Утробе и Трупе"},
|
[110] = {"110", "Серебряный доллар", " {{Shop}} Магазины появятся в Утробе и Трупе"},
|
||||||
[111] = {"111", "Кровавая корона", " {{TreasureRoom}} Комнаты Сокровищ появятся в Утробе и Трупе"}, -- Bloody Crown
|
[111] = {"111", "Кровавая корона", " {{TreasureRoom}} Комнаты Сокровищ появятся в Утробе и Трупе"}, -- Bloody Crown
|
||||||
@@ -831,7 +831,7 @@ local repPills={
|
|||||||
[48] = {"47", "- Скорость слезы", "↓ -0.15 к скорости полёта слезы"}, -- Shot Speed Down
|
[48] = {"47", "- Скорость слезы", "↓ -0.15 к скорости полёта слезы"}, -- Shot Speed Down
|
||||||
[49] = {"48", "+ Скорость слезы", "↑ +0.15 к скорости полёта слезы"}, -- Shot Speed Up
|
[49] = {"48", "+ Скорость слезы", "↑ +0.15 к скорости полёта слезы"}, -- Shot Speed Up
|
||||||
[50] = {"49", "Экспериментальная пилюля", "↑ Повышает 1 случайную характеристику#↓ Понижает 1 случайную характеристику#Если есть {{Collectible654}} Фальшивая или обычная {{Collectible75}} Докторская степень, то повышения / понижения характеристики не будет"}, -- Experimental Pill
|
[50] = {"49", "Экспериментальная пилюля", "↑ Повышает 1 случайную характеристику#↓ Понижает 1 случайную характеристику#Если есть {{Collectible654}} Фальшивая или обычная {{Collectible75}} Докторская степень, то повышения / понижения характеристики не будет"}, -- Experimental Pill
|
||||||
[9999] = {"", "Золотая пилюля", "Эффект случайной пилюли#Исчезает после нескольких использований"}, -- golden Pill
|
[9999] = {"", "Золотая пилюля", "Эффект случайной пилюли#Исчезает после нескольких использований"}, -- Golden Pill
|
||||||
}
|
}
|
||||||
EID:updateDescriptionsViaTable(repPills, EID.descriptions["ru"].pills)
|
EID:updateDescriptionsViaTable(repPills, EID.descriptions["ru"].pills)
|
||||||
|
|
||||||
@@ -886,7 +886,7 @@ EID.descriptions["ru"].horsepills={
|
|||||||
{"47", "- Скорость слезы", "↓ -0.3 к скорости полёта слезы"},
|
{"47", "- Скорость слезы", "↓ -0.3 к скорости полёта слезы"},
|
||||||
{"48", "+ Скорость слезы", "↑ +0.3 к скорости полёта слезы"},
|
{"48", "+ Скорость слезы", "↑ +0.3 к скорости полёта слезы"},
|
||||||
{"49", "Экспериментальная пилюля", "↑ Дважды повышает 1 случайную характеристику#↓ Дважды понижает 1 случайную характеристику#Если есть {{Collectible654}} Фальшивая или обычная {{Collectible75}} Докторская степень, то повышения / понижения характеристики не будет"},
|
{"49", "Экспериментальная пилюля", "↑ Дважды повышает 1 случайную характеристику#↓ Дважды понижает 1 случайную характеристику#Если есть {{Collectible654}} Фальшивая или обычная {{Collectible75}} Докторская степень, то повышения / понижения характеристики не будет"},
|
||||||
[9999] = {"", "Золотая пилюля", "Эффект случайной лошадиной пилюли#Исчезает после нескольких использований"}, -- golden Pill
|
[9999] = {"", "Золотая пилюля", "Эффект случайной лошадиной пилюли#Исчезает после нескольких использований"}, -- Golden Pill
|
||||||
}
|
}
|
||||||
|
|
||||||
EID.descriptions["ru"].CraftingBagContent = "Мешок:"
|
EID.descriptions["ru"].CraftingBagContent = "Мешок:"
|
||||||
@@ -894,9 +894,12 @@ EID.descriptions["ru"].CraftingRoomContent = "Комната:"
|
|||||||
EID.descriptions["ru"].CraftingFloorContent = "Этаж:"
|
EID.descriptions["ru"].CraftingFloorContent = "Этаж:"
|
||||||
EID.descriptions["ru"].CraftingBagQuality = "Качество в мешке:"
|
EID.descriptions["ru"].CraftingBagQuality = "Качество в мешке:"
|
||||||
EID.descriptions["ru"].CraftingBestQuality = "Лучшее качество:"
|
EID.descriptions["ru"].CraftingBestQuality = "Лучшее качество:"
|
||||||
|
EID.descriptions["ru"].CraftingHideKey = "Спрятать:"
|
||||||
|
EID.descriptions["ru"].CraftingPreviewKey = "Показать:"
|
||||||
EID.descriptions["ru"].CraftingResults = "Результаты:#(Листать: {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}})"
|
EID.descriptions["ru"].CraftingResults = "Результаты:#(Листать: {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}})"
|
||||||
EID.descriptions["ru"].CraftingBagModError = "!!! {{ColorRed}}ОШИБКА:#{{ColorRed}}Эта функция на данный момент не поддерживается с установленными модами"
|
EID.descriptions["ru"].CraftingBagModError = "!!! {{ColorRed}}ОШИБКА:#{{ColorRed}}Эта функция на данный момент не поддерживается с установленными модами"
|
||||||
|
|
||||||
EID.descriptions["ru"].AchievementWarningTitle = "{{ColorYellow}}!!! ВНИМАНИЕ !!!"
|
EID.descriptions["ru"].AchievementWarningTitle = "{{ColorYellow}}!!! ВНИМАНИЕ !!!"
|
||||||
EID.descriptions["ru"].AchievementWarningText = "Достижения отключены!#Чтобы включить прогресс и достижения, вам сначала нужно убить Маму (Глубины II) без включенных модов#(Если вы уже убили Маму, то это сообщение баг и вы можете его игнорировать)"
|
EID.descriptions["ru"].AchievementWarningText = "Достижения отключены!#Чтобы включить прогресс и достижения, вам сначала нужно убить Маму (Глубины II) без включенных модов#(Если вы уже убили Маму, то это сообщение баг и вы можете его игнорировать)#(Это предупреждение можно выключить в конфиге)"
|
||||||
EID.descriptions["ru"].OutdatedModWarningText = "Установлен устаревший мод, который уменьшает количество предметов! Это может привести к вылетам, особенно в зоне Второй части ножа!#Пожалуйста, удалите мод с устаревшим файлом resources/items.xml"
|
EID.descriptions["ru"].OldGameVersionWarningText = "Ваша версия Repentance не обновлена!#Только самая последняя версия официально поддерживается#(Это предупреждение можно выключить в конфиге)"
|
||||||
|
EID.descriptions["ru"].ModdedRecipesWarningText = "Предметы из модов могут сделать расчёт крафтов неточным!#Используйте режим отображения \"No Recipes\" или отключите отображение Крафт-Мешка, если ваши рецепты неверны#(Это предупреждение можно выключить в конфиге)"
|
||||||
@@ -594,15 +594,15 @@ EID:updateDescriptionsViaTable(repCards, EID.descriptions["spa"].cards)
|
|||||||
---------- Pills ----------
|
---------- Pills ----------
|
||||||
|
|
||||||
local repPills={
|
local repPills={
|
||||||
[4] = {"3", "", "Intercambia el número de bombas por el de llaves#Las llaves y bombas de oro también se intercambian"},
|
[4] = {"3", "Las bombas son la «clave»", "Intercambia el número de bombas por el de llaves#Las llaves y bombas de oro también se intercambian"},
|
||||||
[12] = {"11", "", "↓ -0,6 de rango"},
|
[12] = {"11", "- Alcance", "↓ -0,6 de alcance"},
|
||||||
[13] = {"12", "", "↑ +0,75 de rango"},
|
[13] = {"12", "+ Alcance", "↑ +0,75 de alcance"},
|
||||||
[42] = {"41", "", "Te ralentiza a ti y a los enemigos de la habitación"},
|
[42] = {"41", "Tengo sueño...", "Te ralentiza a ti y a los enemigos de la habitación"},
|
||||||
[43] = {"42", "", "Aumenta tu velocidad y la de todos los enemigos de la habitación#Se vuelve a activas tras 30 y 60 segundos"},
|
[43] = {"42", "¡¡TENGO MUCHA ENERGÍA!!", "Aumenta tu velocidad y la de todos los enemigos de la habitación#Se vuelve a activas tras 30 y 60 segundos"},
|
||||||
|
|
||||||
[48] = {"47", "", "↓ -0,15 de velocidad de disparo"},
|
[48] = {"47", "- Velocidad de lágrimas", "↓ -0,15 de velocidad de disparo"},
|
||||||
[49] = {"48", "", "↑ +0,15 de velocidad de disparo"},
|
[49] = {"48", "+ Velocidad de lágrimas", "↑ +0,15 de velocidad de disparo"},
|
||||||
[50] = {"49", "", "↑ Aumenta una estadística aleatoria#↓ Disminuye otra estadística aleatoria#Si tienes PHD no bajará ninguna"},
|
[50] = {"49", "Píldora experimental", "↑ Aumenta una estadística aleatoria#↓ Disminuye otra estadística aleatoria#Si tienes PHD no bajará ninguna"},
|
||||||
[9999] = {"", "Píldora dorada", "Efecto de píldora de caballo aleatorio#Se destruye tras unos cuantos usos"}, -- golden Pill
|
[9999] = {"", "Píldora dorada", "Efecto de píldora de caballo aleatorio#Se destruye tras unos cuantos usos"}, -- golden Pill
|
||||||
}
|
}
|
||||||
EID:updateDescriptionsViaTable(repPills, EID.descriptions["spa"].pills)
|
EID:updateDescriptionsViaTable(repPills, EID.descriptions["spa"].pills)
|
||||||
@@ -669,8 +669,18 @@ EID.descriptions["spa"].CraftingFloorContent = "Piso:"
|
|||||||
EID.descriptions["spa"].CraftingBagQuality = "Calidad:"
|
EID.descriptions["spa"].CraftingBagQuality = "Calidad:"
|
||||||
EID.descriptions["spa"].CraftingBestQuality = "Mejor Calidad:"
|
EID.descriptions["spa"].CraftingBestQuality = "Mejor Calidad:"
|
||||||
|
|
||||||
|
EID.descriptions["spa"].CraftingHideKey = "Oculto:"
|
||||||
|
EID.descriptions["spa"].CraftingPreviewKey = "Prevista:"
|
||||||
|
|
||||||
|
EID.descriptions["spa"].CraftingResults = "(Desplazar: mantén {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},#Bloquear: {{ButtonX}}, Refrescar: {{ButtonB}})"
|
||||||
|
|
||||||
|
|
||||||
EID.descriptions["spa"].CraftingResults = "(Desplazar: Mantén {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},#Bloquear: {{ButtonX}}, Reiniciar: {{ButtonB}})"
|
EID.descriptions["spa"].CraftingResults = "(Desplazar: Mantén {{CONFIG_BoC_Toggle}} + {{ButtonY}} {{ButtonA}},#Bloquear: {{ButtonX}}, Reiniciar: {{ButtonB}})"
|
||||||
EID.descriptions["spa"].CraftingBagModError = "!!! {{ColorRed}}ERROR:#{{ColorRed}}El \"Cálculo de Recetas\" actualmente no funciona con mods que añaden objetos!#{{ColorRed}}Por favor desinstala los mods de objetos o desactiva las descripciones de Bag of Crafting en la configuración"
|
EID.descriptions["spa"].CraftingBagModError = "!!! {{ColorRed}}ERROR:#{{ColorRed}}El \"Cálculo de Recetas\" actualmente no funciona con mods que añaden objetos!#{{ColorRed}}Por favor desinstala los mods de objetos o desactiva las descripciones de Bag of Crafting en la configuración"
|
||||||
EID.descriptions["spa"].AchievementWarningTitle = "{{ColorYellow}}!!! ADVERTENCIA !!!"
|
EID.descriptions["spa"].AchievementWarningTitle = "{{ColorYellow}}!!! ADVERTENCIA !!!"
|
||||||
EID.descriptions["spa"].AchievementWarningText = "¡Los logros están deshabilitados!#Para poder progresar en el juego, primero debes matar a Mamá (Depths II) sin mods habilitados.#(Si ya derrotaste a Mamá, este mensaje es un bug, ignóralo)"
|
EID.descriptions["spa"].AchievementWarningText = "¡Los logros están deshabilitados!#Para poder progresar en el juego, primero debes matar a Mamá (Depths II) sin mods habilitados.#(Si ya derrotaste a Mamá, este mensaje es un bug, ignóralo)#(Este aviso puede ser desactivado en la configuración)"
|
||||||
EID.descriptions["spa"].OutdatedModWarningText = "¡Un mod sin actualizar está reduciendo la cantidad de objetos! Esto puede causar crasheos, especialmente al entrar al area de la Pieza del cuchillo 2!#Por favor desinstala los mods con los archivos resources/items.xml desactualizados"
|
EID.descriptions["spa"].OutdatedModWarningText = "¡Un mod sin actualizar está reduciendo la cantidad de objetos! Esto puede causar crasheos, especialmente al entrar al area de la Pieza del cuchillo 2!#Por favor desinstala los mods con los archivos resources/items.xml desactualizados"
|
||||||
|
|
||||||
|
EID.descriptions["spa"].OldGameVersionWarningText = "Tu versión de Repentance no es la más reciente#La versión más reciente es la única con soporte oficial#(Este aviso puede ser desactivado en la configuración)"
|
||||||
|
|
||||||
|
EID.descriptions["spa"].ModdedRecipesWarningText = "Los objetos modeados pueden provocar cálculos incorrectos#Usa el modo No Recipes o desactiva el cálculo de la Bolsa de trabajo si es que los cálculos son incorrectos#(Este aviso puede ser desactivado en la configuración)"
|
||||||
+16
-6
@@ -591,7 +591,7 @@ function EID:filterIconMarkup(text, textPosX, textPosY)
|
|||||||
for word in string.gmatch(text, "{{.-}}") do
|
for word in string.gmatch(text, "{{.-}}") do
|
||||||
local textposition = string.find(text, word)
|
local textposition = string.find(text, word)
|
||||||
local lookup = EID:getIcon(word)
|
local lookup = EID:getIcon(word)
|
||||||
local preceedingTextWidth = EID:getStrWidth(string.sub(text, 0, textposition - 1)) * EID.Config["Scale"]
|
local preceedingTextWidth = EID:getStrWidth(string.sub(text, 0, textposition - 1)) * EID.Scale
|
||||||
table.insert(spriteTable, {lookup, preceedingTextWidth})
|
table.insert(spriteTable, {lookup, preceedingTextWidth})
|
||||||
text = string.gsub(text, word, EID:generatePlaceholderString(lookup[3]), 1)
|
text = string.gsub(text, word, EID:generatePlaceholderString(lookup[3]), 1)
|
||||||
end
|
end
|
||||||
@@ -612,13 +612,13 @@ function EID:renderInlineIcons(spriteTable, posX, posY)
|
|||||||
else
|
else
|
||||||
spriteObj:Update()
|
spriteObj:Update()
|
||||||
end
|
end
|
||||||
EID:renderIcon(spriteObj, posX + sprite[2] + Xoffset * EID.Config["Scale"], posY + Yoffset * EID.Config["Scale"])
|
EID:renderIcon(spriteObj, posX + sprite[2] + Xoffset * EID.Scale, posY + Yoffset * EID.Scale)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- helper function to render Icons in specific EID settins
|
-- helper function to render Icons in specific EID settins
|
||||||
function EID:renderIcon(spriteObj, posX, posY)
|
function EID:renderIcon(spriteObj, posX, posY)
|
||||||
spriteObj.Scale = Vector(EID.Config["Scale"], EID.Config["Scale"])
|
spriteObj.Scale = Vector(EID.Scale, EID.Scale)
|
||||||
spriteObj.Color = Color(1, 1, 1, EID.Config["Transparency"], 0, 0, 0)
|
spriteObj.Color = Color(1, 1, 1, EID.Config["Transparency"], 0, 0, 0)
|
||||||
spriteObj:Render(Vector(posX, posY), nullVector, nullVector)
|
spriteObj:Render(Vector(posX, posY), nullVector, nullVector)
|
||||||
end
|
end
|
||||||
@@ -664,7 +664,7 @@ function EID:filterColorMarkup(text, baseKColor)
|
|||||||
local lookup, isColor = EID:getColor(word, lastColor)
|
local lookup, isColor = EID:getColor(word, lastColor)
|
||||||
if isColor then
|
if isColor then
|
||||||
local preceedingText = string.sub(text, lastPosition, textposition - 1)
|
local preceedingText = string.sub(text, lastPosition, textposition - 1)
|
||||||
local preceedingTextWidth = EID:getStrWidth(preceedingText) * EID.Config["Scale"]
|
local preceedingTextWidth = EID:getStrWidth(preceedingText) * EID.Scale
|
||||||
lastPosition = textposition
|
lastPosition = textposition
|
||||||
table.insert(textPartsTable, {preceedingText, lastColor, preceedingTextWidth})
|
table.insert(textPartsTable, {preceedingText, lastColor, preceedingTextWidth})
|
||||||
lastColor = lookup
|
lastColor = lookup
|
||||||
@@ -865,7 +865,7 @@ end
|
|||||||
-- Result: "3{{Crafting1}}2{{Crafting2}}3{{Crafting3}}"
|
-- Result: "3{{Crafting1}}2{{Crafting2}}3{{Crafting3}}"
|
||||||
local emptyPickupTable = {}
|
local emptyPickupTable = {}
|
||||||
for i=1,29 do emptyPickupTable[i] = 0 end
|
for i=1,29 do emptyPickupTable[i] = 0 end
|
||||||
function EID:tableToCraftingIconsMerged(craftTable)
|
function EID:tableToCraftingIconsMerged(craftTable, indicateCompleteContent)
|
||||||
local sortedList = {table.unpack(craftTable)}
|
local sortedList = {table.unpack(craftTable)}
|
||||||
local filteredList = {table.unpack(emptyPickupTable)}
|
local filteredList = {table.unpack(emptyPickupTable)}
|
||||||
for _,nr in ipairs(sortedList) do
|
for _,nr in ipairs(sortedList) do
|
||||||
@@ -874,12 +874,22 @@ function EID:tableToCraftingIconsMerged(craftTable)
|
|||||||
local iconString = ""
|
local iconString = ""
|
||||||
for nr,count in ipairs(filteredList) do
|
for nr,count in ipairs(filteredList) do
|
||||||
if (count > 0) then
|
if (count > 0) then
|
||||||
iconString = iconString..count.."{{Crafting"..nr.."}}"
|
local completedColoring = indicateCompleteContent and EID:bagContaingsItem(nr, count) and "{{ColorBagComplete}}" or ""
|
||||||
|
iconString = iconString..completedColoring..count.."{{Crafting"..nr.."}}{{CR}}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return iconString
|
return iconString
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function EID:bagContaingsItem(itemID, itemCount)
|
||||||
|
local foundCount = 0
|
||||||
|
for _, bagItem in ipairs(EID.BagItems) do
|
||||||
|
if bagItem == itemID then
|
||||||
|
foundCount = foundCount + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return foundCount == itemCount
|
||||||
|
end
|
||||||
|
|
||||||
function EID:handleHUDElement(hudElement)
|
function EID:handleHUDElement(hudElement)
|
||||||
local alteredHudElement = {}
|
local alteredHudElement = {}
|
||||||
|
|||||||
+27
-26
@@ -609,6 +609,26 @@ local function qualitySort(a, b)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
--this combination algorithm was adopted from this Java code: https://stackoverflow.com/a/16256122
|
||||||
|
--note that it will run into duplicates, for example if you have eight pennies and a key, it can't tell the difference between
|
||||||
|
--PPPPPPPK (pennies 1-7) and PPPPPPPK (pennies 2-8) and PPPPPPPK (pennies 1-4,6-8) etc..., I don't know of a way to prevent that
|
||||||
|
local function combinations(arr, length, startPos, tempResult, randResults, newResults)
|
||||||
|
local length = length or 8
|
||||||
|
local startPos = startPos or 1
|
||||||
|
local tempResult = tempResult or {}
|
||||||
|
if (length == 0) then
|
||||||
|
local resultString = table.concat(tempResult,",")
|
||||||
|
if (randResults[resultString] == nil) then
|
||||||
|
randResults[resultString] = {table.unpack(tempResult)}
|
||||||
|
newResults[resultString] = {table.unpack(tempResult)}
|
||||||
|
end
|
||||||
|
return
|
||||||
|
end
|
||||||
|
for i = startPos, #arr-length+1 do
|
||||||
|
tempResult[8-length+1] = arr[i]
|
||||||
|
combinations(arr,length-1, i+1, tempResult, randResults, newResults)
|
||||||
|
end
|
||||||
|
end
|
||||||
--code from InputHelper in MCM
|
--code from InputHelper in MCM
|
||||||
local HotkeyToString = {}
|
local HotkeyToString = {}
|
||||||
for key,num in pairs(Keyboard) do
|
for key,num in pairs(Keyboard) do
|
||||||
@@ -674,8 +694,8 @@ function EID:handleBagOfCraftingRendering()
|
|||||||
trackBagActivated()
|
trackBagActivated()
|
||||||
detectBagContentShift()
|
detectBagContentShift()
|
||||||
|
|
||||||
local tableToCraftingIcons = EID.tableToCraftingIconsMerged
|
local tableToCraftingIconsFunc = EID.tableToCraftingIconsMerged
|
||||||
if EID.Config["BagOfCraftingDisplayIcons"] then tableToCraftingIcons = EID.tableToCraftingIconsFull end
|
if EID.Config["BagOfCraftingDisplayIcons"] then tableToCraftingIconsFunc = EID.tableToCraftingIconsFull end
|
||||||
|
|
||||||
local customDescObj = EID:getDescriptionObj(5, 100, 710)
|
local customDescObj = EID:getDescriptionObj(5, 100, 710)
|
||||||
customDescObj.Description = ""
|
customDescObj.Description = ""
|
||||||
@@ -740,8 +760,8 @@ function EID:handleBagOfCraftingRendering()
|
|||||||
|
|
||||||
local curRoomIndex = Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex
|
local curRoomIndex = Game():GetLevel():GetCurrentRoomDesc().SafeGridIndex
|
||||||
|
|
||||||
local roomItems = {}
|
|
||||||
local results = {}
|
local results = {}
|
||||||
|
local roomItems = {}
|
||||||
local pickups = Isaac.FindByType(5, -1, -1, true, false)
|
local pickups = Isaac.FindByType(5, -1, -1, true, false)
|
||||||
|
|
||||||
if EID.bagOfCraftingCurPickupCount ~= #pickups then
|
if EID.bagOfCraftingCurPickupCount ~= #pickups then
|
||||||
@@ -804,7 +824,7 @@ function EID:handleBagOfCraftingRendering()
|
|||||||
local bestQualityDesc = EID:getDescriptionEntry("CraftingBestQuality")
|
local bestQualityDesc = EID:getDescriptionEntry("CraftingBestQuality")
|
||||||
|
|
||||||
if (#EID.BagItems > 0) then EID:appendToDescription(customDescObj, bagQualityDesc .. " " .. bagQuality .. "#" .. bagResult .. "#") end
|
if (#EID.BagItems > 0) then EID:appendToDescription(customDescObj, bagQualityDesc .. " " .. bagQuality .. "#" .. bagResult .. "#") end
|
||||||
if (bestQuality > bagQuality) then EID:appendToDescription(customDescObj, bestQualityDesc .. " " .. bestQuality .. "#{{Blank}} " .. tableToCraftingIcons(self,mostValuableBag) .. "#" .. bestResult .. "#") end
|
if (bestQuality > bagQuality) then EID:appendToDescription(customDescObj, bestQualityDesc .. " " .. bestQuality .. "#{{Blank}} " .. tableToCraftingIconsFunc(self,mostValuableBag, true) .. "#" .. bestResult .. "#") end
|
||||||
|
|
||||||
EID:printDescription(customDescObj)
|
EID:printDescription(customDescObj)
|
||||||
return true
|
return true
|
||||||
@@ -841,27 +861,8 @@ function EID:handleBagOfCraftingRendering()
|
|||||||
mostValuable[i] = itemQuery[i]
|
mostValuable[i] = itemQuery[i]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--this combination algorithm was adopted from this Java code: https://stackoverflow.com/a/16256122
|
|
||||||
--note that it will run into duplicates, for example if you have eight pennies and a key, it can't tell the difference between
|
if (#mostValuable >= 8) then combinations(mostValuable, nil, nil, nil, randResults, newResults) end
|
||||||
--PPPPPPPK (pennies 1-7) and PPPPPPPK (pennies 2-8) and PPPPPPPK (pennies 1-4,6-8) etc..., I don't know of a way to prevent that
|
|
||||||
local function combinations(arr, length, startPos, tempResult)
|
|
||||||
local length = length or 8
|
|
||||||
local startPos = startPos or 1
|
|
||||||
local tempResult = tempResult or {}
|
|
||||||
if (length == 0) then
|
|
||||||
local resultString = table.concat(tempResult,",")
|
|
||||||
if (randResults[resultString] == nil) then
|
|
||||||
randResults[resultString] = {table.unpack(tempResult)}
|
|
||||||
newResults[resultString] = {table.unpack(tempResult)}
|
|
||||||
end
|
|
||||||
return
|
|
||||||
end
|
|
||||||
for i = startPos, #arr-length+1 do
|
|
||||||
tempResult[8-length+1] = arr[i]
|
|
||||||
combinations(arr,length-1,i+1,tempResult)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (#mostValuable >= 8) then combinations(mostValuable) end
|
|
||||||
|
|
||||||
--do random pulls for some more recipe choices
|
--do random pulls for some more recipe choices
|
||||||
if (not skipRandom) then
|
if (not skipRandom) then
|
||||||
@@ -1003,7 +1004,7 @@ function EID:handleBagOfCraftingRendering()
|
|||||||
if v[3] then customDescObj.Description = customDescObj.Description.." {{Collectible" .. v[3] .. "}} " end
|
if v[3] then customDescObj.Description = customDescObj.Description.." {{Collectible" .. v[3] .. "}} " end
|
||||||
end
|
end
|
||||||
|
|
||||||
customDescObj.Description = customDescObj.Description..tableToCraftingIcons(self,v[1])
|
customDescObj.Description = customDescObj.Description..tableToCraftingIconsFunc(self, v[1], true)
|
||||||
prevItem = v[2]
|
prevItem = v[2]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -72,6 +72,21 @@ EID.UserConfig = {
|
|||||||
-- Default = false
|
-- Default = false
|
||||||
["DisableAchievementCheck"] = false,
|
["DisableAchievementCheck"] = false,
|
||||||
|
|
||||||
|
-------Display Modes---------
|
||||||
|
|
||||||
|
-- Sets the display mode of the description text.
|
||||||
|
-- possible values: default, local
|
||||||
|
-- "default": text will be displayed in the top-left of the screen.
|
||||||
|
-- "local": text will be displayed under the described object.
|
||||||
|
-- Default = "default"
|
||||||
|
["DisplayMode"] = "default",
|
||||||
|
-- Change Size of the info boxes for LocalMode.
|
||||||
|
-- Default = 0.5
|
||||||
|
["LocalScale"] = 0.5,
|
||||||
|
-- Changes the position of the text in local mode, relative to the described object to be centered. Set to false to make it left-aligned
|
||||||
|
-- Default = true
|
||||||
|
["LocalModeCentered"] = true,
|
||||||
|
|
||||||
-------------CURSE-------------
|
-------------CURSE-------------
|
||||||
|
|
||||||
-- Disable informations when the floor has curse of the blind ( ? - Items)
|
-- Disable informations when the floor has curse of the blind ( ? - Items)
|
||||||
@@ -293,6 +308,9 @@ EID.DefaultConfig = {
|
|||||||
["HUDOffset"] = 10,
|
["HUDOffset"] = 10,
|
||||||
["XPosition"] = 60,
|
["XPosition"] = 60,
|
||||||
["YPosition"] = 45,
|
["YPosition"] = 45,
|
||||||
|
["DisplayMode"] = "default",
|
||||||
|
["LocalScale"] = 0.5,
|
||||||
|
["LocalModeCentered"] = true,
|
||||||
["MaxDistance"] = 5,
|
["MaxDistance"] = 5,
|
||||||
["Indicator"] = "none",
|
["Indicator"] = "none",
|
||||||
["HideKey"] = Keyboard.KEY_F2,
|
["HideKey"] = Keyboard.KEY_F2,
|
||||||
|
|||||||
@@ -307,6 +307,7 @@ EID.InlineColors = {
|
|||||||
["ColorPastelBlue"] = KColor(0.3882, 0.5216, 1, 1),
|
["ColorPastelBlue"] = KColor(0.3882, 0.5216, 1, 1),
|
||||||
["ColorLavender"] = KColor(0.7451, 0.3686, 1, 1),
|
["ColorLavender"] = KColor(0.7451, 0.3686, 1, 1),
|
||||||
["ColorLightOrange"] = KColor(1, 0.6353, 0.3686, 1),
|
["ColorLightOrange"] = KColor(1, 0.6353, 0.3686, 1),
|
||||||
|
["ColorBagComplete"] = KColor(0, 1, 0, 0.6),
|
||||||
-- Swag Colors
|
-- Swag Colors
|
||||||
|
|
||||||
-- Rainbow color effect
|
-- Rainbow color effect
|
||||||
|
|||||||
+2
-1
@@ -122,7 +122,7 @@ local function onDebugRender(t)
|
|||||||
|
|
||||||
for i, v in ipairs(charsToDebug) do
|
for i, v in ipairs(charsToDebug) do
|
||||||
local pos = EID.getTextPosition() + Vector(-5, - 15 + ((i - 1) * 14))
|
local pos = EID.getTextPosition() + Vector(-5, - 15 + ((i - 1) * 14))
|
||||||
EID:renderString(v, pos, Vector(EID.Config["Scale"], EID.Config["Scale"]), KColor(1, 1, 1, 1, 0, 0, 0))
|
EID:renderString(v, pos, Vector(EID.Scale, EID.Scale), KColor(1, 1, 1, 1, 0, 0, 0))
|
||||||
|
|
||||||
if not showDebugChars then
|
if not showDebugChars then
|
||||||
break
|
break
|
||||||
@@ -130,3 +130,4 @@ local function onDebugRender(t)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
EID:AddCallback(ModCallbacks.MC_POST_RENDER, onDebugRender)
|
EID:AddCallback(ModCallbacks.MC_POST_RENDER, onDebugRender)
|
||||||
|
|
||||||
@@ -8,8 +8,8 @@ local game = Game()
|
|||||||
|
|
||||||
require("eid_config")
|
require("eid_config")
|
||||||
EID.Config = EID.UserConfig
|
EID.Config = EID.UserConfig
|
||||||
EID.Config.Version = "3.2"
|
EID.Config.Version = "3.3"
|
||||||
EID.ModVersion = "3.99"
|
EID.ModVersion = "3.100"
|
||||||
EID.DefaultConfig.Version = EID.Config.Version
|
EID.DefaultConfig.Version = EID.Config.Version
|
||||||
EID.isHidden = false
|
EID.isHidden = false
|
||||||
EID.player = nil
|
EID.player = nil
|
||||||
@@ -18,6 +18,7 @@ EID.player = nil
|
|||||||
EID.PositionModifiers = {}
|
EID.PositionModifiers = {}
|
||||||
EID.DescModifiers = {}
|
EID.DescModifiers = {}
|
||||||
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
||||||
|
EID.Scale = EID.Config["Scale"]
|
||||||
EID.isDisplaying = false
|
EID.isDisplaying = false
|
||||||
EID.isDisplayingPermanent = false
|
EID.isDisplayingPermanent = false
|
||||||
EID.permanentDisplayTextObj = nil
|
EID.permanentDisplayTextObj = nil
|
||||||
@@ -216,7 +217,7 @@ end
|
|||||||
---------------------------Printing Functions------------------------------
|
---------------------------Printing Functions------------------------------
|
||||||
|
|
||||||
function EID:printDescription(desc)
|
function EID:printDescription(desc)
|
||||||
local textScale = Vector(EID.Config["Scale"], EID.Config["Scale"])
|
local textScale = Vector(EID.Scale, EID.Scale)
|
||||||
local renderPos = EID:getTextPosition()
|
local renderPos = EID:getTextPosition()
|
||||||
local offsetX = 0
|
local offsetX = 0
|
||||||
if EID.Config["ShowItemIcon"] then
|
if EID.Config["ShowItemIcon"] then
|
||||||
@@ -240,7 +241,7 @@ function EID:printDescription(desc)
|
|||||||
offsetX = offsetX + 14
|
offsetX = offsetX + 14
|
||||||
EID:renderString(
|
EID:renderString(
|
||||||
"{{" .. iconType .. subType .. "}}",
|
"{{" .. iconType .. subType .. "}}",
|
||||||
renderPos + (Vector(-3, -4) * EID.Config["Scale"]),
|
renderPos + (Vector(-3, -4) * EID.Scale),
|
||||||
textScale,
|
textScale,
|
||||||
EID:getNameColor()
|
EID:getNameColor()
|
||||||
)
|
)
|
||||||
@@ -253,11 +254,11 @@ function EID:printDescription(desc)
|
|||||||
end
|
end
|
||||||
if EID.Config["ShowItemType"] and (itemType == 3 or itemType == 4) then
|
if EID.Config["ShowItemType"] and (itemType == 3 or itemType == 4) then
|
||||||
local offsetY = 2
|
local offsetY = 2
|
||||||
if EID.Config["Scale"] < 1 then
|
if EID.Scale < 1 then
|
||||||
offsetY = -1
|
offsetY = -1
|
||||||
end
|
end
|
||||||
EID.IconSprite:Play(EID.ItemTypeAnm2Names[itemType])
|
EID.IconSprite:Play(EID.ItemTypeAnm2Names[itemType])
|
||||||
EID:renderIcon(EID.IconSprite, renderPos.X + offsetX * EID.Config["Scale"], renderPos.Y + offsetY * EID.Config["Scale"])
|
EID:renderIcon(EID.IconSprite, renderPos.X + offsetX * EID.Scale, renderPos.Y + offsetY * EID.Scale)
|
||||||
if itemType == 3 then
|
if itemType == 3 then
|
||||||
-- Display Charge
|
-- Display Charge
|
||||||
offsetX = offsetX + 1
|
offsetX = offsetX + 1
|
||||||
@@ -270,14 +271,14 @@ function EID:printDescription(desc)
|
|||||||
else
|
else
|
||||||
EID.InlineIconSprite2:SetFrame("numbers", curItemConfig.MaxCharges)
|
EID.InlineIconSprite2:SetFrame("numbers", curItemConfig.MaxCharges)
|
||||||
end
|
end
|
||||||
EID:renderIcon(EID.InlineIconSprite2, renderPos.X + offsetX * EID.Config["Scale"], renderPos.Y + offsetY * EID.Config["Scale"])
|
EID:renderIcon(EID.InlineIconSprite2, renderPos.X + offsetX * EID.Scale, renderPos.Y + offsetY * EID.Scale)
|
||||||
offsetX = offsetX + 8
|
offsetX = offsetX + 8
|
||||||
elseif itemType == 4 then
|
elseif itemType == 4 then
|
||||||
-- familiar
|
-- familiar
|
||||||
offsetX = offsetX + 8
|
offsetX = offsetX + 8
|
||||||
end
|
end
|
||||||
if not EID.Config["ShowItemName"] then
|
if not EID.Config["ShowItemName"] then
|
||||||
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Config["Scale"]
|
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Scale
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
--Display Itemname
|
--Display Itemname
|
||||||
@@ -300,12 +301,12 @@ function EID:printDescription(desc)
|
|||||||
end
|
end
|
||||||
EID:renderString(
|
EID:renderString(
|
||||||
curName,
|
curName,
|
||||||
renderPos + (Vector(offsetX, -3) * EID.Config["Scale"]),
|
renderPos + (Vector(offsetX, -3) * EID.Scale),
|
||||||
textScale,
|
textScale,
|
||||||
EID:getNameColor()
|
EID:getNameColor()
|
||||||
)
|
)
|
||||||
|
|
||||||
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Config["Scale"]
|
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Scale
|
||||||
end
|
end
|
||||||
|
|
||||||
--Display Transformation
|
--Display Transformation
|
||||||
@@ -324,13 +325,13 @@ function EID:printDescription(desc)
|
|||||||
local textOffsetY = math.min(0, (iconHeight - 9)) / 4
|
local textOffsetY = math.min(0, (iconHeight - 9)) / 4
|
||||||
EID:renderString(
|
EID:renderString(
|
||||||
transformationName,
|
transformationName,
|
||||||
renderPos + (Vector(iconWidth + 4, textOffsetY)* EID.Config["Scale"]),
|
renderPos + (Vector(iconWidth + 4, textOffsetY)* EID.Scale),
|
||||||
textScale,
|
textScale,
|
||||||
EID:getTransformationColor()
|
EID:getTransformationColor()
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
if (EID.Config["TransformationIcons"] or EID.Config["TransformationText"]) then
|
if (EID.Config["TransformationIcons"] or EID.Config["TransformationText"]) then
|
||||||
renderPos.Y = renderPos.Y + transformLineHeight * EID.Config["Scale"]
|
renderPos.Y = renderPos.Y + transformLineHeight * EID.Scale
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -339,7 +340,7 @@ end
|
|||||||
|
|
||||||
function EID:printBulletPoints(description, renderPos)
|
function EID:printBulletPoints(description, renderPos)
|
||||||
local textboxWidth = tonumber(EID.Config["TextboxWidth"])
|
local textboxWidth = tonumber(EID.Config["TextboxWidth"])
|
||||||
local textScale = Vector(EID.Config["Scale"], EID.Config["Scale"])
|
local textScale = Vector(EID.Scale, EID.Scale)
|
||||||
description = EID:replaceShortMarkupStrings(description)
|
description = EID:replaceShortMarkupStrings(description)
|
||||||
|
|
||||||
for line in string.gmatch(description, "([^#]+)") do
|
for line in string.gmatch(description, "([^#]+)") do
|
||||||
@@ -351,13 +352,13 @@ function EID:printBulletPoints(description, renderPos)
|
|||||||
local bpIcon = EID:handleBulletpointIcon(lineToPrint)
|
local bpIcon = EID:handleBulletpointIcon(lineToPrint)
|
||||||
if EID:getIcon(bpIcon) ~= EID.InlineIcons["ERROR"] then
|
if EID:getIcon(bpIcon) ~= EID.InlineIcons["ERROR"] then
|
||||||
lineToPrint = string.gsub(lineToPrint, bpIcon .. " ", "", 1)
|
lineToPrint = string.gsub(lineToPrint, bpIcon .. " ", "", 1)
|
||||||
textColor = EID:renderString(bpIcon, renderPos + Vector(-3 * EID.Config["Scale"], 0), textScale , textColor)
|
textColor = EID:renderString(bpIcon, renderPos + Vector(-3 * EID.Scale, 0), textScale , textColor)
|
||||||
else
|
else
|
||||||
textColor = EID:renderString(bpIcon, renderPos, textScale , textColor)
|
textColor = EID:renderString(bpIcon, renderPos, textScale , textColor)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
textColor = EID:renderString(lineToPrint, renderPos + Vector(12 * EID.Config["Scale"], 0), textScale, textColor)
|
textColor = EID:renderString(lineToPrint, renderPos + Vector(12 * EID.Scale, 0), textScale, textColor)
|
||||||
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Config["Scale"]
|
renderPos.Y = renderPos.Y + EID.lineHeight * EID.Scale
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -376,7 +377,7 @@ EID:AddCallback(ModCallbacks.MC_POST_NEW_ROOM, EID.onNewRoom)
|
|||||||
function EID:renderQuestionMark()
|
function EID:renderQuestionMark()
|
||||||
EID.IconSprite:Play("CurseOfBlind")
|
EID.IconSprite:Play("CurseOfBlind")
|
||||||
local pos = EID:getTextPosition()
|
local pos = EID:getTextPosition()
|
||||||
EID:renderIcon(EID.IconSprite, pos.X + 5 * EID.Config["Scale"], pos.Y + 5 * EID.Config["Scale"])
|
EID:renderIcon(EID.IconSprite, pos.X + 5 * EID.Scale, pos.Y + 5 * EID.Scale)
|
||||||
end
|
end
|
||||||
|
|
||||||
function EID:renderIndicator(entity)
|
function EID:renderIndicator(entity)
|
||||||
@@ -436,6 +437,36 @@ function EID:renderIndicator(entity)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function EID:ScaleValue(entity)
|
||||||
|
if entity.Variant == EffectVariant.DICE_FLOOR then
|
||||||
|
EID.Scale = EID.Config["Scale"]
|
||||||
|
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
||||||
|
elseif EID.Config["DisplayMode"] == "local" then
|
||||||
|
EID.Scale = EID.Config["LocalScale"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function EID:PositionLocalMode(entity)
|
||||||
|
if EID.Config["DisplayMode"] == "local" then
|
||||||
|
local textBoxWidth = EID.Config["LocalModeCentered"] and tonumber(EID.Config["TextboxWidth"])/2 * EID.Scale or -30
|
||||||
|
local textPosOffset = Vector(-textBoxWidth, 20)
|
||||||
|
EID:alterTextPos(Isaac.WorldToScreen(entity.Position + textPosOffset))
|
||||||
|
if REPENTANCE then
|
||||||
|
if isMirrorRoom then
|
||||||
|
EID:alterTextPos(Isaac.WorldToScreen(entity.Position + textPosOffset * Vector(-1,0)))
|
||||||
|
local screenCenter = EID:getScreenSize()/2
|
||||||
|
EID.UsedPosition.X = EID.UsedPosition.X - (EID.UsedPosition-screenCenter).X * 2
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if entity:ToPickup() and entity:ToPickup():IsShopItem() then
|
||||||
|
EID:alterTextPos(Isaac.WorldToScreen(entity.Position + textPosOffset))
|
||||||
|
end
|
||||||
|
else
|
||||||
|
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
||||||
|
EID.Scale = EID.Config["Scale"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function EID:renderEntity(entity, sprite, position)
|
function EID:renderEntity(entity, sprite, position)
|
||||||
if entity.Type == 5 and entity.Variant == 100 then
|
if entity.Type == 5 and entity.Variant == 100 then
|
||||||
sprite:RenderLayer(1, position, nullVector, nullVector)
|
sprite:RenderLayer(1, position, nullVector, nullVector)
|
||||||
@@ -689,6 +720,8 @@ local function onRender(t)
|
|||||||
local curCounter = EID.sacrificeCounter[curRoomIndex] or 1
|
local curCounter = EID.sacrificeCounter[curRoomIndex] or 1
|
||||||
local sacrificeDesc = EID:getDescriptionObj(-999, -1, curCounter)
|
local sacrificeDesc = EID:getDescriptionObj(-999, -1, curCounter)
|
||||||
sacrificeDesc.Name = sacrificeDesc.Name.." ("..curCounter.."/12)"
|
sacrificeDesc.Name = sacrificeDesc.Name.." ("..curCounter.."/12)"
|
||||||
|
EID:alterTextPos(Vector(EID.Config["XPosition"], EID.Config["YPosition"]))
|
||||||
|
EID.Scale = EID.Config["Scale"]
|
||||||
EID:printDescription(sacrificeDesc)
|
EID:printDescription(sacrificeDesc)
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
@@ -703,6 +736,11 @@ local function onRender(t)
|
|||||||
--Handle Indicators
|
--Handle Indicators
|
||||||
EID:renderIndicator(closest)
|
EID:renderIndicator(closest)
|
||||||
|
|
||||||
|
--Local Mode
|
||||||
|
EID:PositionLocalMode(closest)
|
||||||
|
|
||||||
|
--Scale Value
|
||||||
|
EID:ScaleValue(closest)
|
||||||
--Handle GetData Entities (specific)
|
--Handle GetData Entities (specific)
|
||||||
if EID.Config["EnableEntityDescriptions"] and EID:getEntityData(closest, "EID_Description") then
|
if EID.Config["EnableEntityDescriptions"] and EID:getEntityData(closest, "EID_Description") then
|
||||||
local desc = EID:getEntityData(closest, "EID_Description")
|
local desc = EID:getEntityData(closest, "EID_Description")
|
||||||
@@ -784,7 +822,7 @@ local function onRender(t)
|
|||||||
EID:renderString(
|
EID:renderString(
|
||||||
"{{Pill"..pillColor.."}} "..EID:getDescriptionEntry("unidentifiedPill"),
|
"{{Pill"..pillColor.."}} "..EID:getDescriptionEntry("unidentifiedPill"),
|
||||||
EID:getTextPosition(),
|
EID:getTextPosition(),
|
||||||
Vector(EID.Config["Scale"], EID.Config["Scale"]),
|
Vector(EID.Scale, EID.Scale),
|
||||||
EID:getErrorColor()
|
EID:getErrorColor()
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
@@ -840,6 +878,7 @@ if EID.MCMLoaded or REPENTANCE then
|
|||||||
end
|
end
|
||||||
EID.isHidden = EID.Config["InitiallyHidden"]
|
EID.isHidden = EID.Config["InitiallyHidden"]
|
||||||
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
EID.UsedPosition = Vector(EID.Config["XPosition"], EID.Config["YPosition"])
|
||||||
|
EID.Scale = EID.Config["Scale"]
|
||||||
EID:loadFont(EID.modPath .. "resources/font/eid_"..EID.Config["FontType"]..".fnt")
|
EID:loadFont(EID.modPath .. "resources/font/eid_"..EID.Config["FontType"]..".fnt")
|
||||||
if REPENTANCE then
|
if REPENTANCE then
|
||||||
EID:addTextPosModifier("HudOffset", Vector(((Options.HUDOffset * 10) * 2) - 20, (Options.HUDOffset * 10) - 10))
|
EID:addTextPosModifier("HudOffset", Vector(((Options.HUDOffset * 10) * 2) - 20, (Options.HUDOffset * 10) - 10))
|
||||||
|
|||||||
+63
-3
@@ -888,6 +888,32 @@ if MCMLoaded then
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
-- Display Mode
|
||||||
|
local displayModes = {"default", "local"}
|
||||||
|
local displayModeTips = {"default: text will be displayed in the top-left of the screen.", "local: text will be displayed under the described object."}
|
||||||
|
MCM.AddSetting(
|
||||||
|
"EID",
|
||||||
|
"Visuals",
|
||||||
|
{
|
||||||
|
Type = ModConfigMenu.OptionType.NUMBER,
|
||||||
|
CurrentSetting = function()
|
||||||
|
return AnIndexOf(displayModes, EID.Config["DisplayMode"])
|
||||||
|
end,
|
||||||
|
Minimum = 1,
|
||||||
|
Maximum = #displayModes,
|
||||||
|
Display = function()
|
||||||
|
return "Display mode: " .. EID.Config["DisplayMode"]
|
||||||
|
end,
|
||||||
|
OnChange = function(currentNum)
|
||||||
|
EID.Config["DisplayMode"] = displayModes[currentNum]
|
||||||
|
end,
|
||||||
|
Info = function()
|
||||||
|
return {"Changes display mode of descriptions", displayModeTips[AnIndexOf(displayModes, EID.Config["DisplayMode"])]}
|
||||||
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
-- SCALE
|
-- SCALE
|
||||||
local textScales = {0.5, 0.75, 1, 1.25, 1.5, 2}
|
local textScales = {0.5, 0.75, 1, 1.25, 1.5, 2}
|
||||||
MCM.AddSetting(
|
MCM.AddSetting(
|
||||||
@@ -896,19 +922,53 @@ if MCMLoaded then
|
|||||||
{
|
{
|
||||||
Type = ModConfigMenu.OptionType.NUMBER,
|
Type = ModConfigMenu.OptionType.NUMBER,
|
||||||
CurrentSetting = function()
|
CurrentSetting = function()
|
||||||
return AnIndexOf(textScales, EID.Config["Scale"])
|
if EID.Config["DisplayMode"] == "local" then
|
||||||
|
return AnIndexOf(textScales, EID.Config["LocalScale"])
|
||||||
|
else
|
||||||
|
return AnIndexOf(textScales, EID.Config["Scale"])
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
Minimum = 1,
|
Minimum = 1,
|
||||||
Maximum = 6,
|
Maximum = 6,
|
||||||
Display = function()
|
Display = function()
|
||||||
return "Text Size: " .. EID.Config["Scale"]
|
if EID.Config["DisplayMode"] == "local" then
|
||||||
|
return "Text Size (Local mode): " .. EID.Config["LocalScale"]
|
||||||
|
else
|
||||||
|
return "Text Size: " .. EID.Config["Scale"]
|
||||||
|
end
|
||||||
end,
|
end,
|
||||||
OnChange = function(currentNum)
|
OnChange = function(currentNum)
|
||||||
EID.Config["Scale"] = textScales[currentNum]
|
if EID.Config["DisplayMode"] == "local" then
|
||||||
|
EID.Config["LocalScale"] = textScales[currentNum]
|
||||||
|
else
|
||||||
|
EID.Config["Scale"] = textScales[currentNum]
|
||||||
|
end
|
||||||
|
EID.Scale = textScales[currentNum]
|
||||||
end,
|
end,
|
||||||
Info = {"Change text size. CAN BE HARD TO READ IN SOME SETTINGS!"}
|
Info = {"Change text size. CAN BE HARD TO READ IN SOME SETTINGS!"}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
-- Transparency
|
||||||
|
MCM.AddSetting(
|
||||||
|
"EID",
|
||||||
|
"Visuals",
|
||||||
|
{
|
||||||
|
Type = ModConfigMenu.OptionType.BOOLEAN,
|
||||||
|
CurrentSetting = function()
|
||||||
|
return EID.Config["LocalModeCentered"]
|
||||||
|
end,
|
||||||
|
Display = function()
|
||||||
|
local onOff = "False"
|
||||||
|
if EID.Config["LocalModeCentered"] then
|
||||||
|
onOff = "True"
|
||||||
|
end
|
||||||
|
return "Local mode centered: " .. onOff
|
||||||
|
end,
|
||||||
|
OnChange = function(currentBool)
|
||||||
|
EID.Config["LocalModeCentered"] = currentBool
|
||||||
|
end
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
-- Transparency
|
-- Transparency
|
||||||
local transparencies = {0.1, 0.175, 0.25, 0.3, 0.4, 0.5, 0.6, 0.75, 0.8, 0.9, 1}
|
local transparencies = {0.1, 0.175, 0.25, 0.3, 0.4, 0.5, 0.6, 0.75, 0.8, 0.9, 1}
|
||||||
|
|||||||
Reference in new issue
Block a user