Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e08b19cb16 | ||
|
|
646dd79acb | ||
|
|
32ea090de7 | ||
|
|
81918e0e81 | ||
|
|
c9fbf5d587 | ||
|
|
da9338ef54 | ||
|
|
51d0ef2e1b | ||
|
|
99bd3c7379 | ||
|
|
9102104be8 | ||
|
|
33121b3d84 | ||
|
|
c62d814da4 | ||
|
|
55b38e2c74 | ||
|
|
61b5aaa3c7 | ||
|
|
5894fc8232 |
No files matched your search
+584
-584
File diff suppressed because it is too large.
Load diff
@@ -1088,6 +1088,11 @@ EID.descriptions[languageCode].poopSpells = {
|
|||||||
{"Explosive Diarrhea", "Isaac quickly spawns 5 lit bombs"},
|
{"Explosive Diarrhea", "Isaac quickly spawns 5 lit bombs"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EID.descriptions[languageCode].itemPoolFor = "Pool for Item:"
|
||||||
|
EID.descriptions[languageCode].itemPoolNames = {
|
||||||
|
[0] = "Treasure", "Shop", "Boss", "Devil", "Angel", "Secret", "Library", "Shell Game", "Golden Chest", "Red Chest", "Beggar", "Demon Beggar", "Curse", "Key Master", "Battery Bum", "Mom's Chest", "Greed Treasure", "Greed Boss", "Greed Shop", "Greed Devil", "Greed Angel", "Greed Curse", "Greed Secret", "Crane Game", "Ultra Secret", "Bomb Bum", "Planetarium", "Old Chest", "Baby Shop", "Wooden Chest", "Rotten Beggar",
|
||||||
|
}
|
||||||
|
|
||||||
EID.descriptions[languageCode].VoidShopText = "If absorbed right after pickup, gain:"
|
EID.descriptions[languageCode].VoidShopText = "If absorbed right after pickup, gain:"
|
||||||
EID.descriptions[languageCode].VoidOptionText = " will be absorbed instead"
|
EID.descriptions[languageCode].VoidOptionText = " will be absorbed instead"
|
||||||
EID.descriptions[languageCode].VoidNames[2] = "{1} Fire Rate up"
|
EID.descriptions[languageCode].VoidNames[2] = "{1} Fire Rate up"
|
||||||
|
|||||||
@@ -1163,6 +1163,11 @@ EID.descriptions[languageCode].poopSpells = {
|
|||||||
{"폭탄 설사", "캐릭터의 위치에 점화된 폭탄 5개를 생성합니다."},
|
{"폭탄 설사", "캐릭터의 위치에 점화된 폭탄 5개를 생성합니다."},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EID.descriptions[languageCode].itemPoolFor = "획득 시 배열:"
|
||||||
|
EID.descriptions[languageCode].itemPoolNames = {
|
||||||
|
[0] = "보물방", "상점", "보스방", "악마방", "천사방", "비밀방", "책방", "야바위꾼", "황금상자", "빨간상자", "거지", "악마거지", "저주방", "열쇠거지", "배터리거지", "엄마상자", "그리드-보물방", "그리드-보스방", "그리드-상점", "그리드-악마방", "그리드-천사방", "그리드-저주방", "그리드-비밀방", "크레인 게임", "특급비밀방", "폭탄거지", "천체관", "낡은상자", "패밀리어 상점", "나무상자", "썩은거지",
|
||||||
|
}
|
||||||
|
|
||||||
EID.descriptions[languageCode].VoidShopText = "아이템을 드는 도중 흡수 시 이하 능력치 증가:"
|
EID.descriptions[languageCode].VoidShopText = "아이템을 드는 도중 흡수 시 이하 능력치 증가:"
|
||||||
EID.descriptions[languageCode].VoidOptionText = " 아이템이 대신 흡수됨"
|
EID.descriptions[languageCode].VoidOptionText = " 아이템이 대신 흡수됨"
|
||||||
EID.descriptions[languageCode].VoidNames[2] = "연사(상한) {1}"
|
EID.descriptions[languageCode].VoidNames[2] = "연사(상한) {1}"
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
----- Ukrainian descriptions -----
|
----- Ukrainian descriptions -----
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
-- Last збільшеноdate: 11.11.2021
|
-- Last Update: 4.4.2023
|
||||||
|
|
||||||
-- FORMAT: Item ID | Name| Description
|
-- FORMAT: Item ID | Name| Description
|
||||||
-- '#' = starts new line of text
|
-- '#' = starts new line of text
|
||||||
|
|
||||||
-- Special character markup:
|
-- Special character markup:
|
||||||
-- ↑ = збільшено Arrow | ↓ = Down Arrow | ! = Warning
|
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning
|
||||||
local languageCode = "uk_ua"
|
local languageCode = "uk_ua"
|
||||||
|
|
||||||
local repCollectibles={
|
local repCollectibles={
|
||||||
@@ -241,7 +241,7 @@ local repCollectibles={
|
|||||||
[568] = {"568", "Божественне втручання", "Натисніть на кнопки стрільби двічі, щоб створити щит#Щит існує 1 секунду, відштовхує ворогів і відбиває ворожі снаряди і лазери"}, -- Divine Intervention
|
[568] = {"568", "Божественне втручання", "Натисніть на кнопки стрільби двічі, щоб створити щит#Щит існує 1 секунду, відштовхує ворогів і відбиває ворожі снаряди і лазери"}, -- Divine Intervention
|
||||||
[569] = {"569", "Присяга на крові", "Б'є персонажа ножем на початку кожного поверху, забираючи червоні серця (залишає 0.5 червоного серця)#Збільшує характеристики на весь поверх:#↑ {{Damage}} Шкода + 0.15 * ВтраченіСерця^2#↑ {{Speed}} Швидкість + 0.05*ВтраченіСерця"}, -- Blood Oath
|
[569] = {"569", "Присяга на крові", "Б'є персонажа ножем на початку кожного поверху, забираючи червоні серця (залишає 0.5 червоного серця)#Збільшує характеристики на весь поверх:#↑ {{Damage}} Шкода + 0.15 * ВтраченіСерця^2#↑ {{Speed}} Швидкість + 0.05*ВтраченіСерця"}, -- Blood Oath
|
||||||
[570] = {"570", "Пластилінове печиво", "Кольорові сльози з різними ефектами"}, -- Playdough Cookie
|
[570] = {"570", "Пластилінове печиво", "Кольорові сльози з різними ефектами"}, -- Playdough Cookie
|
||||||
[571] = {"571", "Сирітські шкарпетки", "Шипи і рідина на підлозі не завдають персонажу шкоди#↑ {{Speed}} +0.3 Швидкість збільшено#↑ {{SoulHeart}} +2 серця Душі"}, -- Orphan Socks
|
[571] = {"571", "Сирітські шкарпетки", "Шипи і рідина на підлозі не завдають персонажу шкоди#{{Speed}} +0.3 Швидкість збільшено#{{SoulHeart}} +2 серця Душі"}, -- Orphan Socks
|
||||||
[572] = {"572", "Окультне око", "Контрольовані сльози#↑ {{Damage}} +1 Шкоду збільшено#↑ {{Range}} +2 Дальнiсть збільшено#↓ {{Shotspeed}} -0.16 Швидкість стрільби зменшено"}, -- Eye of the Occult
|
[572] = {"572", "Окультне око", "Контрольовані сльози#↑ {{Damage}} +1 Шкоду збільшено#↑ {{Range}} +2 Дальнiсть збільшено#↓ {{Shotspeed}} -0.16 Швидкість стрільби зменшено"}, -- Eye of the Occult
|
||||||
[573] = {"573", "Бездоганне серце", "↑ {{Heart}} +1 Контейнер з червоним серцем#{{Heart}} Повне здоров'я#↑ {{Damage}} +20% Шкоду збільшено#20% шанс вистрелити додатковими орбітальними спектральними слізьми"}, -- Immaculate Heart
|
[573] = {"573", "Бездоганне серце", "↑ {{Heart}} +1 Контейнер з червоним серцем#{{Heart}} Повне здоров'я#↑ {{Damage}} +20% Шкоду збільшено#20% шанс вистрелити додатковими орбітальними спектральними слізьми"}, -- Immaculate Heart
|
||||||
[574] = {"574", "Дароносиця", "Дві кругові аури довкола персонажа, які завдають ворогам шкоди#Внутрішня аура наносить більше шкоди"}, -- Monstrance
|
[574] = {"574", "Дароносиця", "Дві кругові аури довкола персонажа, які завдають ворогам шкоди#Внутрішня аура наносить більше шкоди"}, -- Monstrance
|
||||||
@@ -413,7 +413,7 @@ EID:updateDescriptionsViaTable(repCollectibles, EID.descriptions[languageCode].c
|
|||||||
EID.descriptions[languageCode].birthright ={
|
EID.descriptions[languageCode].birthright ={
|
||||||
{"Ісаак", "", "Предмети на п'єдесталах змінюються щосекунди між 2 варіантами"},
|
{"Ісаак", "", "Предмети на п'єдесталах змінюються щосекунди між 2 варіантами"},
|
||||||
{"Магдалена", "", "↑ {{Heart}} +1 Контейнер з червоним серцем#{{Heart}} Ліміт сердець збільшено до 18"},
|
{"Магдалена", "", "↑ {{Heart}} +1 Контейнер з червоним серцем#{{Heart}} Ліміт сердець збільшено до 18"},
|
||||||
{"Каїн", "", "↑ {{Luck}} +1 Вдачу збільшено#{{Arcade}} На усіх поверхах з'являтиметься покращена Ігрова Кімната, окрім \"Темної Кімнати\" та \"Скрині\"#Сильно підвищує шанс на виграш {{Collectible46}} Щасливої Ніжки"},
|
{"Каїн", "", "↑ {{Luck}} +1 Вдачу збільшено#{{ArcadeRoom}} На усіх поверхах з'являтиметься покращена Ігрова Кімната, окрім \"Темної Кімнати\" та \"Скрині\"#Сильно підвищує шанс на виграш {{Collectible46}} Щасливої Ніжки"},
|
||||||
{"Юда", "", "{{Collectible34}} Книга Беліала стає пасивним предметом, аналогічно до {{Collectible584}} Книги Чеснот#{{Collectible34}} Дає Книгу Беліала, якщо її у вас ще не було#↑ {{Damage}} Бонус до шкоди, отриманий від неї, залежить від кількості зарядів активного предмета#Додаткові ефекти для кожного активного предмета"},
|
{"Юда", "", "{{Collectible34}} Книга Беліала стає пасивним предметом, аналогічно до {{Collectible584}} Книги Чеснот#{{Collectible34}} Дає Книгу Беліала, якщо її у вас ще не було#↑ {{Damage}} Бонус до шкоди, отриманий від неї, залежить від кількості зарядів активного предмета#Додаткові ефекти для кожного активного предмета"},
|
||||||
{"???", "", "Серця Душі, отримані від ефекту збільшення здоров'я, подвоюються"},
|
{"???", "", "Серця Душі, отримані від ефекту збільшення здоров'я, подвоюються"},
|
||||||
{"Єва", "", "Ефект Вавилонської Повії та Мертва Пташка завжди активні"},
|
{"Єва", "", "Ефект Вавилонської Повії та Мертва Пташка завжди активні"},
|
||||||
@@ -960,7 +960,7 @@ EID.descriptions[languageCode].horsepills={
|
|||||||
{"18", "Підвищена Удача", "↑ {{Luck}} +2 Вдачу збільшено"}, -- Luck збільшено
|
{"18", "Підвищена Удача", "↑ {{Luck}} +2 Вдачу збільшено"}, -- Luck збільшено
|
||||||
{"19", "Теле-пігулки", "Телепортує у випадкову кімнату"}, -- Telepills
|
{"19", "Теле-пігулки", "Телепортує у випадкову кімнату"}, -- Telepills
|
||||||
{"20", "48 годин енергії!", "Повністю заряджає ваш активний предмет#{{Battery}} Дає 3-4 батарейки"}, -- 48 Hour Energy!
|
{"20", "48 годин енергії!", "Повністю заряджає ваш активний предмет#{{Battery}} Дає 3-4 батарейки"}, -- 48 Hour Energy!
|
||||||
{"21", "Гематемезис", "Спустошує всі контейнери червоних сердець, окрім одного#{PHeart}} Створює 4-7 червоних сердець"}, -- Hematemesis
|
{"21", "Гематемезис", "Спустошує всі контейнери червоних сердець, окрім одного#{{Heart}} Створює 4-7 червоних сердець"}, -- Hematemesis
|
||||||
{"22", "Параліч", "Ви не можете рухатися 4 секунди"}, -- Paralysis
|
{"22", "Параліч", "Ви не можете рухатися 4 секунди"}, -- Paralysis
|
||||||
{"23", "Я бачу Вічність!", "{{SecretRoom}} Відкриває проходи в усі Секретні Кімнати на поверсі#Дає повну карту поверху"}, -- I can see forever!
|
{"23", "Я бачу Вічність!", "{{SecretRoom}} Відкриває проходи в усі Секретні Кімнати на поверсі#Дає повну карту поверху"}, -- I can see forever!
|
||||||
{"24", "Феромони", "{{Charm}} Усі вороги у кімнаті - ваші друзі"}, -- Pheromones
|
{"24", "Феромони", "{{Charm}} Усі вороги у кімнаті - ваші друзі"}, -- Pheromones
|
||||||
|
|||||||
+24
-8
@@ -1714,6 +1714,7 @@ function EID:evaluateTransformationProgress(transformation)
|
|||||||
local eType, eVariant, eSubType = entityString:match("([^.]+).([^.]+).([^.]+)")
|
local eType, eVariant, eSubType = entityString:match("([^.]+).([^.]+).([^.]+)")
|
||||||
if tonumber(eType) == EntityType.ENTITY_PICKUP then
|
if tonumber(eType) == EntityType.ENTITY_PICKUP then
|
||||||
if tonumber(eVariant) == PickupVariant.PICKUP_COLLECTIBLE then
|
if tonumber(eVariant) == PickupVariant.PICKUP_COLLECTIBLE then
|
||||||
|
local currentCount = EID.TransformationProgress[i][transformation]
|
||||||
if activesTable[tostring(eSubType)] then
|
if activesTable[tostring(eSubType)] then
|
||||||
EID.TransformationProgress[i][transformation] = EID.TransformationProgress[i][transformation] + activesTable[tostring(eSubType)]
|
EID.TransformationProgress[i][transformation] = EID.TransformationProgress[i][transformation] + activesTable[tostring(eSubType)]
|
||||||
else
|
else
|
||||||
@@ -1728,6 +1729,10 @@ function EID:evaluateTransformationProgress(transformation)
|
|||||||
EID.TransformationProgress[i][transformation] = EID.TransformationProgress[i][transformation] - 1
|
EID.TransformationProgress[i][transformation] = EID.TransformationProgress[i][transformation] - 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- In AB+, only one copy of a given collectible is counted for trans
|
||||||
|
if not EID.isRepentance and EID.TransformationProgress[i][transformation] > currentCount + 1 then
|
||||||
|
EID.TransformationProgress[i][transformation] = currentCount + 1
|
||||||
|
end
|
||||||
elseif tonumber(eVariant) == PickupVariant.PICKUP_TRINKET and player:HasTrinket(eSubType) then
|
elseif tonumber(eVariant) == PickupVariant.PICKUP_TRINKET and player:HasTrinket(eSubType) then
|
||||||
EID.TransformationProgress[i][transformation] = EID.TransformationProgress[i][transformation] + player:GetTrinketMultiplier(eSubType)
|
EID.TransformationProgress[i][transformation] = EID.TransformationProgress[i][transformation] + player:GetTrinketMultiplier(eSubType)
|
||||||
elseif tonumber(eVariant) == PickupVariant.PICKUP_PILL then
|
elseif tonumber(eVariant) == PickupVariant.PICKUP_PILL then
|
||||||
@@ -1787,14 +1792,14 @@ function EID:evaluateQueuedItems()
|
|||||||
|
|
||||||
if not player.QueuedItem.Touched and player.QueuedItem.Item then
|
if not player.QueuedItem.Touched and player.QueuedItem.Item then
|
||||||
EID.PlayerItemInteractions[i].LastTouch = game:GetFrameCount()
|
EID.PlayerItemInteractions[i].LastTouch = game:GetFrameCount()
|
||||||
|
local itemIDStr = tostring(player.QueuedItem.Item.ID)
|
||||||
|
-- Add touched active items to our transformation progress table
|
||||||
if player.QueuedItem.Item.Type == ItemType.ITEM_ACTIVE then
|
if player.QueuedItem.Item.Type == ItemType.ITEM_ACTIVE then
|
||||||
local itemID = tostring(player.QueuedItem.Item.ID)
|
|
||||||
-- A new active item was touched; initiate its touch count to 0 for all players
|
-- A new active item was touched; initiate its touch count to 0 for all players
|
||||||
-- (Fixes co-op bugs, compared to only initiating it for the toucher)
|
-- (Fixes co-op bugs, compared to only initiating it for the toucher)
|
||||||
for j = 0, game:GetNumPlayers() - 1 do
|
for j = 0, game:GetNumPlayers() - 1 do
|
||||||
EID.PlayerItemInteractions[j].actives[itemID] = EID.PlayerItemInteractions[j].actives[itemID] or 0
|
EID.PlayerItemInteractions[j].actives[itemIDStr] = EID.PlayerItemInteractions[j].actives[itemIDStr] or 0
|
||||||
EID.PlayerItemInteractions[j].altActives[itemID] = EID.PlayerItemInteractions[j].altActives[itemID] or 0
|
EID.PlayerItemInteractions[j].altActives[itemIDStr] = EID.PlayerItemInteractions[j].altActives[itemIDStr] or 0
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Dead Tainted Lazarus exceptions
|
-- Dead Tainted Lazarus exceptions
|
||||||
@@ -1803,8 +1808,12 @@ function EID:evaluateQueuedItems()
|
|||||||
activesTable = EID.PlayerItemInteractions[i].altActives or activesTable
|
activesTable = EID.PlayerItemInteractions[i].altActives or activesTable
|
||||||
end
|
end
|
||||||
EID.ForceRefreshCache = true
|
EID.ForceRefreshCache = true
|
||||||
activesTable[itemID] = activesTable[itemID] + 1
|
activesTable[itemIDStr] = activesTable[itemIDStr] + 1
|
||||||
elseif player.QueuedItem.Item.Type ~= ItemType.ITEM_TRINKET then
|
elseif player.QueuedItem.Item.Type ~= ItemType.ITEM_TRINKET then
|
||||||
|
-- In AB+, Halo of Flies is counted as an active item due to inaccuracy with GetCollectibleNum
|
||||||
|
if (not EID.isRepentance and itemIDStr == "10") then
|
||||||
|
EID.PlayerItemInteractions[i].actives[itemIDStr] = EID.PlayerItemInteractions[i].actives[itemIDStr] + 1
|
||||||
|
end
|
||||||
-- Put non-active item pickups into the recent item list, for printing in the Item Reminder
|
-- Put non-active item pickups into the recent item list, for printing in the Item Reminder
|
||||||
table.insert(EID.RecentlyTouchedItems[i], player.QueuedItem.Item.ID)
|
table.insert(EID.RecentlyTouchedItems[i], player.QueuedItem.Item.ID)
|
||||||
if (#EID.RecentlyTouchedItems[i] > 8) then table.remove(EID.RecentlyTouchedItems[i], 1) end
|
if (#EID.RecentlyTouchedItems[i] > 8) then table.remove(EID.RecentlyTouchedItems[i], 1) end
|
||||||
@@ -1819,6 +1828,10 @@ function EID:InitItemInteractionIfAbsent(playerID)
|
|||||||
if not EID.PlayerItemInteractions[playerID] then
|
if not EID.PlayerItemInteractions[playerID] then
|
||||||
EID.PlayerItemInteractions[playerID] = { LastTouch = 0, actives = {}, altActives = {},
|
EID.PlayerItemInteractions[playerID] = { LastTouch = 0, actives = {}, altActives = {},
|
||||||
pickupHistory = {}, altPickupHistory = {}, rerollItems = {} }
|
pickupHistory = {}, altPickupHistory = {}, rerollItems = {} }
|
||||||
|
-- in AB+, initiate Halo of Flies as an active item (collectible ID 10 is used for ALL Pretty Flies)
|
||||||
|
if not EID.isRepentance then
|
||||||
|
EID.PlayerItemInteractions[playerID].actives["10"] = 0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
EID.RecentlyTouchedItems[playerID] = EID.RecentlyTouchedItems[playerID] or {}
|
EID.RecentlyTouchedItems[playerID] = EID.RecentlyTouchedItems[playerID] or {}
|
||||||
end
|
end
|
||||||
@@ -1867,8 +1880,11 @@ end
|
|||||||
|
|
||||||
-- Add pickup usage to history of pickups used by the player
|
-- Add pickup usage to history of pickups used by the player
|
||||||
function EID:AddPickupToHistory(pickupType, effectID, player, useFlags, pillColorID)
|
function EID:AddPickupToHistory(pickupType, effectID, player, useFlags, pillColorID)
|
||||||
-- don't add mimiced or noannouncer cards/pills to history
|
-- don't add mimiced or noannouncer cards/pills to Echo Chamber history
|
||||||
if EID.isRepentance and (useFlags & UseFlag.USE_MIMIC == UseFlag.USE_MIMIC or useFlags & UseFlag.USE_NOANNOUNCER == UseFlag.USE_NOANNOUNCER) then return end
|
local allowEchoChamber = true
|
||||||
|
if EID.isRepentance and (useFlags & UseFlag.USE_MIMIC == UseFlag.USE_MIMIC or useFlags & UseFlag.USE_NOANNOUNCER == UseFlag.USE_NOANNOUNCER) then
|
||||||
|
allowEchoChamber = false
|
||||||
|
end
|
||||||
local playerID = EID:getPlayerID(player)
|
local playerID = EID:getPlayerID(player)
|
||||||
EID:InitItemInteractionIfAbsent(playerID)
|
EID:InitItemInteractionIfAbsent(playerID)
|
||||||
|
|
||||||
@@ -1879,7 +1895,7 @@ function EID:AddPickupToHistory(pickupType, effectID, player, useFlags, pillColo
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- pickupType = ["pill","card"], pillColorID, effectID, hadEchoChamberWhenUsed
|
-- pickupType = ["pill","card"], pillColorID, effectID, hadEchoChamberWhenUsed
|
||||||
table.insert(historyTable, 1, {pickupType, pillColorID, effectID, EID.isRepentance and player:HasCollectible(700)})
|
table.insert(historyTable, 1, {pickupType, pillColorID, effectID, EID.isRepentance and player:HasCollectible(700) and allowEchoChamber})
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Render a sprite of an entity
|
-- Render a sprite of an entity
|
||||||
|
|||||||
@@ -530,6 +530,9 @@ local function GameStartCrafting()
|
|||||||
-- Check for modded items past the known max item ID on game start (can also support game updates)
|
-- Check for modded items past the known max item ID on game start (can also support game updates)
|
||||||
-- Only works if the new items are at Weight 1.0 in their item pools, but better than nothing
|
-- Only works if the new items are at Weight 1.0 in their item pools, but better than nothing
|
||||||
if EID.Config["BagOfCraftingModdedRecipes"] and EID.itemConfig:GetCollectible(EID.XMLMaxItemID+1) ~= nil and not moddedCrafting then
|
if EID.Config["BagOfCraftingModdedRecipes"] and EID.itemConfig:GetCollectible(EID.XMLMaxItemID+1) ~= nil and not moddedCrafting then
|
||||||
|
-- Save last pool
|
||||||
|
local itemPool = game:GetItemPool()
|
||||||
|
local lastPool = itemPool:GetLastPool()
|
||||||
-- Items past max ID detected
|
-- Items past max ID detected
|
||||||
CraftingMaxItemID = EID.XMLMaxItemID -- XMLMaxItemID is never modified
|
CraftingMaxItemID = EID.XMLMaxItemID -- XMLMaxItemID is never modified
|
||||||
-- Add new item qualities
|
-- Add new item qualities
|
||||||
@@ -540,7 +543,6 @@ local function GameStartCrafting()
|
|||||||
CraftingItemAllowed[coll.ID] = true
|
CraftingItemAllowed[coll.ID] = true
|
||||||
coll = EID.itemConfig:GetCollectible(CraftingMaxItemID+1)
|
coll = EID.itemConfig:GetCollectible(CraftingMaxItemID+1)
|
||||||
end
|
end
|
||||||
local itemPool = game:GetItemPool()
|
|
||||||
-- Add new items to the crafting item pools, assuming Weight 1.0
|
-- Add new items to the crafting item pools, assuming Weight 1.0
|
||||||
for poolNum,_ in pairs(poolToIcon) do
|
for poolNum,_ in pairs(poolToIcon) do
|
||||||
for i=1,EID.XMLMaxItemID do itemPool:AddRoomBlacklist(i) end
|
for i=1,EID.XMLMaxItemID do itemPool:AddRoomBlacklist(i) end
|
||||||
@@ -554,6 +556,9 @@ local function GameStartCrafting()
|
|||||||
collID = itemPool:GetCollectible(poolNum, false, 1, 25)
|
collID = itemPool:GetCollectible(poolNum, false, 1, 25)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Do getCollectible again to revert last pool
|
||||||
|
itemPool:GetCollectible(lastPool, false, 1, 25)
|
||||||
|
|
||||||
itemPool:ResetRoomBlacklist()
|
itemPool:ResetRoomBlacklist()
|
||||||
end
|
end
|
||||||
moddedCrafting = true
|
moddedCrafting = true
|
||||||
|
|||||||
@@ -186,6 +186,17 @@ EID.UserConfig = {
|
|||||||
-- REPENTANCE ONLY!!!
|
-- REPENTANCE ONLY!!!
|
||||||
-- Default = true
|
-- Default = true
|
||||||
["ShowQuality"] = true,
|
["ShowQuality"] = true,
|
||||||
|
-- Enables or disables collectible's item pool when collected after item name
|
||||||
|
-- REPENTANCE ONLY!!!
|
||||||
|
-- Default = false
|
||||||
|
["ShowItemPoolIcon"] = false,
|
||||||
|
-- Enables or disables collectible's item pool name when collected below item name
|
||||||
|
-- REPENTANCE ONLY!!!
|
||||||
|
-- Default = false
|
||||||
|
["ShowItemPoolText"] = false,
|
||||||
|
-- Set the item pool for collectible text color
|
||||||
|
-- Default = "ColorSilver"
|
||||||
|
["ItemPoolTextColor"] = "ColorSilver",
|
||||||
-- Set the mod indicator display
|
-- Set the mod indicator display
|
||||||
-- Default = "Both"
|
-- Default = "Both"
|
||||||
["ModIndicatorDisplay"] = "None",
|
["ModIndicatorDisplay"] = "None",
|
||||||
@@ -514,6 +525,9 @@ EID.DefaultConfig = {
|
|||||||
["DisplayTrinketInfo"] = true,
|
["DisplayTrinketInfo"] = true,
|
||||||
["ItemNameColor"] = "ColorEIDObjName",
|
["ItemNameColor"] = "ColorEIDObjName",
|
||||||
["ShowQuality"] = true,
|
["ShowQuality"] = true,
|
||||||
|
["ShowItemPoolIcon"] = false,
|
||||||
|
["ShowItemPoolText"] = false,
|
||||||
|
["ItemPoolTextColor"] = "ColorSilver",
|
||||||
["ModIndicatorDisplay"] = "None",
|
["ModIndicatorDisplay"] = "None",
|
||||||
["ModIndicatorTextColor"] = "ColorLightOrange",
|
["ModIndicatorTextColor"] = "ColorLightOrange",
|
||||||
["ShowObjectID"] = false,
|
["ShowObjectID"] = false,
|
||||||
|
|||||||
@@ -571,6 +571,39 @@ EID.InlineIcons = {
|
|||||||
["SatanSmall"] = {"Boss", 18, 12, 9, 0, 1},
|
["SatanSmall"] = {"Boss", 18, 12, 9, 0, 1},
|
||||||
["HushSmall"] = {"Boss", 19, 11, 9, 0, 1},
|
["HushSmall"] = {"Boss", 19, 11, 9, 0, 1},
|
||||||
|
|
||||||
|
-- ItemPoolTypes
|
||||||
|
["ItemPoolTreasure"] = {"ItemPools", 0, 11, 11, 0, 0},
|
||||||
|
["ItemPoolShop"] = {"ItemPools", 1, 11, 11, 0, 0},
|
||||||
|
["ItemPoolBoss"] = {"ItemPools", 2, 11, 11, 0, 0},
|
||||||
|
["ItemPoolDevil"] = {"ItemPools", 3, 11, 11, 0, 0},
|
||||||
|
["ItemPoolAngel"] = {"ItemPools", 4, 11, 11, 0, 0},
|
||||||
|
["ItemPoolSecret"] = {"ItemPools", 5, 11, 11, 0, 0},
|
||||||
|
["ItemPoolLibrary"] = {"ItemPools", 6, 11, 11, 0, 0},
|
||||||
|
["ItemPoolShellGame"] = {"ItemPools", 7, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGoldenChest"] = {"ItemPools", 8, 11, 11, 0, 0},
|
||||||
|
["ItemPoolRedChest"] = {"ItemPools", 9, 11, 11, 0, 0},
|
||||||
|
["ItemPoolBeggar"] = {"ItemPools", 10, 11, 11, 0, 0},
|
||||||
|
["ItemPoolDemonBeggar"] = {"ItemPools", 11, 11, 11, 0, 0},
|
||||||
|
["ItemPoolCurse"] = {"ItemPools", 12, 11, 11, 0, 0},
|
||||||
|
["ItemPoolKeyMaster"] = {"ItemPools", 13, 11, 11, 0, 0},
|
||||||
|
["ItemPoolBombBum"] = {"ItemPools", 14, 11, 11, 0, 0},
|
||||||
|
["ItemPoolMomsChest"] = {"ItemPools", 15, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedTreasure"] = {"ItemPools", 16, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedShop"] = {"ItemPools", 17, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedBoss"] = {"ItemPools", 18, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedDevil"] = {"ItemPools", 19, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedAngel"] = {"ItemPools", 20, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedCurse"] = {"ItemPools", 21, 11, 11, 0, 0},
|
||||||
|
["ItemPoolGreedSecret"] = {"ItemPools", 22, 11, 11, 0, 0},
|
||||||
|
["ItemPoolCraneGame"] = {"ItemPools", 23, 11, 11, 0, 0},
|
||||||
|
["ItemPoolUltraSecret"] = {"ItemPools", 24, 11, 11, 0, 0},
|
||||||
|
["ItemPoolBatteryBum"] = {"ItemPools", 25, 11, 11, 0, 0},
|
||||||
|
["ItemPoolPlanetarium"] = {"ItemPools", 26, 11, 11, 0, 0},
|
||||||
|
["ItemPoolOldChest"] = {"ItemPools", 27, 11, 11, 0, 0},
|
||||||
|
["ItemPoolBabyShop"] = {"ItemPools", 28, 11, 11, 0, 0},
|
||||||
|
["ItemPoolWoodenChest"] = {"ItemPools", 29, 11, 11, 0, 0},
|
||||||
|
["ItemPoolRottenBeggar"] = {"ItemPools", 30, 11, 11, 0, 0},
|
||||||
|
|
||||||
-- Misc
|
-- Misc
|
||||||
["HardMode"] = {"Misc", 0, 16, 12, 0, -2},
|
["HardMode"] = {"Misc", 0, 16, 12, 0, -2},
|
||||||
["GreedMode"] = {"Misc", 1, 16, 12, 0, -2},
|
["GreedMode"] = {"Misc", 1, 16, 12, 0, -2},
|
||||||
@@ -847,3 +880,4 @@ EID.TransformationData = {
|
|||||||
|
|
||||||
EID.RoomShapeToMarkup = { "{{Room}}", "{{RoomSmallHorizontal}}", "{{RoomSmallVertical}}", "{{RoomLongVertical}}", "{{RoomLongThinVertical}}","{{RoomLongHorizontal}}", "{{RoomLongThinHorizontal}}", "{{RoomXL}}", "{{RoomLTopLeft}}", "{{RoomL}}", "{{RoomLBottomLeft}}", "{{RoomLBottomRight}}" }
|
EID.RoomShapeToMarkup = { "{{Room}}", "{{RoomSmallHorizontal}}", "{{RoomSmallVertical}}", "{{RoomLongVertical}}", "{{RoomLongThinVertical}}","{{RoomLongHorizontal}}", "{{RoomLongThinHorizontal}}", "{{RoomXL}}", "{{RoomLTopLeft}}", "{{RoomL}}", "{{RoomLBottomLeft}}", "{{RoomLBottomRight}}" }
|
||||||
EID.RoomTypeToMarkup = { "{{Room}}", "{{Shop}}", "{{ErrorRoom}}", "{{TreasureRoom}}", "{{BossRoom}}", "{{MiniBoss}}", "{{SecretRoom}}", "{{SuperSecretRoom}}", "{{ArcadeRoom}}", "{{CursedRoom}}", "{{ChallengeRoom}}", "{{Library}}", "{{SacrificeRoom}}", "{{DevilRoom}}", "{{AngelRoom}}", "{{LadderRoom}}", "{{Room}}" --[[boss rush]], "{{IsaacsRoom}}", "{{BarrenRoom}}", "{{ChestRoom}}", "{{DiceRoom}}", "{{Shop}}", "{{Room}}", --[[Black Market / Greed Exit]] "{{Planetarium}}", "{{Teleporter}}","{{Teleporter}}", "{{Room}}", "{{Room}}" --[[Blue Key rooms]], "{{UltraSecretRoom}}" }
|
EID.RoomTypeToMarkup = { "{{Room}}", "{{Shop}}", "{{ErrorRoom}}", "{{TreasureRoom}}", "{{BossRoom}}", "{{MiniBoss}}", "{{SecretRoom}}", "{{SuperSecretRoom}}", "{{ArcadeRoom}}", "{{CursedRoom}}", "{{ChallengeRoom}}", "{{Library}}", "{{SacrificeRoom}}", "{{DevilRoom}}", "{{AngelRoom}}", "{{LadderRoom}}", "{{Room}}" --[[boss rush]], "{{IsaacsRoom}}", "{{BarrenRoom}}", "{{ChestRoom}}", "{{DiceRoom}}", "{{Shop}}", "{{Room}}", --[[Black Market / Greed Exit]] "{{Planetarium}}", "{{Teleporter}}","{{Teleporter}}", "{{Room}}", "{{Room}}" --[[Blue Key rooms]], "{{UltraSecretRoom}}" }
|
||||||
|
EID.ItemPoolTypeToMarkup = { [0] = "{{ItemPoolTreasure}}", "{{ItemPoolShop}}", "{{ItemPoolBoss}}", "{{ItemPoolDevil}}", "{{ItemPoolAngel}}", "{{ItemPoolSecret}}", "{{ItemPoolLibrary}}", "{{ItemPoolShellGame}}", "{{ItemPoolGoldenChest}}", "{{ItemPoolRedChest}}", "{{ItemPoolBeggar}}", "{{ItemPoolDemonBeggar}}", "{{ItemPoolCurse}}", "{{ItemPoolKeyMaster}}", "{{ItemPoolBombBum}}", "{{ItemPoolMomsChest}}", "{{ItemPoolGreedTreasure}}", "{{ItemPoolGreedShop}}", "{{ItemPoolGreedBoss}}", "{{ItemPoolGreedDevil}}", "{{ItemPoolGreedAngel}}", "{{ItemPoolGreedCurse}}", "{{ItemPoolGreedSecret}}", "{{ItemPoolCraneGame}}", "{{ItemPoolUltraSecret}}", "{{ItemPoolBatteryBum}}", "{{ItemPoolPlanetarium}}", "{{ItemPoolOldChest}}", "{{ItemPoolBabyShop}}", "{{ItemPoolWoodenChest}}", "{{ItemPoolRottenBeggar}}"}
|
||||||
+7
-2
@@ -84,15 +84,20 @@ function EID:getHoldMapDescription(player, checkingTwin)
|
|||||||
end
|
end
|
||||||
if pickupHistory then
|
if pickupHistory then
|
||||||
local pickupNames = ""
|
local pickupNames = ""
|
||||||
for i = 1, math.min(3, #pickupHistory) do
|
local pickupsToPrint = 3
|
||||||
if pickupHistory[i][4] then -- Echo chamber was owned before this card/pill was used
|
for i = 1, #pickupHistory do
|
||||||
|
if pickupHistory[i][4] then -- Echo chamber was owned before this card/pill was used and it's not a mimic usage
|
||||||
if pickupHistory[i][1] == "pill" then
|
if pickupHistory[i][1] == "pill" then
|
||||||
local name = EID:getPillName(pickupHistory[i][3], false)
|
local name = EID:getPillName(pickupHistory[i][3], false)
|
||||||
|
if (pickupHistory[i][2] == 14) then name = EID:getPillName(9999, false) end
|
||||||
pickupNames = pickupNames .. "{{Pill" .. pickupHistory[i][2] .. "}} " .. name .. "#"
|
pickupNames = pickupNames .. "{{Pill" .. pickupHistory[i][2] .. "}} " .. name .. "#"
|
||||||
|
pickupsToPrint = pickupsToPrint - 1
|
||||||
else
|
else
|
||||||
local name = EID:getObjectName(5, 300, pickupHistory[i][3])
|
local name = EID:getObjectName(5, 300, pickupHistory[i][3])
|
||||||
pickupNames = pickupNames .. "{{Card" .. pickupHistory[i][3] .. "}} " .. name .. "#"
|
pickupNames = pickupNames .. "{{Card" .. pickupHistory[i][3] .. "}} " .. name .. "#"
|
||||||
|
pickupsToPrint = pickupsToPrint - 1
|
||||||
end
|
end
|
||||||
|
if (pickupsToPrint == 0) then break end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if pickupNames ~= "" then
|
if pickupNames ~= "" then
|
||||||
|
|||||||
+29
-1
@@ -558,6 +558,8 @@ if MCMLoaded then
|
|||||||
EID:AddBooleanSetting("Visuals", "TransformationIcons", "Display Transformation Icon")
|
EID:AddBooleanSetting("Visuals", "TransformationIcons", "Display Transformation Icon")
|
||||||
EID:AddBooleanSetting("Visuals", "TransformationProgress", "Display Transformation Progress")
|
EID:AddBooleanSetting("Visuals", "TransformationProgress", "Display Transformation Progress")
|
||||||
EID:AddBooleanSetting("Visuals", "ShowQuality", "Display Quality Info", {repOnly = true})
|
EID:AddBooleanSetting("Visuals", "ShowQuality", "Display Quality Info", {repOnly = true})
|
||||||
|
EID:AddBooleanSetting("Visuals", "ShowItemPoolIcon", "Display Item Pool Icon", {repOnly = true, infoText = "Displays collectible's item pool icon that is expected for full reroll effects."})
|
||||||
|
EID:AddBooleanSetting("Visuals", "ShowItemPoolText", "Display Item Pool Name", {repOnly = true, infoText = "Displays collectible's item pool name that is expected for full reroll effects."})
|
||||||
EID:AddBooleanSetting("Visuals", "ShowObjectID", "Display Object ID")
|
EID:AddBooleanSetting("Visuals", "ShowObjectID", "Display Object ID")
|
||||||
|
|
||||||
-------Mod indicator for modded items---------
|
-------Mod indicator for modded items---------
|
||||||
@@ -929,7 +931,7 @@ if MCMLoaded then
|
|||||||
Minimum = 0,
|
Minimum = 0,
|
||||||
Maximum = 1000,
|
Maximum = 1000,
|
||||||
Display = function()
|
Display = function()
|
||||||
if EID.Config["ModIndicatorTextColor"] == nil then EID.Config["TextColor"] = EID.DefaultConfig["ModIndicatorTextColor"] end
|
if EID.Config["ModIndicatorTextColor"] == nil then EID.Config["ModIndicatorTextColor"] = EID.DefaultConfig["ModIndicatorTextColor"] end
|
||||||
return "Mod Indicator: " .. string.gsub(EID.Config["ModIndicatorTextColor"], "Color", "").. " ("..AnIndexOf(colorNameArray, EID.Config["ModIndicatorTextColor"]).."/"..#colorNameArray..")"
|
return "Mod Indicator: " .. string.gsub(EID.Config["ModIndicatorTextColor"], "Color", "").. " ("..AnIndexOf(colorNameArray, EID.Config["ModIndicatorTextColor"]).."/"..#colorNameArray..")"
|
||||||
end,
|
end,
|
||||||
OnChange = function(currentNum)
|
OnChange = function(currentNum)
|
||||||
@@ -941,6 +943,32 @@ if MCMLoaded then
|
|||||||
Info = {"Changes the color of mod indicator texts (as long as they are enabled)."}
|
Info = {"Changes the color of mod indicator texts (as long as they are enabled)."}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
-- Last Pool indicator Color (REPENTANCE ONLY)
|
||||||
|
if EID.isRepentance then
|
||||||
|
MCM.AddSetting(
|
||||||
|
"EID",
|
||||||
|
"Colors",
|
||||||
|
{
|
||||||
|
Type = ModConfigMenu.OptionType.NUMBER,
|
||||||
|
CurrentSetting = function()
|
||||||
|
return AnIndexOf(colorNameArray, EID.Config["ItemPoolTextColor"])
|
||||||
|
end,
|
||||||
|
Minimum = 0,
|
||||||
|
Maximum = 1000,
|
||||||
|
Display = function()
|
||||||
|
if EID.Config["ItemPoolTextColor"] == nil then EID.Config["ItemPoolTextColor"] = EID.DefaultConfig["ItemPoolTextColor"] end
|
||||||
|
return "Mod Indicator: " .. string.gsub(EID.Config["ItemPoolTextColor"], "Color", "").. " ("..AnIndexOf(colorNameArray, EID.Config["ItemPoolTextColor"]).."/"..#colorNameArray..")"
|
||||||
|
end,
|
||||||
|
OnChange = function(currentNum)
|
||||||
|
EID.MCM_OptionChanged = true
|
||||||
|
if currentNum == 0 then currentNum = #colorNameArray end
|
||||||
|
if currentNum > #colorNameArray then currentNum = 1 end
|
||||||
|
EID.Config["ItemPoolTextColor"] = colorNameArray[currentNum]
|
||||||
|
end,
|
||||||
|
Info = {"Changes the color of last item pool indicator texts (as long as they are enabled)."}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
if MCM.i18n == "Chinese" then
|
if MCM.i18n == "Chinese" then
|
||||||
require("eid_mcm_cn")
|
require("eid_mcm_cn")
|
||||||
|
|||||||
+18
-3
@@ -229,6 +229,19 @@ end
|
|||||||
|
|
||||||
|
|
||||||
if EID.isRepentance then
|
if EID.isRepentance then
|
||||||
|
-- Handle Last Pool
|
||||||
|
local function LastPoolCallback(descObj)
|
||||||
|
local itemConfig = EID.itemConfig:GetCollectible(descObj.ObjSubType)
|
||||||
|
if itemConfig:IsCollectible() and not itemConfig:HasTags(ItemConfig.TAG_QUEST) then
|
||||||
|
local lastPool = game:GetItemPool():GetLastPool()
|
||||||
|
local poolName = ""
|
||||||
|
local poolDescPrepend = EID:getDescriptionEntry("itemPoolFor")
|
||||||
|
local poolDescTable = EID:getDescriptionEntry("itemPoolNames")
|
||||||
|
poolName = "{{"..EID.Config["ItemPoolTextColor"].."}}"..poolDescPrepend..""..(EID.ItemPoolTypeToMarkup[lastPool] or "{{ItemPoolTreasure}}")..poolDescTable[lastPool] .. "{{CR}}#"
|
||||||
|
descObj.Description = poolName .. descObj.Description
|
||||||
|
end
|
||||||
|
return descObj
|
||||||
|
end
|
||||||
-- Handle Birthright
|
-- Handle Birthright
|
||||||
local function BirthrightCallback(descObj)
|
local function BirthrightCallback(descObj)
|
||||||
descObj.Description = ""
|
descObj.Description = ""
|
||||||
@@ -298,8 +311,8 @@ if EID.isRepentance then
|
|||||||
|
|
||||||
local playerStats = {}
|
local playerStats = {}
|
||||||
playerStats[1] = SimpleRound((player.MoveSpeed * 4.5) - 2)
|
playerStats[1] = SimpleRound((player.MoveSpeed * 4.5) - 2)
|
||||||
playerStats[2] = SimpleRound((((30/(player.MaxFireDelay + 1))^0.75) * 2.12) - 2)
|
playerStats[2] = SimpleRound((((30/(player.MaxFireDelay + 1))^0.75) * 2.120391) - 2)
|
||||||
playerStats[3] = SimpleRound(((player.Damage^0.56)*2.23) - 2)
|
playerStats[3] = SimpleRound(((player.Damage^0.56)*2.231179) - 2)
|
||||||
playerStats[4] = SimpleRound(((player.TearRange - 230) / 60) + 2)
|
playerStats[4] = SimpleRound(((player.TearRange - 230) / 60) + 2)
|
||||||
|
|
||||||
local playerPickups = {}
|
local playerPickups = {}
|
||||||
@@ -561,7 +574,8 @@ if EID.isRepentance then
|
|||||||
local j = 1
|
local j = 1
|
||||||
while (j <= #pickupHistory) do
|
while (j <= #pickupHistory) do
|
||||||
local entry = pickupHistory[j]
|
local entry = pickupHistory[j]
|
||||||
if entry[1] == "pill" then
|
-- ignore the pill if the pill color is Golden
|
||||||
|
if entry[1] == "pill" and entry[2] ~= 14 then
|
||||||
lastUsedPill = entry[3]
|
lastUsedPill = entry[3]
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
@@ -675,6 +689,7 @@ if EID.isRepentance then
|
|||||||
-- Using magic numbers here in case it's slightly faster, and because the callback names give context
|
-- 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
|
-- Check Birthright first because it overwrites the description instead of appending to it
|
||||||
if descObj.ObjSubType == 619 then table.insert(callbacks, BirthrightCallback) end
|
if descObj.ObjSubType == 619 then table.insert(callbacks, BirthrightCallback) end
|
||||||
|
if not EID.InsideItemReminder and EID.Config["ShowItemPoolText"] then table.insert(callbacks, LastPoolCallback) end
|
||||||
if descObj.ObjSubType == 644 then table.insert(callbacks, ConsolationPrizeCallback) end
|
if descObj.ObjSubType == 644 then table.insert(callbacks, ConsolationPrizeCallback) end
|
||||||
|
|
||||||
if EID.collectiblesOwned[664] then table.insert(callbacks, BingeEaterCallback) end
|
if EID.collectiblesOwned[664] then table.insert(callbacks, BingeEaterCallback) end
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ EID.isRepentance = REPENTANCE -- REPENTANCE variable can be altered by any mod,
|
|||||||
require("eid_config")
|
require("eid_config")
|
||||||
EID.Config = EID.UserConfig
|
EID.Config = EID.UserConfig
|
||||||
EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default!
|
EID.Config.Version = "3.2" -- note: changing this will reset everyone's settings to default!
|
||||||
EID.ModVersion = 4.55
|
EID.ModVersion = 4.57
|
||||||
EID.ModVersionCommit = "7a74260"
|
EID.ModVersionCommit = "646dd79"
|
||||||
EID.DefaultConfig.Version = EID.Config.Version
|
EID.DefaultConfig.Version = EID.Config.Version
|
||||||
EID.isHidden = false
|
EID.isHidden = false
|
||||||
EID.player = nil -- The primary Player Entity of Player 1
|
EID.player = nil -- The primary Player Entity of Player 1
|
||||||
@@ -622,6 +622,16 @@ function EID:printDescription(desc, cachedID)
|
|||||||
if EID.Config["ShowQuality"] and desc.Quality then
|
if EID.Config["ShowQuality"] and desc.Quality then
|
||||||
curName = curName.." - {{Quality"..desc.Quality.."}}"
|
curName = curName.." - {{Quality"..desc.Quality.."}}"
|
||||||
end
|
end
|
||||||
|
-- Display Last Pool for Collectible for full reroll effects
|
||||||
|
if EID.isRepentance and EID.Config["ShowItemPoolIcon"] and (desc.ObjType == 5 and desc.ObjVariant == 100) then
|
||||||
|
local itemConfig = EID.itemConfig:GetCollectible(desc.ObjSubType)
|
||||||
|
if itemConfig:IsCollectible() and not itemConfig:HasTags(ItemConfig.TAG_QUEST) then
|
||||||
|
if not EID.Config["ShowQuality"] then
|
||||||
|
curName = curName.." - "
|
||||||
|
end
|
||||||
|
curName = curName..""..(EID.ItemPoolTypeToMarkup[game:GetItemPool():GetLastPool()] or "{{ItemPoolTreasure}}")
|
||||||
|
end
|
||||||
|
end
|
||||||
-- Display the mod this item is from
|
-- Display the mod this item is from
|
||||||
if desc.ModName then
|
if desc.ModName then
|
||||||
curName = curName .. EID:getModNameString(desc)
|
curName = curName .. EID:getModNameString(desc)
|
||||||
@@ -982,6 +992,7 @@ end
|
|||||||
|
|
||||||
local collSpawned = false
|
local collSpawned = false
|
||||||
EID.RecheckVoid = false
|
EID.RecheckVoid = false
|
||||||
|
EID.ShouldCheckWisp = false
|
||||||
|
|
||||||
function EID:onGameUpdate()
|
function EID:onGameUpdate()
|
||||||
EID.GameUpdateCount = EID.GameUpdateCount + 1
|
EID.GameUpdateCount = EID.GameUpdateCount + 1
|
||||||
@@ -1008,8 +1019,23 @@ function EID:onGameUpdate()
|
|||||||
EID.RecheckVoid = true
|
EID.RecheckVoid = true
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Remove Crane Game item data if it's giving the prize out
|
|
||||||
if EID.isRepentance and EID.GameUpdateCount % 10 == 0 then
|
if EID.isRepentance and EID.GameUpdateCount % 10 == 0 then
|
||||||
|
-- Check wisp for adding reminder when using lemegeton
|
||||||
|
if EID.ShouldCheckWisp then
|
||||||
|
for _, wisp in ipairs(Isaac.FindByType(3, 237, -1, true, false)) do
|
||||||
|
if wisp.FrameCount < 10 then
|
||||||
|
local player = wisp:ToFamiliar() and wisp:ToFamiliar().Player
|
||||||
|
if player then
|
||||||
|
local playerID = EID:getPlayerID(player)
|
||||||
|
EID:InitItemInteractionIfAbsent(playerID)
|
||||||
|
table.insert(EID.RecentlyTouchedItems[playerID], wisp.SubType)
|
||||||
|
if (#EID.RecentlyTouchedItems[playerID] > 8) then table.remove(EID.RecentlyTouchedItems[playerID], 1) end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
EID.ShouldCheckWisp = false
|
||||||
|
end
|
||||||
|
-- Remove Crane Game item data if it's giving the prize out
|
||||||
for _, crane in ipairs(Isaac.FindByType(6, 16, -1, true, false)) do
|
for _, crane in ipairs(Isaac.FindByType(6, 16, -1, true, false)) do
|
||||||
if EID.CraneItemType[tostring(crane.InitSeed)] then
|
if EID.CraneItemType[tostring(crane.InitSeed)] then
|
||||||
if crane:GetSprite():IsPlaying("Prize") then
|
if crane:GetSprite():IsPlaying("Prize") then
|
||||||
@@ -1573,19 +1599,26 @@ if EID.isRepentance then
|
|||||||
CheckAllActiveItemProgress()
|
CheckAllActiveItemProgress()
|
||||||
end
|
end
|
||||||
EID:AddCallback(ModCallbacks.MC_USE_ITEM, OnUseGenesis, CollectibleType.COLLECTIBLE_GENESIS)
|
EID:AddCallback(ModCallbacks.MC_USE_ITEM, OnUseGenesis, CollectibleType.COLLECTIBLE_GENESIS)
|
||||||
|
|
||||||
|
local function OnUseLemegeton(_, _, player, _, _, _)
|
||||||
|
EID.ShouldCheckWisp = true
|
||||||
|
end
|
||||||
|
EID:AddCallback(ModCallbacks.MC_PRE_USE_ITEM, OnUseLemegeton, CollectibleType.COLLECTIBLE_LEMEGETON)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function EID:OnUsePill(pillEffectID, player, useFlags)
|
function EID:OnUsePill(pillEffectID, player, useFlags)
|
||||||
player = player or EID.player --AB+ doesn't receive player in callback arguments!
|
player = player or EID.player --AB+ doesn't receive player in callback arguments!
|
||||||
-- get the pill color by checking the player's pocket (not accurate for Temperance? and such, but useFlags will help us ignore those)
|
-- get the pill color by checking the player's pocket
|
||||||
local pillColor = EID.PlayerHeldPill[EID:getPlayerID(player)]
|
local pillColor = EID.PlayerHeldPill[EID:getPlayerID(player)]
|
||||||
if pillColor == 0 then return end -- ignore if no pill found in pocket
|
-- add the pill used to our history for Echo Chamber / Vurp! / transformation progress
|
||||||
EID:AddPickupToHistory("pill", pillEffectID+1, player, useFlags, pillColor) -- Echo Chamber tracking
|
EID:AddPickupToHistory("pill", pillEffectID+1, player, useFlags, pillColor)
|
||||||
|
EID.ForceRefreshCache = true -- for transformation progress update
|
||||||
|
|
||||||
-- for tracking used pills, ignore gold pills and noannouncer flag pills
|
-- for tracking used pills, ignore gold pills and noannouncer flag pills
|
||||||
-- (not using a bitmask, because Placebo is mimic+noannouncer, and we want to count those)
|
-- (not using a bitmask, because Placebo is mimic+noannouncer, and we want to count those)
|
||||||
if EID.isRepentance and (pillColor % PillColor.PILL_GIANT_FLAG == PillColor.PILL_GOLD or useFlags == UseFlag.USE_NOANNOUNCER) then return end
|
if EID.isRepentance and (pillColor % PillColor.PILL_GIANT_FLAG == PillColor.PILL_GOLD or useFlags == UseFlag.USE_NOANNOUNCER) then return end
|
||||||
EID.UsedPillColors[tostring(pillColor)] = true
|
EID.UsedPillColors[tostring(pillColor)] = true
|
||||||
|
|
||||||
end
|
end
|
||||||
EID:AddCallback(ModCallbacks.MC_USE_PILL, EID.OnUsePill)
|
EID:AddCallback(ModCallbacks.MC_USE_PILL, EID.OnUsePill)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -50,7 +50,7 @@ You are currently looking at the version for Afterbirth+ and Repentance.
|
|||||||
[img]https://i.imgur.com/jrdGbna.png[/img]
|
[img]https://i.imgur.com/jrdGbna.png[/img]
|
||||||
[url=https://github.com/wofsauge/External-Item-Descriptions/blob/master/CREDITS.md]Check out the credits here[/url]
|
[url=https://github.com/wofsauge/External-Item-Descriptions/blob/master/CREDITS.md]Check out the credits here[/url]
|
||||||
</description>
|
</description>
|
||||||
<version>4.55</version>
|
<version>4.57</version>
|
||||||
<visibility>Public</visibility>
|
<visibility>Public</visibility>
|
||||||
<tag id="Lua"/>
|
<tag id="Lua"/>
|
||||||
<tag id="Items"/>
|
<tag id="Items"/>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<AnimatedActor>
|
<AnimatedActor>
|
||||||
<Info CreatedBy="Unknown" CreatedOn="6/5/2022 1:39:49 AM" Version="187" Fps="30"/>
|
<Info CreatedBy="Unknown" CreatedOn="2023-03-22 23:21:04" Version="188" Fps="30"/>
|
||||||
<Content>
|
<Content>
|
||||||
<Spritesheets>
|
<Spritesheets>
|
||||||
<Spritesheet Path="eid_inline_icons.png" Id="0"/>
|
<Spritesheet Path="eid_inline_icons.png" Id="0"/>
|
||||||
@@ -643,5 +643,48 @@
|
|||||||
<NullAnimations/>
|
<NullAnimations/>
|
||||||
<Triggers/>
|
<Triggers/>
|
||||||
</Animation>
|
</Animation>
|
||||||
|
<Animation Name="ItemPools" FrameNum="31" Loop="true">
|
||||||
|
<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="165" YCrop="286" Width="11" Height="11" 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="176" YCrop="286" Width="11" Height="11" 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="187" YCrop="286" Width="11" Height="11" 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="198" YCrop="286" Width="11" Height="11" 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="209" YCrop="286" Width="11" Height="11" 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="220" YCrop="286" Width="11" Height="11" 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="231" YCrop="286" Width="11" Height="11" 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="242" YCrop="286" Width="11" Height="11" 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="165" YCrop="297" Width="11" Height="11" 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="176" YCrop="297" Width="11" Height="11" 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="187" YCrop="297" Width="11" Height="11" 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="198" YCrop="297" Width="11" Height="11" 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="209" YCrop="297" Width="11" Height="11" 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="220" YCrop="297" Width="11" Height="11" 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="231" YCrop="297" Width="11" Height="11" 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="242" YCrop="297" Width="11" Height="11" 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="165" YCrop="308" Width="11" Height="11" 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="176" YCrop="308" Width="11" Height="11" 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="187" YCrop="308" Width="11" Height="11" 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="198" YCrop="308" Width="11" Height="11" 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="209" YCrop="308" Width="11" Height="11" 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="220" YCrop="308" Width="11" Height="11" 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="231" YCrop="308" Width="11" Height="11" 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="242" YCrop="308" Width="11" Height="11" 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="165" YCrop="319" Width="11" Height="11" 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="176" YCrop="319" Width="11" Height="11" 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="187" YCrop="319" Width="11" Height="11" 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="198" YCrop="319" Width="11" Height="11" 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="209" YCrop="319" Width="11" Height="11" 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="220" YCrop="319" Width="11" Height="11" 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="231" YCrop="319" Width="11" Height="11" 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>
|
</Animations>
|
||||||
</AnimatedActor>
|
</AnimatedActor>
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 36 KiB |
Reference in new issue
Block a user