fixed file formatting and code warnings

This commit is contained in:
Wofsauge committed 2024-06-09 19:41:56 +02:00
1 parent 94e7d21e04
commit f82bff5231
7 files changed
+85 -70

No files matched your search

+3
View File
@@ -424,6 +424,7 @@ EID:AddCallback(ModCallbacks.MC_PRE_PICKUP_COLLISION, function(_, pickup,collide
end) end)
-- Formerly a MC_POST_PICKUP_UPDATE, but moved to this so that it's only called when we own a bag -- Formerly a MC_POST_PICKUP_UPDATE, but moved to this so that it's only called when we own a bag
---@diagnostic disable-next-line: duplicate-set-field
function EID:BoCCheckForPickups() function EID:BoCCheckForPickups()
for _,pickup in ipairs(Isaac.FindByType(EntityType.ENTITY_PICKUP, -1, -1, false, false)) do for _,pickup in ipairs(Isaac.FindByType(EntityType.ENTITY_PICKUP, -1, -1, false, false)) do
if pickup:GetSprite():GetAnimation() == "Collect" and not pickupsCollected[pickup.Index] then if pickup:GetSprite():GetAnimation() == "Collect" and not pickupsCollected[pickup.Index] then
@@ -462,6 +463,7 @@ end)
--Tainted Cain "hold to craft" check --Tainted Cain "hold to craft" check
local holdCounter = 0 local holdCounter = 0
local icount = 0 local icount = 0
---@diagnostic disable-next-line: duplicate-set-field
function EID:BoCTrackBagHolding() function EID:BoCTrackBagHolding()
if not IsTaintedCain() then return end if not IsTaintedCain() then return end
local isCardHold = Input.IsActionPressed(ButtonAction.ACTION_PILLCARD, EID.bagPlayer.ControllerIndex) local isCardHold = Input.IsActionPressed(ButtonAction.ACTION_PILLCARD, EID.bagPlayer.ControllerIndex)
@@ -495,6 +497,7 @@ local function shiftBagContent()
EID.BoC.BagItems = newContent EID.BoC.BagItems = newContent
end end
-- only Tainted Cain's consumable slot bag can have its ingredients shifted -- only Tainted Cain's consumable slot bag can have its ingredients shifted
---@diagnostic disable-next-line: duplicate-set-field
function EID:BoCDetectBagContentShift() function EID:BoCDetectBagContentShift()
if Input.IsActionTriggered(ButtonAction.ACTION_DROP, EID.bagPlayer.ControllerIndex) and IsTaintedCain() then if Input.IsActionTriggered(ButtonAction.ACTION_DROP, EID.bagPlayer.ControllerIndex) and IsTaintedCain() then
shiftBagContent() shiftBagContent()
+44 -49
View File
@@ -152,8 +152,48 @@ local function jamoToCompJamo(code)
return 0 return 0
end end
---@param tt "initial"|"medial"|"final"|"partialOnly"
---@param char string
---@return integer UnicodeChar
local function getCode( tt, char )
-- 초성 리스트 (initial list)
local initial = { 'r','R','s','e','E','f','a','q','Q','t','T','d','w','W','c','z','x','v','g'};
-- 중성 리스트 (medial list)
local medial = { 'k', 'o', 'i', 'O', 'j', 'p', 'u', 'P', 'h', 'hk', 'ho', 'hl', 'y', 'n', 'nj', 'np', 'nl', 'b', 'm', 'ml', 'l' };
-- 종성 리스트 (final list)
local final = { 'r', 'R', 'rt', 's', 'sw', 'sg', 'e', 'f', 'fr', 'fa', 'fq', 'ft', 'fx', 'fv', 'fg', 'a', 'q', 'qt', 't', 'T', 'd', 'w', 'c', 'z', 'x', 'v', 'g' };
local returnCode = 0; -- 최종 인덱스 (return index)
local isFind = false; -- 발견 여부 (code found check)
-- 각 리스트에서 인덱스를 검색하기 위한 로컬 함수
local find = function(tb, ch)
for i = 1, #tb do
if tb[i] == ch then
returnCode = i-1;
isFind = true;
break;
end
end
end
if char ~= nil then
if tt == 'initial' then
find( initial, char )
returnCode = returnCode * 21 * 28
elseif tt == 'medial' then
find( medial, char )
returnCode = returnCode * 28
elseif tt == 'final' then
find( final, char )
returnCode = returnCode + 1
end
end
if isFind == false then returnCode = -1; end
return returnCode;
end
---Converts 0x1101 like unicode to string ---Converts 0x1101 like unicode to string
---@param unicode_list UnicodeChar[] ---@param unicode_list table
---@return string convertedUnicodeChar ---@return string convertedUnicodeChar
local function conv2utf8(unicode_list) local function conv2utf8(unicode_list)
local result = '' local result = ''
@@ -161,7 +201,7 @@ local function conv2utf8(unicode_list)
local function modulo(a, b) local function modulo(a, b)
return a - math.floor(a/b) * b return a - math.floor(a/b) * b
end end
for i,v in ipairs(unicode_list) do for _,v in ipairs(unicode_list) do
if v ~= 0 and v ~= nil then if v ~= 0 and v ~= nil then
if utf8 then if utf8 then
-- Tested in REPENTOGON -- Tested in REPENTOGON
@@ -194,7 +234,7 @@ end
---converts single Korean word within string and index ---converts single Korean word within string and index
---@param text string ---@param text string
---@param idx index ---@param idx integer
---@return string convertedKoreanWord ---@return string convertedKoreanWord
---@return integer newIndex ---@return integer newIndex
local function getFinalString(text, idx) local function getFinalString(text, idx)
@@ -239,7 +279,7 @@ local function getFinalString(text, idx)
local secondP2 = text:sub( idx+1, idx+1 ) local secondP2 = text:sub( idx+1, idx+1 )
local medialCodeP1 = getCode( 'medial', secondP1 ); -- 2 chars of medial position local medialCodeP1 = getCode( 'medial', secondP1 ); -- 2 chars of medial position
local medialCodeP2 = getCode( 'medial', secondP2 ); -- 1 char of medial position local medialCodeP2 = getCode( 'medial', secondP2 ); -- 1 char of medial position
local medialCodeP3 = getCode( 'initial', secondP2 ); -- 1 char of medial position, but check for initial char --local medialCodeP3 = getCode( 'initial', secondP2 ); -- 1 char of medial position, but check for initial char
if medialCodeP1 ~= -1 then if medialCodeP1 ~= -1 then
-- 2 word medials -- 2 word medials
@@ -312,11 +352,6 @@ local function engToKor(msg)
local text = msg; local text = msg;
-- ­한글의 초,중,종성의 인덱스
local initialCode = 0;
local medialCode = 0;
local finalCode = 0;
-- 루프와 결과 저장을 위한 변수 -- 루프와 결과 저장을 위한 변수
local textLength = #text local textLength = #text
local ret = ""; local ret = "";
@@ -330,44 +365,4 @@ local function engToKor(msg)
return ret return ret
end end
---@param tt "initial"|"medial"|"final"|"partialOnly"
---@param char char
---@return integer UnicodeChar
function getCode( tt, char )
-- 초성 리스트 (initial list)
local initial = { 'r','R','s','e','E','f','a','q','Q','t','T','d','w','W','c','z','x','v','g'};
-- 중성 리스트 (medial list)
local medial = { 'k', 'o', 'i', 'O', 'j', 'p', 'u', 'P', 'h', 'hk', 'ho', 'hl', 'y', 'n', 'nj', 'np', 'nl', 'b', 'm', 'ml', 'l' };
-- 종성 리스트 (final list)
local final = { 'r', 'R', 'rt', 's', 'sw', 'sg', 'e', 'f', 'fr', 'fa', 'fq', 'ft', 'fx', 'fv', 'fg', 'a', 'q', 'qt', 't', 'T', 'd', 'w', 'c', 'z', 'x', 'v', 'g' };
local returnCode = 0; -- 최종 인덱스 (return index)
local isFind = false; -- 발견 여부 (code found check)
-- 각 리스트에서 인덱스를 검색하기 위한 로컬 함수
local find = function(tb, ch)
for i = 1, #tb do
if tb[i] == ch then
returnCode = i-1;
isFind = true;
break;
end
end
end
if char ~= nil then
if tt == 'initial' then
find( initial, char )
returnCode = returnCode * 21 * 28
elseif tt == 'medial' then
find( medial, char )
returnCode = returnCode * 28
elseif tt == 'final' then
find( final, char )
returnCode = returnCode + 1
end
end
if isFind == false then returnCode = -1; end
return returnCode;
end
EID.engKeystrokeToKor = engToKor EID.engKeystrokeToKor = engToKor
+32 -15
View File
@@ -42,8 +42,11 @@ function EID:AddConditional(IDs, funcText, modText, extraTable, insertPoint)
local _, count = string.gsub(id, "%.", "") local _, count = string.gsub(id, "%.", "")
if count == 1 then newTable.general = true end if count == 1 then newTable.general = true end
EID.DescriptionConditions[id] = EID.DescriptionConditions[id] or {} EID.DescriptionConditions[id] = EID.DescriptionConditions[id] or {}
if insertPoint then table.insert(EID.DescriptionConditions[id], insertPoint, newTable) if insertPoint then
else table.insert(EID.DescriptionConditions[id], newTable) end table.insert(EID.DescriptionConditions[id], insertPoint, newTable)
else
table.insert(EID.DescriptionConditions[id], newTable)
end
end end
end end
@@ -59,7 +62,8 @@ function EID:AddCollectibleConditional(IDs, ownedIDs, modText, extraTable, check
EID.collectiblesToCheck[ownedID] = true EID.collectiblesToCheck[ownedID] = true
if extraTable.variableText == nil then extraTable.variableText = "{{NameOnlyC" .. ownedID .. "}}" end if extraTable.variableText == nil then extraTable.variableText = "{{NameOnlyC" .. ownedID .. "}}" end
if extraTable.bulletpoint == nil then extraTable.bulletpoint = "Collectible" .. ownedID end if extraTable.bulletpoint == nil then extraTable.bulletpoint = "Collectible" .. ownedID end
EID:AddConditional(IDs, function() return EID:ConditionalCollCheck(ownedID,checkInReminder) end, modText, extraTable) EID:AddConditional(IDs, function() return EID:ConditionalCollCheck(ownedID, checkInReminder) end, modText,
extraTable)
end end
end end
@@ -78,7 +82,8 @@ function EID:AddPlayerConditional(IDs, charIDs, modText, extraTable, includeTain
for _, charID in ipairs(charIDs) do for _, charID in ipairs(charIDs) do
if extraTable.variableText == nil then extraTable.variableText = "{{NameOnlyI" .. charID .. "}}" end if extraTable.variableText == nil then extraTable.variableText = "{{NameOnlyI" .. charID .. "}}" end
if extraTable.bulletpoint == nil then extraTable.bulletpoint = "Player" .. charID end if extraTable.bulletpoint == nil then extraTable.bulletpoint = "Player" .. charID end
EID:AddConditional(IDs, function() return EID:ConditionalCharCheck(charID,includeTainted) end, modText, extraTable) EID:AddConditional(IDs, function() return EID:ConditionalCharCheck(charID, includeTainted) end, modText,
extraTable)
end end
end end
@@ -139,7 +144,8 @@ EID:AddPlayerConditional(501, 14) -- Keeper + Greed's Gullet
EID:AddPlayerConditional(230, 14, "Keeper") -- Keeper + Abaddon EID:AddPlayerConditional(230, 14, "Keeper") -- Keeper + Abaddon
-- Item Synergies -- Item Synergies
EID:AddSynergyConditional(7, 34); EID:AddCollectibleConditional("5.300.16", 7) -- Martyr + Book of Belial/The Devil EID:AddSynergyConditional(7, 34) -- Martyr + Book of Belial/The Devil
EID:AddCollectibleConditional("5.300.16", 7) -- Martyr + Book of Belial/The Devil
EID:AddSynergyConditional(316, 260) -- Black Candle + Cursed Eye EID:AddSynergyConditional(316, 260) -- Black Candle + Cursed Eye
EID:AddCollectibleConditional("5.300.48", 286, nil, { lineColor = "ColorSilver" }) -- Blank Card + ? Card EID:AddCollectibleConditional("5.300.48", 286, nil, { lineColor = "ColorSilver" }) -- Blank Card + ? Card
@@ -189,13 +195,18 @@ function EID:ConditionalCharCheck(playerType, includeTainted)
-- We don't want to display irrelevant item info inside the Item Reminder -- We don't want to display irrelevant item info inside the Item Reminder
if EID.InsideItemReminder then if EID.InsideItemReminder then
local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player local player = EID:ItemReminderGetAllPlayers()[EID.ItemReminderSelectedPlayer + 1] or EID.player
if player:GetPlayerType() == playerType then return true if player:GetPlayerType() == playerType then
elseif includeTainted and EID.isRepentance and Isaac.GetPlayerTypeByName(player:GetName()) == playerType then return true return true
else return false end elseif includeTainted and EID.isRepentance and Isaac.GetPlayerTypeByName(player:GetName()) == playerType then
return true
else
return false
end
else else
return EID:PlayersHaveCharacter(playerType, includeTainted) return EID:PlayersHaveCharacter(playerType, includeTainted)
end end
end end
function EID:ConditionalCollCheck(collectibleID, checkInReminder) function EID:ConditionalCollCheck(collectibleID, checkInReminder)
-- We don't want to display irrelevant item info inside the Item Reminder -- We don't want to display irrelevant item info inside the Item Reminder
if EID.InsideItemReminder then if EID.InsideItemReminder then
@@ -218,9 +229,13 @@ end
function EID:IsGreedMode() function EID:IsGreedMode()
return game:IsGreedMode() return game:IsGreedMode()
end end
function EID:IsHardMode() function EID:IsHardMode()
if game.Difficulty == 1 or game.Difficulty == 3 then return true if game.Difficulty == 1 or game.Difficulty == 3 then
else return false end return true
else
return false
end
end end
-- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat -- Check if we have any characters that can't have Red Health, to print additions to descs like Dead Cat
@@ -249,6 +264,7 @@ function EID:HaveEncountered(monsterType, monsterVariant)
if not REPENTOGON then return true end if not REPENTOGON then return true end
return Isaac.GetPersistentGameData():GetBestiaryEncounterCount(monsterType, monsterVariant) > 0 return Isaac.GetPersistentGameData():GetBestiaryEncounterCount(monsterType, monsterVariant) > 0
end end
function EID:HaveNotEncountered(monsterType, monsterVariant) function EID:HaveNotEncountered(monsterType, monsterVariant)
if not REPENTOGON then return true end if not REPENTOGON then return true end
return not EID:HaveEncountered(monsterType, monsterVariant) return not EID:HaveEncountered(monsterType, monsterVariant)
@@ -264,7 +280,6 @@ function EID:HaveNotUnlockedAchievement(achID)
return not EID:HaveUnlockedAchievement(achID) return not EID:HaveUnlockedAchievement(achID)
end end
----- Apply Conditionals ----- ----- Apply Conditionals -----
-- thing to fix find/replace pairs with hyphens (like "1-2") breaking because hyphen is a special char -- thing to fix find/replace pairs with hyphens (like "1-2") breaking because hyphen is a special char
@@ -310,8 +325,10 @@ function EID:applyConditionals(descObj)
-- If we find the localization string for this condition, and it passes the test, modify the description text -- If we find the localization string for this condition, and it passes the test, modify the description text
if text ~= nil and cond.func() then if text ~= nil and cond.func() then
local variableText = type(cond.variableText) == "function" and cond.variableText(descObj) or cond.variableText local variableText = type(cond.variableText) == "function" and cond.variableText(descObj) or
local variableText2 = type(cond.variableText2) == "function" and cond.variableText2(descObj) or cond.variableText2 cond.variableText
local variableText2 = type(cond.variableText2) == "function" and cond.variableText2(descObj) or
cond.variableText2
-- String = append -- String = append
if type(text) == "string" then if type(text) == "string" then
@@ -324,7 +341,8 @@ function EID:applyConditionals(descObj)
-- Table with 1 entry = replace -- Table with 1 entry = replace
elseif #text == 1 then elseif #text == 1 then
descObj.Description = EID:ReplaceVariableStr(EID:ReplaceVariableStr(text[1], 1, variableText), 2, variableText2) descObj.Description = EID:ReplaceVariableStr(EID:ReplaceVariableStr(text[1], 1, variableText), 2,
variableText2)
-- Table with 2+ entries = find and replace pairs -- Table with 2+ entries = find and replace pairs
-- Entry 1 is replaced with entry 2, entry 3 is replaced with entry 4, etc. -- Entry 1 is replaced with entry 2, entry 3 is replaced with entry 4, etc.
@@ -354,6 +372,5 @@ function EID:applyConditionals(descObj)
end end
end end
return descObj return descObj
end end
+1 -1
View File
@@ -32,7 +32,7 @@ for _,lang in ipairs(languageFilesToCheck) do
print("Type mismatch in table '" .. prevKey .. "', key: " .. k) print("Type mismatch in table '" .. prevKey .. "', key: " .. k)
progress[2] = progress[2] + 1 progress[2] = progress[2] + 1
elseif type(table2[k]) == "table" then elseif type(table2[k]) == "table" then
EID:compareTables(table1[k], table2[k], k, progress) end EID:compareTables(table1[k], table2[k], k, progress)
else else
-- check for broken markup stuff -- check for broken markup stuff
local filteredText = EID:replaceShortMarkupStrings(table2[k]) local filteredText = EID:replaceShortMarkupStrings(table2[k])
+1 -1
View File
@@ -242,7 +242,7 @@ function EID:VoidRoomCheck()
local pickup = entity:ToPickup() local pickup = entity:ToPickup()
-- Count this pedestal if it's not an active (or this is Black Rune), not a shop item, and (in Repentance) the first of its option index -- Count this pedestal if it's not an active (or this is Black Rune), not a shop item, and (in Repentance) the first of its option index
-- TEST IF VOID ALWAYS ABSORBS THE FIRST OF ITS OPTION INDEX -- TEST IF VOID ALWAYS ABSORBS THE FIRST OF ITS OPTION INDEX
if entity.SubType > 0 and not pickup:IsShopItem() and if pickup and entity.SubType > 0 and not pickup:IsShopItem() and
(not EID.isRepentance or pickup.OptionsPickupIndex == 0 or EID.VoidOptionIndexes[pickup.OptionsPickupIndex] == nil) then (not EID.isRepentance or pickup.OptionsPickupIndex == 0 or EID.VoidOptionIndexes[pickup.OptionsPickupIndex] == nil) then
numRunable = numRunable + 1 numRunable = numRunable + 1
if EID.isRepentance then EID.VoidOptionIndexes[pickup.OptionsPickupIndex] = entity.SubType end if EID.isRepentance then EID.VoidOptionIndexes[pickup.OptionsPickupIndex] = entity.SubType end
+1 -2
View File
@@ -554,7 +554,7 @@ if EID.isRepentance then
VariableCharge(descObj, EID.cardMetadata[descObj.ObjSubType], 286, "BlankCardCharge") VariableCharge(descObj, EID.cardMetadata[descObj.ObjSubType], 286, "BlankCardCharge")
-- If the player has Tarot Cloth and Blank Card, display additional text -- If the player has Tarot Cloth and Blank Card, display additional text
if hasTarot then if hasTarot then
text = EID:getDescriptionEntry("BlankCardEffect") local text = EID:getDescriptionEntry("BlankCardEffect")
local buffText = EID:getDescriptionEntry("tarotClothBlankCardBuffs", descObj.ObjSubType) local buffText = EID:getDescriptionEntry("tarotClothBlankCardBuffs", descObj.ObjSubType)
if buffText then EID:appendToDescription(descObj, "#{{ColorSilver}}{{Collectible286}} " .. text .. " " .. buffText) end if buffText then EID:appendToDescription(descObj, "#{{ColorSilver}}{{Collectible286}} " .. text .. " " .. buffText) end
end end
@@ -618,7 +618,6 @@ if EID.isRepentance then
for i = 1,#EID.coopAllPlayers do for i = 1,#EID.coopAllPlayers do
local player = EID.coopAllPlayers[i] local player = EID.coopAllPlayers[i]
local playerID = EID:getPlayerID(player)
local playerType = player:GetPlayerType() local playerType = player:GetPlayerType()
local pillModifierID = 0 local pillModifierID = 0
local goodAndBad = false local goodAndBad = false
+3 -2
View File
@@ -126,7 +126,7 @@ if EID.isRepentance then
Isaac.ConsoleOutput("Load rep "..lang.." failed: "..tostring(err)) Isaac.ConsoleOutput("Load rep "..lang.." failed: "..tostring(err))
end end
end end
local wasSuccessful, _ = pcall(require,"descriptions."..EID.GameVersion..".transformations") local _, _ = pcall(require,"descriptions."..EID.GameVersion..".transformations")
require("features.eid_bagofcrafting") require("features.eid_bagofcrafting")
require("features.eid_tmtrainer") require("features.eid_tmtrainer")
end end
@@ -912,6 +912,7 @@ function EID:renderIndicator(entity, playerNum)
end end
---@param entity Entity ---@param entity Entity
---@diagnostic disable-next-line: duplicate-set-field
function EID:PositionLocalMode(entity) function EID:PositionLocalMode(entity)
-- don't use Local Mode for descriptions without an entity (or dice floors) -- don't use Local Mode for descriptions without an entity (or dice floors)
if (EID.Config["DisplayMode"] == "local" or alwaysUseLocalMode) and entity and entity.Variant ~= EffectVariant.DICE_FLOOR then if (EID.Config["DisplayMode"] == "local" or alwaysUseLocalMode) and entity and entity.Variant ~= EffectVariant.DICE_FLOOR then
@@ -1650,7 +1651,7 @@ if EID.isRepentance then
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, _, _, _) local function OnUseLemegeton(_, _, _, _, _, _)
EID.ShouldCheckWisp = true EID.ShouldCheckWisp = true
end end
EID:AddCallback(ModCallbacks.MC_PRE_USE_ITEM, OnUseLemegeton, CollectibleType.COLLECTIBLE_LEMEGETON) EID:AddCallback(ModCallbacks.MC_PRE_USE_ITEM, OnUseLemegeton, CollectibleType.COLLECTIBLE_LEMEGETON)