75 lines
2.4 KiB
Lua
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
|