Module:ModuleGenerator

From The First Descendant Wiki
Revision as of 07:05, 30 June 2024 by Communos (talk | contribs)

Documentation for this module may be created at Module:ModuleGenerator/doc

local p = {}

function p.socketFileName(frame)
	local socket = frame.args[1]
	local sockets = {
		cerulean = "Icon_RunesCapacity_Mini_001.png",
		almandine = "Icon_RunesCapacity_Mini_002.png",
		malachite = "Icon_RunesCapacity_Mini_003.png",
		xantic = "Icon_RunesCapacity_Mini_004.png",
		rutile = "Icon_RunesCapacity_Mini_005.png",
	}
	if contains(sockets, socket) == true then
		return sockets[socket]
	end
	return "Icon_RunesCapacity_Mini_000.png"
end

function p.rarityFileName(frame)
	local rarity = frame.args[1]
	local rarities = {
		standard = "UI_RuneSlot_Tier_Standard.png",
		rare = "UI_RuneSlot_Tier_Rare.png",
		ultimate = "UI_RuneSlot_Tier_Ultimate.png",
		transcendent = "UI_RuneSlot_Tier_Transcendent.png",
	}
	if contains(rarities, rarity) == true then
		return rarities[rarity]
	end
	return "UI_RuneSlot_Tier.png"
end

function p.moduleClassFileName(frame)
	local moduleClass = frame.args[1]
	local moduleClasses = {
		descendant ="Icon_RunesClass_Mini_0_Color.png",
		general = "Icon_RunesClass_Mini_A_Color.png",
		special = "Icon_RunesClass_Mini_B_Color.png",
		impact = "Icon_RunesClass_Mini_C_Color.png",
		highpower = "Icon_RunesClass_Mini_D_Color.png",
		melee = "Icon_RunesClass_Mini_Melee_Color.png"
	}
	if contains(moduleClasses, moduleClass) == true then
		return moduleClasses[moduleClass]
	end
	return moduleClasses["descendant"]
end

function p.specialSlotFileName(frame)
	local specialSlot = frame.args[1]
	local trimmedSpecialSlot = string.gsub(specialSlot, "?(.*)","")
	local specialSlots = {
		Skill = "UI_RuneSlot_ChaBG01_Mini.png",
		Sub = "UI_RuneSlot_ChaBG02_Mini.png"
	}
	
	if contains(specialSlots, trimmedSpecialSlot) == true then
		return specialSlots[trimmedSpecialSlot]
	end
	return "UI_RuneSlot_ChaBG00_Mini.png"
end

function contains(table, key)
	for _, value in pairs(table) do
		if _ == key then
			return true
		end
	end
	return false
end

return p