Duet Night Abyss

Module:Attributes

No documentation subpage (/doc) found for this module.
const { resolveArgs } = await require("Utils");

exports.wikiAttribute = function(frame) {
	const args = resolveArgs(frame);
    
    const attribute = (args[0] || args.attribute)?.toLowerCase();
    const iconOnly = (args[1] || args.iconOnly)?.toLowerCase() == "true";

    switch (attribute) {
        case "water":
        case "hydro":
            return iconOnly ?
                "[[File:Hydro_Icon.png|12px|inline|Hydro Attribute|link=Attributes#Hydro]]" :
                "[[File:Hydro_Icon.png|12px|inline|Hydro Attribute|link=Attributes#Hydro]][[Attributes#Hydro|Hydro]]";
        case "fire":
        case "pyro":
            return iconOnly ?
                "[[File:Pyro_Icon.png|12px|inline|Pyro Attribute|link=Attributes#Pyro]]" :
                "[[File:Pyro_Icon.png|12px|inline|Pyro Attribute|link=Attributes#Pyro]][[Attributes#Pyro|Pyro]]";
        case "wind":
        case "anemo":
            return iconOnly ?
                "[[File:Anemo_Icon.png|12px|inline|Anemo Attribute|link=Attributes#Anemo]]" :
                "[[File:Anemo_Icon.png|12px|inline|Anemo Attribute|link=Attributes#Anemo]][[Attributes#Anemo|Anemo]]";
        case "thunder":
        case "electro":
            return iconOnly ?
                "[[File:Electro_Icon.png|12px|inline|Electro Attribute|link=Attributes#Electro]]" :
                "[[File:Electro_Icon.png|12px|inline|Electro Attribute|link=Attributes#Electro]][[Attributes#Electro|Electro]]";
        case "light":
        case "lumino":
            return iconOnly ?
                "[[File:Lumino_Icon.png|12px|inline|Lumino Attribute|link=Attributes#Lumino]]" :
                "[[File:Lumino_Icon.png|12px|inline|Lumino Attribute|link=Attributes#Lumino]][[Attributes#Lumino|Lumino]]";
    	case "dark":
        case "umbro":
            return iconOnly ?
                "[[File:Umbro_Icon.png|12px|inline|Umbro Attribute|link=Attributes#Umbro]]" :
                "[[File:Umbro_Icon.png|12px|inline|Umbro Attribute|link=Attributes#Umbro]][[Attributes#Umbro|Umbro]]";
        }
    
    return `<span class="error">Unknown attribute: ${attribute}</span>`;
}

exports.getAttribute = function(attribute) {
	switch (attribute.toLowerCase()) {
        case "water":
        case "hydro":
            return "Hydro";
        case "fire":
        case "pyro":
            return "Pyro";
        case "wind":
        case "anemo":
            return "Anemo";
        case "thunder":
        case "electro":
            return "Electro";
        case "light":
        case "lumino":
            return "Lumino";
    	case "dark":
        case "umbro":
            return "Umbro";
        case "slash":
            return "Slash";
        case "spike":
            return "Spike";
        case "smash":
            return "Smash";
        default:
            return null;
    }
}
Last Edited by LiveGobe on 12/19/2025, 9:00:47 AM