Added feature to add custom Transformations

This commit is contained in:
Wofsauge committed 2020-11-17 23:57:30 +01:00
1 parent 46513ca399
commit 924bbafca6
10 files changed
+5060 -4876

No files matched your search

+802 -803
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+803 -805
View File
File diff suppressed because it is too large. Load diff
+800 -804
View File
File diff suppressed because it is too large. Load diff
+806 -799
View File
File diff suppressed because it is too large. Load diff
+801 -804
View File
File diff suppressed because it is too large. Load diff
+125
View File
@@ -0,0 +1,125 @@
-- Format: [BASENAME] = {["LANGUAGE"]="Display name",...}
EID.CustomTransformations = {}
-- Format: [ID.VARIANT.SUBTYPE] = "Transformation Basename or id"
EID.CustomTransformAssignments = {}
-- default transformations
-- Format: [ID.VARIANT.SUBTYPE] = "Transformation string"
EID.EntityTransformations = {
-- Collectibles
["5.100.8"] = "4",
["5.100.9"] = "3",
["5.100.10"] = "3",
["5.100.11"] = "2",
["5.100.12"] = "2,15",
["5.100.13"] = "5",
["5.100.14"] = "5",
["5.100.29"] = "6",
["5.100.30"] = "6",
["5.100.31"] = "6",
["5.100.33"] = "10,12",
["5.100.34"] = "12",
["5.100.35"] = "12",
["5.100.36"] = "7",
["5.100.39"] = "6",
["5.100.41"] = "6",
["5.100.42"] = "8",
["5.100.51"] = "9",
["5.100.55"] = "6",
["5.100.57"] = "3",
["5.100.58"] = "12",
["5.100.65"] = "12",
["5.100.67"] = "4",
["5.100.70"] = "5",
["5.100.71"] = "2",
["5.100.72"] = "10",
["5.100.78"] = "12",
["5.100.79"] = "9",
["5.100.80"] = "9",
["5.100.81"] = "1",
["5.100.83"] = "9",
["5.100.89"] = "13",
["5.100.97"] = "12",
["5.100.100"] = "4",
["5.100.101"] = "10",
["5.100.102"] = "6",
["5.100.110"] = "6",
["5.100.112"] = "10",
["5.100.114"] = "6",
["5.100.118"] = "9",
["5.100.120"] = "2",
["5.100.121"] = "2",
["5.100.123"] = "12",
["5.100.128"] = "3",
["5.100.133"] = "1",
["5.100.134"] = "1",
["5.100.139"] = "6",
["5.100.140"] = "8",
["5.100.143"] = "5",
["5.100.144"] = "11",
["5.100.145"] = "1",
["5.100.148"] = "3",
["5.100.149"] = "8",
["5.100.151"] = "3",
["5.100.153"] = "13",
["5.100.159"] = "9",
["5.100.167"] = "4",
["5.100.171"] = "13",
["5.100.173"] = "10",
["5.100.184"] = "10",
["5.100.185"] = "10",
["5.100.187"] = "1",
["5.100.192"] = "12",
["5.100.195"] = "6",
["5.100.199"] = "6",
["5.100.200"] = "6",
["5.100.209"] = "7",
["5.100.211"] = "13",
["5.100.212"] = "1",
["5.100.217"] = "6",
["5.100.228"] = "6",
["5.100.230"] = "9",
["5.100.236"] = "7",
["5.100.240"] = "5",
["5.100.248"] = "3",
["5.100.264"] = "3",
["5.100.268"] = "4",
["5.100.269"] = "4",
["5.100.272"] = "3",
["5.100.273"] = "8",
["5.100.274"] = "3",
["5.100.278"] = "11",
["5.100.279"] = "3",
["5.100.282"] = "12",
["5.100.287"] = "12",
["5.100.288"] = "13",
["5.100.291"] = "7",
["5.100.292"] = "12",
["5.100.302"] = "15",
["5.100.313"] = "10",
["5.100.320"] = "3",
["5.100.322"] = "4",
["5.100.342"] = "2",
["5.100.345"] = "5",
["5.100.355"] = "6",
["5.100.363"] = "10",
["5.100.364"] = "3",
["5.100.365"] = "3",
["5.100.388"] = "11",
["5.100.398"] = "2",
["5.100.399"] = "9",
["5.100.403"] = "13",
["5.100.426"] = "3",
["5.100.430"] = "3",
["5.100.434"] = "3",
["5.100.493"] = "5",
["5.100.496"] = "5",
["5.100.508"] = "6",
["5.100.511"] = "3",
["5.100.545"] = "12",
["5.100.552"] = "6",
-- Pills
["5.70.9"] = "14",
["5.70.32"] = "15",
}
+81 -20
View File
@@ -80,12 +80,27 @@ function EID:addPill(id, description, itemName, language)
EID.descriptions[language].custom["pill_" .. id] = {id, itemName, description} EID.descriptions[language].custom["pill_" .. id] = {id, itemName, description}
end end
-- Adds transformations to an entity. -- Creates a new transformation with a given unique name and a display name
-- valid target types: [collectible, trinket, card, pill, entity] function EID:createTransformation(uniqueName, displayName, language)
-- when type = entity, targetIdentifier must be in the format ["ID.Variant.subtype"]. for any other type, it can just be the id
function EID:addTransformation(targetType, targetIdentifier, transformationString, language)
language = language or "en_us" language = language or "en_us"
EID.descriptions[language].custom["transformations_"..targetType.."_".. targetIdentifier] = {targetType, targetIdentifier, transformationString} if EID.CustomTransformations[uniqueName] == nil then
EID.CustomTransformations[uniqueName] = {}
end
EID.CustomTransformations[uniqueName][language] = displayName
end
-- Assigns transformations to an entity
-- valid target types: [collectible, trinket, card, pill, entity]
-- when type = entity, targetIdentifier must be in the format "ID.Variant.subtype". for any other type, it can just be the id
-- EXAMPLE: EID:assignTransformation("collectible", 1, "My Transformation")
function EID:assignTransformation(targetType, targetIdentifier, transformationString)
local entryID = EID:getIDVariantString(targetType)
if entryID ~= nil then
entryID = entryID.."."..targetIdentifier
else
entryID = targetIdentifier
end
EID.CustomTransformAssignments[entryID] = transformationString
end end
-- Adds a description for a an Entity. Optional parameters: language, transformations -- Adds a description for a an Entity. Optional parameters: language, transformations
@@ -123,6 +138,27 @@ function EID:addColor(shortcut, kColor, callback)
end end
end end
-- function to turn entity type names into actual ingame ID.Variant pairs
function EID:getIDVariantString(typeName)
if typeName == "collectible" or typeName == "collectibles" then return "5.100"
elseif typeName == "trinket" or typeName == "trinkets" then return "5.350."
elseif typeName == "card" or typeName == "cards" then return "5.300."
elseif typeName == "pill" or typeName == "pills" then return "5.70."
end
return nil
end
-- Loads a given font from a given file path and use it to render text
function EID:loadFont(fontFileName)
EID.font:Load(fontFileName)
EID.font:SetMissingCharacter(2)
if not EID.font:IsLoaded() then
Isaac.DebugString("EID - ERROR: Could not load font from '" .. EID.modPath .. "resources/font/default.fnt" .. "'")
return false
end
return true
end
-- Returns if EID is displaying text right now -- Returns if EID is displaying text right now
function EID:isDisplayingText() function EID:isDisplayingText()
return EID.isDisplayingText return EID.isDisplayingText
@@ -145,6 +181,7 @@ end
-- returns descriptions from the legacy mod descriptions if they exist -- returns descriptions from the legacy mod descriptions if they exist
function EID:getLegacyModDescription(objTable, id) function EID:getLegacyModDescription(objTable, id)
id = tonumber(id)
if objTable == "collectibles" then if objTable == "collectibles" then
return __eidItemDescriptions[id] return __eidItemDescriptions[id]
elseif objTable == "trinkets" then elseif objTable == "trinkets" then
@@ -178,21 +215,45 @@ function EID:getDescriptionObj(objTable, objID)
description.Name = EID:getObjectName(objID, objTable) or objTable description.Name = EID:getObjectName(objID, objTable) or objTable
local legacyModdedDescription = EID:getLegacyModDescription(objTable, objID) local legacyModdedDescription = EID:getLegacyModDescription(objTable, objID)
description.Description = legacyModdedDescription or tableEntry[4] or "MISSING DESCRIPTION" description.Description = legacyModdedDescription or tableEntry[3] or "MISSING DESCRIPTION"
local legacyModdedTransformation = nil local itemString = EID:getIDVariantString(objTable)
if objTable == "collectibles" then if itemString ~= nil then
legacyModdedTransformation = EID:getLegacyModDescription("transformations", objID) itemString = itemString.."."..objID
else
itemString = objID
end end
description.Transformation = legacyModdedTransformation or tableEntry[2] or "0" description.fullItemString = itemString
description.Transformation = EID:getTransformation(itemString)
return description return description
end end
--Get the name of the given transformation by its ID -- Get the transformation uniqueName / ID of a given "ID.Variant.Subtype" pair
-- Example: EID:getTransformation("5.100.34") will return "12" which is the id for Bookworm
function EID:getTransformation(entityIdentifier)
local custom = EID.CustomTransformAssignments[entityIdentifier]
local customLegacy = nil
local splitString = {}
for identifier in string.gsub(entityIdentifier,"%f[.]%.%f[^.]", "\0"):gmatch("%Z+") do
table.insert(splitString,identifier)
end
if splitString[1] == "5" and splitString[2] == "100" then
customLegacy = EID:getLegacyModDescription("transformations", splitString[3])
end
local default = EID.EntityTransformations[entityIdentifier]
return custom or customLegacy or default or "0"
end
--Get the name of the given transformation by its uniqueName / ID
function EID:getTransformationName(id) function EID:getTransformationName(id)
local str = "Custom" local str = "Custom"
if tonumber(id) == nil then if tonumber(id) == nil then
-- get translated custom name
local customTransform = EID.CustomTransformations[id]
if customTransform ~= nil then
return customTransform[EIDConfig["Language"]] or customTransform["en_us"] or id
end
return id return id
end end
return EID:getObjectName(tonumber(id) + 1, "transformations") or str return EID:getObjectName(tonumber(id) + 1, "transformations") or str
@@ -202,30 +263,30 @@ end
function EID:getObjectName(objID, objType) function EID:getObjectName(objID, objType)
local tableEntry = EID.descriptions[EIDConfig["Language"]][objType][objID] or EID.descriptions["en_us"][objType][objID] local tableEntry = EID.descriptions[EIDConfig["Language"]][objType][objID] or EID.descriptions["en_us"][objType][objID]
if objType == "collectibles" then if objType == "collectibles" then
if EIDConfig["Language"] ~= "en_us" and #tableEntry == 4 then if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then
if tableEntry[3] ~= nil and tableEntry[3] ~= "" then if tableEntry[2] ~= nil and tableEntry[2] ~= "" then
return tableEntry[3] return tableEntry[2]
end end
end end
return EID.itemConfig:GetCollectible(objID).Name return EID.itemConfig:GetCollectible(objID).Name
elseif objType == "trinkets" then elseif objType == "trinkets" then
if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then
if tableEntry[3] ~= nil and tableEntry[3] ~= "" then if tableEntry[2] ~= nil and tableEntry[2] ~= "" then
return tableEntry[3] return tableEntry[2]
end end
end end
return EID.itemConfig:GetTrinket(objID).Name return EID.itemConfig:GetTrinket(objID).Name
elseif objType == "cards" then elseif objType == "cards" then
if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then
if tableEntry[3] ~= nil and tableEntry[3] ~= "" then if tableEntry[2] ~= nil and tableEntry[2] ~= "" then
return tableEntry[3] return tableEntry[2]
end end
end end
return EID.itemConfig:GetCard(objID).Name return EID.itemConfig:GetCard(objID).Name
elseif objType == "pills" then elseif objType == "pills" then
if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then if EIDConfig["Language"] ~= "en_us" and #tableEntry == 3 then
if tableEntry[3] ~= nil and tableEntry[3] ~= "" then if tableEntry[2] ~= nil and tableEntry[2] ~= "" then
return tableEntry[3] return tableEntry[2]
end end
end end
return EID.itemConfig:GetPillEffect(objID).Name return EID.itemConfig:GetPillEffect(objID).Name
+33 -29
View File
@@ -16,9 +16,9 @@ local charsToDebug = {
"Markup roomtypes: |{{DevilRoom}}|{{AngelRoom}}|{{ChallengeRoom}}|{{IsaacsRoom}}|{{TreasureRoom}}|{{ArcadeRoom}}|{{BossRushRoom}}|{{Shop}}|{{SuperSecretRoom}}|{{BarrenRoom}}|{{MiniBoss}}|{{DiceRoom}}|{{GreedTreasureRoom}}|{{SecretRoom}}|{{Library}}|{{ChestRoom}}|{{BossRoom}}|{{CursedRoom}}|{{SacrificeRoom}}|", "Markup roomtypes: |{{DevilRoom}}|{{AngelRoom}}|{{ChallengeRoom}}|{{IsaacsRoom}}|{{TreasureRoom}}|{{ArcadeRoom}}|{{BossRushRoom}}|{{Shop}}|{{SuperSecretRoom}}|{{BarrenRoom}}|{{MiniBoss}}|{{DiceRoom}}|{{GreedTreasureRoom}}|{{SecretRoom}}|{{Library}}|{{ChestRoom}}|{{BossRoom}}|{{CursedRoom}}|{{SacrificeRoom}}|",
"Markup roomshapes: |{{Room}}|{{RoomLongHorizontal}}|{{RoomLongThinHorizontal}}|{{RoomSmallHorizontal}}|{{RoomLBottomRight}}|{{RoomSmallVertical}}|{{RoomLBottomLeft}}|{{RoomLTopLeft}}|{{RoomL}}|{{RoomLongVertical}}|{{RoomXL}}|{{RoomLongThinVertical}}|", "Markup roomshapes: |{{Room}}|{{RoomLongHorizontal}}|{{RoomLongThinHorizontal}}|{{RoomSmallHorizontal}}|{{RoomLBottomRight}}|{{RoomSmallVertical}}|{{RoomLBottomLeft}}|{{RoomLTopLeft}}|{{RoomL}}|{{RoomLongVertical}}|{{RoomXL}}|{{RoomLongThinVertical}}|",
"Markup transformations: |{{CustomTransformation}}|{{Guppy}}|{{FunGuy}}|{{LordoftheFlies}}|{{Conjoined}}|{{Spun}}|{{Mom}}|{{OhCrap}}|{{Bob}}|{{Leviathan}}|{{Seraphim}}|{{SuperBum}}|{{Bookworm}}|{{SpiderBaby}}|{{Adult}}|{{Stompy}}|", "Markup transformations: |{{CustomTransformation}}|{{Guppy}}|{{FunGuy}}|{{LordoftheFlies}}|{{Conjoined}}|{{Spun}}|{{Mom}}|{{OhCrap}}|{{Bob}}|{{Leviathan}}|{{Seraphim}}|{{SuperBum}}|{{Bookworm}}|{{SpiderBaby}}|{{Adult}}|{{Stompy}}|",
"Markup Main Colors: {{ColorText}}Text {{ColorTransform}}Transform {{ColorError}}Error {{ColorObjName}}ObjName", "Markup Main Colors: {{ColorText}}Text {{ColorTransform}}Transform {{ColorError}}Error {{ColorObjName}}ObjName {{ColorBlack}}Black {{ColorWhite}}White {{ColorRed}}Red {{ColorLime}}Lime {{ColorBlue}}Blue",
"Markup Colors: {{ColorBlack}}Black {{ColorWhite}}White {{ColorRed}}Red {{ColorLime}}Lime {{ColorBlue}}Blue {{ColorYellow}}Yellow {{ColorCyan}}Cyan {{ColorPink}}Pink {{ColorSilver}}Silver {{ColorGray}}Gray {{ColorMaroon}}Maroon {{ColorOlive}}Olive {{ColorGreen}}Green {{ColorPurple}}Purple {{ColorTeal}}Teal {{ColorNavy}}Navy ", "Markup Colors: {{ColorYellow}}Yellow {{ColorCyan}}Cyan {{ColorPink}}Pink {{ColorSilver}}Silver {{ColorGray}}Gray {{ColorMaroon}}Maroon {{ColorOlive}}Olive {{ColorGreen}}Green {{ColorPurple}}Purple {{ColorTeal}}Teal {{ColorNavy}}Navy {{ColorOrange}}Orange ",
"Markup swag Colors: {{ColorFade}}Fade {{CR}}{{ColorBlink}}Blink {{ColorRainbow}}Rainbow {{ColorBlink}}BlinkWithColor {{ColorFade}}BlinkColorFade", "Markup special Colors: {{ColorFade}}Fade {{CR}}{{ColorBlink}}Blink {{ColorRainbow}}Rainbow {{ColorBlink}}BlinkWithColor {{ColorFade}}BlinkColorFade",
"End of line" "End of line"
} }
@@ -26,21 +26,15 @@ local charsToDebug = {
----------------LEGACY METHODS----------------- ----------------LEGACY METHODS-----------------
----------------------------------------------- -----------------------------------------------
------ Legacy Overriding descriptions ------ ------ Legacy Overriding descriptions ------
__eidItemDescriptions[1] = "\1 Overriden description" -- 5.100.1 = Sad Onion __eidItemDescriptions[1] = "\1 Overriden Legacy description" -- 5.100.1 = Sad Onion
__eidTrinketDescriptions[1] = "\2 Overriden " -- 5.350.1 = swallowed penny __eidTrinketDescriptions[1] = "\2 Overriden Legacy description" -- 5.350.1 = swallowed penny
__eidCardDescriptions[1] = "Overriden Card description" -- 5.300.1 = the fool __eidCardDescriptions[1] = "Overriden Legacy description" -- 5.300.1 = the fool
__eidPillDescriptions[21] = "Test" -- Pill Effect 20 = Hematemesis __eidPillDescriptions[21] = "Overriden Legacy description" -- Pill Effect 20 = Hematemesis
__eidItemTransformations[1] = "Test Transformation" -- add custom transformation Text to Sad Onion __eidItemTransformations[1] = "Legacy Transformation" -- add custom transformation Text to Sad Onion
------ Legacy add Description to entity ------ ------ Legacy add Description to entity ------
__eidEntityDescriptions["5.10.1"] = {"Entity Name", "Entity description"} -- Adds description to full red hearts __eidEntityDescriptions["5.10.1"] = {"Entity Name", "Entity description"} -- Adds description to full red hearts
-- the Transformation icon will try to get an icon with the same name as the transformation, but without any spaces. Default Icon otherwise
__eidItemTransformations[2] = "Some Test Transformation"
------ Test: Add all transformations to spoon bender ------
__eidItemTransformations[3] = "1,2,3,4,5,6,7,8,9,10,11,12,13"
------ Test: Description with colors ------ ------ Test: Description with colors ------
__eidItemDescriptions[3] = __eidItemDescriptions[3] =
"Some {{ColorRed}}long ass Test string with a lot of Words that sound interesting#With{{ColorBlink}} cool {{CR}}{{ColorRed}}C{{ColorGreen}}o{{ColorBlue}}l{{ColorYellow}}o{{ColorOrange}}r{{ColorPink}}s{{ColorWhite}} and a high amount of nifty {{ColorRainbow}}Swag " "Some {{ColorRed}}long ass Test string with a lot of Words that sound interesting#With{{ColorBlink}} cool {{CR}}{{ColorRed}}C{{ColorGreen}}o{{ColorBlue}}l{{ColorYellow}}o{{ColorOrange}}r{{ColorPink}}s{{ColorWhite}} and a high amount of nifty {{ColorRainbow}}Swag "
@@ -49,35 +43,45 @@ __eidItemDescriptions[3] =
------------------NEW METHODS------------------ ------------------NEW METHODS------------------
----------------------------------------------- -----------------------------------------------
------ Overriding descriptions------ ------ Overriding descriptions------
EID:addCollectible(5, "New override Method") -- minimal method EID:addCollectible(2, "New override Method") -- minimal method
EID:addCollectible(6, "New override Method", "new Name", "ru") -- maximal method EID:addCollectible(2, "New override Method", "new Name", "ru") -- maximal method
EID:addCard(2, "New override Method", "new Name") -- card EID:addCard(2, "New override Method", "new Name") -- card
EID:addPill(2, "New override Method", "new Name") -- pill EID:addPill(2, "New override Method", "new Name") -- pill
EID:addEntity(5, 10, 2, "Custom Name", "Custom description") -- Entity EID:addEntity(5, 10, 2, "Custom Name", "Custom description") -- Entity
EID:addTransformation("collectible", 5, "New transformation") -- Transformation
------ Test: adding custom icons ------ ------ Test: adding custom transformation icon ------
local dummySprite = Sprite() local dummySprite = Sprite()
dummySprite:Load("gfx/eid_inline_icons.anm2", true) dummySprite:Load("gfx/eid_inline_icons.anm2", true)
-- add animated icon using api function (Make sure to create new Sprite Obj when using animated icons. Reuse objects when only using static icons) EID.InlineIcons["NewTransform1"] = {"hearts", 2, 9, 12, -1, 0,dummySprite}
EID:addIcon("TestIcon", "hearts", -1, 9, 9, -1, 0, dummySprite) -- the Transformation icon will try to get an icon with the same name as the transformation, but without any spaces. Default Icon otherwise
-- add icon directly EID:createTransformation("NewTransform1", "New transformation") -- Transformation
EID:createTransformation("NewTransform1", "New russian transformation", "ru") -- add Transformation name in russian
EID:assignTransformation("collectible", 5, "NewTransform1") -- Add Transformation to My Reflection
------ Test: Add all transformations + some customs ones to Inner Eye ------
EID:assignTransformation("collectible", 2, "1,2,3,4,5,6,7,8,9,10,11,12,13,something Custom,NewTransform1")
------ Test: adding custom icons ------
local dummySprite2 = Sprite() local dummySprite2 = Sprite()
dummySprite2:Load("gfx/eid_inline_icons.anm2", true) dummySprite2:Load("gfx/eid_inline_icons.anm2", true)
EID.InlineIcons["Test"] = {"pickups", -1, 9, 9, -1, 0, dummySprite2} -- add animated icon using api function (Make sure to create new Sprite Obj when using animated icons. Reuse objects when only using static icons)
EID:addIcon("TestIcon", "hearts", -1, 9, 9, -1, 0, dummySprite2)
-- add icon directly
local dummySprite3 = Sprite()
dummySprite3:Load("gfx/eid_inline_icons.anm2", true)
EID.InlineIcons["Test"] = {"pickups", -1, 9, 9, -1, 0, dummySprite3}
__eidItemDescriptions[2] = "{{Bomb}} Emote {{Key}} Test {{Test}}{{TestIcon}} {{ColorBlackBlink}}description {{SomeInvalidInnerStuff}} cool" -- 5.100.2 = Inner Eye __eidItemDescriptions[2] = "{{Bomb}} Emote {{Key}} Test {{Test}}{{TestIcon}} {{ColorBlackBlink}}description {{SomeInvalidInnerStuff}} cool" -- 5.100.2 = Inner Eye
__eidItemDescriptions[6] = "This item as Inline Icon {{Collectible6}}#And here are others {{Collectible69}} {{Collectible16}} {{Collectible323}} {{Collectible345}} {{Collectible223}}#And some trinket sprites {{Trinket12}} {{Trinket22}} {{Trinket1}} {{Trinket55}} {{Trinket100}} {{Trinket123}}" -- 5.100.2 = Inner Eye __eidItemDescriptions[6] = "This item as Inline Icon {{Collectible6}}#And here are others {{Collectible69}} {{Collectible16}} {{Collectible323}} {{Collectible345}} {{Collectible223}}#And some trinket sprites {{Trinket12}} {{Trinket22}} {{Trinket1}} {{Trinket55}} {{Trinket100}} {{Trinket123}}" -- 5.100.2 = Inner Eye
------ Test: adding custom transformation icon ------
EID.InlineIcons["SomeTestTransformation"] = {"hearts", 2, 9, 9, -1, 0, dummySprite}
------ Test: adding custom icons ------ ------ Test: adding custom icons ------
EID:addColor("ColorTwitterBlue", KColor(0, 0.671875, 0.9296875, 1, 0, 0, 0), nil) EID:addColor("ColorTwitterBlue", KColor(0, 0.671875, 0.9296875, 1, 0, 0, 0), nil)
EID:addColor( EID:addColor("ColorBlackBlink", nil, function(color)
"ColorBlackBlink",
nil,
function(color)
local maxAnimTime = 30 local maxAnimTime = 30
local animTime = Game():GetFrameCount() % maxAnimTime local animTime = Game():GetFrameCount() % maxAnimTime
color = EID:copyKColor(color) or EID:getTextColor() color = EID:copyKColor(color) or EID:getTextColor()
+10 -12
View File
@@ -26,6 +26,8 @@ CardSprite:Load("gfx/cardfronts.anm2", true)
require("eid_config") require("eid_config")
require("mod_config_menu") require("mod_config_menu")
require("descriptions.ab+.transformations")
--languages --languages
require("descriptions.ab+.en_us") require("descriptions.ab+.en_us")
require("descriptions.ab+.en_us_detailed") require("descriptions.ab+.en_us_detailed")
@@ -46,16 +48,12 @@ local _, err = pcall(require, "")
local _, basePathStart = string.find(err, "no file '", 1) local _, basePathStart = string.find(err, "no file '", 1)
local _, modPathStart = string.find(err, "no file '", basePathStart) local _, modPathStart = string.find(err, "no file '", basePathStart)
local modPathEnd, _ = string.find(err, ".lua'", modPathStart) local modPathEnd, _ = string.find(err, ".lua'", modPathStart)
local modPath = string.sub(err, modPathStart + 1, modPathEnd - 1) EID.modPath = string.sub(err, modPathStart + 1, modPathEnd - 1)
modPath = string.gsub(modPath, "\\", "/") EID.modPath = string.gsub(EID.modPath, "\\", "/")
modPath = string.gsub(modPath, ":/", ":\\") EID.modPath = string.gsub(EID.modPath, ":/", ":\\")
EID.font = Font() -- init font object EID.font = Font() -- init font object
EID.font:Load(modPath .. "resources/font/eid_default.fnt") -- load a font into the font object EID:loadFont(EID.modPath .. "resources/font/eid_default.fnt")
EID.font:SetMissingCharacter(2)
if not EID.font:IsLoaded() then
Isaac.DebugString("EID - ERROR: Could not load font from '" .. modPath .. "resources/font/default.fnt" .. "'")
end
--Makes textscale smaller, when using detailed english descriptions --Makes textscale smaller, when using detailed english descriptions
if EIDConfig["Language"] == "en_us_detailed" and EIDConfig["Scale"] > 0.5 then if EIDConfig["Language"] == "en_us_detailed" and EIDConfig["Scale"] > 0.5 then
@@ -65,19 +63,19 @@ end
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
-------------------------Handle Sacrifice Room----------------------------- -------------------------Handle Sacrifice Room-----------------------------
if EIDConfig["DisplaySacrificeInfo"] then if EIDConfig["DisplaySacrificeInfo"] then
function onNewFloor() function EID:onNewFloor()
EID.sacrificeCounter = 1 EID.sacrificeCounter = 1
end end
EID:AddCallback(ModCallbacks.MC_POST_NEW_LEVEL, onNewFloor) EID:AddCallback(ModCallbacks.MC_POST_NEW_LEVEL, EID.onNewFloor)
function onDamage(_, entity, _, flag, source) function EID:onSacrificeDamage(_, _, flag, source)
if Game():GetRoom():GetType() == RoomType.ROOM_SACRIFICE and source.Type == 0 and flag == DamageFlag.DAMAGE_SPIKES then if Game():GetRoom():GetType() == RoomType.ROOM_SACRIFICE and source.Type == 0 and flag == DamageFlag.DAMAGE_SPIKES then
if EID.sacrificeCounter < 12 then if EID.sacrificeCounter < 12 then
EID.sacrificeCounter = EID.sacrificeCounter + 1 EID.sacrificeCounter = EID.sacrificeCounter + 1
end end
end end
end end
EID:AddCallback(ModCallbacks.MC_ENTITY_TAKE_DMG, onDamage, EntityType.ENTITY_PLAYER) EID:AddCallback(ModCallbacks.MC_ENTITY_TAKE_DMG, EID.onSacrificeDamage, EntityType.ENTITY_PLAYER)
end end
--------------------------------------------------------------------------- ---------------------------------------------------------------------------