[战斗] ===========修改观音额外技能伤害类型修改,混乱后的普攻赋值,禁疗后显示治疗加0
parent
6c5a8a6dc8
commit
4b5fa36d8e
|
@ -5298,12 +5298,11 @@ local passivityList = {
|
||||||
local dt = args[2]
|
local dt = args[2]
|
||||||
-- 直接伤害后
|
-- 直接伤害后
|
||||||
local onPassiveDamaging = function(func, defRole, damage,skill)
|
local onPassiveDamaging = function(func, defRole, damage,skill)
|
||||||
--如果是boss 并且额外伤害是根据最大生命则返回
|
|
||||||
local isBoss=BattleUtil.CheckIsBoss(defRole)
|
|
||||||
if isBoss and (f1==12 or f1==13) then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
if skill and skill.type == BattleSkillType.Normal and skill.isAdd and skill.owner==role then
|
if skill and skill.type == BattleSkillType.Normal and skill.isAdd and skill.owner==role then
|
||||||
|
--如果是boss 并且额外伤害是根据最大生命则返回
|
||||||
|
if (f1==12 or f1==13) and BattleUtil.CheckIsBoss(defRole) then
|
||||||
|
return
|
||||||
|
end
|
||||||
local val = -floor(BattleUtil.FP_Mul(dt, defRole:GetRoleData(BattlePropList[f1])))
|
local val = -floor(BattleUtil.FP_Mul(dt, defRole:GetRoleData(BattlePropList[f1])))
|
||||||
if func then
|
if func then
|
||||||
func(val)
|
func(val)
|
||||||
|
|
|
@ -275,7 +275,7 @@ skill2={1132051,0.8,0,1,{200212,{1,0.89,2}}},
|
||||||
skill3={1151111,0.05,0,1,{220000,{1,0.86,2}}},
|
skill3={1151111,0.05,0,1,{220000,{1,0.86,2}}},
|
||||||
skill4={10000351,0.3,0.5,4,{400000,{1,1.75,1}}},
|
skill4={10000351,0.3,0.5,4,{400000,{1,1.75,1}}},
|
||||||
skill5={12011001,0.3,0.5,4,{400000,{1,2.2,1}}},
|
skill5={12011001,0.3,0.5,4,{400000,{1,2.2,1}}},
|
||||||
skill6={100923,0.15,1.5,1,{260004,{126,0.48,1,4,1,0,4,12,0}}},
|
skill6={100923,0.15,1.5,1,{260004,{126,0.48,2,4,1,0,4,12,0}}},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -770,6 +770,10 @@ function BattleUtil.CalTreat(castRole, targetRole, value, baseFactor)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if targetRole.ctrl_noheal or targetRole:IsDead() then --禁疗和死亡无法加血
|
if targetRole.ctrl_noheal or targetRole:IsDead() then --禁疗和死亡无法加血
|
||||||
|
--禁疗并且没有死亡的单位显示血量+0 不走后面代码,防止触发后面的被动 by:王振兴 2021/1/27
|
||||||
|
if targetRole.ctrl_noheal and not targetRole:IsDead() then
|
||||||
|
targetRole.Event:DispatchEvent(BattleEventName.RoleBeTreated, castRole, 0, 0)
|
||||||
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
-- 是否暴击: 暴击率 = 自身暴击率 - 对方抗暴率
|
-- 是否暴击: 暴击率 = 自身暴击率 - 对方抗暴率
|
||||||
|
|
|
@ -361,12 +361,14 @@ function RoleLogic:AddSkill(type, isRage, isAdd, targets)
|
||||||
if not self.IsCanAddSkill and isAdd then return end
|
if not self.IsCanAddSkill and isAdd then return end
|
||||||
local effectData = type == BattleSkillType.Normal and self.skill or self.superSkill
|
local effectData = type == BattleSkillType.Normal and self.skill or self.superSkill
|
||||||
--角色被混乱后
|
--角色被混乱后
|
||||||
|
local isTriggerJudge=true
|
||||||
if self.ctrl_chaos and isRage then
|
if self.ctrl_chaos and isRage then
|
||||||
type=BattleSkillType.ChaosNormal
|
type=BattleSkillType.ChaosNormal
|
||||||
--混乱普攻使用普攻特效
|
--混乱普攻使用普攻特效
|
||||||
effectData={self.skill[1],self.skill[2],self.skill[3],self.skill[4],{100001,{1,1,1}}}
|
effectData={self.skill[1],self.skill[2],self.skill[3],self.skill[4],{100001,{1,1,1}}}
|
||||||
|
isTriggerJudge=false
|
||||||
end
|
end
|
||||||
SkillManager.AddSkill(self, effectData, type, targets, isAdd, isRage)
|
SkillManager.AddSkill(self, effectData, type, targets, isAdd, isRage,isTriggerJudge)
|
||||||
--
|
--
|
||||||
BattleLogManager.Log(
|
BattleLogManager.Log(
|
||||||
"Add Skill",
|
"Add Skill",
|
||||||
|
|
|
@ -9,7 +9,7 @@ function Skill:New()
|
||||||
return o
|
return o
|
||||||
end
|
end
|
||||||
|
|
||||||
function Skill:Init(role, effectData, type, targets, isAdd, isRage) --type 0 异妖 1 点技 2 滑技
|
function Skill:Init(role, effectData, type, targets, isAdd, isRage,isTriggerJudge) --type 0 异妖 1 点技 2 滑技
|
||||||
self.type = type
|
self.type = type
|
||||||
--skill = {技能ID, 命中时间, 持续时间, 伤害次数, {目标id1, 效果1, 效果2, ...},{目标id2, 效果3, 效果4, ...}, ...}
|
--skill = {技能ID, 命中时间, 持续时间, 伤害次数, {目标id1, 效果1, 效果2, ...},{目标id2, 效果3, 效果4, ...}, ...}
|
||||||
--效果 = {效果类型id, 效果参数1, 效果参数2, ...}
|
--效果 = {效果类型id, 效果参数1, 效果参数2, ...}
|
||||||
|
@ -23,7 +23,11 @@ function Skill:Init(role, effectData, type, targets, isAdd, isRage) --type 0 异
|
||||||
self.isKill = false --是否技能击杀目标
|
self.isKill = false --是否技能击杀目标
|
||||||
self.isAdd = isAdd
|
self.isAdd = isAdd
|
||||||
self.isRage = isRage
|
self.isRage = isRage
|
||||||
self.isTriggerJudge = true
|
if isTriggerJudge then
|
||||||
|
self.isTriggerJudge=isTriggerJudge
|
||||||
|
else
|
||||||
|
self.isTriggerJudge = true
|
||||||
|
end
|
||||||
-- 初始化
|
-- 初始化
|
||||||
local effects = {}
|
local effects = {}
|
||||||
for i=5, #effectData do
|
for i=5, #effectData do
|
||||||
|
|
|
@ -42,13 +42,13 @@ end
|
||||||
|
|
||||||
|
|
||||||
-- 向技能列表中追加技能
|
-- 向技能列表中追加技能
|
||||||
function this.AddSkill(caster, effectData, type, targets, isAdd, isRage)
|
function this.AddSkill(caster, effectData, type, targets, isAdd, isRage,isTriggerJudge)
|
||||||
-- 如果超出最大限制则不再追加技能
|
-- 如果超出最大限制则不再追加技能
|
||||||
if not this.CheckMaxCount() then
|
if not this.CheckMaxCount() then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local skill = skillPool:Get()
|
local skill = skillPool:Get()
|
||||||
skill:Init(caster, effectData, type, targets, isAdd, isRage)
|
skill:Init(caster, effectData, type, targets, isAdd, isRage,isTriggerJudge)
|
||||||
if type == BattleSkillType.DeadSkill then -- 死亡技能加入单独的对列
|
if type == BattleSkillType.DeadSkill then -- 死亡技能加入单独的对列
|
||||||
table.insert(this.DeadSkillList, skill)
|
table.insert(this.DeadSkillList, skill)
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue