模块

词典:修订间差异

来自卡厄思梦境WIKI

律Rhyme留言 | 贡献
无编辑摘要
律Rhyme留言 | 贡献
无编辑摘要
第151行: 第151行:
             ["颜色"] = "红",
             ["颜色"] = "红",
             ["描述"] = "回合结束时,固定持续伤害50%<br>发动效果时,层数减少1",
             ["描述"] = "回合结束时,固定持续伤害50%<br>发动效果时,层数减少1",
        },
    },
    ["脆弱"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "受到的伤害增加50%<br>发动效果时,脆弱减少1",
        },
    },
    ["削弱"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "伤害量减少25%<br>发动效果时,削弱减少1",
        },
    },
    ["中毒"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "未知",
         },
         },
     },
     },
第159行: 第183行:
             ["颜色"] = "蓝",
             ["颜色"] = "蓝",
             ["描述"] = "受到伤害时,对攻击者造成基于防御的伤害100%使用护盾完全阻挡攻击时,对攻击者造成基于防御的伤害150%。发动效果时,反击减少1",
             ["描述"] = "受到伤害时,对攻击者造成基于防御的伤害100%使用护盾完全阻挡攻击时,对攻击者造成基于防御的伤害150%。发动效果时,反击减少1",
        },
    },
    ["金属化"] = {
        {
            ["icon"] = "",
            ["类型"] = "buff",
            ["颜色"] = "蓝",
            ["描述"] = "使用卡牌获得护盾时,对随机敌人造成80%防御伤害",
         },
         },
     },
     },

2025年10月3日 (五) 12:25的版本

此模块的文档可以在模块:词典/doc创建

local p = {}

-- 词典数据(保持不变)
p.dictionary = {
    ["蒸发"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "卡牌在回合结束时自动消耗",
        },
    },
    ["终极"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "卡牌使用后结束当前回合",
        },
    },
    ["天上"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "使用其他2费以上的卡,立即自动打出本卡",
        },
    },
    ["回收"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "若此卡牌移动至弃牌堆,会回到手牌。发动效果时,移除回收",
        },
    },
    ["保留"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "卡牌不会在回合结束时进入弃牌堆",
        },
    },
    ["唯一"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "此卡牌无法复制",
        },
    },
    ["开战"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "此卡牌在战斗开始时置于抽牌堆顶端",
        },
    },
    ["连击"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "使用其他同伴的卡牌时,发动此卡牌",
        },
    },
    ["弱点攻击"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "对韧性耗尽的敌人造成弱点伤害",
        },
    },
    ["快速"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "使用卡牌时不会影响敌人的行动计数器",
        },
    },
    ["主导"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "回合开始时,有50%的机率使本卡牌费用减少1<br>使用其他卡牌时,移除效果",
        },
    },
    ["储存"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "保留费用,生效时层数减少1",
        },
    },
    ["金属化"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "使用卡牌获得护盾时,对随机敌人造成80%的伤害",
        },
    },
    ["消灭"] = {
        {
        ["icon"] = "",
        ["类型"] = "卡牌机制",
        ["颜色"] = "橙",
        ["描述"] = "使用后消耗卡牌,不会进入弃牌堆,持续到战斗结束",
        },
    },
    ["封锁"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "卡牌发动时不会触发效果<br>触发此卡牌后移除封锁",
        },
    },
    ["粉碎"] = {
        {
            ["icon"] = "",
            ["类型"] = "卡牌机制",
            ["颜色"] = "橙",
            ["描述"] = "攻击持有护盾的目标时,伤害量+20%",
        },
    },
    ["士气"] = {
        {
            ["icon"] = "",
            ["类型"] = "buff",
            ["颜色"] = "蓝",
            ["描述"] = "伤害量+20%,回合结束时失去所有层数(可叠加)",
        },
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "伤害量-20%(可叠加)",
        },
    },
    ["痛苦"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "回合结束时,固定持续伤害50%<br>发动效果时,层数减少1",
        },
    },
    ["脆弱"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "受到的伤害增加50%<br>发动效果时,脆弱减少1",
        },
    },
    ["削弱"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "伤害量减少25%<br>发动效果时,削弱减少1",
        },
    },
    ["中毒"] = {
        {
            ["icon"] = "",
            ["类型"] = "debuff",
            ["颜色"] = "红",
            ["描述"] = "未知",
        },
    },
    ["反击"] = {
        {
            ["icon"] = "",
            ["类型"] = "buff",
            ["颜色"] = "蓝",
            ["描述"] = "受到伤害时,对攻击者造成基于防御的伤害100%使用护盾完全阻挡攻击时,对攻击者造成基于防御的伤害150%。发动效果时,反击减少1",
        },
    },
    ["金属化"] = {
        {
            ["icon"] = "",
            ["类型"] = "buff",
            ["颜色"] = "蓝",
            ["描述"] = "使用卡牌获得护盾时,对随机敌人造成80%防御伤害",
        },
    },
    ["银色之幕"] = {
        {
            ["icon"] = "",
            ["类型"] = "角色专属词条",
            ["颜色"] = "蓝",
            ["描述"] = "银色之幕为3点时,秃鹰发射变更为秃鹰发射+,使用秃鹰发射+后移除",
        },
    },
    ["结晶化"] = {
        {
            ["icon"] = "",
            ["类型"] = "角色专属词条",
            ["颜色"] = "蓝",
            ["描述"] = "回合结束时,获得20%的固定护盾(可叠加)",
        },
    },
}

function p.main(frame)
    local args = frame:getParent().args
    local category = args[1] or ""
    local term = args[2] or ""
    
    -- 颜色映射(仅用于边框)
    local colorMap = {
        ["白"] = "#ffffff",
        ["蓝"] = "#0099ff",
        ["红"] = "#ff3333",
        ["橙"] = "#f2ba02"
    }
    
    -- 查找词条
    local entries = p.dictionary[term]
    if not entries then
        return '<span style="color: red;">未找到词条: ' .. term .. '</span>'
    end
    
    -- 查找匹配的条目
    local entry = nil
    for _, e in ipairs(entries) do
        if e["类型"] == category then
            entry = e
            break
        end
    end
    
    if not entry then
        return '<span style="color: red;">未找到类型: ' .. category .. ' - ' .. term .. '</span>'
    end
    
    -- 获取边框颜色
    local lineColor = colorMap[entry["颜色"]] or colorMap["白"]
    
    -- 构建工具提示内容
    local tooltipContent = ""
    
    -- 添加图标(如果有)
    if entry["icon"] and entry["icon"] ~= "" then
        tooltipContent = tooltipContent .. '[[File:' .. entry["icon"] .. '|25px|link=]] '
    end
    
    tooltipContent = tooltipContent .. term .. '<br>' .. entry["描述"]
    
    -- 生成唯一ID
    local tooltipId = 'tooltip-' .. mw.uri.encode(term .. category):gsub('[%%%.%-%s]', '')
    
    -- 将tooltip内容存储在data属性中
    local tooltipHtml = '<div style="width: 200px; height: 2px; background-color: ' .. lineColor .. ';"></div>' ..
                        '<div style="width: 200px; background-color: #343434; color: white; padding: 5px; box-shadow: 0 2px 8px rgba(0,0,0,0.3);">' ..
                        tooltipContent .. '</div>'
    
    -- 生成HTML
    local html = mw.html.create('span')
        :addClass('dictionary-term')
        :attr('data-tooltip-content', tooltipHtml)
        :attr('data-tooltip-id', tooltipId)
        :css({
            ['text-decoration'] = 'underline',
            ['cursor'] = 'help',
            ['display'] = 'inline-block'
        })
        :wikitext(term)
    
    return tostring(html)
end

return p