diff --git a/eid_api.lua b/eid_api.lua index b9c99f23..91294f1e 100644 --- a/eid_api.lua +++ b/eid_api.lua @@ -49,6 +49,8 @@ EID.ItemTypeAnm2Names = { "familiar", -- 4 "trinket" -- 5 } +EID.MODS = { } + --------------------------------------------------------------------------- -------------------------Handle API Functions ----------------------------- local nullVector = Vector(0,0) @@ -61,28 +63,28 @@ local dynamicSpriteCache = {} -- used to store sprite objects of collectible ico function EID:addCollectible(id, description, itemName, language) itemName = itemName or nil language = language or "en_us" - EID.descriptions[language].custom["5.100." .. id] = {id, itemName, description} + EID.descriptions[language].custom["5.100." .. id] = {id, itemName, description, EID._currentMod} end -- Adds a description for a trinket. Optional parameters: itemName, language function EID:addTrinket(id, description, itemName, language) itemName = itemName or nil language = language or "en_us" - EID.descriptions[language].custom["5.350." .. id] = {id, itemName, description} + EID.descriptions[language].custom["5.350." .. id] = {id, itemName, description, EID._currentMod} end -- Adds a description for a card/rune. Optional parameters: itemName, language function EID:addCard(id, description, itemName, language) itemName = itemName or nil language = language or "en_us" - EID.descriptions[language].custom["5.300." .. id] = {id, itemName, description} + EID.descriptions[language].custom["5.300." .. id] = {id, itemName, description, EID._currentMod} end -- Adds a description for a pilleffect id. Optional parameters: itemName, language function EID:addPill(id, description, itemName, language) itemName = itemName or nil language = language or "en_us" - EID.descriptions[language].custom["5.70." .. id+1] = {id+1, itemName, description} + EID.descriptions[language].custom["5.70." .. id+1] = {id+1, itemName, description, EID._currentMod} end -- Adds a character specific description for the item "Birthright". Optional parameters: playerName, language @@ -318,6 +320,8 @@ function EID:getDescriptionObj(Type, Variant, SubType, entity) local tableEntry = EID:getDescriptionData(Type, Variant, description.ObjSubType) description.Description = tableEntry and tableEntry[3] or EID:getXMLDescription(Type, Variant, description.ObjSubType) + description.ModName = tableEntry and tableEntry[4] + description.Transformation = EID:getTransformation(Type, Variant, description.ObjSubType) for k,modifier in pairs(EID.DescModifiers) do diff --git a/eid_config.lua b/eid_config.lua index 78ed9ded..706d00ee 100644 --- a/eid_config.lua +++ b/eid_config.lua @@ -131,6 +131,9 @@ EID.UserConfig = { -- REPENTANCE ONLY!!! -- Default = true ["ShowQuality"] = true, + -- Display mod name for modded items + -- Default = true + ["ShowModName"] = true, -------TRANSFORMATIONS--------- @@ -351,6 +354,7 @@ EID.DefaultConfig = { ["DisplayTrinketInfo"] = true, ["ItemNameColor"] = "ColorEIDObjName", ["ShowQuality"] = true, + ["ShowModName"] = true, ["ShowObjectID"] = false, ["TransformationText"] = true, ["TransformationIcons"] = true, diff --git a/main.lua b/main.lua index 447a3e74..86ab41af 100644 --- a/main.lua +++ b/main.lua @@ -57,6 +57,14 @@ local hudBBSprite = Sprite() hudBBSprite:Load("gfx/eid_transform_icons.anm2", true) hudBBSprite:Play("boundingBox") +EID._currentMod = "" + +local OldRegisterMod = RegisterMod +RegisterMod = function (modName, apiVersion) + EID._currentMod = modName + return OldRegisterMod(modName, apiVersion) +end + ------- Load all modules and other stuff ------ --transformation infos @@ -361,6 +369,11 @@ function EID:printDescription(desc) local quality = tonumber(EID.itemConfig:GetCollectible(tonumber(desc.ObjSubType)).Quality) curName = curName.." - {{Quality"..quality.."}}" end + + if EID.Config["ShowModName"] and desc.ModName then + curName = curName .. " {{ColorWhite}}" .. desc.ModName + end + EID:renderString( curName, renderPos + (Vector(offsetX, -3) * EID.Scale), @@ -398,6 +411,7 @@ function EID:printDescription(desc) end end EID:printBulletPoints(desc.Description, renderPos) + end function EID:printBulletPoints(description, renderPos) @@ -1076,4 +1090,4 @@ end if enableDebug then require("eid_debugging") -end +end \ No newline at end of file diff --git a/mod_config_menu.lua b/mod_config_menu.lua index 141bf09f..b81755fb 100644 --- a/mod_config_menu.lua +++ b/mod_config_menu.lua @@ -1184,6 +1184,27 @@ if MCMLoaded then } ) end + -------Mod name for modded items--------- + MCM.AddSetting( + "EID", + "Visuals", + { + Type = ModConfigMenu.OptionType.BOOLEAN, + CurrentSetting = function() + return EID.Config["ShowModName"] + end, + Display = function() + local onOff = "False" + if EID.Config["ShowModName"] then + onOff = "True" + end + return "Display mod name: " .. onOff + end, + OnChange = function(currentBool) + EID.Config["ShowModName"] = currentBool + end + } + ) -------Object ID--------- MCM.AddSetting( "EID",