bayuMIR/Mirserver/Mir200/Envir/QuestDiary/游戏功能/A1_一大陆/装备重铸.lua
2026-06-18 02:06:14 +08:00

75 lines
2.4 KiB
Lua

ZhuangBeiChongZhuOBJ = Up_BaseClass:new()
ZhuangBeiChongZhuOBJ._name = "ZhuangBeiChongZhuOBJ"
-- NPCID
ZhuangBeiChongZhuOBJ.id = { 10 }
for i, v in ipairs(ZhuangBeiChongZhuOBJ.id or {}) do
Npc.clicknpcCfg[v] = ZhuangBeiChongZhuOBJ
end
ZhuangBeiChongZhuOBJ.tbl = Func.require("cfg_装备重铸")
local function ZhuangBeiChongZhuOBJ_ipairs()
local tbl = {}
for i, v in ipairs(ZhuangBeiChongZhuOBJ.tbl) do
if not tbl[v.f] then
tbl[v.f] = {}
end
tbl[v.f].name = v.f_name
if not tbl[v.f].z_fl then
tbl[v.f].z_fl = {}
end
tbl[v.f].z_fl[v.z] = { name = v.name, id = i, xh = v.xh, att = v.att }
end
return tbl
end
-- 配置文件
ZhuangBeiChongZhuOBJ.cfg = ZhuangBeiChongZhuOBJ_ipairs()
---* 加入上线同步数据
Player.sycCfg[ZhuangBeiChongZhuOBJ._name] = ZhuangBeiChongZhuOBJ.cfg
function ZhuangBeiChongZhuOBJ:up(actor, p1, p2, p3, data)
local id = data[1]
if not id or not Npc.CheckNPCRange(actor, 10) then
return
end
local cfg = self.tbl[id]
if Func.takeitmes(actor, cfg.xh, true, true) then
local give_makeindex = giveitem(actor, cfg.name, 1)
if give_makeindex then
local _random = math.random(cfg.att[1], cfg.att[2])
SetQuality(actor, give_makeindex, "=", "4#" .. _random)
-- setitemeffect(actor, -2, 14073, 14083, 0, 0, give_makeindex)
additemattrEX(actor, give_makeindex, 5, 3, { [211] = _random })
Func.sendmsg9(actor, string.format("[武器重铸]:#70|恭喜你融合成功!获得:#7|攻击力+%d#215", _random))
end
end
end
---* 全身重铸总和高的对重铸低的人造成8%伤害加成效果
local function ZhuangBeiChongZhuOBJ_chongzhu(actor, target, hitter, magicId, damage, model, Info)
local self_chongzhu = getbaseinfo(actor, ConstCfg.gbase.custom_attr, 211) or 0
local target_chongzhu = getbaseinfo(target, ConstCfg.gbase.custom_attr, 211) or 0
if self_chongzhu > target_chongzhu then
Info._damage = Info._damage + math.floor(Info._damage * 0.08)
Func.sendmsg(actor,string.format("[装备重铸]:#70|全身重铸总和高于#255|%s#215|,造成8%%伤害加成效果!",Player.getname(target)))
Func.sendmsg(target,string.format("[装备重铸]:#70|全身重铸总低于#255|%s#215|,被造成的伤害+8%%!",Player.getname(actor)))
end
end
GameEvent.add(EventCfg.onAttackHumandamage, ZhuangBeiChongZhuOBJ_chongzhu, ZhuangBeiChongZhuOBJ)
ZhuangBeiChongZhuOBJ.allowFunc = {"up"}
return ZhuangBeiChongZhuOBJ